From: W. Trevor King Date: Thu, 11 Mar 2010 15:07:55 +0000 (-0500) Subject: Add Index and Nomenclature sections X-Git-Tag: v1.0~431 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=ae03445268e1da598a8c9054942adab587b34f49;p=thesis.git Add Index and Nomenclature sections --- diff --git a/tex/Makefile b/tex/Makefile index 3462fa3..ab27c3d 100644 --- a/tex/Makefile +++ b/tex/Makefile @@ -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 $@ diff --git a/tex/src/introduction/main.tex b/tex/src/introduction/main.tex index 802664e..722992f 100644 --- a/tex/src/introduction/main.tex +++ b/tex/src/introduction/main.tex @@ -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} diff --git a/tex/src/packages.tex b/tex/src/packages.tex index bc54a4a..d849278 100644 --- a/tex/src/packages.tex +++ b/tex/src/packages.tex @@ -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} diff --git a/tex/src/packages/Makefile b/tex/src/packages/Makefile index 4fd17be..9bbb924 100644 --- a/tex/src/packages/Makefile +++ b/tex/src/packages/Makefile @@ -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 index 0000000..1495cf5 --- /dev/null +++ b/tex/src/packages/nomencl.ist @@ -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 index 0000000..ba8fa67 --- /dev/null +++ b/tex/src/packages/nomencl.sty @@ -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'. diff --git a/tex/src/root.tex b/tex/src/root.tex index 382290d..d42fcdd 100644 --- a/tex/src/root.tex +++ b/tex/src/root.tex @@ -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.