Add Index and Nomenclature sections
authorW. Trevor King <wking@drexel.edu>
Thu, 11 Mar 2010 15:07:55 +0000 (10:07 -0500)
committerW. Trevor King <wking@drexel.edu>
Thu, 11 Mar 2010 15:07:55 +0000 (10:07 -0500)
tex/Makefile
tex/src/introduction/main.tex
tex/src/packages.tex
tex/src/packages/Makefile
tex/src/packages/nomencl.ist [new file with mode: 0644]
tex/src/packages/nomencl.sty [new file with mode: 0644]
tex/src/root.tex

index 3462fa3b678ac4af38bf260aa0e28cb2b59f6113..ab27c3dd6c8363178cdd654ce60abd3d496a4d9f 100644 (file)
@@ -2,8 +2,11 @@ LATEX = pdflatex
 #LATEX = xelatex
 
 thesis.pdf : build
+       (cd ./build && $(LATEX) root)
        (cd ./build && $(LATEX) root)
        (cd ./build && bibtex root)
+       (cd ./build && makeindex root.nlo -s nomencl.ist -o root.nls)
+       (cd ./build && makeindex root.idx)
        (cd ./build && $(LATEX) root)
        (cd ./build && $(LATEX) root)
        mv build/root.pdf $@
index 802664e7f2f036240c558661d0472397a8b1ac46..722992faf0a2de03f004bf69070a9ffd8e6a3dfa 100644 (file)
@@ -21,7 +21,9 @@ about the functional mechanisms of several biological
 systems\citep{bustamante08}.
 
 % What do genes do?  Why is protein folding interesting?
-An organism's genetic code is stored in DNA in the cell nucleus.
+An organism's genetic code is stored in DNA%
+\nomenclature{DNA}{Deoxyribonucleic Acid}
+in the cell nucleus.
 DNA sequencing is a fairly well developed field, with fundamental work
 such as the Human Genome Project seeing major development in the early
 2000s\citep{wolfsberg01,mcpherson01,collins03}.  It is estimated that
@@ -104,21 +106,22 @@ distinction between the pathway model and funnel model is clearer.
 These techniques include optical measurements, \ie, single molecule
 fluorescence microscopy and spectroscopy, and mechanical manipulations
 of individual macromolecules, \ie, force microscopy and spectroscopy
-using atomic force microscopes (AFMs), laser tweezers\citep{forde02},
-magnetic tweezers\citep{smith92}, biomembrane force
-probes\citep{merkel99}, and centrifugal
+using atomic force microscopes (AFMs)%
+\nomenclature{AFM}{Atomic Force Microscope (or Microscopy)},
+laser tweezers\citep{forde02}, magnetic tweezers\citep{smith92},
+biomembrane force probes\citep{merkel99}, and centrifugal
 microscopes\citep{halvorsen2010}.  Of these mechanical manipulation
 methods, AFM is the most widely used due to the availability of
 user-friendly commercial instruments.  AFM has been employed on
 several types of biological macromolecules, mechanically unfolding
 proteins\citep{carrion-vazquez99b} and forcing structural transitions
-in DNA\citep{rief99} and polysaccharides\citep{rief97a}.  An AFM uses
-a sharp tip integrated at the end of a cantilever to interact with the
-sample.  Cantilever bending is measured by a laser reflected off the
-cantilever and incident on a position sensitive photodetector
-(\cref{fig:afm-schematic}).  When the bending force constant of the
-cantilever is known\citep{levy02}, the force applied to the sample can
-be calculated.
+in DNA\citep{rief99} and polysaccharides\citep{rief97a}.  An
+AFM\index{AFM} uses a sharp tip integrated at the end of a cantilever
+to interact with the sample.  Cantilever bending is measured by a
+laser reflected off the cantilever and incident on a position
+sensitive photodetector (\cref{fig:afm-schematic}).  When the bending
+force constant of the cantilever is known\citep{levy02}, the force
+applied to the sample can be calculated.
 
 % really, AFM can do this ;)
 The forces that can be applied and measured with an AFM range from
@@ -133,11 +136,11 @@ stimulated much effort in both experimental and theoretical research.
 
 \begin{figure}
   \asyfig{figures/schematic/afm}%
-  \caption{Operating principle for Atomic Force Microscopy.  A sharp
-    tip integrated at the end of a cantilever interacts with the
-    sample.  Cantilever bending is measured by a laser reflected off
-    the cantilever and incident on a position sensitive
-    photodetector.\label{fig:afm-schematic}}
+  \caption{Operating principle for an Atomic Force
+    Microscope\index{AFM}.  A sharp tip integrated at the end of a
+    cantilever interacts with the sample.  Cantilever bending is
+    measured by a laser reflected off the cantilever and incident on a
+    position sensitive photodetector.\label{fig:afm-schematic}}
 \end{figure}
 
 
index bc54a4aa9cab4bf99ec37723b7371d76820c92fd..d84927814f1ec4f5ea46b9e5c70f4f124d3cd538 100644 (file)
@@ -9,8 +9,30 @@
 % Nicer references with \cref, \Cref, etc.
 \usepackage[capitalize]{cleveref}
 
-% print labels in margins for debugging
-%\usepackage{showkeys}
+\usepackage{makeidx} % Indexing
+\makeindex
+\usepackage[intoc]{nomencl} % Abbreviation indexing
+\makenomenclature
+\makeatletter
+% override nomencl's thenomenclature to use drexel-thesis's listed@schapter
+\def\thenomenclature{%
+  \listed@schapter{\nomname}
+  \nompreamble
+  \list{}{%
+    \labelwidth\nom@tempdim
+    \leftmargin\labelwidth
+    \advance\leftmargin\labelsep
+    \itemsep\nomitemsep
+    \let\makelabel\nomlabel}}
+\if@final
+  \relax
+\else
+  %\usepackage{showidx} % Print index keys in margins
+  % for some reason, showidx disables Index generation...
+  %\usepackage{showkeys} % Print labels in margins
+  \relax
+\fi
+\makeatother
 
 % environments for multiline displayed equations, and other enhancements
 \usepackage{amsmath}
index 4fd17bec4ac9e2441ca6c6933999211d37ed632d..9bbb924d491b14a52a95d8fea3682ca8c3a55730 100644 (file)
@@ -1,4 +1,4 @@
-PACKAGES = $(shell ls *.sty)
+PACKAGES = $(shell ls *.sty) $(shell ls *.ist)
 TARGETS = $(PACKAGES:%=../%)
 
 all : $(TARGETS)
@@ -6,5 +6,8 @@ all : $(TARGETS)
 ../%.sty : %.sty
        (cd ../ ; ln -s packages/$<)
 
+../%.ist : %.ist
+       (cd ../ ; ln -s packages/$<)
+
 clean :
        rm -f $(TARGETS)
diff --git a/tex/src/packages/nomencl.ist b/tex/src/packages/nomencl.ist
new file mode 100644 (file)
index 0000000..1495cf5
--- /dev/null
@@ -0,0 +1,75 @@
+%%
+%% This is file `nomencl.ist',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% nomencl.dtx  (with options: `idxstyle')
+%% 
+%% Copyright 1996 Boris Veytsman
+%% Copyright 1999-2001 Bernd Schandl
+%% www http://sarovar.org/projects/nomencl
+%% 
+%% This file can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License distributed from CTAN
+%% archives in the directory macros/latex/base/lppl.txt; either
+%% version 1.2 of the license, or (at your option) any later version.
+%% 
+%% 
+%% Nomenclature style file for MAKEINDEX.
+%% For nomencl v2.5 (and later)
+%% 
+%% Formats glossary entries to show, e.g. nomenclature of equations.
+%% 
+%% Written by Boris Veytsman boris@plmsc.psu.edu
+%% Changed by Bernd Schandl schandl@gmx.net (starting 1999/02/20)
+%% Changed by Lee Netherton ltn100@users.sourceforge.net
+%% (starting 2005/03/31)
+%% 
+%% Changes:
+%%  2005/04/27. Updates to the documentation, including support for hyperref (LN)
+%%  2005/04/20. Improvements to Italian option, and minor documentation
+%%              changes (LN)
+%%  2005/03/31. Made more compatible with other glossary packages. (LN)
+%%              Added option to include nomenclature in TOC. (LN)
+%%  1996/11/25. Change quote character to % (BV)
+%%  1999/02/20. Removed setting of actual to its default value
+%%              Removed setting of quote to '%' to get its default '"' instead
+%%              Changed group_skip to do nothing; user should use \nomgroup
+%%              Changed spacing in gls file
+%% 
+%% \CharacterTable
+%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%%   Digits        \0\1\2\3\4\5\6\7\8\9
+%%   Exclamation   \!     Double quote  \"     Hash (number) \#
+%%   Dollar        \$     Percent       \%     Ampersand     \&
+%%   Acute accent  \'     Left paren    \(     Right paren   \)
+%%   Asterisk      \*     Plus          \+     Comma         \,
+%%   Minus         \-     Point         \.     Solidus       \/
+%%   Colon         \:     Semicolon     \;     Less than     \<
+%%   Equals        \=     Greater than  \>     Question mark \?
+%%   Commercial at \@     Left bracket  \[     Backslash     \\
+%%   Right bracket \]     Circumflex    \^     Underscore    \_
+%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
+%%   Right brace   \}     Tilde         \~}
+%%
+%% ---- for input file ----
+keyword    "\\nomenclatureentry"
+%% Germans might want to change this and delete the two %%
+%% quote '"'
+%% ---- for output file ----
+preamble   "\\begin{thenomenclature} \n"%
+postamble  "\n\n\\end{thenomenclature}\n" group_skip "\n"
+delim_0    ""
+delim_1    ""
+delim_2    ""
+%% The next lines will produce some warnings when
+%% running Makeindex as they try to cover two different
+%% versions of the program:
+lethead_prefix "\n \\nomgroup{"
+lethead_suffix "}\n"
+lethead_flag   1
+heading_prefix "\n \\nomgroup{"
+heading_suffix "}\n"
+headings_flag  1
diff --git a/tex/src/packages/nomencl.sty b/tex/src/packages/nomencl.sty
new file mode 100644 (file)
index 0000000..ba8fa67
--- /dev/null
@@ -0,0 +1,192 @@
+%%
+%% This is file `nomencl.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% nomencl.dtx  (with options: `package')
+%% 
+%% Copyright 1996 Boris Veytsman
+%% Copyright 1999-2001 Bernd Schandl
+%% www http://sarovar.org/projects/nomencl
+%% 
+%% This file can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License distributed from CTAN
+%% archives in the directory macros/latex/base/lppl.txt; either
+%% version 1.2 of the license, or (at your option) any later version.
+%% 
+%% \CharacterTable
+%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%%   Digits        \0\1\2\3\4\5\6\7\8\9
+%%   Exclamation   \!     Double quote  \"     Hash (number) \#
+%%   Dollar        \$     Percent       \%     Ampersand     \&
+%%   Acute accent  \'     Left paren    \(     Right paren   \)
+%%   Asterisk      \*     Plus          \+     Comma         \,
+%%   Minus         \-     Point         \.     Solidus       \/
+%%   Colon         \:     Semicolon     \;     Less than     \<
+%%   Equals        \=     Greater than  \>     Question mark \?
+%%   Commercial at \@     Left bracket  \[     Backslash     \\
+%%   Right bracket \]     Circumflex    \^     Underscore    \_
+%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
+%%   Right brace   \}     Tilde         \~}
+%%
+\ProvidesPackage{nomencl}%
+          [2005/09/22 v4.2 Nomenclature package (LN)]
+\NeedsTeXFormat{LaTeX2e}
+\newif\if@printeqref
+\newif\if@printpageref
+\newif\if@intoc
+\newif\if@compatibilitymode
+\DeclareOption{refeq}{\@printeqreftrue}
+\DeclareOption{norefeq}{\@printeqreffalse}
+\DeclareOption{refpage}{\@printpagereftrue}
+\DeclareOption{norefpage}{\@printpagereffalse}
+\DeclareOption{intoc}{\@intoctrue}
+\DeclareOption{notintoc}{\@intocfalse}
+\DeclareOption{compatible}{\@compatibilitymodetrue}
+\DeclareOption{noncompatible}{\@compatibilitymodefalse}
+\DeclareOption{prefix}{\def\nomprefix{a}}
+\DeclareOption{noprefix}{\def\nomprefix{}}
+\newif\if@loadcfg
+\DeclareOption{cfg}{\@loadcfgtrue}
+\DeclareOption{nocfg}{\@loadcfgfalse}
+\DeclareOption{croatian}{%
+  \def\eqdeclaration#1{, vidi jednad\v{z}bu\nobreakspace(#1)}%
+  \def\pagedeclaration#1{, stranica\nobreakspace#1}%
+  \def\nomname{Popis simbola}}
+\DeclareOption{danish}{%
+  \def\eqdeclaration#1{, se ligning\nobreakspace(#1)}%
+  \def\pagedeclaration#1{, side\nobreakspace#1}%
+  \def\nomname{Symbolliste}}
+\DeclareOption{english}{%
+  \def\eqdeclaration#1{, see equation\nobreakspace(#1)}%
+  \def\pagedeclaration#1{, page\nobreakspace#1}%
+  \def\nomname{Nomenclature}}
+\DeclareOption{french}{%
+  \def\eqdeclaration#1{, voir \'equation\nobreakspace(#1)}%
+  \def\pagedeclaration#1{, page\nobreakspace#1}%
+  \def\nomname{Liste des symboles}}
+\DeclareOption{german}{%
+  \def\eqdeclaration#1{, siehe Gleichung\nobreakspace(#1)}%
+  \def\pagedeclaration#1{, Seite\nobreakspace#1}%
+  \def\nomname{Symbolverzeichnis}}
+\DeclareOption{italian}{%
+\def\eqdeclaration#1{, vedi equazione\nobreakspace(#1)}%
+\def\pagedeclaration#1{, pagina\nobreakspace#1}%
+\def\nomname{Elenco dei simboli}}
+\DeclareOption{polish}{%
+  \def\eqdeclaration#1{, porownaj rownanie\nobreakspace(#1)}%
+  \def\pagedeclaration#1{, strona\nobreakspace#1}%
+  \def\nomname{Lista symboli}}
+\DeclareOption{portuguese}{%
+  \def\eqdeclaration#1{, veja equa\c{c}\~ao\nobreakspace(#1)}%
+  \def\pagedeclaration#1{, p\'agina\nobreakspace#1}%
+  \def\nomname{Nomenclatura}}
+\DeclareOption{russian}{%
+  \def\eqdeclaration#1{, \cyrs\cyrm.\nobreakspace(#1)}%
+  \def\pagedeclaration#1{, \cyrs\cyrt\cyrr.\nobreakspace#1}%
+  \def\nomname{\CYRS\cyrp\cyri\cyrs\cyro\cyrk%
+    \ \cyro\cyrb\cyro\cyrz\cyrn\cyra\cyrch\cyre\cyrn\cyri%
+    \cyrishrt}}
+\DeclareOption{spanish}{%
+  \def\eqdeclaration#1{, v\'ease la ecuaci\'on\nobreakspace(#1)}%
+  \def\pagedeclaration#1{, p\'agina\nobreakspace#1}%
+  \def\nomname{Nomenclatura}}
+\DeclareOption{ukrainian}{%
+  \def\eqdeclaration#1{, \cyrd\cyri\cyrv.\nobreakspace(#1)}%
+  \def\pagedeclaration#1{, \cyrs\cyrt\cyro\cyrr.\nobreakspace#1}%
+  \def\nomname{\CYRP\cyre\cyrr\cyre\cyrl\cyrii\cyrk%
+         \ \cyrp\cyro\cyrz\cyrn\cyra\cyrch\cyre\cyrn\cyrsftsn}}
+\ExecuteOptions{noncompatible,notintoc,norefeq,norefpage,prefix,cfg,english}
+\ProcessOptions\relax
+\if@compatibilitymode%
+    \def\@outputfileextension{.glo}%
+    \def\@inputfileextension{.gls}%
+\else%
+    \def\@outputfileextension{.nlo}%
+    \def\@inputfileextension{.nls}%
+\fi%
+\def\makenomenclature{%
+  \newwrite\@nomenclaturefile
+  \immediate\openout\@nomenclaturefile=\jobname\@outputfileextension
+  \def\@nomenclature{%
+    \@bsphack
+    \begingroup
+    \@sanitize
+    \@ifnextchar[%
+      {\@@@nomenclature}{\@@@nomenclature[\nomprefix]}}%
+  \typeout{Writing nomenclature file \jobname\@outputfileextension}%
+  \let\makenomenclature\@empty}
+\if@compatibilitymode\let\makeglossary\makenomenclature\fi%
+\def\nom@verb{\expandafter\strip@prefix\meaning}
+\def\nomenclature{\protect\@nomenclature}
+\def\@nomenclature{%
+  \@bsphack
+  \begingroup
+  \@sanitize
+  \@ifnextchar[%
+    {\@@nomenclature}{\@@nomenclature[\nomprefix]}}
+\def\@@nomenclature[#1]#2#3{\endgroup\@esphack}
+\def\@@@nomenclature[#1]#2#3{%
+ \def\@tempa{#2}\def\@tempb{#3}%
+ \protected@write\@nomenclaturefile{}%
+  {\string\nomenclatureentry{#1\nom@verb\@tempa @[{\nom@verb\@tempa}]%
+      \begingroup\nom@verb\@tempb\protect\nomeqref{\theequation}%
+        |nompageref}{\thepage}}%
+ \endgroup
+ \@esphack}
+\def\nomgroup#1{}
+\newdimen\nomlabelwidth
+\nomlabelwidth1cm\relax
+\newdimen\nom@tempdim
+\def\printnomenclature{%
+  \@ifnextchar[%
+    {\@printnomenclature}{\@printnomenclature[\nomlabelwidth]}}
+\def\@printnomenclature[#1]{%
+  \nom@tempdim#1\relax
+  \@input@{\jobname\@inputfileextension}}
+\if@compatibilitymode\let\printglossary\printnomenclature\fi%
+\def\nomlabel#1{#1\hfil}
+\def\nompreamble{}
+\def\nompostamble{}
+\def\nomentryend{}
+\newskip\nomitemsep
+\nomitemsep\itemsep
+\def\thenomenclature{%
+  \@ifundefined{chapter}%
+  {
+    \section*{\nomname}
+    \if@intoc\addcontentsline{toc}{section}{\nomname}\fi%
+  }%
+  {
+    \chapter*{\nomname}
+    \if@intoc\addcontentsline{toc}{chapter}{\nomname}\fi%
+  }%
+
+  \nompreamble
+  \list{}{%
+    \labelwidth\nom@tempdim
+    \leftmargin\labelwidth
+    \advance\leftmargin\labelsep
+    \itemsep\nomitemsep
+    \let\makelabel\nomlabel}}
+\def\endthenomenclature{%
+  \endlist
+  \nompostamble}
+\def\nomrefeq{\@printeqreftrue}
+\def\nomrefpage{\@printpagereftrue}
+\def\nomrefeqpage{\@printeqreftrue\@printpagereftrue}
+\def\nomnorefeq{\@printeqreffalse}
+\def\nomnorefpage{\@printpagereffalse}
+\def\nomnorefeqpage{\@printeqreffalse\@printpagereffalse}
+\def\nomeqref#1{\if@printeqref\eqdeclaration{#1}\fi\ignorespaces}
+\def\nompageref#1{\if@printpageref\pagedeclaration{#1}\fi%
+  \nomentryend\endgroup}
+\if@loadcfg
+  \InputIfFileExists{nomencl.cfg}{%
+    \typeout{Using the configuration file nomencl.cfg}}{}
+\fi
+\endinput
+%%
+%% End of file `nomencl.sty'.
index 382290d09b1baebc0a6952245547d0922871e24a..d42fcdd1b90df3a6f3723a597744a05ecf29c8ca 100644 (file)
@@ -78,6 +78,8 @@ R01-GM071793.
 \appendix
 \include{cantilever-calib/main}
 \include{viscocity/main}
+\printnomenclature
+\printindex
 
 \begin{vita}
 % Ph.D. only.  See manual for details.