diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/gatech-thesis/julesverne/bellswhistles/jules-verne.sty')
-rw-r--r-- | Master/texmf-dist/doc/latex/gatech-thesis/julesverne/bellswhistles/jules-verne.sty | 671 |
1 files changed, 671 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/gatech-thesis/julesverne/bellswhistles/jules-verne.sty b/Master/texmf-dist/doc/latex/gatech-thesis/julesverne/bellswhistles/jules-verne.sty new file mode 100644 index 00000000000..7a94550fc8f --- /dev/null +++ b/Master/texmf-dist/doc/latex/gatech-thesis/julesverne/bellswhistles/jules-verne.sty @@ -0,0 +1,671 @@ +%% jules-verne.sty +%% Rather than crud up the main root file with a lot of boilerplate, +%% it's good latex style to separate that stuff out into a separate +%% custom 'style' for your document. Since the bells-and-whistles +%% example is MUCH to complicated to put all the cruft in the preamble, +%% I've pulled it into this style +%% +%% Feel free to make a copy (renaming it to, oh, johnthesis.sty, or +%% something), and customize. Don't forget to change the +%% 'PackageProvides' line, below. If you feel the need to modify +%% something in gatech-thesis.cls, DON'T. Instead, copy the +%% relevant function as a whole into your new 'johnthesis.sty', +%% and make the changes there. +%% +%% REQUIRES: gatech-thesis class file +%% hyperref, url, graphicx, color, subfigure, fontenc +%% caption2, latexsym, +%% textcomp, amsmath, amsfonts, amssymb, listings, +%% ifthen, thumbpdf, txfonts, longtable, colortbl, +%% dcolumn +%% +%% OPTIONS: +%% 'official': the default when gatech-thesis called in 'final' mode +%% 'unofficial': the default when gatech-thesis called in 'draft' mode +%% Since drafts are never official, the 'official' option has no effect +%% in 'draft' mode. However, in 'final' mode, you can create either +%% official copies or unofficial copies (of course, 'official' +%% is the default). If for some silly reason, you specify both official and +%% unofficial, unofficial takes precedence (but (a) no warning is produced, +%% and (b) why would you do that?) +%% Currently, these two options affect the settings of 'strictmargins' and +%% 'signaturepage'. +%% 'printcode': always print listings, even in draft mode +%% +\NeedsTeXFormat{LaTeX2e}[1995/06/01] +\ProvidesPackage{jules-verne} + [2002/08/08 Custom settings for a thesis] +%%%%% here: http://www.atscire.de/products/listings/ +%%%%% Also, see http://www.lyx.org/help/listings/listings.php3 + +%% define these here so they can be used both in the document setup, +%% and hyperref setup. +\newcommand{\docauthor}{Frodo Baggins} +\newcommand{\doctitle}{\texorpdfstring% +{20,000 Leagues Under the Sea \\ by Jules Verne}% include formatting here +{20,000 Leagues Under the Sea by Jules Verne}}% but not here +\newcommand{\dockeywords}{nemo, submarine, science fiction} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Initial setup and options +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newif\ifhyper +\hyperfalse % initially false by default +\newif\if@official +\if@draft % This is an internal gatech-thesis variable! + \@officialfalse % false in draft mode +\else + \@officialtrue % true by default otherwise +\fi +\newif\if@printcode +\if@draft % This is an internal gatech-thesis variable! + \@printcodefalse % false in draft mode by default +\else + \@printcodetrue % always true in 'final' mode +\fi +\newif\ifpdf +\pdffalse % initially false by default + +\ifx\pdfoutput\undefined + \pdffalse % we are not running PDFLaTeX +\else + \pdfoutput=1 % we are running PDFLaTeX + \pdftrue +\fi + +\if@hyperref % This is an internal gatech-thesis variable! + \hypertrue +\else + \hyperfalse +\fi + +\DeclareOption{official}{% + \if@draft % This is an internal gatech-thesis variable! + \PackageWarn{option `official' specified, but draft mode.} + \PackageWarn{Honoring `draft', resetting `official' to FALSE.} + \@officialfalse + \else + \@officialtrue + \fi +} +% but we need some way to turn it off in 'final' mode +% (for "unofficial" final copies) +\DeclareOption{unofficial}{% + \@officialfalse +} +\DeclareOption{printcode}{% + \@printcodetrue +} +\ProcessOptions + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Load packages +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ifpdf + \PassOptionsToPackage{pdftex,final}{graphicx} + \PassOptionsToPackage{pdftex,usenames}{color} + \PassOptionsToPackage{pdftex,backref}{hyperref} + \pdfcompresslevel=9 +\else + \PassOptionsToPackage{dvips,final}{graphicx} + \PassOptionsToPackage{dvips,usenames}{color} + \PassOptionsToPackage{dvips,backref}{hyperref} +\fi% +\PassOptionsToPackage{bf}{subfigure} +\PassOptionsToPackage{T1}{fontenc} +% Ordinarily, the url{} package will not line-break on a hyphen (is +% the '-' character a line-continuation mark, or is it actually +% part of the url itself?) However, in my experience that's usually +% pretty obvious, and NOT allowing line breaks at the hyphens +% causes most of the problems. So, allow those line breaks, and live +% with the confusion. +\PassOptionsToPackage{T1,hyphens}{url} + +% +% Fonts. +% +% Fonts are terribly complicated. For OGS compliant thesis written +% using TeX, there are a few choices. One choice is "Type 1" (postscript) +% fonts versus "normal tex" fonts. You want postscript fonts; especially +% if you want to create electronic versions (pdf files, ps files) for +% distribution. "normal" tex fonts look VERY bad onscreen, although +% hardcopy printouts look great. Fortunately, postscript fonts look +% great in BOTH situations, so use them. The only downside is that +% your favorite decorative font may not be available in postscript +% form (or, specifically, in TeX-compatible postscript form). Fortunately, +% the important OGS-compliant fonts ARE all available in TeX-compatible +% postscript form -- but it takes a little work to get things set up. +% +% Now, the REALLY good news is that postscript fonts are installed and +% used by DEFAULT under MikTeX (the most common PC implementation of TeX) +% and by TeXshop (the most common Mac implementation of TeX). +% +% First, if you are not using ANY math, then you are free to use +% almost any of the fonts specified in the OGS-SM. However, if +% you DO have math in your thesis, then you're pretty much restricted +% to computer Modern (the default TeX fontset), or Times. You want +% a *complete* fontset; you don't want to use 'Chicago' for most of +% your text, but have math still use Computer Modern Math; that wouldn't +% look good. +% +% If you want to use Computer Modern throughout, then simply do nothing +% (font-related). You'll get nice serif'ed fonts, nice san-serif'ed +% fonts, nice monospace fonts, nice math fonts, etc. You MAY need some +% or all of the following commands to load additional characters +% +% % For Computer Modern Fonts, we still must load some extra symbols +% \RequirePackage{textcomp} +% \RequirePackage{latexsym} +% % And additional math support from the American Mathematical Society +% \RequirePackage{amsmath} % environments +% \RequirePackage{amsfonts}% specialty fonts (Blackboard bold, italic capital greek +% \RequirePackage{amssymb} % other missing symbols +% +% Now, if you choose to use Times fonts instead, there are several +% ways to do that. The simplest and best is to use the txfonts package, +% which uses Times for body text (and Times Italic for +% \mathnormal). It also provides a Times-harmonious san serif font, +% monospace font, boldmath, all of the amsfonts, latexsym symbols, +% and textcomp symbols (all in type-1 postscript form). To use this +% option, you should use the following commands: +% +% % for txfonts (Times) fonts. +% % We must call the the specialty font packages first -- that way, +% % the commands and envionments get defined, and then the txfonts package +% % will force them to use the Times-like txfonts instead of their +% % built-in versions. If you prefer the true AMSfonts, call the +% % ams packages *after* loading txfonts. +% \RequirePackage{textcomp} +% \RequirePackage{latexsym} +% \RequirePackage{amsmath} +% \RequirePackage{amsfonts} +% \RequirePackage{amssymb} +% \RequirePackage{txfonts} +% +% ------- HERE FOLLOWS EXTREMELY GORY TECHNICAL FONT INFO ------- +% You may see older documentation on the webm which says to use +% Times fonts for \rmfamily and math, Helvetica fonts for \sffamily, +% and Courier fonts for \ttfamily. That's fine, but be warned: +% the normal Times fonts do NOT provide all of the math symbols you +% need (txfonts do, but that is described above). Let's suppose +% you're just stubborn, and don't want to use txfonts. Fine. +% +% First, you need to load all three of those fonts (but helvetica +% is optically 'larger' than other fonts at the same pointsize, so +% we must shrink it slightly) +% +% \PassOptionsToPackage{scaled=0.92}{helvet}% +% \RequirePackage{mathptmx}% load times as \rmfamily and math +% \RequirePackage{helvet} % load helvetica as \sffamily +% \RequirePackage{courier} % load courier as \ttfamily +% +% Followed by the standard set of 'load some other symbols' commands +% +% % We need this for other symbols that aren't available in Times +% \RequirePackage{textcomp} +% \RequirePackage{textcompsym}% a HACK provided in +% % gatech-thesis/julesverne/bellswhistles +% % Read its commentblock for more info +% \RequirePackage{textcompsym} +% % define some symbols that aren't available in the normal +% % fonts (Computer Modern, Times, ...) +% \RequirePackage{latexsym} +% % And additional math support from the American Mathematical Society +% \RequirePackage{amsmath} % environments +% \RequirePackage{amsfonts}% fonts (Blackboard bold, italic capital greek +% \RequirePackage{amssymb} % other missing symbols +% +% You may have read that the 'times.sty' can be used in place +% of the first four commands; when loaded it will redefine +% \rmfamily, \sffamily, AND the \ttfamily all at once, +% eliminating the need for three separate commands. True -- but +% it handles the MATH portion very badly, and doesn't scale the +% helvetica font. Trust me, use 'mathptmx', and avoid times.sty. +% (Better, use txfonts -- and then you won't even need the textcompsym +% hack! -- but you've already decided to be stubborn) +% The mathptmx package uses Times for normal text, and creates a +% virtual font for math symbols, taking symbols from Times, +% Computer Modern, and rsfs postscript fonts. +% +% -- Note that there is a similar 'decision tree' for Palatino-based +% -- fonts; you can use 'pxfonts', or you can use 'mathpazo' + +% -- 'helvet' + 'courier' (you'll also need the "load a bunch of +% -- other symbols" block of commands, above). However, that's a +% -- moot point, because Palatino is not an approved font for +% -- Georgia Tech theses. The mathpazo package uses Palatino for +% -- normal text, and creates a virtual font for math symbols, +% -- taking symbols from palatino, Euler, and rsfs postscript fonts. +% -- Additionally, the mathpazo package comes with some additional +% -- "mathpazo" fonts of its own... +% +% The choices are fairly limited in PostScript fonts with TeX, because +% most freely available PostScript fonts do not include all of the Math +% characters needed for good TeX typesetting. If you don't have any +% math in your thesis, experiment with other fonts (within the bounds +% specified by the OGS Guidelines for theses, of course) -- but good Math +% support in alternate fonts usually costs $$$. See MicroPress font +% foundry's website, or the Y&Y font foundry's website. +% +% Another alternative for Times, is to use the free Belleek postscript +% fonts for math. To do this you install the "mathtime" package -- which +% provides support for the $$$ MathTime fonts but not the fonts themselves. +% You then install the Belleek fonts, which are freely available clones of the +% mathtime fonts -- and *hand-edit* the .fd files from +% the mathtime package so that they point to the Belleek fonts (blex, +% blsy, and rblmi) instead of the "real" MathTime fonts (mtex, mtsy, and rmtmi) +% (see Richard Kinch's paper: http://www.truetex.com/belleek.pdf: but print +% it out, that document looks horrible onscreen). Unfortunately, this procedure +% is not well defined. You best bet is to download the belleek-extra.zip archive +% (http://www.neuro.gatech.edu/users/cwilson/gatech-thesis/) +% and follow the instructions in the internal README. However, there are +% some drawbacks to the belleek fonts; long arrows are broken, and no boldmath. +% Plus, you still need the textcompsym HACK. Trust me, txfonts is THE WAY +% TO GO. +% +% For more info on fonts, math, and postscript, see... +% http://www.ibiblio.org/pub/packages/TeX/macros/latex/required/psnfss/psnfss2e.pdf +% http://www.lyx.org/help/mathstuff/mathmode.php#mathfont` +% http://www.csit.fsu.edu/support/tex/doc/fontinst/talks/et99-font-tutorial.pdf + +% Here, we just use txfonts. +\RequirePackage{fontenc} +\RequirePackage{latexsym} +\RequirePackage{textcomp} +\RequirePackage{amsmath} +\RequirePackage{amsfonts} +\RequirePackage{amssymb} +\RequirePackage{txfonts} + +% We'll use the url{} command from the url package to typeset +% filenames (unlike \texttt{}, it allows hyphenation and line +% breaks, which is good -- filenames can sometimes be long, +% and \texttt{alongfilename} = overful hboxes (eg. stuff +% sticking out in the margins). +\RequirePackage{url} +% But, since hyperref redefines \Url, let's make an opaque +% copy of the command before loading hyperref +\let\noHyperUrl\Url +% More on this later... + +% Defines the \includegraphics command, which is the normal +% LaTeX2e mechanism for incorporating figures. Don't mess around +% with epsfig or other (older, LaTeX 2.09) hacks. +\RequirePackage{graphicx} +% Yes, the OGS allows colored figures in official theses. However, +% this package is used for changing the color of text (which is +% a Bad Thing in official copies), and for drawing colored lines +% if you happen to use the `picture' environment for some simple +% figures. It is used in jules-verne(bellswhistles) to enable +% colored hyperlinks in .pdf output, and the \markup commands. +\RequirePackage{color} + +% longtable lets us typeset tables that extend over more than +% one page; don't use it for every table (a four row table +% that linebreaks after row 3 looks really silly). +\RequirePackage{longtable} +% need to redefine longtable's makecaption macro to match +% gatech-thesis format. (Or, optionally, use the caption2 package -- +% but load caption2 AFTER longtable.) +\long\def\LT@makecaption#1#2#3{% + \LT@mcol\LT@cols c{\hbox to\z@{\hss\parbox[t]\LTcapwidth{% + \sbox\@tempboxa{\textbf{#1{#2: }}#3}% + \ifdim\wd\@tempboxa>\hsize + \textbf{#1{#2: }}#3% + \else + \hbox to\hsize{\hfil\box\@tempboxa\hfil}% + \fi + \endgraf\vskip\baselineskip}% + \hss}}} +\RequirePackage{colortbl} +\RequirePackage{dcolumn} + +% caption2 docs say 'ignore subfig docs; load caption2 first' +% This package allows us to manipute that figure and title caption +% format. Don't use it except for personal copies; the default +% caption format is the approved one. Note that to duplicate the +% captioning style defined by gatech-thesis.cls, you must call +% caption2 with the options below (which causes the 'Figure X:' +% part of the caption to be typeset bold in the normal font). +\if@official +%\RequirePackage[bf]{caption2}%gatech-thesis does this by default +\else +\RequirePackage[bf,sf]{caption2}%but for UNofficial copies, I like + %switching to san-serif for 'Figure X:' +\fi + +% subfigure allows us to create a single figure environment +% that \includegraphics{} more than one external ``figure''. +\RequirePackage{subfigure}[1995/03/06] + +% A package for including program listings in your document +\RequirePackage{listings} +% Needs the {lstpatch.sty}[2002/08/06 1.0g (Carsten Heinz)] or newer +% available here: http://www.atscire.de/products/listings/ +% Also, see http://www.lyx.org/help/listings/listings.php3 + +\RequirePackage{ifthen}% used by "inputXfile{}" macros for listing sourcecode. + +% thumbpdf helps in adding .png thumbnails to a pdf document. +% These load much quicker than the ones generated automatically by +% Acroreader5.0 -- and Acroreader4.0 could ONLY display .png thumbnails. +% It requires additional, external programs, including perl and ghostscript +\ifpdf% It IS okay to load "thumbpdf" after "hyperref", but... + \RequirePackage{thumbpdf} +\fi + +% When using hyperref, we use the \AtEndOfPackage command to make sure +% it is loaded last -- unless you include other packages after this +% one within your preamble. We also set the hyperref options depending on +% whether we're using pdflatex or latex. +\ifhyper% only load hyperref if it is specified in the documentclass options + \AtEndOfPackage{% + \RequirePackage{hyperref} + \ifpdf% hyperref must be last package loaded + \hypersetup{% + plainpages=true, + %bookmarks=true,% default, not necessary to specify + %breaklinks=true,% default in pdf mode + bookmarksopen=true, + bookmarksopenlevel=1, + bookmarksnumbered=true, + pdftitle={\doctitle}, + pdfauthor={\textcopyright\ \docauthor}, + pdfsubject={Dissertation}, + pdfkeywords={\dockeywords}, + pdfcreator={\LaTeX\ with package \flqq hyperref\frqq}, + pdfproducer={pdfTeX-0.\the\pdftexversion\pdftexrevision}, + pdfpagemode={UseOutlines}, + hypertexnames=false,%not ideal, but needed when pagenums duplicate (`i' vs. `1') + pageanchor=true, + colorlinks=true, + linkcolor={blue}, + citecolor={green}, + urlcolor={red}, + pagecolor={cyan}, + anchorcolor={black} + } + \else + \hypersetup{% + plainpages=true, + breaklinks=true,% not default in dvips mode, so we must specify + hypertexnames=false,%not ideal, but needed when pagenums duplicate (`i' vs. `1') + pageanchor=true, + colorlinks=true, + linkcolor={blue}, + citecolor={green}, + urlcolor={red}, + pagecolor={cyan}, + anchorcolor={black} + } + \fi + } +\fi + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Set up graphics +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% shouldn't be necessary, but we want to prefer .pdf figs +% over .png when doing pdftex. Default is opposite. +\ifpdf% + \DeclareGraphicsExtensions{.pdf,.png,.jpg,.mps,.gif}% +\else% + \DeclareGraphicsExtensions{.eps}% +\fi + +% if your figures are all in a subdirectory, do this and you +% won't have to specify the subdir in the \includegraphics{} +% command: +% +\graphicspath{{fig/}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Useful macros +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\figref}[1]{\mbox{Figure~\ref{#1}}} +\newcommand{\tabref}[1]{\mbox{Table~\ref{#1}}} +\newcommand{\secref}[1]{\mbox{Section~\ref{#1}}} +\newcommand{\chpref}[1]{\mbox{Chapter~\ref{#1}}} +\newcommand{\appref}[1]{\mbox{Appendix~\ref{#1}}} +\newcommand{\eqnref}[1]{\mbox{Eq.~(\ref{#1})}} +\newcommand{\listref}[1]{\mbox{Listing~(\ref{#1})}} +\newcommand{\markup}[1]{\textcolor{Blue}{#1}} +\newcommand{\attention}[1]{\textcolor{Red}{#1}} +\newcommand{\goodgap}{% + \hspace{\subfigtopskip}% + \hspace{\subfigbottomskip}% +} +% Here's where we use the Url{} command... +\newcommand{\programname}{\begingroup \urlstyle{tt}\noHyperUrl} +% this \texttt allows hyphenation at `discretionary hyphens' (\-) +% it won't hyphenate on its own. See also \programname. +\newcommand\hyphtt[1]{% keywords + \texttt{\spaceskip .5em plus .3em minus .3em + \hyphenchar\font=`\-\relax #1}} +%\newcommand\degrees[1]{\ensuremath{#1^\circ}} +\newcommand\degrees[1]{#1\textdegree} +% for '5 V' or '2 cm' +\newcommand\units[2]{\mbox{$#1\,\mathrm{#2}$}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Code Listings +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% As follows: +% \inputmatlabfile[captionpos=b,caption={[mymacro.m]{mymacro.m caption +% text.}},label={lst:mymacro.m}]{code/mymacro.m} + +\if@printcode + \lstdefinestyle{base}{print=true,breaklines,prebreak=\textdownarrow, + postbreak=\llap{\rlap{\textrightarrow}\kern\lst@breakcurrindent}} +\else + \lstdefinestyle{base}{print=false,breaklines,prebreak=\textdownarrow, + postbreak=\llap{\rlap{\textrightarrow}\kern\lst@breakcurrindent}} +\fi +\lstdefinestyle{numbers}{style=base,numbers=left,stepnumber=5,% + numberstyle=\tiny,numbersep=10pt,numberfirstline,numberblanklines,% + xleftmargin=22pt}% 20pt indent should be sufficient to insure that + % the linenumbers remain completely inside the "real" margins, even + % if the linenumbers grow to four digits... +\lstdefinestyle{full}{columns=fixed,fontadjust=true,% + showspaces=false,showtabs=true,tab=\rightarrowfill,% + basicstyle=\ttfamily,commentstyle=\scriptsize\itshape, + frame=lines,style=numbers}% +\lstdefinestyle{matlabfull}{language=matlab,style=full} +\lstdefinestyle{cfull}{language={[ANSI]C},style=full} +\lstdefinestyle{cxxfull}{language={[GNU]C++},style=full} + +%% +% \inputcodefile[args]{style}{filename} +% where args = other arguments for \lstinputlisting +% style = defined style to use for \lstinputlisting} +% e.g. {matlabfull} or {cfull} +\newcommand{\inputcodefile}[3][none]{% + \begin{singlespaced} + \par\vskip\parskip\vskip\baselineskip + \ifthenelse{\equal{#1}{none}} + {\lstinputlisting[style=#2]{#3}} + {\lstinputlisting[style=#2,#1]{#3}} + \par\vskip\parskip\vskip\baselineskip + \end{singlespaced} +} +%% +% \inputmatlabfile[args]{filename} +% where args = other arguments for \lstinputlisting +\newcommand{\inputmatlabfile}[2][none]{% + \ifthenelse{\equal{#1}{none}} + {\inputcodefile{matlabfull}{#2}} + {\inputcodefile[#1]{matlabfull}{#2}} +} +%% +% \inputcfile[args]{filename} +% where args = other arguments for \lstinputlisting +\newcommand{\inputcfile}[2][none]{% + \ifthenelse{\equal{#1}{none}} + {\inputcodefile{cfull}{#2}} + {\inputcodefile[#1]{cfull}{#2}} +} +%% +% \inputcxxfile[args]{filename} +% where args = other arguments for \lstinputlisting +\newcommand{\inputcxxfile}[2][none]{% + \ifthenelse{\equal{#1}{none}} + {\inputcodefile{cxxfull}{#2}} + {\inputcodefile[#1]{cxxfull}{#2}} +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Settings for gatech-thesis class +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\if@official +\else + % for unofficial copies, I like the running headers + % and pagenums at upper corners. Footers are for + % footnotes, dadgumit. + \setfrontpagestyle{tcplain} + \setbodypagestyle{gtthesis} + \setbackpagestyle{gtthesis} + \pagestyle{gtthesis} + % Nice monospace font WITH a true bold version + % ftp://ftp.dante.de/tex-archive/fonts/LuxiMono/ + % but follow the instructions to install... + % \usepackage[scaled]{luximono} +\fi +\degree{Doctor of Philosophy}% +\department{School of Electrical and Computer Engineering}% +\title{\doctitle} +\author{\docauthor}% +\principaladvisor{Elrond Halfelven} +\committeechair{Gandalf Ol\'orin} +\firstreader{Samwise Gamgee} +\secondreader{Peregrin Took} +\thirdreader{Meriadoc Brandybuck} +\submitdate{August 2002}% +\copyrightyear{2002}%add one if thesis submitted in Dec. + +\copyrighttrue % NOT default +\if@official +\else + \strictmarginsfalse % NOT default + \signaturepagefalse % NOT default +\fi + +% \thesisproposalfalse % default +% \titlepagetrue % default +% \signaturepagetrue % default +% \copyrightfalse % default +% \figurespagetrue % default +% \tablespagetrue % default +% \contentspagetrue % default +% \dedicationheadingfalse % default +% \multivolumefalse % default +% \bibpagetrue % default +% \strictmarginstrue % default (needed for official copies, but looks bad) +\multivolumetrue + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Miscellaneous special settings +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\bibfiles{jules-verne-bib} + +% to teach latex how to hyphenate strange words, include them here: +%\hyphenation{neuro-science photo-receptors parvo-cellular} + +\setchaptertocdepth{2} +\setcounter{page}{1} +\special{papersize=8.5in,11in} + +%%%%%% +% listings.sty customizations +%%%%%% +\lstset{MoreSelectCharTable=% + \lst@ReplaceInput{>}{\hspace{0.2em}\lst@ProcessOther{\hspace{-0.2em}>}}% + \lst@ReplaceInput{<}{\hspace{0.2em}\lst@ProcessOther{\hspace{-0.2em}<}}% +} +\lstset{escapeinside={/*@}{@*/}} +% inside a listing, you can do this 'int x; /*@\label{x-lbl}@*/' +% and then \ref{x-lbl} + +%% Customizations to help make the List of Listings +%% generated by the 'listings.sty' package look more +%% like the gatech-thesis style (List of Figures, etc) +%% and to make it play nicely with pdflatex and hyperref. + +%% dummy commands to prevent recursion errors +\newcommand{\gtlistlistingname}{} +\newcommand{\lolcontentlinestring}{} +\newcommand{\lolpdfbookmarkstring}{} +\newcommand{\setlolstring}[1]{% + \renewcommand{\gtlistlistingname}{#1} + \renewcommand{\lstlistlistingname}{\Makeuppercase{#1}} + \renewcommand{\lolcontentlinestring}{% + \texorpdfstring{\Makeuppercase{#1}}{#1} + } + \renewcommand{\lolpdfbookmarkstring}{#1} +} +\setlolstring{List of Listings}% default is Listings +\renewcommand{\lstlistingname}{Listing}% default is Listing +\renewcommand{\thelstlisting}{\@arabic\c@lstlisting}% captionstyle +\@removefromreset{lstlisting}{chapter}% don't reset the listing # for each chpter + +%%%%% Here's how to add an additional "List of..." page to the +%%%%% frontmatter. (Don't do this, the Georgia Tech OGS is +%%%%% very specific about what can and cannot go there) +%%% First, create the command that will do the work -- adding it +%%% to the TOC, setting up the hyperref bookmarks, dealing with +%%% twoside printing, etc. +\newcommand{\do@listingspage}{% + \if@openright\cleardoublepage\else\clearpage\fi% + % must clear page here, so that phantomsection\addcontentsline + % is on the correct page + \phantomsection% + \addcontentsline{toc}{chapter}{\lolcontentlinestring} + \settoheight{\gt@tmpa}{A} + \set@gttocskip{\gt@tmpa} + {\newlinestretch{1} + \lstlistoflistings + }% + \newpage +} +%% redefine this command, which controls how each listingname & number +%% is printed in the List of Listings. We copy the l@figure defintion, +%% so that these entries look the same as those in the List of Figures +\renewcommand*\l@lstlisting[2]{% + \let\gt@@toclineskip=\gt@beforefigskip@value + \gt@dottedtocline{1}{1.5em}{2.3em}{#1}{#2}}% this is indented 1.5em so that + % if you wish, you can a 'Program' header + % centered above the numbers using \addtocontents + + +%% Then, fix up the lstlistoflistings command (the "real" one is a +%% true piece of work...) +\renewcommand\lstlistoflistings{% + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse + \fi + \chapter*{\lstlistlistingname}% + \@mkboth{\MakeUppercase\lstlistlistingname}% + {\MakeUppercase\lstlistlistingname}% + \@starttoc{lol}% + \if@restonecol\twocolumn\fi +} + +%% Finally, override the \contents command in gatech-thesis.cls +%% (just copy the original and add your \do@X function): +\renewcommand{\contents}{% + \newpage + \newlinestretch{\@spacing} + \do@contentspage + \do@tablespage + \do@figurespage + \do@losapage + \do@glossarypage + \if@hyperref +% \NoHyper + \do@listingspage +% \endNoHyper + \else + \do@listingspage + \fi +} + |