File: userguide.tex

package info (click to toggle)
eln 1.5.6-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 9,876 kB
  • sloc: cpp: 26,606; perl: 796; python: 437; sh: 73; makefile: 32; xml: 8
file content (726 lines) | stat: -rw-r--r-- 33,335 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
\documentclass[11pt]{report}
\usepackage[utf8]{inputenc}
\usepackage{mathptm}
\usepackage{newcent}
\usepackage{xfrac}
\usepackage[letterpaper,left=1.1in,right=1.1in,top=1.1in,bottom=1.25in]{geometry}
\linespread{1.1}
\frenchspacing
\usepackage[perpage,symbol]{footmisc}
\usepackage{graphicx}
\usepackage{footnote}
\usepackage[margin=0pt,font=small,labelfont=bf]{caption}
\usepackage{hyperref}
\hypersetup{colorlinks,linkcolor={blue},citecolor={blue},urlcolor={blue}}
\urlstyle{same}
\makesavenoteenv{tabular}
\def\topfraction{.9}
\def\bottomfraction{.9}
\def\textfraction{.1}
\def\floatpagefraction{.9}
\def\keystroke#1{$\left[\right.\!${\tt\bfseries #1}$\!\left.\right]$}
\def\key#1{\keystroke{#1}}
\def\keycombo#1#2{\keystroke{#1}\keystroke{#2}}
\def\keycontrol#1{\keycombo{Ctrl}{#1}}
\def\keyshift#1{\keycombo{Shift}{#1}}
\def\controlshift#1{\keystroke{Ctrl}\keystroke{Shift}\keystroke{#1}}
\def\keyctrlhat{\keycontrol{\char94}}
\def\keyhat{``{\tt\char94}''}
\def\keyctrlbackslash{\keycontrol{\char92}}
\def\keyctrlunderscore{\keycontrol{\char95}}
\def\keyunderscore{``{\tt\char95}''}
\def\terminal#1{{\tt#1}}
\def\icon#1{\raise-2pt\hbox{\includegraphics[height=11pt]{icons/#1.png}}}
\newcommand{\NotedELN}{NotedELN} % allow for clever typesetting, like \LaTeX.
\begin{document}
\pagenumbering{roman}
\begin{titlepage}
\begin{centering}
  {\Huge \NotedELN}
  \vskip30pt

  {\Large an Electronic Lab Notebook}
  \vskip60pt


  {\large By Daniel A. Wagenaar}
  \vfill

{\large version {\input{version.tex}}}
\vskip10pt


  {Copyright (c) 2013--2021}

\end{centering}
\end{titlepage}
~
\vfill
\noindent Copyright (C) 2013--2021 Daniel A. Wagenaar\medskip

\NotedELN\ is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see \url{http://www.gnu.org/licenses}.

\tableofcontents
\clearpage
\pagenumbering{arabic}

\chapter{Introduction}

This document describes the installation and usage of \NotedELN, an
electronic lab notebook written by Daniel Wagenaar.  This introduction
will not cover why you should keep a lab notebook, nor why an
electronic lab notebook may be desirable. You already know that.  It
will however, cover some of the ideas behind this particular
implementation.

\section{Why use \NotedELN?}

There are any
number of software packages available that implement electronic
notebooks. So why should you choose \NotedELN? \NotedELN\ is for you if:
\begin{itemize}
  \item You want your notes to be stored in a human-readable format.
  \item You want your notes to be stored in a format that will be easy to
    parse electronically even 500 years from now.
  \item You want your notes to be protected against accidental
    deletion.
  \item You want your notes to be automatically dated.
  \item You want to concentrate on entering text and not on
    formatting.
  \item You want to be able to include images and simple graphics with
    your notes and you want that to be easy.
  \item You want your notebook software to be fast, even with thousands
    of pages of notes.
  \item You like your software to be open-source so that you can make
    your own improvements to it, and be confident that you can still
    run it 20 years from now.
\end{itemize}

\noindent However, \NotedELN\ may not be for you if:
\begin{itemize}
  \item You want complete control over the formatting of your notes.
    (\NotedELN\ will allow you some coarse control.)
  \item You need to typeset complex equations in your notes. (\NotedELN
    will allow you to set basic equations.)
  \item You need to typeset music in your notes.
  \item You need to import formatted documents into your notes. (Noted
    ELN
    can archive web pages and pdf files for you, but they cannot be
    rendered onto the notebook pages.)
  \item You need a fully polished graphical user interface.
  \item You need a help desk on-call.
\end{itemize}
\noindent Lastly, a note on development. \NotedELN\ is being developed by an
active research scientist. Practically, that means two things: On the
positive side, it means that I have a vested interest in fixing bugs
and improving \NotedELN, because I use it daily. On the negative side, that
means that, by and large, new features are added only when I need them
and bugs are fixed when I have time. I certainly do welcome feature
requests, but I cannot guarantee that they will get implemented
quickly or at all. (If you are in a hurry, I will consider (paid)
consultancy related to \NotedELN.) Finally, I definitely welcome
contributions to either the code or the documentation. I would be very
happy if \NotedELN\ turned into a community-supported open source project.

\section{Features}

\NotedELN\ notebooks consist of ``entries'' that fill one or more pages.
Each entry has a title and consists of paragraphs of text, tables, and/or
graphics canvases. Typesetting is deliberately simple: you can create italics
and bold face text as well as super- and subscripts, but you cannot
choose typefaces or font sizes (except as a global option). These
limits were a conscious design choice: the hope is that this will
force the user to concentrate on content rather than form, just as you
would in a paper notebook.

Graphic manipulation is similarly rudimentary: you can drag-and-drop
or cut-and-paste images and (svg) vector graphics into a notebook
entry, and these graphics can be cropped and resized, but they cannot,
e.g., be rotated or recolored. You can add simple symbols in a limited
set of colors to the graphics as well as draw freehand lines. It is also
possible to attach text notes to the graphics. You cannot, however,
create arbitrarily complex graphics in \NotedELN; for that, the author
recommends using the GIMP\footnote{\url{http://www.gimp.org}.} or
Inkscape\footnote{\url{http://www.inkscape.org}.}. It is easy to
cut-and-paste from these programs into \NotedELN, and even easier to simply
grab screenshots and paste them into \NotedELN.

\NotedELN\ supports footnotes and references to other pages within the same
notebook, and automatically downloads and archives web pages if you
type their URL into a notebook entry. This, for instance, facilitates
keeping data sheets, MSDSs, and journal articles with your notes.

A key feature of \NotedELN\ is that each entry is stored in a separate
file. (A notebook is a folder on your hard disk with these files in a
subfolder.) This approach has numerous advantages:
\begin{itemize}
  \item It makes for fast
editing regardless of the size of the notebook;
\item It limits the damage
potential of hard disk corruption;
\item It makes it convenient to use external version control software
  to archive your notebooks (Git\footnote{\url{http://git-scm.com} (free and
    open source despite the ``.com'' domain).} is best
  supported);
\item It facilitates electronically verifying when an
entry was created; and
\item It makes it much easier to manually correct
broken files if somehow data does get compromised.\footnote{Of course
  that's not supposed to happen, but \NotedELN, like all software, does have
  bugs, so it is good to know that failure can never be catastrophic.}
\end{itemize}

Another important design feature is that entries automatically get
locked (i.e., become immune to editing) after 24 hours.\footnote{See
  below under ``Editing old entries'' for a minor exception.} This
design choice might be controversial, but it is an important feature
for a lab notebook: it encourages (in fact, enforces), chronological
note taking and discourages manipulating data post-hoc.\footnote{\NotedELN\
  on its own cannot be relied on to fully guarantee that entries
  aren't modified post-hoc, because it is certainly possible to modify
  entries using an external text editor. However, judicious use of
  version control software can be used to document that such abuse has
  not occurred.}

\NotedELN\ does not, at present, offer any facilities for multi-user
collaboration. However, if used in conjunction with version control
software, it is not hard to automatically maintain a central library of
many lab members' notebooks. Lab members can then readily browse each
others' notebooks. In addition, \NotedELN\ can export anything from an
individual page to an entire notebook to pdf.

\section{Contacting the author}

If you like \NotedELN\ or find fault with it, if you discover a bug or have a
suggestion for a new feature, if you are interested in improving this
documentation or have a patch to contribute to the code, I want to
hear from you. My contact information is on the web at
\url{http://www.danielwagenaar.net}. I very much look forward to hearing
from you. I realize that this guide is extremely terse, and I
really do welcome questions, particularly if they help me to improve
\NotedELN\ or its documentation.


\chapter{Installation}

The latest version of the software can always be downloaded from
either of the following places:
\begin{itemize}
\item \url{https://github.com/wagenadl/eln/releases}
  \item \url{http://www.danielwagenaar.net/eln}
\end{itemize}

\section{Installing precompiled binaries}

To install on Windows 10, using the ``.exe'' installation
package. To install on Mac OS X, opening the ``.dmg'' archive and
place ``\NotedELN.app'' anywhere on your system.  Installation on
Debian, Ubuntu, or Mint Linux should be easy using the
``.deb'' installation package. At present, installation on other
flavors of Linux will require compiling the sources yourself, but this
should be straightforward (see below).

At present, neither Android devices nor iPads are currently supported,
simply because the author doesn't own any. If you are interested in
porting \NotedELN\ to either of these platforms or would like to commission
me to do so, please contact me by email.

Please note that development occurs primarily on Linux, so the Windows
and Mac OS versions may lag behind.

\section{Compiling the source}
To compile the source, download the source at \url{https://github.com/wagenadl/eln}. You will need
``Qt 5'' version 5.6 or later.

You will need a C++ compiler, the Qt development packages and
``cmake''. On Ubuntu Linux, this is as simple as \terminal{sudo
  apt-get install g++ cmake qtmultimedia5-dev
  \ libqt5webkit5-dev libqt5svg5-dev}.  On Mac OS, you need the
``Command Line tools for XCode'' from the Apple Developers' web
site\footnote{\url{https://developer.apple.com/xcode}.}. On Windows you will
need Visual Studio (Community Edition).

Open a terminal (git bash works great in Windows), then ``cd'' to the
root of the unpacked source archive. In the terminal, type
\terminal{mkdir build; cd build}.

On Linux and Mac, you can then simply type \terminal{cmake ..; cmake
  --build .} (notice the literal period at the end) and fetch a cup of tea. Then, either manually copy the
files ``notedeln'' and ``webgrab'' to a location on your PATH, or type
\terminal{sudo make install} to install into ``/usr/local/bin''. On
Linux, you can also type \terminal {cpack} to create a ``.deb''
package. Likewise, on Mac, \terminal{cpack} creates a dmg package that
can easily be carried to other machines.

On Windows, ``cmake'' cannot guess the location of Qt. You will need
something like
\terminal{CMAKE\_PREFIX\_PATH=/c/Qt/5.15.2/msvc2019\_64/lib/cmake/Qt5
  cmake ..} (notice the literal periods at the end).  The path to Qt
may need to be changed. Follow this by \terminal{cmake --build . --config
  Release} and fetch your tea. At that point, you can run \NotedELN\ in place (in the
Release subdirectory), or you can create an installation package using
\terminal{cpack} and install that.

\chapter{Using \NotedELN}

\NotedELN\ has a deliberately sparse user interface that may take a little
getting used to. It is the author's hope, however, that users will
quickly get to appreciate the simplicity of the system.

\section{Some general notes}

\NotedELN\ is intended to be fully usable either with traditional laptop or
desktop computers or with tablets. To facilitate that, it only uses
the left mouse button. \NotedELN\ can also be operated almost exclusively from the
keyboard.

\section{Creating a new notebook}

When \NotedELN\ starts, it displays a list of recent notebooks and also offers the
choice of opening a notebook that is not on the list or to create a
new notebook. When you click ``Create new notebook,'' it will
immediately ask you where you want to store that notebook. It will
then open the front page of your notebook, where you can change its
title and add your name as the author as well as your affiliation or
other relevant information. It is highly recommended that you give
your notebook a meaningful title, as that title will show up in \NotedELN's
opening screen in the future.

Other options on the opening screen are ``Open other existing
notebook,'' which speaks for itself, and ``Clone hosted notebook for
local use,'' which is explained under ``Archiving (version control),''
below.

To leave the front page and go to the first actual page of your new
notebook, press \key{Page Down} or \controlshift{+} on your keyboard,
or use the navigation buttons in the tool bar.

\section{Creating new entries}

To create a new entry, press \controlshift{+} or click the
\icon{nav-plus} icon in the tool bar. To encourage you to give
your entries meaningful titles, the cursor is positioned in the title
field. The title you give to your
entry here is automatically copied to the table of contents.

To move from the title to the first paragraph of your entry, simple
press \key{Enter} or \key{Tab}.

\section{Adding text}

Text mode is \NotedELN's default mode, so you should be able to start typing
right away. If not, click the \icon{type} mode icon (or press
\key{F2}) to enter text mode. Click below existing contents or inside
an existing paragraph to start editing. Note that it is not possible
to edit an entry that is older than 24 hours.

Text may be cut-and-pasted as you would expect using
\keycontrol{X}, \keycontrol{C}, and \keycontrol{V} as in other
programs, but \NotedELN\ does not have an ``undo'' mechanism. To protect
you against accidental deletion, you have to explicitly press
\key{Delete} to delete a selection.

\section{Adding graphics}

Graphics can be added by dragging an image file onto the page or by
pressing \keycontrol{V} to paste an image from the system
clipboard.

Various plot symbols as well as freehand lines can be added using the
\icon{mark} and \icon{squiggle} icons (\key{F4} and
\key{F5}). Straight line segments can be added by double clicking the
\icon{squiggle} icon (or by pressing \keyshift{F5}) which turns the
squiggly line into a straight line: \icon{straight}. Several choices
for symbol size, line width, and color are available.  (These options
are not extendible. By limiting the options, \NotedELN\ hopes to encourage
you to not spend too much time thinking about the perfect color for
your annotation.)

Text annotations can be added to the graphics canvas using the
\icon{note} icon (\key{F6}) and either clicking to place text or
dragging to place text with a connector line. Type faces and font
sizes cannot be changed (again, on purpose).

Images, plot symbols, freehand and straight lines, and text
annotations can be moved around, cropped, and resized by selecting the
\icon{move} icon (by clicking it or pressing \key{F3}). As a
convenience, a mouse drag with \key{Control} held performs the same
manipulations without selecting the \icon{move} icon.

Also with the \icon{move} icon selected, you can change
the wrap width of text annotations by dragging the right edge of your
annotation. The end of a connector line can be moved by holding
\key{Shift} while dragging the annotation. (A note without a connector
line can be given a connector line by Shift-dragging; connector lines
automatically vanish if their ends are dragged into the text of the
note.)

Graphics objects can be deleted with the \icon{move} icon selected by
hovering the cursor over them and pressing \key{Delete}. They can be
restored by pressing \key{Insert}. An empty graphics canvas can be
deleted by pressing \key{Delete}. \keycontrol{Delete} works in any
mode, provided there is no active text cursor.

\section{Adding tables}

Tables can be inserted as their own paragraphs. Simply start typing
the contents of the first table cell, then hit \key{Tab} to create a
second cell. Navigation within a table is with \key{Tab} and
\keyshift{Tab} for left and right, \key{Enter} and \keyshift{Enter}
for next and previous line, and of course the arrow keys. New columns
or rows can be inserted by holding \key{Control} while
navigating. Columns or rows can be deleted by selecting the entire
column or row and pressing \key{Delete}. To make this easier,
\keycontrol{A} cycles between selecting an entire cell, an entire row,
an entire column, and the entire table.

\section{Saving your work}

You don't have to! \NotedELN\ automatically saves your work every 10 seconds
(if you have made any changes) and when you navigate to a different
entry (ditto). If you have configured version control (see below),
your changes are automatically committed and pushed to the server
every 5 minutes and when you close the notebook.

\section{Navigation}

Navigation between pages and entries is done using \key{Page Up} and
\key{Page Down}, using the scroll wheel of your mouse, or with the
navigation buttons overlaid on the bottom left of the notebook:
\icon{nav-prev} and \icon{nav-next} move up and down by one page;
\icon{nav-p10} and \icon{nav-n10} move by 10 pages. To go
to the table of contents, press \keycontrol{Home} or click
\icon{nav-toc}, and to go to the latest entry, press \keycontrol{End}
or click \icon{nav-end}. Clicking on a page link (hold \key{Control}
if the link is on an editable page) activates the link. Press
\controlshift{+} (or click the \icon{nav-plus} icon) to start a new
entry. (Pressing
\key{Page Up} on an untitled and empty  entry  abandons that
entry.)

\section{Editing old entries}

Cannot be done. Except that you can use the \icon{note} icon (\key{F6}) to
create so-called ``late notes.'' These are automatically set in a
distinct color and decorated with a date stamp. They
may be manipulated just like text annotations on a graphics canvas. To
indicate that an entry cannot be edited, \NotedELN\ switches to ``browse''
mode, indicated by the \icon{browse} icon being automatically selected.

\section{Formatting}

\NotedELN\ doesn't offer advanced formatting, but it does offer some basic
options: Press \keycontrol{I} or \keycontrol{/} to italicize the word
under the cursor or the current selection (or to unitalicize). Press
\keycontrol{B} or \keycontrol{*} (or \keycontrol{8}) for bold face. Press
\keycontrol{U} or \keyctrlunderscore{} (underscore; on my keyboard: \controlshift{-})
for underline. Type \keyctrlhat{} (or \keycontrol{6}) to create a
superscript and \keycontrol{-} (minus) to create a
subscript.\footnote{Superscripts and subscripts can also be created by
  typing \keyhat{} or \keyunderscore{} followed by the text of the
  superscript or subscript and then pressing \keycontrol{.} (period).}

In addition, any text, old or new, can be highlighted using the
\icon{highlight} icon (\key{F7}) or crossed out using the
\icon{strikeout} icon (\key{F8}). These
annotations can be removed using the \icon{plain} icon
(\key{F9}). Highlighting of the selection or word under the cursor can
also be toggled using \keycontrol{!} (or \keycontrol{1}). Likewise,
\keycontrol{=} toggles cross-out.

\section{Special characters}

\NotedELN\ supports most of unicode and---presumably---you can use any input
method supported by Qt to enter text.\footnote{I have only tested this
  with the ``compose'' key method in ``Gnome''; I am interested in
  your test results.} In addition, the following substitutions are
made automatically as you type (Figure~\ref{fig:charsubst}). (See
section~\ref{sec:codemode} for how to prevent these substitutions.)

\begin{figure}[t]
\noindent~\hfill\includegraphics[scale=.85]{../doc/digraphs.pdf}\hfill~\vspace{-40pt}

\caption{{\bf Automatic character substitutions.} To get the glyph on
  the left, type the character sequence on the right. {\bf a.}~General
  punctuation. {\bf b.}~Arrows (see also Figure~\ref{fig:texcodes}i). {\bf c.}~Less than and greater
  than. {\bf d.} Decorated equals signs. {\bf e.}~Other mathematical
  operators.}\label{fig:charsubst}
\end{figure}

In addition to the automatic substitutions, there are many symbols
that can be obtained by typing a backslash followed by their name
(Figure~\ref{fig:texcodes}).  Extending this list
is easy, so let me know if you have suggestions.

As an alternative to standard unicode input methods for entering
accented letters, \NotedELN\ supports creating a select group of accented
letters by typing a backslash followed by a symbol and a letter
(Figure~\ref{fig:accents}), as in ``{\tt Se\char92\char126nor}'' for
``Se\~nor'' or ``{\tt gar\char92,con}'' for ``gar\c{c}on''.

\begin{figure}
\noindent\includegraphics[width=\textwidth]{../doc/texcodes.pdf}\vspace{-7pt}

\caption{{\bf Symbols that may be obtained by a TeX-like command.} To
  get the symbols on the left, type a backslash followed by the character sequence on the
  right, then keep typing.
  {\bf a,~b.}~Lowercase and uppercase Greek letters.
  {\bf c.}~Fractions.
  {\bf d.}~Scientific units.
  {\bf e.}~Mathematical operators.
 {\bf f.}~Other mathematical symbols.
  {\bf g.}~Other symbols.
  {\bf h.}~General punctuation.
  {\bf i.}~Arrows.
  {\bf j.}~Mathematical accents.
  (The codes in \emph{j} are
  different from the others, in that the accent is placed over the
  preceding character rather than as a separate
  entity.)}\label{fig:texcodes}
\end{figure}

\begin{figure}
\noindent~\hfill\includegraphics[scale=.85]{../doc/accents.pdf}\vspace{-7pt}\hfill~

\caption{{\bf Accented letters that may be obtained by a TeX-like sequence.} To
  get the accented letters on the left, type a backslash followed by the character sequence on the
  right, then keep typing.}\label{fig:accents}
\end{figure}


\section{Footnotes}

Press \keycontrol{N} to create a footnote. Footnotes are connected to
the main text by arbitrary tags: the word at the cursor becomes the
tag.  If you prefer to use symbols to tag footnotes, the symbols *,
\dag, \ddag, \S, \P, and $\sharp$ can be created by typing {\tt *},
    {\tt +}, {\tt ++}, {\tt\$}, {\tt @}, and {\tt \#} before pressing
    \keycontrol{N}. Footnotes are deleted by deleting the tag in the
    main text or by pressing \controlshift{N} while the tag is
    highlighted.

If your tag is a big integer, it is interpreted as a PubMed ID. In
that case, \NotedELN\ will insert the corresponding citation in the note for
you automatically. (If you have suggestions for other kinds of
automatically created note contents, I want to hear from you.)

\section{Hyperlinks}

Press \keycontrol{L} to create a hyperlink. (If your hyperlink
contains spaces, you will have to select the text first, otherwise,
\NotedELN\ figures out the boundaries of the link text automatically.)

Hovering over a link displays a thumbnail of the
page\footnote{Currently, the Mac and Windows versions merely show the
  title of a web page while hovering. I hope to restore thumbnailing
  when Qt's QWebEngine technology further matures.}, and double
clicking opens a pdf of the downloaded page. Double clicking with
\key{Shift} held opens the original web page. Hyperlinks are typeset
with a pale blue background once download is complete and with a pink
background if download fails. (A yellow background indicates that
download is in progress.)

\section{Magic links}

\NotedELN\ recognizes not just URL-style hyperlinks, but also a number of
other ``magic'' links:
\begin{itemize}
\item A small number (at most 4 digits), upon pressing \keycontrol{L}
becomes a hyperlink to another page in the notebook.
\item A large number (more than 4 digits)
will be interpreted as a PubMed ID and will link to PubMed. When
possible, the corresponding article will be automatically downloaded
and archived with the notebook.
\end{itemize}

\section{Typesetting quotations, computer code, and other imported materials}

Occasionally it is useful to typeset ``imported'' materials such as
quotations differently from the rest of your notes. In a small
concession to typographic nicety, \NotedELN\ does this for you if you press
\keycontrol{Tab}.  The paragraph will be typeset in a slightly
different color, a slightly smaller point size, and with slightly
larger margins. To undo, simply press \keycontrol{Tab}
again. Similarly, indentation can be cycled between indented
paragraphs (the default), non-indented paragraphs, and ``dedented''
paragraphs, which is useful for typing bullet lists. This is done by
pressing \keyshift{Tab}.

\section{Typesetting mathematics}

When typing mathematical equations, having to frequently type the backslash for special characters and \keycontrol{/} for
italics can get tiresome. To avoid this annoyance, press
\keycontrol{`} (that's the key to the left of the \key{1} on many
qwerty keyboards) to enter (and exit) ``math'' mode, which turns the
\icon{type} icon into \icon{type-math}. (Math code can
also be entered by double-clicking the \icon{type} icon
or pressing \keyshift{F2}.)

In math mode, special characters can be entered simply by typing their
name and single-character words are typeset in italics.\footnote{A few
  exceptions apply: Without a preceding backslash, ``x'' does not
  generate $\times$, ``d'' does not generate $\partial,$ and symbols
  whose commands are plain English words (e.g., ``sum'') also still
  require typing the backslash. \NotedELN\ tries to guess whether you
  mean the variables $a$ and $I$ or the words ``a'' and ``I.'' A few
  other subtle cases are handled semi-intelligently as well.} To
typeset a single-letter variable name in bold, bold italic, or roman,
type its letter multiple times. Also in math mode, simple subscripts
and superscripts can be typeset by just typing underscore or hat
followed by the text of the sub- or superscript. As a result, an
equation like ``$\int_1^\infty 1/x^2\, \mathrm{d}x = 1$'' can be
typeset simply by typing ``{\tt{int\char95{}1\char94inf 1/x\char94{}2
    dx = 1}}''. A space, or punctuation followed by a space, ends to
subscript or superscript.

Even double superscripts and subscripts are possible,
to the degree that the second level is supported by
unicode.\footnote{At the moment, support is limited to digits,
  parentheses, and the plus, minus, and equal signs.} For
instance, ``$\mathrm{e}^{-\sfrac12(x_1{}^2+x_2{}^2)}$'' can be typeset simply by
typing
``{\tt{e\char94\char123-\char92{}12(x\char95{}1\char94{}2+x\char95{}2\char94{}2)\char125}}''. (Note
how the curly braces temporarily ``protect'' the inner expression.)

\section{Typesetting computer code}\label{sec:codemode}

When typing computer code, the automatic substitions in
Figure~\ref{fig:charsubst}, \ref{fig:texcodes}, and~\ref{fig:accents} can be a
hindrance. To disable all automatic substitions, press \keycontrol{F2}
(or click the \icon{type} icon with \key{Ctrl} held). The icon will
change to \icon{type-code}, which signifies ``Code'' mode. Press
\key{F2} to return to normal text mode.

\section{Exporting and printing}

\NotedELN\ can export your entire notebook or portions of it to pdf or print
them directly. Simply press \keycontrol{P} or click the
\icon{nav-print} icon
to open the print dialog and select either ``Print to pdf'' or an
actual printer.

Individual entries can also be exported as html by pressing
\controlshift{S}. This feature is still slightly experimental. Styling
is not yet quite how I would like it to be. In the future, html output
may be integrated with the print dialog.

\section{Searching your notebook}

\NotedELN\ incorporates a simple but very useful full-text search
facility. Press \keycontrol{F} or click the \icon{nav-find} icon to open the
search dialog, type any word or phrase, and press \key{Enter} or click
``OK.'' A list with search results from the entire notebook will open;
click on a result to navigate to the relevant entry.

\section{Customization}

At present, you cannot graphically change the looks of a
notebook. However, inside each notebook folder, \NotedELN\ creates a file
called ``style.json'' that defines many of the style parameters of the
notebook. I don't have the time right now to document all of them
(feel free to contribute). Particularly important ones are
``page-width'' and ``page-height'' which specify the width and height
of a notebook page in points (1/72'') and the various
``\ldots-font-family'' variables.

\section{Archiving (version control)}

If you have Git installed on your computer, you can choose to have
your notebooks archived locally or to another computer using
Git. Simple enable the ``Archiving'' option and specify the place
where you want the archive to be stored.

Archiving locally is extremely easy, but of limited
utility.\footnote{Unless ``locally'' actually means a network location
  that your computer maps to a path that merely ``looks'' local to
  \NotedELN.  Most operating systems are capable of that.} Archiving
remotely from within \NotedELN\ is slightly more involved. If you have no
experience with Git, it is probably best to remedy that first. Some of
the following is likely to be hard to understand otherwise.

\emph{Caution: Black diamond contents ahead.} For remote archiving,
you need to have a host computer that you can access by ssh without a
password. Typically, that involves setting up a public/private RSA key
pair using ssh-keygen or similar and appending the public key to the
file ``.ssh/authorized\_keys'' on the server. Further details can be
found elsewhere. In my experience, doing this from a Windows computer
is much trickier than from either Linux or Mac OS; the most workable
Windows solutions I have found are ``Pageant,'' which is part of the
``PuTTY'' package,\footnote{At \url{https://www.putty.org}. See
  \url{https://documentation.help/PuTTY/pageant.html} for an introduction to
  Pageant.} and the unix-style `ssh-keygen,'' ``ssh-agent,'' and
``ssh-add'' that come with recent versions of Git SCM.\footnote{An
  excellent port of git to Windows. At \url{https://git-scm.com}.}

If you use Git to store your notebook on a remote host,
you can also access it from other computers. To do that, you would
select ``Clone hosted notebook for local use'' from the \NotedELN\ opening
screen. Conveniently, once you have cloned the notebook, you can treat
it just like any other local notebook, with one caveat: you should not
open a notebook simultaneously on two computers, and always allow Git
to ``commit and push'' any changes back to the host.\footnote{If you fail to
heed this warning, \NotedELN\ will likely have to manually rebuild your index
and table of contents. That's not the end of the world. However, in
rare instances, your notebook can get into a messy state from which
recovery will require typing Git commands in a terminal window. Note
that it is always completely safe to only use one client computer with
Git at a time.} Similar cautions apply when you use solutions like
Dropbox or iCloud for holding your notebook.

\emph{Warning: Double black diamond contents ahead.} It is also
possible to turn an existing notebook into a Git repository. There are
two steps:
\begin{enumerate}
  \item you should replace the line in your notebook's
    ``style.json'' file that says ``{\tt"vc":~""}'' to ``{\tt"vc":~"git"}'';
    \item you
should locate the ``.nb'' folder, type \terminal{git init} to turn your
notebook into a Git repository, then type some variant of

\terminal{ssh
\emph{user}@\emph{host} git init --bare
\emph{somewhere}/\emph{nice}/\emph{notebook}.nb}\vspace{-5pt}

\terminal{git push -u
\emph{user}@\emph{host}:\emph{somewhere}/\emph{nice}/\emph{notebook}.nb}

to set up the archive host.
\end{enumerate}
Again, if this section doesn't make sense to you, please first learn
about Git version control, then read it again before
contacting me. (And yes, I will be happy to assist.)

\section{Conclusion}

I hope that \NotedELN\ will be useful to you, and that it will encourage you
to take more---and more usable---notes. I love to hear happy users'
stories. I also welcome bug reports of all kinds. And in the unlikely
event that \NotedELN\ appears to have chewed up your notes, please do not
just throw away the broken notebook. Although I cannot make any
guarantees (see the GPL license text!), it almost certainly can be
fixed. And I would be happy to try and help.

\bigskip

\noindent Pasadena, May 2013;

\noindent Cincinnati, February 2014;

\noindent Woods Hole, June 2015;

\noindent Pasadena, January 2016, January 2017, April 2019;

\noindent Altadena, November 2020, May 2021.

\end{document}