[Emacs Lisp] Personal ~/.emacs.d/ configuration folder.
Double-spaced sentences!
smart-documents.org
@@ -18,13 +18,13 @@
18
18
19
19
#+LATEX: \begin{abstract}
20
20
The idea of {{{SDs}}} came to me as I was reflecting on how to improve
21
Removed:
the document creation process in my workplace. The GNU Emacs editor
21
Added:
the document creation process in my workplace. The GNU Emacs editor
22
22
had captured my imagination, and I wanted to create an accessible and
23
Removed:
highly productive text editor to benefit my organization. In this
23
Added:
highly productive text editor to benefit my organization. In this
24
24
paper, I'll lay out my vision for the /Smart Document/, a file
25
25
containing both text destined to the reader, and code describing how
26
26
to update, validate, and present this text; then, I'll weave my
27
Removed:
personal GNU Emacs customizations with a tutorial. This paper is a
27
Added:
personal GNU Emacs customizations with a tutorial. This paper is a
28
28
{{{SD}}} itself!
29
29
#+LATEX: \end{abstract}
30
30
@@ -55,17 +55,17 @@
55
55
56
56
* Introduction
57
57
58
Removed:
The following sections were laid out very deliberately. When we start
58
Added:
The following sections were laid out very deliberately. When we start
59
59
Emacs, the source code blocks contained in this document are evaluated
60
60
sequentially---our editing environment is constructed in real time as
61
Removed:
we execute the blocks in order. For instance, we only begin loading
61
Added:
we execute the blocks in order. For instance, we only begin loading
62
62
packages once we ensured ~use-package~ is working properly.[fn::For
63
63
more information on the detailed steps Emacs takes upon starting,
64
64
refer to
65
65
[[https://www.gnu.org/software/emacs/manual/html_node/elisp/Startup-Summary.html]].]
66
66
67
67
Customizing Emacs goes far, far beyond rewriting sections of this
68
Removed:
document---feel free to experiment and discover. Here are three
68
Added:
document---feel free to experiment and discover. Here are three
69
69
commands that will help you understand all the symbols in this file,
70
70
if you are browsing this paper within Emacs itself:
71
71
@@ -162,7 +162,7 @@
162
162
** Profiling---start
163
163
164
164
We start the profiler now , and will interrupt it in Section
165
Removed:
[[Profiling---stop]]. We will then present profiling report in Section
165
Added:
[[Profiling---stop]]. We will then present profiling report in Section
166
166
[[Profiling---report]].
167
167
168
168
#+NAME: profiler-start
@@ -177,26 +177,26 @@
177
177
178
178
- File :: A collection of information recognized by a computer---to
179
179
us, a normal file appears as programs (source code or /executables/)
180
Removed:
or data (an image, a video, a document...). It is usually stored in
180
Added:
or data (an image, a video, a document...). It is usually stored in
181
181
a computer's memory or on a storage device (hard drive, USB
182
182
drive...)
183
183
- Path :: A description of a file's location from the user's
184
Removed:
perspective. A path is program searches for a file or executable
184
Added:
perspective. A path is program searches for a file or executable
185
185
program.
186
Removed:
- Directory :: Synonymous with /folder/. From the computer's---and
187
Removed:
Emacs'---perspective, a file which contains other files. These files
186
Added:
- Directory :: Synonymous with /folder/. From the computer's---and
187
Added:
Emacs'---perspective, a file which contains other files. These files
188
188
may themselves be directories.
189
189
190
190
*** Meta files---files about files
191
191
192
192
In this section, we'll be tidying up the =.emacs.d/= directory---by
193
193
default, many Emacs packages create files useful for themselves in our
194
Removed:
[[help:user-emacs-directory][user-emacs-directory]]. This leads to undesirable clutter. Certain
194
Added:
[[help:user-emacs-directory][user-emacs-directory]]. This leads to undesirable clutter. Certain
195
195
packages create files that log recently visited files ([[Recently
196
196
visited files]]); log location of known projects ([[Projects' bookmarks]]);
197
197
log location in recently visited files ([[Location in previously visited
198
198
file]]) The commonality between all these files is that they tend to
199
Removed:
reference... other files. Thus, I decided to refer to them as meta
199
Added:
reference... other files. Thus, I decided to refer to them as meta
200
200
files.
201
201
202
202
A meta files should follow the following best practices:
@@ -204,7 +204,7 @@
204
204
- Be located at [[help:sd-path-meta][sd-path-meta]] :: This ensures a tidy
205
205
[[help:user-emacs-directory][user-emacs-directory]].
206
206
- Be explicit :: Meta filenames should not begin with a period: they
207
Removed:
would be hidden by default on GNU/Linux systems. Novices must see
207
Added:
would be hidden by default on GNU/Linux systems. Novices must see
208
208
all files by default.
209
209
210
210
#+BEGIN_SRC emacs-lisp :tangle yes
@@ -237,9 +237,9 @@
237
237
**** Org id locations
238
238
239
239
#+begin_quote
240
Removed:
We track IDs through files, so that links work globally. The file
240
Added:
We track IDs through files, so that links work globally. The file
241
241
defined at [[help:org-id-locations-file][org-id-locations-file]] maintains a hash table for IDs and
242
Removed:
writes this table to disk when exiting Emacs. Because of this, it
242
Added:
writes this table to disk when exiting Emacs. Because of this, it
243
243
works best if you use a single Emacs process, not many.
244
244
245
245
Paraphrased from [[help:org-id-track-globally][the Emacs help interface]].
@@ -317,7 +317,7 @@
317
317
318
318
**** Custom file
319
319
320
Removed:
Load settings created automatically by GNU Emacs Custom. (For example,
320
Added:
Load settings created automatically by GNU Emacs Custom. (For example,
321
321
any clickable option/toggle is saved here.) Useful for fooling around
322
322
with ~M-x customize-group <package>~.
323
323
@@ -382,10 +382,10 @@
382
382
** Secrets
383
383
384
384
The code contained in the =secrets.org= file is loaded by Emacs, but
385
Removed:
not rendered in this PDF for the sake of privacy. It contains
385
Added:
not rendered in this PDF for the sake of privacy. It contains
386
386
individually identifying information such as names and e-mail
387
387
addresses, which are used to populate Org templates (Section
388
Removed:
[[~org-mode~]]). You need to create this =secrets.org= file, as it is
388
Added:
[[~org-mode~]]). You need to create this =secrets.org= file, as it is
389
389
ignored by =git= by default.
390
390
391
391
#+BEGIN_SRC emacs-lisp :tangle yes
@@ -405,8 +405,8 @@
405
405
** CUA mode
406
406
407
407
The following bindings strive to further enhance CUA mode.[fn::Common
408
Removed:
User Access. This is a term coined by IBM which has influenced user
409
Removed:
navigation cues on all modern desktop OSes. From IBM's CUA, we get the
408
Added:
User Access. This is a term coined by IBM which has influenced user
409
Added:
navigation cues on all modern desktop OSes. From IBM's CUA, we get the
410
410
=Ctrl-c= and =Ctrl-v= keyboard shortcuts.]
411
411
412
412
#+BEGIN_SRC emacs-lisp :tangle yes
@@ -522,11 +522,11 @@
522
522
523
523
*** Remap =C-z= when using a graphical interface
524
524
525
Removed:
By default, =C-z= suspends the editor. This is extremely handy when
526
Removed:
the editor is started with the =-nw= option (no window, i.e. launched
525
Added:
By default, =C-z= suspends the editor. This is extremely handy when
526
Added:
the editor is started with the =-nw= option (no window, i.e. launched
527
527
in a terminal), because it returns control to the terminal command
528
528
line without quitting Emacs---it simply places the Emacs process in
529
Removed:
the background. The user may then use the Linux job management tools
529
Added:
the background. The user may then use the Linux job management tools
530
530
to return inside the Emacs process.
531
531
532
532
However, when using a graphical display, we have no need for
@@ -556,15 +556,15 @@
556
556
** TODO COMMENT Navigation
557
557
# [2021-09-13 Mon]
558
558
#
559
Removed:
# Kinda don't like this... This is some more text. And then some. And
559
Added:
# Kinda don't like this... This is some more text. And then some. And
560
560
# then some.
561
561
562
Removed:
=Alt= (=Meta=) is the privileged key for motion in a buffer. It is
562
Added:
=Alt= (=Meta=) is the privileged key for motion in a buffer. It is
563
563
followed by an optional numerical argument, and a movement
564
Removed:
command. You may navigate in a buffer by keeping =Alt= pressed,
564
Added:
command. You may navigate in a buffer by keeping =Alt= pressed,
565
565
optionally inputting a number from the keypad or number row, then
566
566
pressing any of the following movement keys: =j=, =k=, =h=, and
567
Removed:
=l=. You will move in that direction in the amount of the numerical
567
Added:
=l=. You will move in that direction in the amount of the numerical
568
568
argument.
569
569
570
570
#+NAME: keybinding-navigation
@@ -630,7 +630,7 @@
630
630
** One-click workflows
631
631
632
632
A major advantage of the Emacs document production system: arbitrarily
633
Removed:
complicated functions can be assigned to very simple keybindings. This
633
Added:
complicated functions can be assigned to very simple keybindings. This
634
634
means we can automate workflows up to a pretty absurd level.
635
635
636
636
*** Export to PDF
@@ -713,7 +713,7 @@
713
713
Forgive me, for I have sinned.
714
714
715
715
This is the 2^{nd} most significant customization after
716
Removed:
~org-mode~. Enabling ~evil-mode~ completely changes editing
716
Added:
~org-mode~. Enabling ~evil-mode~ completely changes editing
717
717
keys.[fn::For more information on =vi= keybindings, visit
718
718
[[https://hea-www.harvard.edu/~fine/Tech/vi.html]].]
719
719
@@ -730,7 +730,7 @@
730
730
731
731
*** Syntax checking
732
732
733
Removed:
We require a package to highlight syntax errors and warnings. The
733
Added:
We require a package to highlight syntax errors and warnings. The
734
734
~flycheck~ package ensures we are aware of all our code's syntactical
735
735
shortcomings.
736
736
@@ -758,7 +758,7 @@
758
758
*** Insert template from keyword
759
759
760
760
Thanks to ~yasnippet~, we can type certain keywords, then press =TAB=,
761
Removed:
to automatically insert a predefined text snippet. We can then
761
Added:
to automatically insert a predefined text snippet. We can then
762
762
navigate through the snippet by using =<tab>= (next field) and
763
763
=<backtab>= (previous field).[fn::=<backtab>= is synonymous with
764
764
pressing shift-tab.]
@@ -771,7 +771,7 @@
771
771
: #+END_SRC
772
772
773
773
We notice that emacs-lisp is highlighted---this is the first
774
Removed:
modifiable field. Many clever programming tricks can be performed with
774
Added:
modifiable field. Many clever programming tricks can be performed with
775
775
~yasnippet~ to save us a ton of time with boilerplate text!
776
776
777
777
#+NAME: yasnippet
@@ -796,7 +796,7 @@
796
796
797
797
*** Versioning of files
798
798
799
Removed:
Wonderful Git porcelain for Emacs. Enables the administration of a Git
799
Added:
Wonderful Git porcelain for Emacs. Enables the administration of a Git
800
800
repository in a pain-free way.
801
801
802
802
#+BEGIN_SRC emacs-lisp :tangle yes
@@ -824,7 +824,7 @@
824
824
825
825
*** Jump to symbol's definition
826
826
827
Removed:
~dumb-jump~ is a reliable symbol definition finder. It uses different
827
Added:
~dumb-jump~ is a reliable symbol definition finder. It uses different
828
828
matching algorithms and heuristics to provide a very educated guess on
829
829
the location of a symbol's definition.
830
830
@@ -1046,7 +1046,7 @@
1046
1046
1047
1047
*** Accounting
1048
1048
1049
Removed:
Ledger is a creation of John Wiegley's. It enables double-entry
1049
Added:
Ledger is a creation of John Wiegley's. It enables double-entry
1050
1050
accounting in a simple plaintext format, and reliable verification of
1051
1051
account balances through time.[fn::For more information, visit
1052
1052
https://www.ledger-cli.org/.]
@@ -1058,7 +1058,7 @@
1058
1058
("C-c C" . ledger-mode-clean-buffer))
1059
1059
#+END_SRC
1060
1060
1061
Removed:
These reports can be generated within Emacs. It is quite useful to
1061
Added:
These reports can be generated within Emacs. It is quite useful to
1062
1062
pipe their output to an automated ``smart document''.
1063
1063
1064
1064
#+BEGIN_SRC emacs-lisp :tangle yes
@@ -1142,16 +1142,16 @@
1142
1142
I am so *excited*.
1143
1143
1144
1144
Org mode replaces a word processor, a presentation creator, and a
1145
Removed:
spreadsheet editor. The spreadsheet ability captures more than 80% use
1145
Added:
spreadsheet editor. The spreadsheet ability captures more than 80% use
1146
1146
cases wherein one wishes to include a table in a text document
1147
Removed:
destined for physical publication. (It is clear that Excel
1147
Added:
destined for physical publication. (It is clear that Excel
1148
1148
spreadsheets are /not/ destined for physical publication---simply
1149
1149
attempt to print an Excel spreadsheet with the default settings.) In
1150
1150
my opinion, Org mode matches all /useful/ features of the Microsoft
1151
1151
Office suite 1-to-1.
1152
1152
1153
1153
What follows are customizations designed to make Org mode behave more
1154
Removed:
like Microsoft Word. The end goal is, once again, to draw as many new
1154
Added:
like Microsoft Word. The end goal is, once again, to draw as many new
1155
1155
users to Emacs as possible!
1156
1156
1157
1157
Check out how much information Org mode keeps concerning the most
@@ -1210,7 +1210,7 @@
1210
1210
*** Pretty LaTeX symbols
1211
1211
1212
1212
We display LaTeX entities as UTF8 symbols \rArr this is a slick idea to
1213
Removed:
further make Emacs look like the exported PDF. Using symbols in tables
1213
Added:
further make Emacs look like the exported PDF. Using symbols in tables
1214
1214
is discouraged?
1215
1215
1216
1216
#+BEGIN_SRC emacs-lisp :tangle no
@@ -1219,9 +1219,9 @@
1219
1219
1220
1220
*** Dynamic numbering of headlines
1221
1221
1222
Removed:
We enable the dynamic numbering of headlines in an Org buffer. We also
1222
Added:
We enable the dynamic numbering of headlines in an Org buffer. We also
1223
1223
set the numbering face to ~org-special-keyword~, which specifies a
1224
Removed:
~:background white~ attribute. This is necessary because otherwise,
1224
Added:
~:background white~ attribute. This is necessary because otherwise,
1225
1225
the background of the numbering may be overridden by the ~TODO~ face
1226
1226
attribute ~:background coral~.
1227
1227
@@ -1234,7 +1234,7 @@
1234
1234
1235
1235
By default, we hide Org document properties such as =#+TITLE=,
1236
1236
=#+AUTHOR=, and =#+DATE=, because those keywords are defined when the
1237
Removed:
document template is populated. We can nevertheless always access
1237
Added:
document template is populated. We can nevertheless always access
1238
1238
those properties and edit them manually, with a simple keyboard
1239
1239
shortcut (cf. Section [[Open Org mode document properties]]).
1240
1240
@@ -1276,7 +1276,7 @@
1276
1276
1277
1277
*** Timestamps
1278
1278
# This is a terrible idea :-( but leaving the option to the
1279
Removed:
# reader. Long live ISO-8601!
1279
Added:
# reader. Long live ISO-8601!
1280
1280
# https://orgmode.org/manual/Custom-time-format.html
1281
1281
1282
1282
More literary timestamps can be exported to LaTeX using the following
@@ -1388,12 +1388,12 @@
1388
1388
1389
1389
*** LaTeX export
1390
1390
1391
Removed:
We'll be compiling our documents with LuaTeX. This will afford us some
1391
Added:
We'll be compiling our documents with LuaTeX. This will afford us some
1392
1392
future-proofing, since it was designated as the successor to pdfTeX by
1393
1393
the latter's creators.
1394
1394
1395
1395
First, we define the command executed when an Org file is exported to
1396
Removed:
LaTeX. We'll use =latexmk=, the Perl script which automagically runs
1396
Added:
LaTeX. We'll use =latexmk=, the Perl script which automagically runs
1397
1397
binaries related to LaTeX in the correct order and the right amount of
1398
1398
times.
1399
1399
@@ -1412,7 +1412,7 @@
1412
1412
**** Exporting timestamps
1413
1413
1414
1414
We customize the format for org time stamps to make them appear
1415
Removed:
monospaced in our exported LaTeX documents. This makes it easy to
1415
Added:
monospaced in our exported LaTeX documents. This makes it easy to
1416
1416
distinguish time stamps from body text, and make them align nicely in
1417
1417
definition lists, which I prefer when logging events:
1418
1418
@@ -1454,7 +1454,7 @@
1454
1454
1455
1455
**** COMMENT Colored source blocks in PDF export
1456
1456
1457
Removed:
# Too distracting. Focus on fonts.
1457
Added:
# Too distracting. Focus on fonts.
1458
1458
1459
1459
Little bonus for GNU/Linux users: syntax highlighting for source code
1460
1460
blocks in LaTeX exports.
@@ -1472,7 +1472,7 @@
1472
1472
**** Cleaning directory after export
1473
1473
1474
1474
Now, we set the files to be deleted when a LaTeX \rightarrow PDF
1475
Removed:
compilation occurs. We only care about two files, in the end: the Org
1475
Added:
compilation occurs. We only care about two files, in the end: the Org
1476
1476
mode file for edition, and the PDF for distribution.
1477
1477
1478
1478
#+BEGIN_SRC emacs-lisp :tangle yes
@@ -1486,8 +1486,8 @@
1486
1486
**** Chronological diary entries
1487
1487
1488
1488
By default, Org agenda inserts diary entries as the first under the
1489
Removed:
selected date. It is preferable to insert entries in the order that
1490
Removed:
they were recorded, i.e. chronologically.
1489
Added:
selected date. It is preferable to insert entries in the order that
1490
Added:
they were recorded, i.e. chronologically.
1491
1491
1492
1492
#+BEGIN_SRC emacs-lisp :tangle yes
1493
1493
(setq org-agenda-insert-diary-strategy 'date-tree-last)
@@ -1528,7 +1528,7 @@
1528
1528
**** COMMENT Table of contents
1529
1529
# Commented out on <2021-09-21 Tue>.
1530
1530
1531
Removed:
By default, body text can immediately follow the table of contents. It
1531
Added:
By default, body text can immediately follow the table of contents. It
1532
1532
is however cleaner to separate table of contents with the rest of the
1533
1533
work.
1534
1534
@@ -1537,7 +1537,7 @@
1537
1537
#+END_SRC
1538
1538
1539
1539
The following makes =TODO= items appear red and =CLOSED= items appear
1540
Removed:
green in Org's LaTeX exports. Very stylish, much flair!
1540
Added:
green in Org's LaTeX exports. Very stylish, much flair!
1541
1541
1542
1542
**** COMMENT AUCTEX
1543
1543
@@ -1558,8 +1558,8 @@
1558
1558
** TODO Org links
1559
1559
1560
1560
This is a mind-bending capacity of Org mode: we can assign arbitrary
1561
Removed:
functions to be executed when a user follows an Org link. Org links
1562
Removed:
appear as hyperlinks both in buffers and PDF exports---e.g. the
1561
Added:
functions to be executed when a user follows an Org link. Org links
1562
Added:
appear as hyperlinks both in buffers and PDF exports---e.g. the
1563
1563
following link to this very section, Section [[Org links]]---but their
1564
1564
in-buffer behavior can be arbitrarily assigned.
1565
1565
@@ -1578,7 +1578,7 @@
1578
1578
1579
1579
* One-click workflows
1580
1580
1581
Removed:
In this section, we'll implement useful one-click workflows. It comes
1581
Added:
In this section, we'll implement useful one-click workflows. It comes
1582
1582
later than the keybinding definitions for two reasons:
1583
1583
1584
1584
1. To a new user, keybindings are more relevant than the
@@ -1586,7 +1586,7 @@
1586
1586
how to drive a car than how a car works.
1587
1587
2. If the following subsections share the same name as the keybinding
1588
1588
subsection (Section [[Keyboard shortcuts]]), the links to that name
1589
Removed:
will resolve to the earliest heading in the document, i.e. the
1589
Added:
will resolve to the earliest heading in the document, i.e. the
1590
1590
keybinding subsection, and not the subsection describing the
1591
1591
``one-click workflow''.
1592
1592
@@ -1617,14 +1617,14 @@
1617
1617
** TODO Export to PDF
1618
1618
1619
1619
This series of ~quick-export~ functions have one objective: harmonize
1620
Removed:
the export of Emacs buffers to PDF. Org mode does this by design; we
1620
Added:
the export of Emacs buffers to PDF. Org mode does this by design; we
1621
1621
describe additional exports for other modes, most notably Nroff mode
1622
1622
and Ledger mode.
1623
1623
1624
1624
*** From Org mode
1625
1625
1626
1626
This reimplements the most common Org mode export: Org \rightarrow LaTeX \rightarrow
1627
Removed:
PDF. The binding is defined in Section [[Export to PDF]].
1627
Added:
PDF. The binding is defined in Section [[Export to PDF]].
1628
1628
1629
1629
#+BEGIN_SRC emacs-lisp :tangle yes
1630
1630
(defun sd-quick-export--org ()
@@ -1772,14 +1772,14 @@
1772
1772
1773
1773
* Editing preferences
1774
1774
1775
Removed:
These customizations enhance editor usability. They also encompass
1775
Added:
These customizations enhance editor usability. They also encompass
1776
1776
cosmetic changes not brought about a specific package.
1777
1777
1778
1778
** Editor
1779
1779
1780
1780
*** Coding standards
1781
1781
1782
Removed:
This is just a better default. Don't @ me.
1782
Added:
This is just a better default. Don't @ me.
1783
1783
1784
1784
#+BEGIN_SRC emacs-lisp :tangle yes
1785
1785
(setq c-default-style "linux"
@@ -1816,7 +1816,7 @@
1816
1816
:END:
1817
1817
1818
1818
We start by defining some icons we wish to include in our user
1819
Removed:
interface. Emacs allows the usage of GIF images---this paves the way
1819
Added:
interface. Emacs allows the usage of GIF images---this paves the way
1820
1820
for UI elements which may be animated.
1821
1821
1822
1822
#+BEGIN_SRC emacs-lisp :tangle yes
@@ -1840,7 +1840,7 @@
1840
1840
**** Header line
1841
1841
1842
1842
In Org mode, the document header line will be the title of the
1843
Removed:
document we are working on currently. We start by defining keybindings
1843
Added:
document we are working on currently. We start by defining keybindings
1844
1844
for our header line buttons for navigating through open windows.
1845
1845
1846
1846
#+BEGIN_SRC emacs-lisp :tangle yes
@@ -1955,7 +1955,7 @@
1955
1955
*** Column filling
1956
1956
1957
1957
We leave the default ~fill-column~ unchanged, so as to minimally
1958
Removed:
disrupt a user's existing documents. We automatically break lines
1958
Added:
disrupt a user's existing documents. We automatically break lines
1959
1959
longer than =fill-column=.
1960
1960
1961
1961
#+BEGIN_SRC emacs-lisp :tangle yes
@@ -1968,7 +1968,7 @@
1968
1968
*** Beautiful symbols
1969
1969
1970
1970
We want the Emacs Lisp keyword =lambda= to be rendered as \lambda
1971
Removed:
within the editor. This is mostly for a subjective ``cool'' factor.
1971
Added:
within the editor. This is mostly for a subjective ``cool'' factor.
1972
1972
1973
1973
#+BEGIN_SRC emacs-lisp :tangle yes
1974
1974
(global-prettify-symbols-mode 1)
@@ -1976,7 +1976,7 @@
1976
1976
1977
1977
*** Org mode sugar
1978
1978
1979
Removed:
Let's pimp out the appearance of our text in Org mode. First, we
1979
Added:
Let's pimp out the appearance of our text in Org mode. First, we
1980
1980
prettify checkbox lists when viewed on GNU/Linux systems.
1981
1981
1982
1982
#+BEGIN_SRC emacs-lisp :tangle yes
@@ -2003,7 +2003,7 @@
2003
2003
2004
2004
*** Electric modes
2005
2005
2006
Removed:
Electricity is a very important technology. In Emacs jargon,
2006
Added:
Electricity is a very important technology. In Emacs jargon,
2007
2007
``electric'' modes tend to automate behaviors or present some elegant
2008
2008
simplification to a workflow.[fn::More information can be found at
2009
2009
[[https://www.emacswiki.org/emacs/Electricity]].]
@@ -2033,7 +2033,7 @@
2033
2033
# This is just another comment.
2034
2034
2035
2035
Without a carefully designed theme, our editor would become
2036
Removed:
unusable. Thus, we /describe/ two themes that were developed
2036
Added:
unusable. Thus, we /describe/ two themes that were developed
2037
2037
*purposefully* and iteratively.
2038
2038
2039
2039
#+BEGIN_SRC emacs-lisp :tangle no
@@ -2063,7 +2063,7 @@
2063
2063
*** Colors
2064
2064
2065
2065
The default face is a black foreground on a white background, this
2066
Removed:
matches MS Word. We are striving for a simple, intuitive color scheme.
2066
Added:
matches MS Word. We are striving for a simple, intuitive color scheme.
2067
2067
2068
2068
Most of the [[https://www.interaction-design.org/literature/topics/affordances][affordance]] cues derived from color are identical in
2069
2069
both light and dark themes (Table [[theme-color-1]]).
@@ -2095,14 +2095,14 @@
2095
2095
2096
2096
**** Purple
2097
2097
2098
Removed:
Purple is Emacs' main logo color. Since we use Emacs for coding a lot,
2099
Removed:
code syntax highlighting to could be in the pink/purple shades. This
2098
Added:
Purple is Emacs' main logo color. Since we use Emacs for coding a lot,
2099
Added:
code syntax highlighting to could be in the pink/purple shades. This
2100
2100
is also a nod to Spacemacs' dark theme.2 hour
2101
2101
2102
2102
*** TODO Cursors
2103
2103
2104
2104
In order to imitate other modern text editors, we resort to a blinking
2105
Removed:
bar cursor. We choose red, the most captivating color, because the
2105
Added:
bar cursor. We choose red, the most captivating color, because the
2106
2106
cursor is arguably the region on our screen:
2107
2107
2108
2108
1. most often looked at;
@@ -2188,14 +2188,14 @@
2188
2188
** TODO /Wealthy/ document theme
2189
2189
2190
2190
#+NAME: claude-garamont
2191
Removed:
#+CAPTION[Claude Garamont, an icon of font design]: Claude Garamont, an icon of font design. World-renowned for his elegant typefaces, which inspired many generations of typographers.
2191
Added:
#+CAPTION[Claude Garamont, an icon of font design]: Claude Garamont, an icon of font design. World-renowned for his elegant typefaces, which inspired many generations of typographers.
2192
2192
#+ATTR_LATEX: :width 0.4\textwidth
2193
2193
[[~/.emacs.d/resources/images/smart-documents/ClaudeGaramond.jpeg]]
2194
2194
2195
2195
#+LATEX: \garamond
2196
2196
\lettrine{G}{ood} golly, nobody wishes for a /pedestrian/ theme! Let
2197
2197
your entourage know that you're rocking an editor fit for a king with
2198
Removed:
this finely crafted `wealthy' theme. Selecting it shall enable the
2198
Added:
this finely crafted `wealthy' theme. Selecting it shall enable the
2199
2199
following fancitudes:
2200
2200
2201
2201
1. The default font shall be sublimed in the form of /EB Garamond/
@@ -2205,14 +2205,14 @@
2205
2205
#+BEGIN_QUOTE
2206
2206
\lettrine{C}{laude} Garamont (c. 1510--1561), known commonly as
2207
2207
*Claude Garamond*, was a French type designer, publisher and
2208
Removed:
punch-cutter based in Paris. Garamond worked as an engraver of
2208
Added:
punch-cutter based in Paris. Garamond worked as an engraver of
2209
2209
punches, the masters used to stamp matrices, the moulds used to cast
2210
Removed:
metal type. He worked in the tradition now called old-style serif
2210
Added:
metal type. He worked in the tradition now called old-style serif
2211
2211
design, which produced letters with a relatively organic structure
2212
2212
resembling handwriting with a pen but with a slightly more structured
2213
Removed:
and upright design. Considered one of the leading type designers of
2213
Added:
and upright design. Considered one of the leading type designers of
2214
2214
all time, he is recognised to this day for the elegance of his
2215
Removed:
typefaces. Many old-style serif typefaces are collectively known as
2215
Added:
typefaces. Many old-style serif typefaces are collectively known as
2216
2216
Garamond, named after the designer.
2217
2217
2218
2218
From [[https://en.wikipedia.org/wiki/Claude_Garamond]]
@@ -2235,7 +2235,7 @@
2235
2235
2236
2236
* Late setup
2237
2237
2238
Removed:
At this point, our editor is almost ready to run. Phew! All that's
2238
Added:
At this point, our editor is almost ready to run. Phew! All that's
2239
2239
left to do is to interrupt our profiling activities, and smartly store
2240
2240
the result of our profiling.
2241
2241