diff options
Diffstat (limited to 'Master')
20 files changed, 1971 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/hepthesis/ChangeLog b/Master/texmf-dist/doc/latex/hepthesis/ChangeLog new file mode 100644 index 00000000000..5677737927c --- /dev/null +++ b/Master/texmf-dist/doc/latex/hepthesis/ChangeLog @@ -0,0 +1,69 @@ +2006-02-23 Andy Buckley <andy@insectnation.org> + + * Ready for version 1.2 release (no changes since 2006-01-26 and + no reported bugs from beta testing) + +2006-01-26 Andy Buckley <andy@insectnation.org> + + * Added appendices and colophon environments and updated the + manual and example accordingly. + + * Changed mainmatter environment to a special comment so that it + doesn't remove the section numbering until the backmatter starts: + I don't understand what it is about \renewenvironment that was + doing this. + + * Fixed typo in backmatter definition which made it treat the + backmatter as mainmatter. + +2005-12-13 Andy Buckley <andy@insectnation.org> + + * Removed pdfpagemode=FullScreen option from hyperref. Maybe + re-introduce this sort of thing via an option. + +2005-12-09 Andy Buckley <andy@insectnation.org> + + * Fixed typo ("latex" -> "pdflatex") in the documentation of how + to use a Makefile to ease the PS/PDF conditional compilation + issues. + + * Moved frontquote text up by 1.5 cm to balance the page a bit + better. This is still quite A4-specific: maybe this should be + specified in terms of \textheight? + + * Added dedication page command and added some \cleardoublepage + and page style commands to the quote page command to ensure that + it doesn't overlap with the contents pages. + +2005-11-01 Andy Buckley <andy@insectnation.org> + + * Hacked the example files into much better shape and updated the + documentation to mention the new features and the pre-defined figure widths. + + * Added the "deprecated" typeout into the thesis-prefixed commands + and environments. + + * Added a sidewaysfigure environment, which introduces a + dependency on the rotating package. It's very standard, so I'm not + bothered. Maybe add an option to disable the rotating dependency later... + + * Added the hide{front,back,frontback} options. + +2005-09-26 Andy Buckley <andy@insectnation.org> + + * Finished off the first version of the documentation. Example + files could do with some work which I'm too lazy to do right now + :-) + + * Added the \Chapter, \ChapterRef etc. commands from a personal + style file. + +2005-09-02 Andy Buckley <andy@insectnation.org> + + * Changed \oddsidemargin and \evensidemargin settings to use the + \@bindextramargin length. + + * Added bindnopdf option. + + * Started ChangeLog entries. Oops, I should have started a bit + earlier, eh? diff --git a/Master/texmf-dist/doc/latex/hepthesis/README b/Master/texmf-dist/doc/latex/hepthesis/README new file mode 100644 index 00000000000..c48a9e4c98e --- /dev/null +++ b/Master/texmf-dist/doc/latex/hepthesis/README @@ -0,0 +1,21 @@ +hepthesis LaTeX class, by Andy Buckley <andy@insectnation.org> +-------------------------------------------------------------- + +hepthesis is a LaTeX class for typesetting large academic reports, +in particular PhD theses. It was originally developed for typesetting +a high-energy physics PhD thesis and includes some features +specifically tailored to that application. + +The basic usage is to place +\documentclass{hepthesis} +in the preamble of your document. If you're feeling sophisticated, +then you can make your own document class based on hepthesis by placing +\LoadClass{hepthesis} +in your own class definition file. + +Please see the hepthesis.ps or hepthesis.pdf documents for detailed +documentation. And have fun :-) + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html for +the details of that license. diff --git a/Master/texmf-dist/doc/latex/hepthesis/example/appendices.tex b/Master/texmf-dist/doc/latex/hepthesis/example/appendices.tex new file mode 100644 index 00000000000..09eba1ed13d --- /dev/null +++ b/Master/texmf-dist/doc/latex/hepthesis/example/appendices.tex @@ -0,0 +1,14 @@ +%% The "\appendix" call has already been made in the declaration +%% of the "appendices" environment (see thesis.tex). +\chapter{Pointless extras} +\label{app:Pointless} +Appendixes (or should that be ``appendices''?) make you look really clever, 'cos +it's like you had more clever stuff to say than could be fitted into the main +bit of your thesis. Yeah. So everyone should have at least three of them\dots + +\section{Like, duh} +\label{sec:Duh} +Padding? What do you mean? + +%% Big appendixes should be split off into separate files, just like chapters +%\input{app-myreallybigappendix} diff --git a/Master/texmf-dist/doc/latex/hepthesis/example/backmatter.tex b/Master/texmf-dist/doc/latex/hepthesis/example/backmatter.tex new file mode 100644 index 00000000000..d00ed3fb8ad --- /dev/null +++ b/Master/texmf-dist/doc/latex/hepthesis/example/backmatter.tex @@ -0,0 +1,18 @@ +\begin{colophon} + This thesis was made in \LaTeXe{} using the ``hepthesis'' class~\cite{hepthesis}. +\end{colophon} + +%% You're recommended to use the eprint-aware biblio styles which +%% can be obtained from e.g. www.arxiv.org. The file mythesis.bib +%% is derived from the source using the SPIRES Bibtex service. +\bibliographystyle{h-physrev} +\bibliography{mythesis} + +%% I prefer to put these tables here rather than making the +%% front matter seemingly interminable. No-one cares, anyway! +\listoffigures +\listoftables + +%% If you have time and interest to generate a (decent) index, +%% then you've clearly spent more time on the write-up than the research :) +%\printindex diff --git a/Master/texmf-dist/doc/latex/hepthesis/example/chap1.tex b/Master/texmf-dist/doc/latex/hepthesis/example/chap1.tex new file mode 100644 index 00000000000..a7f50e0c1b3 --- /dev/null +++ b/Master/texmf-dist/doc/latex/hepthesis/example/chap1.tex @@ -0,0 +1,44 @@ +\chapter{\CP violation in the \Bmeson system} +\label{chap:SomeStuff} + +%% Note that the citations in this chapter use the journal and +%% arXiv keys: I used the SLAC-SPIRES online BibTeX retriever +%% to build my bibliography. There are also quite a few non-standard +%% macros, which come from my personal collection. You can have them +%% if you want, or I might get round to properly releasing them at +%% some point myself. + +\chapterquote{Laws were made to be broken.}% +{Christopher North 1785--1854}%: Blackwood's Magazine May 1830 + +Symmetries, either intact or broken, have proved to be at the heart +of how matter interacts. The Standard Model of fundamental interactions +(SM) is composed of three independent continuous symmetry groups denoted +$\SUgroup{3} \times \SUgroup{2} \times \Ugroup{1}$, representing the +strong force, weak isospin and hypercharge +respectively~\cite{Phys.Rev.Lett.19.1264, Phys.Rev.D2.1285,hep-ph/0410370}. + +\section{Neutral meson mixing} +We can go a long way with an effective Hamiltonian approach in +canonical single-particle quantum mechanics. To do this we construct +a wavefunction from a combination of a generic neutral meson state +$\ket{\Xzero}$ and its anti-state $\ket{\Xzerobar}$: +% +\begin{equation} + \ket{\psi(t)} = a(t)\ket{\Xzero} + b(t)\ket{\Xzerobar} +\end{equation} +% +which is governed by a time-dependent matrix differential equation, +% +\begin{equation} + \I \pdByd{}{t} \colvector{a \\ b} + = + \underbrace{% + \twomatrix{ M_{11}-\frac{\I}{2}\Gamma_{11} + & M_{12}-\frac{\I}{2}\Gamma_{12} } + { M_{12}^\ast-\frac{\I}{2}\Gamma_{12}^\ast + & M_{22}-\frac{\I}{2}\Gamma_{22} } + }_{\boldmatrix{H}} + \colvector{a \\ b} + . +\end{equation} diff --git a/Master/texmf-dist/doc/latex/hepthesis/example/chap2.tex b/Master/texmf-dist/doc/latex/hepthesis/example/chap2.tex new file mode 100644 index 00000000000..f7c9e2611ca --- /dev/null +++ b/Master/texmf-dist/doc/latex/hepthesis/example/chap2.tex @@ -0,0 +1,85 @@ +\chapter{The \LHCb experiment} +\label{chap:MoreStuff} + +\chapterquote{There, sir! that is the perfection of vessels!} +{Jules Verne, 1828--1905} + +\section{The \LHC} +The Large Hadron Collider (\LHC) at \CERN is a new hadron collider, +located in the same tunnel as the Large Electron-Positron collider +(\LEP)~\cite{Brianti:2004qq}. Where \LEP's chief task was the use +of \unit{90--207}{\GeV} \epluseminus collisions to establish the +precision physics of electroweak unification\dots + +\begin{figure} + \includegraphics[width=\largefigwidth]{ckmfitter-alpha-combined} + \caption[CKM Fitter constraints on \alphaCKM.]% + {CKM Fitter constraints on \alphaCKM from combined \BToPiPi, + \BToRhoPi and \BToRhoRho decay analyses.} + \label{fig:CKMFitter} +\end{figure} + +\section{The \LHCb experiment} +\label{sec:LHCbInDetail} +Since both \bhadron{s} are preferentially produced in the same direction +and are forward-boosted along the beam-pipe, the detector is not required +to have full $4\pi$ solid-angle coverage. \LHCb takes advantage of this +by using a wedge-shaped single-arm detector with angular acceptance +\unit{10-300}{\mrad} in the horizontal (bending) plane~\cite{Amato:1998xt}. +\vspace{1cm} +\dots +\vspace{1cm} +The detector is illustrated in \FigureRef{fig:LHCbCrossSection}, showing +the overall scale of the experiment and the surrounding cavern structure. + +\begin{sidewaysfigure} + %\begin{center} + \includegraphics[width=0.8\textheight]{lhcb-detector-cross-section} + \caption[Cross-section view of \LHCb, cut in the non-bending $y-z$ plane]% + {Cross-section view of \LHCb, cut in the non-bending $y-z$ plane.} + \label{fig:LHCbCrossSection} + %\end{center} +\end{sidewaysfigure} + +The single-sided detector design was chosen in preference to a two-armed +design since the detector dimensions are restricted by the layout of the +IP8 (ex-Delphi) cavern in which \LHCb is located. Using all the available +space for a single-arm spectrometer more than compensates in performance +for the \about{50\percent} drop in luminosity. + +\section{The \Cerenkov mechanism} +A Huygens construction in terms of spherical shells of probability for photon +emission as the particle progresses along its track shows an effective +``shock-front'' of \Cerenkov emission. This corresponds to an emission cone of +opening angle \thetaCerenkov around the momentum vector for each point on the +track, +% +\begin{subequations} + \label{eq:cosThetaCk} + \begin{equation} + \cos\,\thetaCerenkov &= \frac{1}{n \beta} + + \frac{\hbar k}{2p}% + \parenths{ 1 - \frac{1}{n^2} } \\ + &\,\sim \frac{1}{n \beta}% + \label{eq:cosThetaCkApprox} + \end{equation} +\end{subequations} +% +where $\beta \equiv v/c$, the relativistic velocity fraction, + +\section{Trigger system} +\label{sec:triggers} +An overview of the \LHCb trigger characteristics broken down by level +is shown in \Table~\ref{tab:TriggerDetails}: + +\begin{table} + \begin{tabular}{lllll} + & L0 & L1 & HLT \\ + \midrule + Input rate & \unit{40}{\MHz} & \unit{1}{\MHz} & \unit{40}{\kHz} \\ + Output rate & \unit{1}{\MHz} & \unit{40}{\kHz} & \unit{2}{\kHz} \\ + Location & On detector & Counting room & Counting room \\ + \end{tabular} + \caption{Characteristics of the trigger levels and offline analysis.} + \label{tab:TriggerDetails} +\end{table} diff --git a/Master/texmf-dist/doc/latex/hepthesis/example/ckmfitter-alpha-combined.pdf b/Master/texmf-dist/doc/latex/hepthesis/example/ckmfitter-alpha-combined.pdf Binary files differnew file mode 100644 index 00000000000..9bc7f7c994c --- /dev/null +++ b/Master/texmf-dist/doc/latex/hepthesis/example/ckmfitter-alpha-combined.pdf diff --git a/Master/texmf-dist/doc/latex/hepthesis/example/example.pdf b/Master/texmf-dist/doc/latex/hepthesis/example/example.pdf Binary files differnew file mode 100644 index 00000000000..ed7ef3becd7 --- /dev/null +++ b/Master/texmf-dist/doc/latex/hepthesis/example/example.pdf diff --git a/Master/texmf-dist/doc/latex/hepthesis/example/example.tex b/Master/texmf-dist/doc/latex/hepthesis/example/example.tex new file mode 100644 index 00000000000..75e61322dcd --- /dev/null +++ b/Master/texmf-dist/doc/latex/hepthesis/example/example.tex @@ -0,0 +1,51 @@ +\documentclass{thesis} +\usepackage{thesis} + +%% PDF metadata +\makeatletter +\@ifpackageloaded{hyperref}{% +\hypersetup{% +pdftitle = {Studying B to K pi decays with LHCb}, +pdfsubject = {Andy Buckley's PhD thesis}, +pdfkeywords = {LHCb, B, physics, LHC, heavy flavour}, +pdfauthor = {\textcopyright\ Andy Buckley} +} +}{} +\makeatother + +%% Define the thesis title and author +\definethesis% +{A study of \BToKPi decays with the \LHCb experiment}% +{Andrew Gordon Buckley} + +%% Start the document +\begin{document} + +%% Define the un-numbered front matter (cover pages, rubrik and table of contents) +\begin{frontmatter} + \input{frontmatter} +\end{frontmatter} + +%% Start the content body of the thesis +\begin{mainmatter} + %% Actually, more semantic chapter filenames are better, like "chap-bgtheory.tex" + \input{chap1} + \input{chap2} + %% To ignore a specific chapter while working on another, + %% making the build faster, comment it out like this: + %\input{chap3} +\end{mainmatter} + +%% Produce the appendices +\begin{appendices} + \input{appendices} +\end{appendices} + +%% Produce the un-numbered back matter (e.g. colophon, +%% bibliography, tables of figures etc., index...) +\begin{backmatter} + \input{backmatter} +\end{backmatter} + +%% Close +\end{document} diff --git a/Master/texmf-dist/doc/latex/hepthesis/example/frontmatter.tex b/Master/texmf-dist/doc/latex/hepthesis/example/frontmatter.tex new file mode 100644 index 00000000000..f9d77a4c317 --- /dev/null +++ b/Master/texmf-dist/doc/latex/hepthesis/example/frontmatter.tex @@ -0,0 +1,55 @@ +%% Title +\thesistitlepage +{Churchill College}%\\University of Cambridge} +{A dissertation submitted to the University of Cambridge\\ + for the degree of Doctor of Philosophy} + +%% Abstract +\begin{abstract}%[\smaller \thetitle\\ \vspace*{1cm} \smaller {\theauthor}] + %\thispagestyle{empty} + \LHCb is a \bphysics detector experiment which will take data at + the \unit{14}{\TeV} \LHC accelerator at \CERN from 2007 onward\dots +\end{abstract} + + +%% Declaration +\begin{declaration} + This dissertation is the result of my own work, except where explicit + reference is made to the work of others, and has not been submitted + for another qualification to this or any other university. This + dissertation does not exceed the word limit for the respective Degree + Committee. + \vspace*{1cm} + \begin{flushright} + Andy Buckley + \end{flushright} +\end{declaration} + + +%% Acknowledgements +\begin{acknowledgements} + Of the many people who deserve thanks, some are particularly prominent: + + \noindent + My supervisor\dots +\end{acknowledgements} + + +%% Preface +\begin{preface} + This thesis describes my research on various aspects of the \LHCb + particle physics program, centred around the \LHCb detector and \LHC + accelerator at \CERN in Geneva. + + For this example, I'll just mention \ChapterRef{chap:SomeStuff} + and \ChapterRef{chap:MoreStuff}. +\end{preface} + +%% ToC +\tableofcontents + +%% Strictly optional! +\thesisfrontquote% + {Writing in English is the most ingenious torture\\ + ever devised for sins committed in previous lives.}% + {James Joyce} diff --git a/Master/texmf-dist/doc/latex/hepthesis/example/lhcb-detector-cross-section.pdf b/Master/texmf-dist/doc/latex/hepthesis/example/lhcb-detector-cross-section.pdf Binary files differnew file mode 100644 index 00000000000..79d7f3ef39f --- /dev/null +++ b/Master/texmf-dist/doc/latex/hepthesis/example/lhcb-detector-cross-section.pdf diff --git a/Master/texmf-dist/doc/latex/hepthesis/example/thesis.cls b/Master/texmf-dist/doc/latex/hepthesis/example/thesis.cls new file mode 100644 index 00000000000..a2c160e0d4a --- /dev/null +++ b/Master/texmf-dist/doc/latex/hepthesis/example/thesis.cls @@ -0,0 +1,18 @@ +\ProvidesClass{thesis} +%% For normal draft builds +\LoadClass[hyperpdf,nobind,draft]{hepthesis} +%% For short draft builds (breaks citations by necessity) +%\LoadClass[hyperpdf,nobind,draft,hidefrontback]{hepthesis} +%% For Cambridge soft-bound version +%\LoadClass[hyperpdf,bindnopdf]{hepthesis} +%% For Cambridge hard-bound version (must be one-sided) +%\LoadClass[hyperpdf,oneside]{hepthesis} + +%% ------------------------------------- +%% Standard packages +%% ------------------------------------- +\RequirePackage{rotating} +\RequirePackage{cite} +%\RequirePackage{morefloats} +\RequirePackage{mathrsfs} % script font +\RequirePackage{afterpage} diff --git a/Master/texmf-dist/doc/latex/hepthesis/example/thesis.sty b/Master/texmf-dist/doc/latex/hepthesis/example/thesis.sty new file mode 100644 index 00000000000..c6d4cc55e8a --- /dev/null +++ b/Master/texmf-dist/doc/latex/hepthesis/example/thesis.sty @@ -0,0 +1,66 @@ +\ProvidesPackage{thesis}[2005/07/28] +%\RequirePackage{timing} +\RequirePackage{hepnicenames,hepunits,abhep} + +%% Citation spacing hack to bring the citation +%% number a little closer to the referring text +\let\@OldCite\cite +\renewcommand{\cite}[1]{\mbox{\!\!\!\@OldCite{#1}}} + +%% Maths +\DeclareRobustCommand{\thesismath}[1]{\ensuremath{\maybebmsf{#1}}} +\DeclareRobustCommand{\parenths}[1]{\mymath{\left({#1}\right)}} +\DeclareRobustCommand{\braces}[1]{\mymath{\left\{{#1}\right\}}} +\DeclareRobustCommand{\angles}[1]{\mymath{\left\langle{#1}\right\rangle}} +\DeclareRobustCommand{\sqbracs}[1]{\mymath{\left[{#1}\right]}} +\DeclareRobustCommand{\mods}[1]{\mymath{\left\lvert{#1}\right\rvert}} +\DeclareRobustCommand{\modsq}[1]{\mymath{\mods{#1}^2}} +\DeclareRobustCommand{\dblmods}[1]{\mymath{\left\lVert{#1}\right\rVert}} +\DeclareRobustCommand{\expOf}[1]{\mymath{\exp{\!\parenths{#1}}}} +\DeclareRobustCommand{\eexp}[1]{\mymath{e^{#1}}} +\DeclareRobustCommand{\plusquad}{\mymath{\oplus}} +\DeclareRobustCommand{\logOf}[1]{\log\!\parenths{#1}} +\DeclareRobustCommand{\lnOf}[1]{\ln\!\parenths{#1}} +\DeclareRobustCommand{\ofOrder}[1]{\mymath{ \mathcal{O}\parenths{#1} }} + +%% General utility defns +\DeclareRobustCommand{\arXivCode}[1]{arXiv:#1} +\DeclareRobustCommand{\CPviolation}{\CP-violation\xspace} +\DeclareRobustCommand{\CPv}{\CPviolation} +\DeclareRobustCommand{\LHCb}{LHCb\xspace} +\DeclareRobustCommand{\LHC}{LHC\xspace} +\DeclareRobustCommand{\LEP}{LEP\xspace} +\DeclareRobustCommand{\CERN}{CERN\xspace} + +%% Basic rate formalisms +\DeclareRobustCommand{\Rate}{\thesismath{\Gamma}\xspace} +\DeclareRobustCommand{\RateOf}[1]{\thesismath{\Gamma}\parenths{#1}\xspace} + +%% Phrases to be consistent about (with b/B) +\DeclareRobustCommand{\bphysics}{\Pbottom-physics\xspace} +\DeclareRobustCommand{\bhadron}{\Pbottom-hadron\xspace} +\DeclareRobustCommand{\Bmeson}{\PB-meson\xspace} +\DeclareRobustCommand{\bbaryon}{\Pbottom-baryon\xspace} +\DeclareRobustCommand{\Bdecay}{\PB-decay\xspace} +\DeclareRobustCommand{\bdecay}{\Pbottom-decay\xspace} + +%% Processes +\DeclareRobustCommand{\BToKPi}{\HepProcess{ \PB \to \PK \, \Ppi }\xspace} +\DeclareRobustCommand{\BToPiPi}{\HepProcess{ \PB \to \Ppi \, \Ppi }\xspace} +\DeclareRobustCommand{\BToKK}{\HepProcess{\PB \to \PK \, \PK}\xspace} +\DeclareRobustCommand{\BToRhoPi}{\HepProcess{ \PB \to \Prho \, \Ppi }\xspace} +\DeclareRobustCommand{\BToRhoRho}{\HepProcess{ \PB \to \Prho \Prho }\xspace} +\DeclareRobustCommand{\X}{\thesismath{X}\xspace} +\DeclareRobustCommand{\Xbar}{\thesismath{\overline{X}}\xspace} +\DeclareRobustCommand{\Xzero}{\HepGenParticle{X}{}{0}\xspace} +\DeclareRobustCommand{\Xzerobar}{\HepGenAntiParticle{X}{}{0}\xspace} +\DeclareRobustCommand{\epluseminus}{\Pelectron\Ppositron\xspace} + +% Fix hyperref labels in PDFTeX +\@ifpackageloaded{hyperref}{% + \pdfstringdefDisableCommands{% + \def\pi{pi}% + \def\gamma{gamma}% + }% +}{} + diff --git a/Master/texmf-dist/doc/latex/hepthesis/example/thesismath.sty b/Master/texmf-dist/doc/latex/hepthesis/example/thesismath.sty new file mode 100644 index 00000000000..95ac64fadef --- /dev/null +++ b/Master/texmf-dist/doc/latex/hepthesis/example/thesismath.sty @@ -0,0 +1,69 @@ +\ProvidesPackage{thesismath}[2005/11/01] + +\DeclareRobustCommand{\thesismath}[1]{\ensuremath{\maybebmsf{#1}}} +\DeclareRobustCommand{\parenths}[1]{\thesismath{\left({#1}\right)}} +\DeclareRobustCommand{\braces}[1]{\thesismath{\left\{{#1}\right\}}} +\DeclareRobustCommand{\angles}[1]{\thesismath{\left\langle{#1}\right\rangle}} +\DeclareRobustCommand{\sqbracs}[1]{\thesismath{\left[{#1}\right]}} +\DeclareRobustCommand{\mods}[1]{\thesismath{\left\lvert{#1}\right\rvert}} +\DeclareRobustCommand{\modsq}[1]{\thesismath{\mods{#1}^2}} +\DeclareRobustCommand{\dblmods}[1]{\thesismath{\left\lVert{#1}\right\rVert}} +\DeclareRobustCommand{\expOf}[1]{\thesismath{\exp{\!\parenths{#1}}}} +\DeclareRobustCommand{\eexp}[1]{\thesismath{e^{#1}}} +\DeclareRobustCommand{\plusquad}{\thesismath{\oplus}} +\DeclareRobustCommand{\logOf}[1]{\log\!\parenths{#1}} +\DeclareRobustCommand{\lnOf}[1]{\ln\!\parenths{#1}} +\DeclareRobustCommand{\ofOrder}[1]{\thesismath{ \mathcal{O}\parenths{#1} }} +\DeclareRobustCommand{\about}{\thesismath{\sim\!\,}} + +%% Vectors, tuples and sets +\DeclareRobustCommand{\cross}{\thesismath{\times}\xspace} +\DeclareRobustCommand{\bvec}[1]{\thesismath{\bm{#1}}\xspace} +\DeclareRobustCommand{\colset}[1]{\thesismath{\begin{Bmatrix}#1\end{Bmatrix}}\xspace} +\DeclareRobustCommand{\coltuple}[1]{\thesismath{\begin{pmatrix}#1\end{pmatrix}}\xspace} +\DeclareRobustCommand{\colvector}[1]{\thesismath{\begin{pmatrix}#1\end{pmatrix}}\xspace} +\DeclareRobustCommand{\colthreevec}[3]{\thesismath{\begin{pmatrix}#1\\ #2\\ #3\end{pmatrix}}\xspace} +\DeclareRobustCommand{\rowset}[1]{\braces{#1}\xspace} +\DeclareRobustCommand{\rowtuple}[1]{\parenths{#1}\xspace} +\DeclareRobustCommand{\rowvector}[1]{\parenths{#1}\xspace} +\DeclareRobustCommand{\rowthreevec}[3]{\parenths{{#1}, {#2}, {#3}}\xspace} + +%% Ranges +\DeclareRobustCommand{\rangeSS}[1]{\parenths{#1}\xspace} +\DeclareRobustCommand{\rangeSH}[1]{\left({#1}\right]\xspace} +\DeclareRobustCommand{\rangeHS}[1]{\left[{#1}\right)\xspace} +\DeclareRobustCommand{\rangeHH}[1]{\sqbracs{#1}\xspace} +\DeclareRobustCommand{\softrange}[1]{\rangeSS{#1}} +\DeclareRobustCommand{\hardrange}[1]{\rangeHH{#1}} + +%% Matrix +\DeclareRobustCommand{\boldmatrix}[1]{\thesismath{\bm{\mathrm{#1}}}\xspace} +\DeclareRobustCommand{\transposeT}{\MathUpright{T}\,} +\DeclareRobustCommand{\hermitianT}{\dagger} +\DeclareRobustCommand{\twomatrix}[2]{\thesismath{\begin{pmatrix}#1\\ #2\end{pmatrix}}\xspace} +\DeclareRobustCommand{\threematrix}[3]{\thesismath{\begin{pmatrix}#1\\ #2\\ #3\end{pmatrix}}\xspace} + +%% Differentials +\DeclareRobustCommand{\diff}[1]{\thesismath{\mathrm{d} #1}} +\DeclareRobustCommand{\pdiff}[1]{\thesismath{\partial #1}} +\DeclareRobustCommand{\dByd}[2]{\thesismath{ \frac{\diff{#1}}{\diff{#2}} }} +\DeclareRobustCommand{\pdByd}[2]{\thesismath{ \frac{\pdiff{#1}}{\pdiff{#2}} }} +\DeclareRobustCommand{\DeltaVec}[1]{\thesismath{\boldsymbol{\Delta}\mathbf{#1}}} +\DeclareRobustCommand{\DeltaN}[1]{\thesismath{\Delta #1}} +\DeclareRobustCommand{\deltaVec}[1]{\thesismath{\boldsymbol{\delta}\mathbf{#1}}} +\DeclareRobustCommand{\deltaN}[1]{\thesismath{\delta #1}} +\DeclareRobustCommand{\d}[1]{\thesismath{\mathrm{d}#1}} + +%% Complex numbers +\DeclareRobustCommand{\I}{\thesismath{\imath}} +\let\@oldRe\Re +\let\@oldIm\Im +\DeclareRobustCommand{\Im}{\thesismath{ \@oldIm{}\mathfrak{m} }\xspace} +\DeclareRobustCommand{\Re}{\thesismath{ \@oldRe{}\mathfrak{e}\mspace{3mu} }\xspace} +\DeclareRobustCommand{\ImaginaryPart}[1]{\thesismath{ \,\Im\!\,\braces{#1} }\xspace} +\DeclareRobustCommand{\RealPart}[1]{\thesismath{ \,\Re\!\braces{#1} }\xspace} + +%% Groups +\DeclareRobustCommand{\group}[1]{\thesismath{\mayberm{#1}}} +\DeclareRobustCommand{\Ugroup}[1]{\group{U}\parenths{#1}} +\DeclareRobustCommand{\SUgroup}[1]{\group{S}\Ugroup{#1}} diff --git a/Master/texmf-dist/doc/latex/hepthesis/hepthesis.pdf b/Master/texmf-dist/doc/latex/hepthesis/hepthesis.pdf Binary files differnew file mode 100644 index 00000000000..81ed51d0962 --- /dev/null +++ b/Master/texmf-dist/doc/latex/hepthesis/hepthesis.pdf diff --git a/Master/texmf-dist/doc/latex/hepthesis/hepthesis.tex b/Master/texmf-dist/doc/latex/hepthesis/hepthesis.tex new file mode 100644 index 00000000000..7209893924b --- /dev/null +++ b/Master/texmf-dist/doc/latex/hepthesis/hepthesis.tex @@ -0,0 +1,696 @@ +\documentclass[12pt]{article} +%\usepackage{booktabs} +\usepackage{maybemath, xspace, setspace, fancyvrb, a4wide, url, relsize} +\usepackage[colorlinks=true,pdfpagemode=FullScreen,bookmarks=true]{hyperref} +\newcommand{\maybemath}{\texttt{maybemath}\xspace} +\newcommand{\hepthesis}{\texttt{hepthesis}\xspace} + +\let\OldCite\cite +\renewcommand{\cite}[1]{\mbox{\!\!\OldCite{#1}}} + + +\onehalfspacing +\DefineShortVerb{\|} + +\author{Andy Buckley, \texttt{andy@insectnation.org}} +\title{The \hepthesis \LaTeX{} class} + +\newcommand{\Or}{\ensuremath{\vert}\xspace} +\newcommand{\manifestsAs}{\ensuremath{\Rightarrow\quad}\xspace} +\newcommand{\texcmd}[1]{\texttt{\char`\\#1}} +\newcommand{\texenv}[1]{\texttt{\char`#1}} +\newcommand{\texopt}[1]{\texttt{\char`#1}} +\newcommand{\texarg}[1]{\texttt{\char`#1}} +\newcommand{\texcommand}[1]{\texcmd{#1}} +\newcommand{\texoption}[1]{\texopt{#1}} +\newenvironment{snippet}{\Verbatim}{\endVerbatim} + +\begin{document} +\maketitle + +\abstract{% + The \hepthesis package provides an attractive framework in which to write a + PhD or Masters' degree dissertation. The commands provided by this package + permit most structural aspects of the thesis to be defined more or less + semantically, rather than in terms of raw text sizings and position shifts. + Special equation, figure and table environments are provided, along with + pre-defined figure widths and macros for typesetting chapter quotes, + introductory paragraphs and incliner section headings. +} + +\section{Introduction} +When I began my PhD, I was surprised to find that there was no standard \LaTeX +thesis class used by students in my field (high-energy particle physics, hence +the ``hep''). In retrospect, this is not so surprising --- groups tend to have +an informal system of handing down slightly tailored thesis templates (complete +with in line \texcommand{vspace}s, \texcommand{Huge}s and all the rest) through +generations of students without ever formalising the style and attempting to do +it ``properly''. By the time it came to write my own thesis it was obvious that +I would only retain my sanity through measures of extreme procrastination and so +this package came to be. It has now been edited and hacked for about 2 years, +taking stylistic features from other theses that I've thought attractive. As my +own thesis has been recently submitted, this seems an apt time to release the +first official version of \hepthesis upon the world. + +This document will document the structure of \hepthesis and how to make it work +with you rather than against you. I may be unable to resist including other +hints and tips on how to make your thesis-writing go smoothly. Please contact me +with suggested improvements, either to the package or to this documentation. + + +\section{Features} +Why would you want to use \hepthesis? Here's a list of features, so you can +decide for yourself: + +\begin{itemize} +\item Semantic macros for defining the front page, abstract, preface, acknowledgements, etc. +\item Macros for quotes, including a full-page quote and chapter-wise quotes +\item Attractive header and footer structures +\item Pre-set margins suitable for binding or for screen viewing +\item Nicely (re-)defined figure, table and equation environments +\item Optional mode for generating hyper-links when building PDF files +\item Built-in draft copy mode with line numbering +\end{itemize} + + +\section{Recommended usage} +The basic usage mode for \hepthesis is to place +% +\begin{snippet} +\documentclass{hepthesis} +\end{snippet} +% +in the preamble of your document. This will then set up the document's appearance and +provide the \hepthesis macros as do the standard \LaTeX{} classes like |article| +and |report|. A more sophisticated and flexible approach is described in +Appendix~\ref{app:DerivedClass}. + +Although strictly unrelated to \hepthesis, it is usual to write each thesis +chapter as a separate |.tex| file and to include it with +\texcommand{include} or \texcommand{input}. You may find it useful to set your +|LATEXINPUTS| environment variable to ensure that the \texcommand{input}'d +files are found by \LaTeX. + +\hepthesis takes several optional arguments. Personally, I use +% +\begin{snippet} +\documentclass[hyperpdf,bindnopdf]{hepthesis} +\end{snippet} +% +which produces page-centered, hyper-linked PDF files and PostScript files with +margins suitable for binding and no hyper-links, depending on whether you build +the document using |latex| or |pdflatex|. The details of the \hepthesis options +are described in Section~\ref{sec:Options} of this document. + + +\section{Requirements} +As \hepthesis aims to allow produce a fairly final version of a thesis without +much additional tweaking, there are quite a few required packages. Most should +be natively available in your \TeX{} distribution; the rest from CTAN. + +Here's the mandatory packages: +\begin{itemize} +\item \textbf{cite~\cite{cite}} +\item \textbf{setspace~\cite{setspace}} +\item \textbf{fancyhdr~\cite{fancyhdr}} +\item \textbf{tocbibind~\cite{tocbibind}} +\item \textbf{rotating~\cite{rotating}} +\item \textbf{subfigure~\cite{subfigure}} (needs updating to use |subfig| instead) +\item \textbf{ccaption~\cite{ccaption}} +\item \textbf{caption~\cite{caption}} (need updating to be able to use |caption2| instead). +\end{itemize} + +Additionally, there are several packages which are only required depending on +the class options: + +\begin{itemize} +\item \textbf{a4wide~\cite{a4wide}:} very standard. Disabled with any paper size option other than |a4paper| +\item \textbf{amsmath~\cite{amsmath}:} very, \emph{very} standard. Disabled with the |noams| option +\item \textbf{hyperref~\cite{hyperref}:} very standard. Enabled with the |hyper| option +\item \textbf{booktabs~\cite{booktabs}:} non-standard. Disable with the |nobooktabs| option +\item \textbf{draftcopy~\cite{draftcopy}:} very standard. Enable with the |draft| option +\item \textbf{lineno~\cite{lineno}:} non-standard (?). Enable with the |draft| option +\end{itemize} + +Some other handy packages (which aren't required at all for compatibility with +|hepthesis| but may well help you to write your thesis) are summarised in +Section~\ref{sec:ExtraPackages}. + + +\section{Class options} +\label{sec:Options} + +\subsection{\texoption{oneside} \Or \texoption{twoside}} +Typeset the thesis for printing in one- or two-sided format: for example, you +may wish to present preview and draft copies in two-sided format, but the final +submission may be required to be single-sided. Changing to single-sided form +will remove the blank facing pages and only use the margins and header/footer +format specified for right-hand pages. + +\subsection{\texoption{bind} \Or \texoption{nobind} \Or \texoption{bindnopdf}} +Set the margins to be suitable for printing or screen-viewing. Using the +\texoption{bind} option produces larger inner margins, so that left- and +right-facing pages have LR-reflection symmetry. Using the \texoption{nobind} +option makes the margins equal, so that the pages don't jump around when you +flick through them in |gv| or Adobe Acrobat. The \texoption{bindnopdf} option +will use binding margins when making a PostScript document and screen-view +margins when building a PDF. Note that this option requires some carefulness +with the |.aux| files: this is described in Appendix \ref{app:AuxFileProblem}. + +\subsection{\texoption{ams} \Or \texoption{noams}} +Make use of the AMS mathematical package. This re-defines several \hepthesis +mathematical environments using more powerful macros and is enabled by default. +If you don't plan on having any maths in your thesis, then disabling this option +may speed up your build-time a little. + +\subsection{\texoption{alphafoot}} +Use alphanumeric footnote markers. + +\subsection{\texoption{hidefront} \Or \texoption{hideback} \Or \texoption{hidefrontback}} +Useful for draft builds, these options respectively hide the front matter, the +back matter or both from the \LaTeX{} compilation, giving a faster build time +and meaning you don't have to flick through 20 pages of garbage before +proof-checking the first real content. Note that hiding the back matter will +fail to include the bit where you generate your bibliography, so unless you make +a work-around, all your citations will break. + +\subsection{\texoption{draft}} +Prints ``DRAFT'' diagonally across the pages and numbers the lines, suitable for +proof-reading. This makes use of the standard |draftcopy| and the less-standard +|lineno| packages. + +\subsection{\texoption{booktabs} \Or \texoption{nobooktabs}} +Use the |booktabs| package to define the \hepthesis tabular environment. +|booktabs| produces publication quality tables, as opposed to \TeX's rather +ropey defaults, and so this option is enabled by default. You can disable it if +your thesis doesn't have any tables and get a slightly faster build, but it is +strongly encouraged that any table presentation uses the |booktabs| look and +feel because it's so much better! + +\subsection{\texoption{hyper}} +The |hyper| option is used to activate the |hyperref| package, with some reasonably] +sensible default options. Essentially, it's equivalent to putting +% +\begin{snippet} +\usepackage[colorlinks=true,pdfpagemode=FullScreen, \ + bookmarks=true]{hyperref} +\end{snippet} +% +in the preamble of your document. + +\subsection{\texoption{hyperpdf}} +|hyperpdf| has the effect of the |hyper| option when building PDF output, and no +effect at all if building PostScript. This can be handy if you consider the PDFs +to be for screen-reading purposes and the PS for printing: you probably don't +want to print a version where all the references and URLs are coloured! Note +that this option requires some carefulness with the |.aux| file, since +alternating between PS and PDF builds involves repeatedly writing and removing +hyperref tokens. A solution to this is described in Appendix \ref{app:AuxFileProblem}. + +\subsection{\texoption{index}} +Include the |makeidx| package, to allow an index to be built. Note that you have +to do this by hand and that it's probably best done as a retrospective feature +after you've written the thesis. Not many people want to spend \emph{more} time +with their thesis when they've done enough to pass! + +\subsection{\texoption{a4paper} \Or \texoption{a4narrow} \Or \texoption{letterpaper} \Or \dots} +Choose the paper size. Duh. + +%\subsection{\texoption{hep} \Or \texoption{hep\{fd,layout,hyper,float,all\}}} + +\section{Environments and commands} +The \hepthesis environments and commands are a mix of new macros and tweaked +versions of existing standard ones. The ones that re-define standard macros +can't be disabled (at least, not in this version), so if you don't like them +then you can either hack \hepthesis to be the way you'd like (preferably in a +nice way which I can integrate into a future release) or use something else. The +choice is yours! + +Here are the environments and commands, roughly in the order that you'd use them: + +\subsection{\texcmd{definethesis}} +This command should be placed in the preamble, and is used to define +the thesis title and the author (you!). In future, maybe I'll find a nice way to +use the built-in \texcmd{author} and \texcmd{title} commands for this. Use it like: +% +\begin{snippet} +\definethesis% + {A study of \BToKPi decays with the \LHCb experiment}% + {Andrew Gordon Buckley} +... +\begin{document} +... +\end{snippet} + +Once this command has been executed, the title and author strings are available +via the \texcommand{thetitle} and \texcommand{theauthor} commands. + +\subsection{\texenv{frontmatter} \Or \texenv{mainmatter} \Or \texenv{appendices} \Or \texenv{backmatter}} +Use these to delimit the auxiliary parts of your thesis from the main feature +(being all that clever work you spent years working on). In practice, these +commands change the page-numbering style and set/reset some section counters +appropriately: the frontmatter and backmatter environments will not use chapter +numbering but will insert the un-numbered chapter titles in the table of +contents. Note that this means appendices should be placed in the appendices +environment between mainmatter and backmatter, rather than in the back matter +itself, which is intended for such things as the bibliography, colophon etc. + +\subsection{\texcmd{titlepage}} +The \texcmd{titlepage} macro generates a title page for the thesis and as such +should probably be the first item in the front matter. It takes two arguments: +the institution and the description of the award for which the thesis is being +submitted. You may need to hack this or use a different macro if your +institution has a very different prescribed format for the layout of thesis +title pages. Here's an example: +% +\begin{snippet} +\thesistitlepage +{Churchill College} +{A dissertation submitted to the University + of Cambridge\\ for the degree of Doctor of Philosophy} +\end{snippet} + +\subsection{\texenv{abstract}} +Where you present the summary of your thesis: this should be within the +\texenv{frontmatter} environment. The \texenv{abstract} environment takes one +optional argument, which will be the heading above the abstract. If this isn't +specified, the heading will simply be ``Abstract''. This may be useful for +providing a stand-alone summary page, with a snippet like: +% +\begin{snippet} +\begin{abstract}% + [\smaller\thetitle\\ \vspace*{1cm} \smaller{\theauthor}] +\thispagestyle{empty} +This thesis describes all the really cool work I did on... +\end{abstract} +\end{snippet} + +\subsection{\texenv{declaration}} +Where you declare that the thesis was all your own work, lies within word +limits, etc. Use it in the front matter area, of course, with something like +% +\begin{snippet} +\begin{declaration} + This dissertation is the result of my own work... + \vspace*{1cm} + \begin{flushright} + Andy Buckley + \end{flushright} +\end{declaration} +\end{snippet} + +\subsection{\texenv{acknowledgements}} +A nice little environment for putting all those gushing thank-you's (and the +obligatory thanks to a supervisor). Use it (in the front matter again) like: +% +\begin{snippet} +\begin{acknowledgements} + Of the many people who deserve thanks, some are + particularly prominent, for example... +\end{acknowledgements} +\end{snippet} + +\subsection{\texenv{preface}} +Here's where you summarise the structure of the thesis to come, just before the +main matter starts, with something like: +% +\begin{snippet} +\begin{preface} + This thesis describes my research on various aspects of... +\end{preface} +\end{snippet} + +\subsection{\texcmd{dedication}} +Dedicate your thesis to someone/something: +% +\begin{snippet} +\begin{mainmatter} + \dedication{For Jo} + ... + \end{frontmatter} +\end{snippet} + + +\subsection{\texcmd{frontquote}} +Use this at the start of the main matter if you want to encapsulate your thesis +in a few choice words, for example: +% +\begin{snippet} + \frontquote% + {Writing in English is the most ingenious torture\\ + ever devised for sins committed in previous lives.}% + {James Joyce} + ... + \end{frontmatter} +\end{snippet} + +\subsection{\texcmd{chapterquote}} +Something flippant/emotive to put at the start of chapters: +% +\begin{snippet} +\chapter{\CP violation in the \Bmeson system} +\label{chap:basictheory} +\thesischapterquote{Laws were made to be broken.}% + {Christopher North 1785--1854} + ... +\end{snippet} + +\subsection{\texenv{colophon}} +A colophon is an inscription placed at the end of a book or other work that +talks about how the work was created and what things were used in its creation. +This should go in the back matter of your thesis and is completely optional. +If you use this, please mention \hepthesis' r\^ole in making your thesis! Here's +an example: +% +\begin{snippet} + \begin{backmatter} + \begin{colophon} + This thesis was made with ``hepthesis'' and it was really cool... + \end{colophon} + ... +\end{snippet} + + +\subsection{\texenv{table}} +Tables --- use like any other table (probably combined with the tabular +environment). It has been slightly modified to be horizontally centered and have +an slightly increased vertical spacing at the top. + +\subsection{\texenv{tabular}} +If the |booktabs| package is used (enabled by default), then the tabular +environment is re-defined to have a horizontal bar at top and bottom, which +looks much nicer than \TeX's default tables. + +\subsection{\texenv{figure} and \texenv{sidewaysfigure}} +The \texenv{figure}, \texenv{figure*} and \texenv{sidewaysfigure} environments +are re-defined to be automatically centered. + +\subsection{\texenv{equation \Or displaymath}} +These environments and their starred versions are re-defined so that +\texenv{equation} behaves like the normal \texenv{displaymath} environment. If +the AMS package is used (which it is by default) then both are redefined to use +the AMS \texenv{align} environment, which is much more powerful: it supports +more intelligent label-placement, sub-equations and boasts a better alignment +syntax than the default \LaTeX{} displayed math environments. The AMS re-defined +\texenv{equation} is suitable for most purposes --- \emph{all} my purposes, in +fact. + +\subsection{\texcmd{verysubsection}} +A little command for in-line mini section headings, consisting of a boldened +phrase specified by the argument, a bold colon and a space. Just for +convenience, really, when all you want to do is label a paragraph without +incurring all the vertical space of \texcmd{subsubsub...subsection}s. Use it +like: +% +\begin{snippet} +\verysubsection{\Tevatron Run II experiments} +Since 1983 and until the commissioning of the \LHC is complete... +\end{snippet} + +\subsection{Semantic figure widths} +Rather than specifying figure widths in raw terms, like centimetres, or document +parameters like \texcmd{textwidth}, it's nice to be able to have a more semantic +reference. Having a few standard width also helps to keep things looking +consistent through the document. For these reasons, |hepthesis| provides four +standard figure widths, \texcmd{smallfigwidth}, \texcmd{mediumfigwidth}, +\texcmd{largefigwidth} and \texcmd{hugefigwidth}, which are defined in terms of +the text width and chosen to avoid overflows. Use them like this: +% +\begin{snippet} +\begin{figure} + \includegraphics[width=\largefigwidth]{ckmfitter-alpha-combined} + \caption{CKM Fitter constraints on \alphaCKM.} + \label{fig:CKMFitter} +\end{figure} +\end{snippet} + +Note also that this way of including images will automatically look for an +|.eps| file when building PostScript and a |.pdf| file when building PDF. You +may find the |eps2pdf| and |pdf2eps| utilities useful. + +\subsection{Standard in-document reference terms} +It's nice to be able to refer to portions of your document with standard names, +capitalisation, etc. For this reason, I've defined a bunch of macros which give +consistent and sensible capitalisations. Using them systematically will ensure +consistency in your references: +% +\begin{itemize} +\item \texcmd{Chapter} \manifestsAs Chapter +\item \texcmd{Section} \manifestsAs Section +\item \texcmd{Appendix} \manifestsAs Appendix +\item \texcmd{Figure} \manifestsAs Figure +\item \texcmd{Table} \manifestsAs Table +\item \texcmd{Equation} \manifestsAs equation +\item \texcmd{Reference} \manifestsAs reference +\item \texcmd{Page} \manifestsAs page +\end{itemize} + +Taking this consistency thing a step further, here are versions of the same +commands which take the reference label as a argument: +% +\begin{itemize} +\item \texcmd{ChapterRef} +\item \texcmd{SectionRef} +\item \texcmd{AppendixRef} +\item \texcmd{FigureRef} +\item \texcmd{TableRef} +\item \texcmd{EquationRef} +\item \texcmd{ReferenceRef} +\item \texcmd{PageRef} +\end{itemize} +% +Using these forms will ensure that the spacing between e.g. the worked +``Chapter'' and the chapter number is always the same, and that it won't wrap +over line breaks. The equation, reference and page forms will call the +\texcmd{eqref}, \texcmd{cite} and \texcmd{pageref} reference macros rather than +\texcmd{ref}, which is used for all others. + +\subsection{``thesis---'' prefix versions} +Additionally, all \hepthesis environments and commands have an alternative name, +which is the version described above, prefixed with ``thesis''\footnote{This + is a hang-over from early versions of my thesis, when I didn't know how to + robustly extend and re-define environments and commands.}. These forms are +frankly a bit of a pain to use, so use the short versions, please. The +``thesis---'' versions should be considered deprecated and may be removed in +future releases. + + +\section{Recommended extra packages} +\label{sec:ExtraPackages} +Here are some other packages it might be good to know about: +\begin{itemize} +\item \textbf{SIunits~\cite{SIunits}:} \emph{the} way to do units and get it right. +\item \textbf{hepunits~\cite{hepunits}:} my extension of |SIunits| to include some common HEP units not used elsewhere. +\item \textbf{hepnames~\cite{hepnames} and hepparticles~\cite{hepparticles}:} my packages for typesetting HEP particle names \emph{properly}, with |hepnames| defining macros for a lot of the standard ones. Requires |maybemath|~\cite{maybemath} +\item \textbf{braket~\cite{braket}:} decent implementation of Dirac bra and ket notation +\item \textbf{cancel~\cite{cancel}:} the best way to do Feynman slashes (in my opinion) +\item \textbf{feynmf/feynmp~\cite{feynmf} and axodraw~\cite{axodraw}:} various approaches to doing Feynman diagrams, especially in equations, inline contexts and so-on. +\end{itemize} +% +and some related software: +% +\begin{itemize} +\item \textbf{FeynDiagram~\cite{feyndiagram} and Jaxodraw~\cite{jaxodraw}}: for Feynman diagrams outside \TeX. You might also + be interested in my |pyfeyn|~\cite{pyfeyn} program, once it's publically released. +\item \textbf{SLAC SPIRES' biblio tools service:} see \url{www.slac.stanford.edu/spires/} +\end{itemize} + + + +\section{An example \texttt{hepthesis} thesis} +Here are some selected snippets from my thesis, which hopefully demonstrate the +features described. I split my thesis into |thesis.cls|, |thesis.sty| and +|thesis.tex| files, with the front matter, back matter and chapters +\texcommand{input}'d into |thesis.tex|. The output was built by running e.g. +% +\begin{snippet} +latex thesis.tex && bibtex thesis && latex thesis.tex +\end{snippet} +% +(though I used a Makefile rather than do it directly). You should note that you +might not be able to build this exact thesis due to missing packages: if you're +writing an HEP thesis then I'd encourage you to use the |hepnames| \LaTeX{} +package for typesetting particle names --- it depends on the extra +|hepparticles| and |maybemath| packages, which you'll also have to download. The +examples used here also rely on the |hepunits| package: you can all these extra +packages from the CTAN~\cite{CTAN}. See Appendix~\ref{app:InstallingPackages} for +a quick guide on how to install personal copies of \LaTeX{} packages. + + +\subsection{\texttt{thesis.cls}} +{\smaller \VerbatimInput{example/thesis.cls}} + +\subsection{\texttt{thesis.sty}} +{\smaller \VerbatimInput{example/thesis.sty}} + +\subsection{\texttt{thesis.tex}} +{\smaller \VerbatimInput{example/example.tex}} + +\subsection{\texttt{frontmatter.tex}} +{\smaller \VerbatimInput{example/frontmatter.tex}} + +\subsection{\texttt{chap1.tex}} +{\smaller \VerbatimInput{example/chap1.tex}} + +\subsection{\texttt{chap2.tex}} +{\smaller \VerbatimInput{example/chap2.tex}} + +\subsection{\texttt{backmatter.tex}} +{\smaller \VerbatimInput{example/backmatter.tex}} + + +\section{Wishlist / TODO} +I'm not planning on writing another thesis, but maybe I'll add features if +there's demand. If you add a nice feature, pass it on to me and I'll think about +including it in the package (and will give you some credit, of course). But anyway, +here's the TODO: +% +\begin{itemize} +\item Make |hepthesis| use |subfig| in place of |subfigure| and check out compatibility between |caption| and |caption2|. +\item Make the spacing in the \texcmd{SectionRef} etc. commands customisable. +\item Make the vertical spacings on the quote, dedication and title pages appropriate for the paper size +\end{itemize} + + +\section{Feedback} +|hepthesis| has taken a lot of work\dots I hope you think it was worthwhile and +that you enjoy using it. Or at least, I hope you enjoy writing your thesis more +than you would have done without it! If you're feeling appreciative, then a teeny +credit in your thesis acknowledgements would be hugely appreciated. + +Other than that, any feedback on the package is very welcome, especially if it's +constructive criticism! Email your thoughts to +\texttt{hepthesis@insectnation.org}, please. + + +\appendix + +\section{Using your own derived document class} +\label{app:DerivedClass} +If you're feeling sophisticated, then you can make your own document class based on +\hepthesis by placing +% +\begin{snippet} +\LoadClass{hepthesis} +\end{snippet} +% +in your own class definition file. This is a rather nice way of working, since +it allows you to tweak the \hepthesis defaults without cluttering your +|.tex| file with preamble junk. + + +\section{Installing personal copies of \LaTeX{} packages} +\label{app:InstallingPackages} +Since |hepthesis| depends on several non-standard \LaTeX{} packages, you may have to +download and install them yourself. If you don't have |root| access to the computer +on which you're working then you'll probably have to install them into your own home +directory or similar. Since I expect quite a few prospective users of |hepthesis| will +be non-experts in the ways of \TeX{}, this is a quick guide on what to do. + +\begin{enumerate} +\item Make a \TeX{} directory tree in your home directory (or any other area you can write to), e.g. +\begin{snippet} +$ mkdir -p $HOME/local/texmf/tex/latex +$ mkdir -p $HOME/local/texmf/bibtex/bib +$ mkdir -p $HOME/local/texmf/bibtex/bst +\end{snippet} +\item Download the packages from CTAN~\cite{CTAN} or wherever. +\item Follow the packages' installation instructions to install them into the \\ + |$HOME/local/texmf/tex/latex| %$ + directory you made above (or an appropriately-named sub-directory of it if you + want to be neat). For simple |.sty| or |.cls| files, this will just involve + copying them into your directory of choice. |.dtx| files will probably require + running |latex| to build the files to be installed. +\item If you use the |bash| shell, add the following to your |~/.bashrc| file: +\begin{snippet} +export TEXINPUTS="$HOME/local/texmf/tex//:$TEXINPUTS" +export LATEXINPUTS="$HOME/local/texmf/tex/latex//:$LATEXINPUTS" +export BIBINPUTS="$HOME/local/texmf/bibtex//:$BIBINPUTS" +\end{snippet} +or, if you use the |(t)csh| shell, add the following to your |~/.cshrc| file: +\begin{snippet} +setenv TEXINPUTS "$HOME/local/texmf/tex//:$TEXINPUTS" +setenv LATEXINPUTS "$HOME/local/texmf/tex/latex//:$LATEXINPUTS" +setenv BIBINPUTS "$HOME/local/texmf/bibtex//:$BIBINPUTS" +\end{snippet} +\item That's all: the lines above mean that \LaTeX{} will look for input files +such as classes, packages, images, \texcmd{input}'d |.tex| files etc. recursively under \\ +|$HOME/local/texmf/tex/latex| %$ + and that BibTeX will look for its style and database files recursively under +|$HOME/local/texmf/bibtex|.%$ +You can probably see how this can be extended to keep your thesis development +directories neat, too! +\end{enumerate} + + +\section{Distinguishing PS/PDF output in thesis builds} +\label{app:AuxFileProblem} + +The options \texopt{bindnopdf} and \texopt{hyperpdf} change the behaviour +depending on whether you're building PDF or PostScript output. This is fine if +you only ever do one, but if you want to switch rapidly between these output +formats then you'll have problems. This is because the |.aux| file, which +records the reference keys and suchlike changes depending on whether you're +making hyper-refs and if the changes of margins force sections on to different +pages. + +A nice solution to this involves using a Makefile, which you probably want to be +doing anyway. You'll have to read up on the details of Makefiles (and possibly +GNU automake) elsewhere, but to save on Make-newbie angst, I'll tell you that +the indents in the following snippet \emph{must} be tabs, rather than spaces! +Here goes --- put the following into a file called |Makefile|, change the +|DOCNAME| variable to something which suits your project and run |make thesis| or |make thesispdf|: +\begin{snippet} +# For a main thesis LaTeX file called ``thesis.tex'' +DOCNAME = thesis + +thesis: $(TEXSOURCES) $(DOCNAME).bbl + test -f $(DOCNAME).aux.ps && cp $(DOCNAME).aux.ps \ + $(DOCNAME).aux || true + latex $(DOCNAME) + cp $(DOCNAME).aux $(DOCNAME).aux.ps + ./thesisstats.sh >> buildlog.dat + +thesispdf: $(TEXSOURCES) $(DOCNAME).bbl + test -f $(DOCNAME).aux.pdf && cp $(DOCNAME).aux.pdf \ + $(DOCNAME).aux || true + pdflatex $(DOCNAME) + cp $(DOCNAME).aux $(DOCNAME).aux.pdf + ./thesisstats.sh >> buildlog.dat +\end{snippet} + +Otherwise you can just delete the |.aux| file when you change between using +|latex| and |pdflatex|, but this will require more passes, since the +|.aux| file has to be replaced each time. + +\begin{thebibliography}{99} +\bibitem{CTAN}{CTAN: \url{http://www.ctan.org}. \url{http://www.tex.ac.uk/tex-archive} is shortened to |ctan:| below.} +\bibitem{cite}{cite: \url{ctan:/macros/latex/contrib/cite/}} +\bibitem{setspace}{setspace: \url{ctan:/macros/latex/setspace/}} +\bibitem{fancyhdr}{fancyhdr: \url{ctan:/macros/latex/contrib/fancyhdr/}} +\bibitem{rotating}{rotating: \url{ctan:/macros/latex/contrib/rotating/}} +\bibitem{tocbibind}{tocbibind: \url{ctan:/macros/latex/contrib/tocbibind/}} +\bibitem{subfigure}{subfigure: \url{ctan:/obsolete/macros/latex/contrib/subfigure/}} +\bibitem{ccaption}{ccaption: \url{ctan:/macros/latex/contrib/ccaption/}} +\bibitem{caption}{caption: \url{ctan:/macros/latex/contrib/caption/}} +\bibitem{a4wide}{a4wide: \url{ctan:/macros/latex/contrib/misc/a4wide.sty}} +\bibitem{amsmath}{amsmath: \url{ctan:/macros/latex/required/amslatex/math/}} +\bibitem{hyperref}{hyperref: \url{ctan:/macros/latex/contrib/hyperref/}} +\bibitem{booktabs}{booktabs: \url{ctan:/macros/latex/contrib/booktabs/}} +\bibitem{draftcopy}{draftcopy: \url{ctan:/macros/latex/contrib/draftcopy/}} +\bibitem{lineno}{lineno: \url{ctan:/macros/latex/contrib/lineno/}} +\bibitem{SIunits}{SIunits: \url{ctan:/macros/latex/contrib/SIunits/}} +\bibitem{hepunits}{hepunits: \url{ctan:/macros/latex/contrib/hepunits/}} +\bibitem{hepnames}{hepnames: \url{ctan:/macros/latex/contrib/hepnames/}} +\bibitem{hepparticles}{hepparticles: \url{ctan:/macros/latex/contrib/hepparticles/}} +\bibitem{maybemath}{maybemath: \url{ctan:/macros/latex/contrib/maybemath/}} +\bibitem{braket}{braket: \url{ctan:/macros/latex/contrib/misc/braket.sty}} +\bibitem{cancel}{cancel: \url{ctan:/macros/latex/contrib/misc/cancel.sty}} +\bibitem{feynmf}{feynmf: \url{ctan:/macros/latex/contrib/feynmf/}} +\bibitem{axodraw}{axodraw: \url{http://www.nikhef.nl/~form/FORMdistribution/axodraw/}} +\bibitem{feyndiagram}{feyndiagram: \url{http://www.feyndiagram.com}} +\bibitem{jaxodraw}{jaxodraw: \url{http://http://jaxodraw.sourceforge.net/}} +\bibitem{pyfeyn}{|pyfeyn|: \url{http://hepforge.cedar.ac.uk/pyfeyn/}} +\end{thebibliography} + +\end{document} diff --git a/Master/texmf-dist/tex/latex/hepthesis/hepthesis.cls b/Master/texmf-dist/tex/latex/hepthesis/hepthesis.cls new file mode 100644 index 00000000000..36e02ff9d7b --- /dev/null +++ b/Master/texmf-dist/tex/latex/hepthesis/hepthesis.cls @@ -0,0 +1,704 @@ +%% hepthesis +%% LaTeX class for writing PhD theses, particularly those for +%% high energy physics (HEP) +%% Author: Andy Buckley <andy@insectnation.org> +%% +%% This material is subject to the LaTeX Project Public License. +%% See http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html +%% or the details of that license. +%% +%% Please let me know if you use hepthesis and what you think of it. +%% I'll try to implement any suggested options or geometry changes, +%% provided I think they're a good idea! + + +%% ======================================================================== +%% Admin +%% ======================================================================== +\def\fileversion{1.2} +\def\filedate{2006/01/26} +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{hepthesis}[\filedate\space HEP thesis class by Andy Buckley (v\fileversion)] +%\typeout{hepthesis v\fileversion{} by Andy Buckley} + +%% ======================================================================== +%% Option parsing +%% ======================================================================== +%% Conditional packages (can be disabled) +\def\@empty{} +\def\@yes{yes} +\def\@requireamsmath{yes} +\def\@requirebooktabs{yes} +\def\@requiremakeidx{} +\def\@requirehep{} +\def\@requirehyper{} +\def\@requiredraft{} +\def\@useAFour{yes} +\def\@requireAFourWide{} +\def\@oneside{} +\def\@bindmargins{yes} +\def\@hidefrontmatter{} +\def\@hidebackmatter{} + + +%% One-sided or two-sided (bound copies may have to be single-sided) +\DeclareOption{oneside}{% + \def\@oneside{yes} + \PassOptionsToClass{oneside}{book}} +\DeclareOption{twoside}{% + \def\@oneside{} + \PassOptionsToClass{twoside}{book}} + +%% Pad inner margins for binding +\DeclareOption{bind}{% + \def\@bindmargins{yes}} +\DeclareOption{nobind}{% + \def\@bindmargins{}} +%% Use binding margins if output is not PDF +\DeclareOption{bindnopdf}{ + \ifx\pdfoutput\undefined% + \def\@bindmargins{yes}% + \else% + \def\@bindmargins{}% + \fi% +} + +%% Use AMS math packages +\DeclareOption{noams}{% + \def\@requireamsmath{}} +\DeclareOption{ams}{% + \def\@requireamsmath{yes}} + +%% Change footnote markers to alphabetic +\DeclareOption{alphafoot}{% + \DeclareRobustCommand{\thefootnote}{\alph{footnote}}% +} + +%% Draft mode with line numbers and draft over-print +\DeclareOption{draft}{% + \def\@requiredraft{yes} + \AtEndOfPackage{% + \let\@oldermainmatter\mainmatter% + \DeclareRobustCommand{\mainmatter}{\@oldermainmatter\linenumbers}% + } +} + +%% Disable the frontmatter +\DeclareOption{hidefront}{% + \def\@hidefrontmatter{yes} +} +\DeclareOption{hideback}{% + \def\@hidebackmatter{yes} +} +\DeclareOption{hidefrontback}{% + \def\@hidefrontmatter{yes} + \def\@hidebackmatter{yes} +} + +% Use hyperref package (with decent options) +\DeclareOption{hyper}{ + \def\@requirehyper{yes}} + +% Use hyperref package (with decent options) only if output is PDF +\DeclareOption{hyperpdf}{ + \ifx\pdfoutput\undefined\else% + \def\@requirehyper{yes}% + \fi% +} + +%% Use nice-looking tables +\DeclareOption{booktabs}{% + \def\@requirebooktabs{yes}} +\DeclareOption{nobooktabs}{% + \def\@requirebooktabs{}} + + +%% Allows us to make an index +\DeclareOption{index}{% + \def\@requiremakeidx{yes} +} + +%% Particle physics options +\DeclareOption{hep}{% + \def\@requirehep{yes} +} + +%% Paper size (wide A4 is default) +\DeclareOption{a4paper}{% + \def\@useAFour{yes}% + \def\@requireAFourWide{yes}% +} +\DeclareOption{a4narrow}{% + \def\@useAFour{yes}% + \def\@requireAFourWide{}% +} +\DeclareOption{a5paper}{% + \def\@useAFour{}% + \PassOptionsToClass{a5paper}{book}% +} +\DeclareOption{b5paper}{% + \def\@useAFour{}% + \PassOptionsToClass{b5paper}{book}% +} +\DeclareOption{letterpaper}{% + \def\@useAFour{}% + \PassOptionsToClass{letterpaper}{book}% +} +\DeclareOption{legalpaper}{% + \def\@useAFour{}% + \PassOptionsToClass{legalpaper}{book}% +} +\DeclareOption{executivepaper}{% + \def\@useAFour{}% + \PassOptionsToClass{executivepaper}{book}% +} +%% Handle the A4 default paper size +\ifx\@useAFour\@empty\else% + \PassOptionsToClass{a4paper}{book}% +\fi + + +%% Options to be passed to the hep package +\DeclareOption{hepfd}{\def\@requirehep{yes}\PassOptionsToPackage{fd}{hep}} +\DeclareOption{heplayout}{\def\@requirehep{yes}\PassOptionsToPackage{layout}{hep}} +\DeclareOption{hephyper}{\def\@requirehep{yes}\PassOptionsToPackage{hyper}{hep}} +\DeclareOption{hepfloat}{\def\@requirehep{yes}\PassOptionsToPackage{float}{hep}} +\DeclareOption{hepall}{\def\@requirehep{yes}\PassOptionsToPackage{all}{hep}} + +%% Process the options (no package requirement allowed above here) +\ProcessOptions + +%% ======================================================================== +%% Base class and packages +%% ======================================================================== +%% Base class +\LoadClass[12pt]{book} +%% Use wide format if using A4 paper +\ifx\@requireAFourWide\@empty\else\RequirePackage{a4wide}\fi +%% Hyperlinks (optional, has to come early in the package list) +\ifx\@requirehyper\@empty\else\RequirePackage[colorlinks=true,bookmarks=true]{hyperref}\fi +%pdfpagemode=FullScreen +%% AMS math package (optional) +\ifx\@requireamsmath\@empty\else% + \RequirePackage{amsmath} + \AtEndOfPackage{% + %% Displayed maths environments re-defined to be the same as AMS' align + \renewenvironment{displaymath}{\align}{\endalign\ignorespacesafterend} + \newenvironment{displaymath*}% + {\expandafter\let\expandafter\@oldoldalignstar \csname align*\endcsname \@oldoldalignstar}% + {\expandafter\let\expandafter\@oldoldendalignstar \csname endalign*\endcsname \@oldoldendalignstar \ignorespacesafterend} + \renewenvironment{equation}{\align}{\endalign\ignorespacesafterend} + \renewenvironment{equation*}% + {\expandafter\let\expandafter\@oldoldalignstar \csname align*\endcsname \@oldoldalignstar}% + {\expandafter\let\expandafter\@oldoldendalignstar \csname endalign*\endcsname \@oldoldendalignstar \ignorespacesafterend} + }% +\fi +%% Index building (optional) +\ifx\@requiremakeidx\@empty\else\RequirePackage{makeidx}\fi +%% Nice tables (optional) +\ifx\@requirebooktabs\@empty\else% + \RequirePackage{booktabs} + \AtEndOfClass{% + %% Tabular environment, defined to use the booktabs facilities + \let\@oldtabular\tabular + \let\@oldendtabular\endtabular + \renewenvironment{tabular}[1]{% + \@oldtabular{@{}#1@{}}% + \toprule% + }{% + \bottomrule% + \@oldendtabular% + \ignorespacesafterend% + } + %% + }% +\fi +%% Convenience-included HEP packages (optional) +\ifx\@requirehep\@empty\else\RequirePackage{hep}\fi +%% ``DRAFT'' underprint and line numbering in draft mode (optional) +\ifx\@requiredraft\@empty\else% + \RequirePackage[pagewise, mathlines, displaymath]{lineno} + \RequirePackage{draftcopy} +\fi +%% The right way to do custom spacing +\RequirePackage{setspace} +%% Funky headers +\RequirePackage{fancyhdr} +%% Make sure bibliography (but not ToC) appears in the ToC +\RequirePackage[nottoc]{tocbibind} +%% Verbatim things +\RequirePackage{verbatim,comment} +%% Subfigures +\RequirePackage[loose]{subfigure} +\subfiglabelskip=0pt +%% Nice captions (with continuation option) +\RequirePackage[subfigure]{ccaption} % this one must come first... +\RequirePackage[margin=20pt,labelfont=bf]{caption} +%% Rotated figures +\RequirePackage{rotating} + +%% ======================================================================== +%% Length definitions +%% ======================================================================== + +\setlength{\parindent}{0.6cm} % tweak the initial indent in paras +\setlength{\parskip}{0.3cm} % tweak the intra-para gap size +\setlength{\topmargin}{0in} +\setlength{\textheight}{9in} +\setlength{\footskip}{0.5in} +\setlength{\textwidth}{6.2in} +%% Increase inner margins for binding +\newlength{\@bindextramargin} +\AtEndOfClass{% + + \ifx\@bindmargins\@empty% + \setlength{\@bindextramargin}{0.0in} + \else% + \setlength{\@bindextramargin}{0.2in} + \fi + \setlength{\oddsidemargin}{\@bindextramargin} + \setlength{\evensidemargin}{-\@bindextramargin} +} +%% +%% Redefine bits of document shape +\renewcommand{\topfraction}{0.95}% +\renewcommand{\bottomfraction}{0.95}% +\renewcommand{\textfraction}{0.05}% +\renewcommand{\arraystretch}{1.25}% +%% +%% Reset rule widths and the header width +\renewcommand{\headwidth}{\textwidth}% +\renewcommand{\headrulewidth}{0.5pt}% +\renewcommand{\footrulewidth}{0pt}% +\addtolength{\headheight}{2.5pt}% +\addtolength{\headsep}{20pt}% +\newlength{\@maintextwidth}% +\setlength{\@maintextwidth}{\textwidth}% +\newlength{\@frontmattertextwidth}% +\setlength{\@frontmattertextwidth}{\@maintextwidth}% +\newlength{\@abstractextramargin}% +\setlength{\@abstractextramargin}{1.5cm}% +%% +%% Top vertical spacing in the front matter +\newlength{\@frontmattertopskip}% +\newlength{\@frontmattertitletopskip}% +\newlength{\frontmattertitleskip}% +\addtolength{\frontmattertitleskip}{3cm}% +\addtolength{\@frontmattertitletopskip}{0cm}% +\setlength{\@frontmattertopskip}{\frontmattertitleskip}% +\addtolength{\@frontmattertopskip}{\@frontmattertitletopskip}% +%% +%% Figure widths +\newlength{\smallfigwidth} +\newlength{\mediumfigwidth} +\newlength{\largefigwidth} +\newlength{\hugefigwidth} +\setlength{\smallfigwidth}{0.45\textwidth} +\setlength{\mediumfigwidth}{0.6\textwidth} +\setlength{\largefigwidth}{0.75\textwidth} +\setlength{\hugefigwidth}{0.9\textwidth} +%% Figure width aliases +\newlength{\littlefigwidth} +\newlength{\bigfigwidth} +\setlength{\littlefigwidth}{\smallfigwidth} +\setlength{\bigfigwidth}{\largefigwidth} + + +%% ======================================================================== +%% Headers and footers +%% ======================================================================== +%% No header or footer on the title page +\AtBeginDocument{\thispagestyle{plain}} +%% Use funky headers and footers +\pagestyle{fancy} + +%% Normal headers and footers (headers are all like RH pages for oneside) +\ifx\@oneside\@empty% + \fancyhead[RO,LE]{\bfseries\thepage}% + \fancyhead[LO,RE]{\bfseries\leftmark}% +\else% + \fancyhead[RO,RE]{\bfseries\thepage}% + \fancyhead[LO,LE]{\bfseries\leftmark}% +\fi% +\fancyfoot{}% +%% Lower case header content +\renewcommand{\chaptermark}[1]{% + \markboth{#1}{}% +} + +%% Headers and footers for plain (blank) pages +\fancypagestyle{plain}{% + \fancyhf{}% + %\fancyhead[RO,LE]{\bfseries \thepage}% + \fancyfoot[C]{\bfseries \thepage}% + \renewcommand{\headrulewidth}{0pt}% + \renewcommand{\footrulewidth}{0pt}% +} + +%% Treat forced blank pages in the same way as chapter title pages +\def\cleardoublepage{\clearpage\if@twoside \ifodd\c@page\else% + \hbox{}% + %\thispagestyle{empty}% + \thispagestyle{plain}% + \newpage% + \if@twocolumn\hbox{}\newpage\fi\fi\fi}% + +%% Provide mixed-case versions of the Table of contents, +%% List of tables, List of figures, Bibliography etc. header names +\DeclareRobustCommand{\contentsname}{Contents} +\DeclareRobustCommand{\bibname}{Bibliography} +\DeclareRobustCommand{\listfigurename}{List of Figures} +\DeclareRobustCommand{\listtablename}{List of Tables} + +%% Commenting out front and back matter +\ifx\@hidefrontmatter\@yes\AtBeginDocument{\excludecomment{frontmatter}}\fi +\ifx\@hidebackmatter\@yes\AtBeginDocument{\excludecomment{backmatter}}\fi + + +%% ======================================================================== +%% Internal environments and commands +%% ======================================================================== + +%% Narrow environment (doesn't work) +\DeclareRobustCommand{\@narrowbegin}[1]{% + \begin{list} + %\begingroup + \setlength{\topsep}{0pt}% + \setlength{\leftmargin}{#1}% + \setlength{\rightmargin}{#1}% + \setlength{\listparindent}{\parindent}% + \setlength{\itemindent}{\parindent}% + \setlength{\parsep}{\parskip}% + \item[]% +} +\DeclareRobustCommand{\@narrowend}{% + %\endgroup + \end{list}% +} +\newenvironment{@narrow}[1]{\@narrowbegin{#1}}{\@narrowend} + + + +%% ======================================================================== +%% Public environments and commands +%% ======================================================================== + + +%% Re-define the sectioning commands with optional 1st arg now being the label +%% Oops, actually a bad idea since it clashes with the existing 1st option arg! +%\let\@oldchapter\chapter +%\DeclareRobustCommand{\chapter}[2][]{\def\@argone{#1}\def\@empty{}\chapter{#2}\ifx\@argone\@empty\else\label{#1}\fi} +%\let\@oldsection\section +%\DeclareRobustCommand{\chapter}[2][]{\def\@argone{#1}\def\@empty{}\section{#2}\ifx\@argone\@empty\else\label{#1}\fi} +%\let\@oldsubsection\subsection +%\DeclareRobustCommand{\chapter}[2][]{\def\@argone{#1}\def\@empty{}\subsection{#2}\ifx\@argone\@empty\else\label{#1}\fi} +%\let\@old\ + + +%% An environment for the rubbish at the front of a typical thesis +\let\@oldfrontmatter\frontmatter +%\renewenvironment{frontmatter}{% +\specialcomment{frontmatter}{% + \setcounter{tocdepth}{2}% show down to subsections in contents + \setcounter{secnumdepth}{2}% number down to subsections + \newcounter{iterlist}% + \@oldfrontmatter% + \begin{onehalfspace}% +}{% + \end{onehalfspace}% + \ignorespacesafterend% +} + +%% Environment for the thesis main body +\let\@oldmainmatter\mainmatter +\specialcomment{mainmatter}{% + \@oldmainmatter% + \pagenumbering{arabic}% + \begin{onehalfspace}% +}{% + \end{onehalfspace}% + \ignorespacesafterend% +} + +%% Environment for appendices +\specialcomment{appendices}{% + \begin{onehalfspace}% + \appendix% +}{% + \end{onehalfspace}% + \ignorespacesafterend% +} + +%% Environment for all the junk at the end of the thesis +\let\@oldbackmatter\backmatter +\specialcomment{backmatter}{% + \@oldbackmatter% + \begin{onehalfspace}% + \appendix% +}{% + \end{onehalfspace}% + \ignorespacesafterend% +} + +%% Environment for acknowledgements page in frontmatter +\newenvironment{acknowledgements}{% + \setlength{\textwidth}{\@frontmattertextwidth}% + \cleardoublepage% + \vspace*{\@frontmattertopskip}% + \begin{center}% + {\Large{\textbf{Acknowledgements}}}% + \end{center}% + \vspace*{1cm}% +}{% + \setlength{\textwidth}{\@maintextwidth}% + \ignorespacesafterend% +} + +%% Environment for preface page in frontmatter +\newenvironment{preface}{% + \setlength{\textwidth}{\@frontmattertextwidth}% + \cleardoublepage% + \vspace*{\@frontmattertopskip}% + \begin{center}% + {\Large{\textbf{Preface}}}% + \end{center}% + \vspace*{1cm}% +}{% + \setlength{\textwidth}{\@maintextwidth}% + \ignorespacesafterend % +} + +%% Environment for declaration rubrik page in frontmatter +%% (flushright doesn't work in this macro for some reason, +%% so you'll have to do that bit yourself like in the +%% example file) +\newenvironment{declaration}{% + \setlength{\textwidth}{\@frontmattertextwidth}% + \cleardoublepage% + \vspace*{\@frontmattertopskip}% + \begin{center}% + {\Large{\textbf{Declaration}}}% + \end{center}% + \vspace*{1cm}% +}{% + %\newline \newline \newline% + %\begin{flushright} + % \thesisauthor\newline + % \today\newline + %\end{flushright} + %\setlength{\textwidth}{\@maintextwidth}% + \ignorespacesafterend% +} + +%% Environment for thesis abstract in frontmatter +%% (argument is the thesis title) +\newenvironment{abstract}[1][Abstract]{% + %\setlength{\textwidth}{\@frontmattertextwidth}% + %\begin{@narrow}{\@abstractextramargin} + \cleardoublepage% + \vspace*{\@frontmattertopskip}% + \begin{center}% + {\Large\textbf{#1}}% + \end{center}% + \vspace*{1cm}% + %\larger{% +}{% + %}% + %\setlength{\textwidth}{\@maintextwidth}% + %\end{@narrow} + \ignorespacesafterend% +} + +%% Command for defining the title and author in the preamble +\DeclareRobustCommand{\definethesis}[2]{% + \DeclareRobustCommand{\@thesistitle}{#1}% + \DeclareRobustCommand{\@thesisauthor}{#2}% + \author{\@thesisauthor}% + \title{\@thesistitle}% + \DeclareRobustCommand{\thetitle}{#1}% + \DeclareRobustCommand{\theauthor}{#2}% +} + +%% Makes a thesis title page +\let\@oldtitlepage\titlepage +\let\@oldendtitlepage\endtitlepage +\DeclareRobustCommand{\titlepage}[2]{% + \@oldtitlepage% + \begin{center}% + \vspace*{\frontmattertitleskip}% + \begin{doublespace}% + {\Large{\textbf{\@thesistitle}}}\\% + \end{doublespace}% + \vspace*{3cm}% + {\large{{\@thesisauthor} \\ of \\ {#1}}}\\% + \vspace*{8cm}% + {#2}% + \end{center}% + \@oldendtitlepage + \cleardoublepage% +} + +%% A main quote page +\DeclareRobustCommand{\frontquote}[2]{% + \cleardoublepage% + \vspace*{6.5cm}% + \thispagestyle{plain} + \pagestyle{plain} + \begin{center}% + \noindent\emph{``#1''}% + \newline% + \indent --- #2% + \end{center}% + \cleardoublepage% +} + +%% A dedication page +\DeclareRobustCommand{\dedication}[1]{% + \cleardoublepage% + \vspace*{7cm}% + \thispagestyle{plain} + \pagestyle{plain} + \begin{center}% + \noindent\emph{#1}% + \end{center}% + \cleardoublepage% +} + +%% Environment for colophon in backmatter +\newenvironment{colophon}{% + \chapter{Colophon} +}{% + \ignorespacesafterend % +} + + +%% Typesets a chapter quote +\DeclareRobustCommand{\chapterquote}[2]{% + \noindent\emph{``#1''}% + \newline% + \indent --- #2% + \vspace{1cm}% +} + +%% Typesets the first para of a chapter slightly differently +%% (I don't use it, so maybe it needs some work) +\newenvironment{chapterintro}[1][blah]{% + %\begingroup + \def\thearg{#1}% + \def\sans{sf}% + \def\italic{it}% + \def\sansit{sfit}% + \ifx\thearg\sans% + \sffamily% + \else% + \ifx\thearg\italic% + \it% + \else% + \ifx\thearg\sansit% + \sffamily% + \it% + \fi\fi\fi% +}{% + \ignorespacesafterend% + %\endgroup +} + +%% Bold inline section heading with a finishing colon +\DeclareRobustCommand{\verysubsection}[1]{{\noindent\textbf{#1:}}} + +%% Table environment +\let\@oldtable\table +\let\@oldendtable\endtable +\renewenvironment{table}{% + \vspace{0.4cm}% + \@oldtable[ht]% + \begin{center}% +}{% + \end{center}% + \@oldendtable% + \ignorespacesafterend% +} + +%% Figure environment +\let\@oldfigure\figure +\let\@oldendfigure\endfigure +\renewenvironment{figure}{ + \@oldfigure% + \begin{center}% +}{% + \end{center}% + \@oldendfigure% + \ignorespacesafterend% +} + +%% Figure* environment (lots of \expandafter and \csname gubbins reqd... *sigh*) +\expandafter\let\expandafter\@oldfigurestar \csname figure*\endcsname +\expandafter\let\expandafter\@oldendfigurestar \csname endfigure*\endcsname +\renewenvironment{figure*}{ + \@oldfigurestar% + \begin{center}% +}{% + \end{center}% + \@oldendfigurestar% + \ignorespacesafterend% +} + +%% Sideways figure environment +\let\@oldsidewaysfigure\sidewaysfigure +\let\@oldendsidewaysfigure\endsidewaysfigure +\renewenvironment{sidewaysfigure}{ + \@oldsidewaysfigure% + \begin{center}% +}{% + \end{center}% + \@oldendsidewaysfigure% + \ignorespacesafterend% +} + + +%% ``Thesis''-prefixed duplicate commands and environments (deprecated) +\newcommand{\thesistypeout}{\typeout{hepthesis: thesis- prefix commands are deprecated}} +\newenvironment{thesistable}{\thesistypeout\table}{\endtable\ignorespacesafterend} +\newenvironment{thesistabular}{\thesistypeout\tabular}{\endtabular\ignorespacesafterend} +\newenvironment{thesisfigure}{\thesistypeout\expandafter\let\expandafter\@oldoldfigurestar \csname figure*\endcsname \@oldoldfigurestar}% + {\expandafter\let\expandafter\@oldoldendfigurestar \csname endfigure*\endcsname \@oldoldendfigurestar \ignorespacesafterend} +\newenvironment{thesissidewaysfigure}{\thesistypeout\sidewaysfigure}{\endsidewaysfigure\ignorespacesafterend} +\newenvironment{thesisdisplaymath}{\thesistypeout\displaymath}{\enddisplaymath\ignorespacesafterend} +\newenvironment{thesisdisplaymath*}{\thesistypeout\expandafter\let\expandafter\@oldolddisplaymathstar \csname displaymath*\endcsname \@oldolddisplaymathstar}% + {\expandafter\let\expandafter\@oldoldenddisplaymathstar \csname enddisplaymath*\endcsname \@oldoldenddisplaymathstar \ignorespacesafterend} +\newenvironment{thesisequation}{\thesistypeout\equation}{\endequation\ignorespacesafterend} +\newenvironment{thesisequation*}{\thesistypeout\expandafter\let\expandafter\@oldoldequationstar \csname equation*\endcsname \@oldoldequationstar}% + {\expandafter\let\expandafter\@oldoldendequationstar \csname endequation*\endcsname \@oldoldendequationstar \ignorespacesafterend} +\newenvironment{thesisdeclaration}{\thesistypeout\declaration}{\enddeclaration\ignorespacesafterend} +\newenvironment{thesisabstract}[1][Abstract]{\thesistypeout\abstract[#1]}{\endabstract\ignorespacesafterend} +\newenvironment{thesischapterintro}[1]{\thesistypeout\chapterintro{#1}}{\endchapterintro\ignorespacesafterend} +\newenvironment{thesispreface}{\thesistypeout\preface}{\endpreface\ignorespacesafterend} +\newenvironment{thesisacknowledgements}[1]{\thesistypeout\acknowledgements}{\endacknowledgements\ignorespacesafterend} +\newenvironment{thesisfrontmatter}{\thesistypeout\frontmatter}{\ignorespacesafterend} +\newenvironment{thesismainmatter}{\thesistypeout\mainmatter}{\ignorespacesafterend} +\newenvironment{thesisbackmatter}{\thesistypeout\backmatter}{\ignorespacesafterend} +\DeclareRobustCommand{\thesistitlepage}[2]{\thesistypeout\titlepage{#1}{#2}} +\DeclareRobustCommand{\thesisfrontquote}[2]{\thesistypeout\frontquote{#1}{#2}} +\DeclareRobustCommand{\thesischapterquote}[2]{\thesistypeout\chapterquote{#1}{#2}} +\DeclareRobustCommand{\thesisverysubsection}[1]{\thesistypeout\verysubsection{#1}} + +%% In-document references +\DeclareRobustCommand{\Chapter}{Chapter\xspace} +\DeclareRobustCommand{\Section}{Section\xspace} +\DeclareRobustCommand{\Appendix}{Appendix\xspace} +\DeclareRobustCommand{\Figure}{Figure\xspace} +\DeclareRobustCommand{\Table}{Table\xspace} +\DeclareRobustCommand{\Equation}{equation\xspace} +\DeclareRobustCommand{\Reference}{reference\xspace} +%% Standard way to refer to a page number +\DeclareRobustCommand{\Page}{page\xspace} + +%% Reference terms with built-in reference +\DeclareRobustCommand{\ChapterRef}[1]{\Chapter~\ref{#1}} +\DeclareRobustCommand{\SectionRef}[1]{\Section~\ref{#1}} +\DeclareRobustCommand{\AppendixRef}[1]{\Appendix~\ref{#1}} +\DeclareRobustCommand{\FigureRef}[1]{\Figure~\ref{#1}} +\DeclareRobustCommand{\TableRef}[1]{\Table~\ref{#1}} +\DeclareRobustCommand{\EquationRef}[1]{\Equation~\eqref{#1}} +\DeclareRobustCommand{\ReferenceRef}[1]{\Reference~\cite{#1}} +\DeclareRobustCommand{\PageRef}[1]{\Page~\pageref{#1}} diff --git a/Master/texmf-dist/tpm/hepthesis.tpm b/Master/texmf-dist/tpm/hepthesis.tpm new file mode 100644 index 00000000000..3372564f528 --- /dev/null +++ b/Master/texmf-dist/tpm/hepthesis.tpm @@ -0,0 +1,39 @@ +<!DOCTYPE rdf:RDF SYSTEM "../../support/tpm.dtd"> +<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:TPM="http://texlive.dante.de/"> + <rdf:Description about="http://texlive.dante.de/texlive/Package/hepthesis.zip"> + <TPM:Name>hepthesis</TPM:Name> + <TPM:Type>Package</TPM:Type> + <TPM:Date>2006/02/27 14:16:35</TPM:Date> + <TPM:Version></TPM:Version> + <TPM:Creator>karl</TPM:Creator> + <TPM:Title>The hepthesis package.</TPM:Title> + <TPM:Description></TPM:Description> + <TPM:Author></TPM:Author> + <TPM:Size>782716</TPM:Size> + <TPM:Build/> + <TPM:RunFiles size="23660"> +texmf-dist/tex/latex/hepthesis/hepthesis.cls +texmf-dist/tpm/hepthesis.tpm + </TPM:RunFiles> + <TPM:DocFiles size="760691"> +texmf-dist/doc/latex/hepthesis/ChangeLog +texmf-dist/doc/latex/hepthesis/README +texmf-dist/doc/latex/hepthesis/example/appendices.tex +texmf-dist/doc/latex/hepthesis/example/backmatter.tex +texmf-dist/doc/latex/hepthesis/example/chap1.tex +texmf-dist/doc/latex/hepthesis/example/chap2.tex +texmf-dist/doc/latex/hepthesis/example/ckmfitter-alpha-combined.pdf +texmf-dist/doc/latex/hepthesis/example/example.pdf +texmf-dist/doc/latex/hepthesis/example/example.tex +texmf-dist/doc/latex/hepthesis/example/frontmatter.tex +texmf-dist/doc/latex/hepthesis/example/lhcb-detector-cross-section.pdf +texmf-dist/doc/latex/hepthesis/example/thesis.cls +texmf-dist/doc/latex/hepthesis/example/thesis.sty +texmf-dist/doc/latex/hepthesis/example/thesismath.sty +texmf-dist/doc/latex/hepthesis/hepthesis.pdf +texmf-dist/doc/latex/hepthesis/hepthesis.tex + </TPM:DocFiles> + <TPM:Provides>Package/hepthesis</TPM:Provides> + </rdf:Description> +</rdf:RDF> + diff --git a/Master/texmf/lists/hepthesis b/Master/texmf/lists/hepthesis new file mode 100644 index 00000000000..ac6824a04ef --- /dev/null +++ b/Master/texmf/lists/hepthesis @@ -0,0 +1,21 @@ +texmf-dist/doc/latex/hepthesis/ChangeLog +texmf-dist/doc/latex/hepthesis/README +texmf-dist/doc/latex/hepthesis/example/appendices.tex +texmf-dist/doc/latex/hepthesis/example/backmatter.tex +texmf-dist/doc/latex/hepthesis/example/chap1.tex +texmf-dist/doc/latex/hepthesis/example/chap2.tex +texmf-dist/doc/latex/hepthesis/example/ckmfitter-alpha-combined.pdf +texmf-dist/doc/latex/hepthesis/example/example.pdf +texmf-dist/doc/latex/hepthesis/example/example.tex +texmf-dist/doc/latex/hepthesis/example/frontmatter.tex +texmf-dist/doc/latex/hepthesis/example/lhcb-detector-cross-section.pdf +texmf-dist/doc/latex/hepthesis/example/thesis.cls +texmf-dist/doc/latex/hepthesis/example/thesis.sty +texmf-dist/doc/latex/hepthesis/example/thesismath.sty +texmf-dist/doc/latex/hepthesis/hepthesis.pdf +texmf-dist/doc/latex/hepthesis/hepthesis.tex + +texmf-dist/tex/latex/hepthesis/hepthesis.cls +texmf-dist/tpm/hepthesis.tpm + +texmf/lists/hepthesis diff --git a/Master/texmf/tpm/collection-science.tpm b/Master/texmf/tpm/collection-science.tpm index cf1d5146adf..637cfed052d 100644 --- a/Master/texmf/tpm/collection-science.tpm +++ b/Master/texmf/tpm/collection-science.tpm @@ -37,6 +37,7 @@ <TPM:Package name="functan"/> <TPM:Package name="galois"/> <TPM:Package name="hepparticles"/> + <TPM:Package name="hepthesis"/> <TPM:Package name="hepunits"/> <TPM:Package name="karnaugh"/> <TPM:Package name="mhchem"/> |