From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- macros/latex/contrib/hepthesis/example/Makefile | 17 + .../latex/contrib/hepthesis/example/appendices.tex | 28 + .../latex/contrib/hepthesis/example/backmatter.tex | 19 + macros/latex/contrib/hepthesis/example/chap1.tex | 48 ++ macros/latex/contrib/hepthesis/example/chap2.tex | 92 ++ macros/latex/contrib/hepthesis/example/chap3.tex | 38 + .../hepthesis/example/ckmfitter-alpha-combined.pdf | Bin 0 -> 17855 bytes macros/latex/contrib/hepthesis/example/example.pdf | Bin 0 -> 380172 bytes macros/latex/contrib/hepthesis/example/example.tex | 73 ++ .../contrib/hepthesis/example/frontmatter.tex | 55 ++ .../latex/contrib/hepthesis/example/getNewBibtex | 16 + .../latex/contrib/hepthesis/example/h-physrev.bst | 949 +++++++++++++++++++++ .../example/lhcb-detector-cross-section.pdf | Bin 0 -> 191957 bytes macros/latex/contrib/hepthesis/example/mwe.tex | 13 + .../latex/contrib/hepthesis/example/mythesis.bib | 51 ++ .../contrib/hepthesis/example/mythesismath.sty | 69 ++ .../latex/contrib/hepthesis/example/preamble.tex | 70 ++ 17 files changed, 1538 insertions(+) create mode 100644 macros/latex/contrib/hepthesis/example/Makefile create mode 100644 macros/latex/contrib/hepthesis/example/appendices.tex create mode 100644 macros/latex/contrib/hepthesis/example/backmatter.tex create mode 100644 macros/latex/contrib/hepthesis/example/chap1.tex create mode 100644 macros/latex/contrib/hepthesis/example/chap2.tex create mode 100644 macros/latex/contrib/hepthesis/example/chap3.tex create mode 100644 macros/latex/contrib/hepthesis/example/ckmfitter-alpha-combined.pdf create mode 100644 macros/latex/contrib/hepthesis/example/example.pdf create mode 100644 macros/latex/contrib/hepthesis/example/example.tex create mode 100644 macros/latex/contrib/hepthesis/example/frontmatter.tex create mode 100755 macros/latex/contrib/hepthesis/example/getNewBibtex create mode 100644 macros/latex/contrib/hepthesis/example/h-physrev.bst create mode 100644 macros/latex/contrib/hepthesis/example/lhcb-detector-cross-section.pdf create mode 100644 macros/latex/contrib/hepthesis/example/mwe.tex create mode 100644 macros/latex/contrib/hepthesis/example/mythesis.bib create mode 100644 macros/latex/contrib/hepthesis/example/mythesismath.sty create mode 100644 macros/latex/contrib/hepthesis/example/preamble.tex (limited to 'macros/latex/contrib/hepthesis/example') diff --git a/macros/latex/contrib/hepthesis/example/Makefile b/macros/latex/contrib/hepthesis/example/Makefile new file mode 100644 index 0000000000..6fd9df294f --- /dev/null +++ b/macros/latex/contrib/hepthesis/example/Makefile @@ -0,0 +1,17 @@ +.PHONY: clean + +EXTRASTYS = abhepexpt.sty abhep.sty abmath.sty lineno.sty siunitx.sty SIunits.sty varwidth.sty + +example.pdf: example.tex preamble.tex chap1.tex chap2.tex chap3.tex frontmatter.tex appendices.tex + @rm -f $(EXTRASTYS) + unzip extrastyles.zip + @rm -f example.{aux,toc,lof,lot} + (pdflatex example && bibtex example && pdflatex example && pdflatex example) || rm -f $(EXTRASTYS) example.pdf + @rm -f example.{aux,toc,lof,lot} + @rm -f $(EXTRASTYS) + +clean: + @rm -f $(EXTRASTYS) + @rm -f example.pdf example.log example.aux + @rm -f *.bbl *.blg *.lof *.cut + @rm -f *.lot *.out *.toc diff --git a/macros/latex/contrib/hepthesis/example/appendices.tex b/macros/latex/contrib/hepthesis/example/appendices.tex new file mode 100644 index 0000000000..7eb5a08b93 --- /dev/null +++ b/macros/latex/contrib/hepthesis/example/appendices.tex @@ -0,0 +1,28 @@ +%% The "\appendix" call has already been made in the declaration +%% of the "appendices" environment (see thesis.tex). +\chapter{Pointless extras} +\label{app:Pointless} + +\chapterquote{% +Le savant n'\'etudie pas la nature parce que cela est utile; \\ +\indent il l'\'etudie parce qu'il y prend plaisir, \\ +\indent et il y prend plaisir parce qu'elle est belle.}% +{Henri Poincar\'e, 1854--1912} + +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? + +\section{$y = \alpha x^2$} +\label{sec:EqnTitle} +See, maths in titles automatically goes bold where it should (and check the +table of contents: it \emph{isn't} bold there!) Check the source: nothing +needs to be specified to make this work. Thanks to Donald Arsenau for the +teeny hack that makes this work. + +%% Big appendixes should be split off into separate files, just like chapters +%\input{app-myreallybigappendix} diff --git a/macros/latex/contrib/hepthesis/example/backmatter.tex b/macros/latex/contrib/hepthesis/example/backmatter.tex new file mode 100644 index 0000000000..a695bf3a08 --- /dev/null +++ b/macros/latex/contrib/hepthesis/example/backmatter.tex @@ -0,0 +1,19 @@ +\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/macros/latex/contrib/hepthesis/example/chap1.tex b/macros/latex/contrib/hepthesis/example/chap1.tex new file mode 100644 index 0000000000..a2b6b2d208 --- /dev/null +++ b/macros/latex/contrib/hepthesis/example/chap1.tex @@ -0,0 +1,48 @@ +\chapter{\CP violation in the \Bmeson system} +\label{chap:SomeStuff} + +%% Restart the numbering to make sure that this is definitely page #1! +\pagenumbering{arabic} + +%% 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} +\label{sec:neutralmixing} +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/macros/latex/contrib/hepthesis/example/chap2.tex b/macros/latex/contrib/hepthesis/example/chap2.tex new file mode 100644 index 0000000000..c365719223 --- /dev/null +++ b/macros/latex/contrib/hepthesis/example/chap2.tex @@ -0,0 +1,92 @@ +\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} + +\begin{center} +{\hspace{1mm}\Large\vdots\hspace{1cm}} +\end{center} + +\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}[bp] + \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/macros/latex/contrib/hepthesis/example/chap3.tex b/macros/latex/contrib/hepthesis/example/chap3.tex new file mode 100644 index 0000000000..85b5a18a8b --- /dev/null +++ b/macros/latex/contrib/hepthesis/example/chap3.tex @@ -0,0 +1,38 @@ +\chapter{Continued captions} +\label{chap:ContCaptions} + +Here are some funky floats using ``continued captions'', i.e. for a semantically +collected group of float contents which are too numerous to fit into a single +float, such as the pretty circles in the following figure: + +\newcommand{\circleimg}[1]{% +\begin{tikzpicture} + \draw[color=black,fill=#1,thick] (1,0) circle (1.5cm); +\end{tikzpicture}% +} + +\begin{figure}[hb] + \subfloat[][Example 1a]{\label{fig:cc1a}\circleimg{red!80}}\quad + \subfloat[][Example 1b]{\label{fig:cc1b}\circleimg{green!70!yellow}}\quad + \subfloat[][Example 1c]{\label{fig:cc1c}\circleimg{blue!80}}\quad + \subfloat[][Example 1d]{\label{fig:cc1d}\circleimg{orange!80!yellow}} + \caption{Demonstration of \texttt{subfig} continued captions.} + \label{fig:cc1} +\end{figure} + +\begin{figure}[p] + \ContinuedFloat + \subfloat[][Example 1e]{\label{fig:cc1e}\circleimg{violet}}\quad + \subfloat[][Example 1f]{\label{fig:cc1f}\circleimg{cyan}}\quad + \subfloat[][Example 1g]{\label{fig:cc1g}\circleimg{magenta}}\quad + \subfloat[][Example 1h]{\label{fig:cc1h}\circleimg{yellow}} + \caption[]{Demonstration of \texttt{subfig} continued captions (continued).} +\end{figure} + +\noindent +This mechanism means that the same float label is used for both pages of +floats. Note that we can refer to \FigureRef{fig:cc1} in general, or to +\FigureRef{fig:cc1g} on \PageRef{fig:cc1g} in particular! + +\noindent +Just for the hell of it, let's also refer to \SectionRef{sec:neutralmixing}. diff --git a/macros/latex/contrib/hepthesis/example/ckmfitter-alpha-combined.pdf b/macros/latex/contrib/hepthesis/example/ckmfitter-alpha-combined.pdf new file mode 100644 index 0000000000..9bc7f7c994 Binary files /dev/null and b/macros/latex/contrib/hepthesis/example/ckmfitter-alpha-combined.pdf differ diff --git a/macros/latex/contrib/hepthesis/example/example.pdf b/macros/latex/contrib/hepthesis/example/example.pdf new file mode 100644 index 0000000000..f097575d28 Binary files /dev/null and b/macros/latex/contrib/hepthesis/example/example.pdf differ diff --git a/macros/latex/contrib/hepthesis/example/example.tex b/macros/latex/contrib/hepthesis/example/example.tex new file mode 100644 index 0000000000..9f9c432ed2 --- /dev/null +++ b/macros/latex/contrib/hepthesis/example/example.tex @@ -0,0 +1,73 @@ +%% For normal draft builds (figs undisplayed hence fast compile) +%\documentclass[hyperpdf,nobind,draft,oneside]{hepthesis} +%\documentclass[hyperpdf,nobind,draft,twoside]{hepthesis} + +%% For short draft builds (breaks citations by necessity) +%\documentclass[hyperpdf,nobind,draft,hidefrontback]{hepthesis} + +%% For Cambridge soft-bound version +\documentclass[hyperpdf,bindnopdf]{hepthesis} +%% For Cambridge hard-bound version (must be one-sided) +%\documentclass[hyperpdf,oneside]{hepthesis} + +%% Load special font packages here if you wish +%\usepackage{lmodern} +\usepackage{mathpazo} +%\usepackage{euler} + +%% Put package includes etc. into preamble.tex for convenience +\input{preamble} + +%% You can set the line spacing this way +%\setallspacing{double} +%% or a section at a time like this +%\setfrontmatterspacing{double} + + +%% Define the thesis title and author +\title{A study of \BToKPi decays with\\ the \LHCb experiment} +\author{Andrew Gordon Buckley} + +%% Doc-specific 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 + + +%% 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} + \input{chap3} + %% To ignore a specific chapter while working on another, making the build faster, comment it out: + %\input{chap4} +\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/macros/latex/contrib/hepthesis/example/frontmatter.tex b/macros/latex/contrib/hepthesis/example/frontmatter.tex new file mode 100644 index 0000000000..30adb15bf9 --- /dev/null +++ b/macros/latex/contrib/hepthesis/example/frontmatter.tex @@ -0,0 +1,55 @@ +%% Title +\titlepage[of Churchill College]{% + 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, + such as 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. + + \noindent + For this example, I'll just mention \ChapterRef{chap:SomeStuff} + and \ChapterRef{chap:MoreStuff}. +\end{preface} + +%% ToC +\tableofcontents + + +%% Strictly optional! +\frontquote{% + Writing in English is the most ingenious torture\\ + ever devised for sins committed in previous lives.}% + {James Joyce} +%% I don't want a page number on the following blank page either. +\thispagestyle{empty} diff --git a/macros/latex/contrib/hepthesis/example/getNewBibtex b/macros/latex/contrib/hepthesis/example/getNewBibtex new file mode 100755 index 0000000000..ae2863bb14 --- /dev/null +++ b/macros/latex/contrib/hepthesis/example/getNewBibtex @@ -0,0 +1,16 @@ +#! /usr/bin/env bash + +if [[ -n $( echo $* | egrep -- "-h\>|--help\>" ) ]]; then + echo -e "Usage: $0 " + echo "NB. \\input and \\include operations will only work in" + echo "the current directory, rather than via the full TeX path." + exit 0 +fi + +maintexfile=$1 +tempfile=texmerge.$$ + +cat $maintexfile | sed -e s/'\\input{\([^}]*\)}'/'#include "\1\.tex"'/g > $tempfile +#cat $tempfile +cpp $tempfile 2> /dev/null | mail -s "generate bibtex" slaclib2@slac.stanford.edu +rm -f $tempfile diff --git a/macros/latex/contrib/hepthesis/example/h-physrev.bst b/macros/latex/contrib/hepthesis/example/h-physrev.bst new file mode 100644 index 0000000000..7c3c09f9bd --- /dev/null +++ b/macros/latex/contrib/hepthesis/example/h-physrev.bst @@ -0,0 +1,949 @@ +ENTRY +{ address +eprint +author +booktitle +chapter +collaboration +edition +editor +howpublished +institution +journal +key +month +note +number +organization +pages +publisher +school +series +title +type +volume +year +} +{} +{ label } +INTEGERS { output.state before.all mid.sentence after.sentence after.block } +FUNCTION {init.state.consts} +{ #0 'before.all := +#1 'mid.sentence := +#2 'after.sentence := +#3 'after.block := +} +STRINGS { s t } +FUNCTION {output.nonnull} +{ 's := +output.state mid.sentence = +{ ", " * write$ } +{ output.state after.block = +{ "," * write$ +newline$ +"\newblock " write$ +} +{ output.state before.all = +'write$ +{ add.period$ " " * write$ } +if$ +} +if$ +mid.sentence 'output.state := +} +if$ +s +} +FUNCTION {output} +{ duplicate$ empty$ +'pop$ +'output.nonnull +if$ +} +FUNCTION {output.check} +{ 't := +duplicate$ empty$ +{ pop$ "empty " t * " in " * cite$ * warning$ } +'output.nonnull +if$ +} +FUNCTION {output.bibitem} +{ newline$ +"\bibitem{" write$ +cite$ write$ +"}" write$ +newline$ +"" +before.all 'output.state := +} +FUNCTION {fin.entry} +{ add.period$ +write$ +newline$ +} +FUNCTION {new.block} +{ output.state before.all = +'skip$ +{ after.block 'output.state := } +if$ +} +FUNCTION {new.sentence} +{ skip$ +} +FUNCTION {not} +{ { #0 } +{ #1 } +if$ +} +FUNCTION {and} +{ 'skip$ +{ pop$ #0 } +if$ +} +FUNCTION {or} +{ { pop$ #1 } +'skip$ +if$ +} +FUNCTION {new.block.checka} +{ empty$ +'skip$ +'new.block +if$ +} +FUNCTION {new.block.checkb} +{ empty$ +swap$ empty$ +and +'skip$ +'new.block +if$ +} +FUNCTION {new.sentence.checka} +{ empty$ +'skip$ +'new.sentence +if$ +} +FUNCTION {new.sentence.checkb} +{ empty$ +swap$ empty$ +and +'skip$ +'new.sentence +if$ +} +FUNCTION {field.or.null} +{ duplicate$ empty$ +{ pop$ "" } +'skip$ +if$ +} +FUNCTION {emphasize} +{ duplicate$ empty$ +{ pop$ "" } +{ "{\itshape " swap$ * "}" * } +if$ +} +FUNCTION {embolden} +{ duplicate$ empty$ +{ pop$ "" } +{ "{\bfseries " swap$ * "}" * } +if$ +} +FUNCTION {paren} +{ duplicate$ empty$ +{ pop$ "" } +{ "(" swap$ * ")" * } +if$ +} +INTEGERS { nameptr namesleft numnames } +INTEGERS { etal } +FUNCTION {format.names} +{ 's := +#1 'nameptr := +s num.names$ 'numnames := +numnames #5 > +s numnames "{ll}" format.name$ "others" = numnames #1 > and +or 'etal := +etal +{ #1 #1 + 'namesleft := } +{ numnames 'namesleft := } +if$ +{ namesleft #0 > } +{ s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := +nameptr #1 > +{ namesleft #1 > +{ ", " * t * } +{ nameptr #2 > +{ "," * } +'skip$ +if$ +t "others" = +etal or +{ " {\em et~al.}" * } +{ " and " * t * } +if$ +} +if$ +} +'t +if$ +nameptr #1 + 'nameptr := +namesleft #1 - 'namesleft := +} +while$ +} +FUNCTION {format.authors} +{ author empty$ +{ "" } +{ author format.names } +if$ +} +FUNCTION {format.editors} +{ editor empty$ +{ "" } +{ editor format.names +editor num.names$ #1 > +{ ", editors" * } +{ ", editor" * } +if$ +} +if$ +} +FUNCTION {format.edited} +{ editor empty$ +{ "" } +{ "edited by " editor format.names * } +if$ +} +FUNCTION {format.title} +{ title empty$ +{ "" } +{ title "t" change.case$ } +if$ +} +FUNCTION {n.dashify} +{ 't := +"" +{ t empty$ not } +{ t #1 #1 substring$ "-" = +{ t #1 #2 substring$ "--" = not +{ "--" * +t #2 global.max$ substring$ 't := +} +{ { t #1 #1 substring$ "-" = } +{ "-" * +t #2 global.max$ substring$ 't := +} +while$ +} +if$ +} +{ t #1 #1 substring$ * +t #2 global.max$ substring$ 't := +} +if$ +} +while$ +} +FUNCTION {first.page} +{ 't := +"" +{ t empty$ not t #1 #1 substring$ "-" = not and } +{ t #1 #1 substring$ * +t #2 global.max$ substring$ 't := +} +while$ +} +FUNCTION {format.date} +{ year empty$ +{ "" } +'year +if$ +} +FUNCTION {format.btitle} +{ title emphasize +} +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < +{ "~" } +{ " " } +if$ +swap$ * * +} +FUNCTION {either.or.check} +{ empty$ +'pop$ +{ "can't use both " swap$ * " fields in " * cite$ * warning$ } +if$ +} +FUNCTION {format.bvolume} +{ volume empty$ +{ "" } +{ series empty$ +'skip$ +{ ", " series * } +if$ +" Vol." volume tie.or.space.connect * +"volume and number" number either.or.check +} +if$ +} +FUNCTION {format.number.series} +{ volume empty$ +{ number empty$ +{ series field.or.null } +{ series empty$ +{ "there's a number but no series in " cite$ * warning$ } +{ ", " series * } +if$ +" No. " number tie.or.space.connect * +} +if$ +} +{ "" } +if$ +} +FUNCTION {format.edition} +{ edition empty$ +{ "" } +{ output.state mid.sentence = +{ ", " edition "l" change.case$ * } +{ ", " edition "t" change.case$ * } +if$ +" ed." * +} +if$ +} +INTEGERS { multiresult } +FUNCTION {multi.page.check} +{ 't := +#0 'multiresult := +{ multiresult not +t empty$ not +and +} +{ t #1 #1 substring$ +duplicate$ "-" = +swap$ duplicate$ "," = +swap$ "+" = +or or +{ #1 'multiresult := } +{ t #2 global.max$ substring$ 't := } +if$ +} +while$ +multiresult +} +FUNCTION {format.pages} +{ pages empty$ +{ "" } +{ pages multi.page.check +{ "pp." pages n.dashify tie.or.space.connect } +{ "p." pages tie.or.space.connect } +if$ +} +if$ +} +FUNCTION {format.pages.a} +{ pages empty$ +{ "" } +{ "p." pages first.page tie.or.space.connect } +if$ +} +FUNCTION {format.vol.num.pages} +{ volume field.or.null embolden +" " swap$ * * +pages empty$ +'skip$ +{ duplicate$ empty$ +{ pop$ format.pages.a } +{ ", " * pages first.page * } +if$ +} +if$ +} +FUNCTION {format.chapter.pages} +{ chapter empty$ +'format.pages +{ type empty$ +{ "chap." } +{ type "l" change.case$ } +if$ +chapter tie.or.space.connect +pages empty$ +'skip$ +{ ", " * format.pages * } +if$ +} +if$ +} +FUNCTION {format.pub.addr.date} +{ publisher empty$ +{ "" "empty publisher in " cite$ * warning$ } +{ publisher +address empty$ +'skip$ +{ ", " * address * } +if$ +} +if$ +year empty$ +{ "empty year in " cite$ * warning$ } +{ ", " * year * } +if$ +paren " " swap$ * +} +FUNCTION {format.book.entry} +{ format.btitle +format.bvolume * +format.number.series * +format.edition * +format.pub.addr.date * +} +FUNCTION {format.inbook.entry} +{ format.book.entry +", " * +format.chapter.pages * +} +FUNCTION {format.in.ed.booktitle} +{ booktitle empty$ +{ "" } +{ editor empty$ +{ "in " booktitle emphasize * } +{ "in " booktitle emphasize * ", " * format.edited * } +if$ +} +if$ +} +FUNCTION {empty.misc.check} +{ author empty$ title empty$ howpublished empty$ +month empty$ year empty$ note empty$ +and and and and and +{ "all relevant fields are empty in " cite$ * warning$ } +'skip$ +if$ +} +FUNCTION {format.thesis.type} +{ type empty$ +'skip$ +{ pop$ +type "t" change.case$ +} +if$ +} +FUNCTION {format.inst.tr.num.date} +{ institution empty$ +{ "" "empty institution in " cite$ * warning$ } +{ institution } +if$ +" Report No." * +number empty$ +{ "" } +{ number tie.or.space.connect } +if$ +year empty$ +{ "empty year in " cite$ * warning$ } +{ ", " * year * " (unpublished)" * } +if$ +} +FUNCTION {format.article.crossref} +{ key empty$ +{ journal empty$ +{ "need key or journal for " cite$ * " to crossref " * crossref * +warning$ +"" +} +{ "In " journal * } +if$ +} +{ "In " key * } +if$ +" \cite{" * crossref * "}" * +} +FUNCTION {format.crossref.editor} +{ editor #1 "{vv~}{ll}" format.name$ +editor num.names$ duplicate$ +#2 > +{ pop$ " {\em et~al.}" * } +{ #2 < +'skip$ +{ editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = +{ " {\em et~al.}" * } +{ " and " * editor #2 "{vv~}{ll}" format.name$ * } +if$ +} +if$ +} +if$ +} +FUNCTION {format.book.crossref} +{ volume empty$ +{ "empty volume in " cite$ * "'s crossref of " * crossref * warning$ +"In " +} +{ "Volume" volume tie.or.space.connect +" of " * +} +if$ +editor empty$ +editor field.or.null author field.or.null = +or +{ key empty$ +{ series empty$ +{ "need editor, key, or series for " cite$ * " to crossref " * +crossref * warning$ +"" * +} +{ "{\em " * series * "\/}" * } +if$ +} +{ key * } +if$ +} +{ format.crossref.editor * } +if$ +" \cite{" * crossref * "}" * +} +FUNCTION {format.incoll.inproc.crossref} +{ editor empty$ +editor field.or.null author field.or.null = +or +{ key empty$ +{ booktitle empty$ +{ "need editor, key, or booktitle for " cite$ * " to crossref " * +crossref * warning$ +"" +} +{ "In {\em " booktitle * "\/}" * } +if$ +} +{ "In " key * } +if$ +} +{ "In " format.crossref.editor * } +if$ +" \cite{" * crossref * "}" * +} +FUNCTION {article} +{ output.bibitem +collaboration output +format.authors "author" output.check +new.block +crossref missing$ +{ journal field.or.null +format.vol.num.pages +format.date empty$ +'skip$ +{ duplicate$ empty$ +{ pop$ format.date paren } +{ " " * format.date paren * } +if$ +} +if$ +output +} +{ format.article.crossref output.nonnull +format.pages output +} +if$ +eprint output +new.block +note output +fin.entry +} +FUNCTION {book} +{ output.bibitem +collaboration output +author empty$ +{ format.editors "author and editor" output.check } +{ format.authors output.nonnull +crossref missing$ +{ "author and editor" editor either.or.check } +'skip$ +if$ +} +if$ +new.block +crossref missing$ +{ format.book.entry output } +{ new.block +format.book.crossref output.nonnull +} +if$ +eprint output +new.block +note output +fin.entry +} +FUNCTION {booklet} +{ output.bibitem +collaboration output +format.authors output +new.block +format.title "title" output.check +howpublished address new.block.checkb +howpublished output +address output +format.date output +eprint output +new.block +note output +fin.entry +} +FUNCTION {inbook} +{ output.bibitem +collaboration output +author empty$ +{ format.editors "author and editor" output.check } +{ format.authors output.nonnull +crossref missing$ +{ "author and editor" editor either.or.check } +'skip$ +if$ +} +if$ +new.block +crossref missing$ +{ format.inbook.entry output } +{ format.chapter.pages "chapter and pages" output.check +new.block +format.book.crossref output.nonnull +} +if$ +eprint output +new.block +note output +fin.entry +} +FUNCTION {incollection} +{ output.bibitem +collaboration output +format.authors "author" output.check +new.block +format.title "title" output.check +new.block +crossref missing$ +{ format.in.ed.booktitle "booktitle" output.check +format.bvolume output +format.number.series output +format.chapter.pages output +new.sentence +publisher "publisher" output.check +address output +format.edition output +format.date "year" output.check +} +{ format.incoll.inproc.crossref output.nonnull +format.chapter.pages output +} +if$ +eprint output +new.block +note output +fin.entry +} +FUNCTION {inproceedings} +{ output.bibitem +collaboration output +format.authors "author" output.check +new.block +format.title "title" output.check +new.block +crossref missing$ +{ format.in.ed.booktitle "booktitle" output.check +format.bvolume output +format.number.series output +format.pages output +address empty$ +{ organization publisher new.sentence.checkb +organization output +publisher output +format.date "year" output.check +} +{ address output.nonnull +format.date "year" output.check +new.sentence +organization output +publisher output +} +if$ +} +{ format.incoll.inproc.crossref output.nonnull +format.pages output +} +if$ +eprint output +new.block +note output +fin.entry +} +FUNCTION {conference} { inproceedings } +FUNCTION {manual} +{ output.bibitem +collaboration output +author empty$ +{ organization empty$ +'skip$ +{ organization output.nonnull +address output +} +if$ +} +{ format.authors output.nonnull } +if$ +new.block +format.btitle "title" output.check +author empty$ +{ organization empty$ +{ address new.block.checka +address output +} +'skip$ +if$ +} +{ organization address new.block.checkb +organization output +address output +} +if$ +format.edition output +format.date output +eprint output +new.block +note output +fin.entry +} +FUNCTION {mastersthesis} +{ output.bibitem +format.authors "author" output.check +new.block +format.title "title" output.check +new.block +"Master's thesis" format.thesis.type output.nonnull +school "school" output.check +address output +format.date "year" output.check +eprint output +new.block +note output +fin.entry +} +FUNCTION {misc} +{ output.bibitem +collaboration output +format.authors output +title howpublished new.block.checkb +format.title output +howpublished new.block.checka +howpublished output +format.date output +eprint output +new.block +note output +fin.entry +empty.misc.check +} +FUNCTION {phdthesis} +{ output.bibitem +format.authors "author" output.check +new.block +format.btitle "title" output.check +new.block +"PhD thesis" format.thesis.type output.nonnull +school "school" output.check +address output +format.date "year" output.check +eprint output +new.block +note output +fin.entry +} +FUNCTION {proceedings} +{ output.bibitem +collaboration output +editor empty$ +{ organization output } +{ format.editors output.nonnull } +if$ +new.block +format.btitle "title" output.check +format.bvolume output +format.number.series output +address empty$ +{ editor empty$ +{ publisher new.sentence.checka } +{ organization publisher new.sentence.checkb +organization output +} +if$ +publisher output +format.date "year" output.check +} +{ address output.nonnull +format.date "year" output.check +new.sentence +editor empty$ +'skip$ +{ organization output } +if$ +publisher output +} +if$ +eprint output +new.block +note output +fin.entry +} +FUNCTION {techreport} +{ output.bibitem +collaboration output +format.authors "author" output.check +new.block +format.inst.tr.num.date output.nonnull +eprint output +new.block +note output +fin.entry +} +FUNCTION {unpublished} +{ output.bibitem +collaboration output +format.authors "author" output.check +new.block +format.title "title" output.check +new.block +note "note" output.check +format.date output +fin.entry +} +FUNCTION {default.type} { misc } +MACRO {jan} {"Jan."} +MACRO {feb} {"Feb."} +MACRO {mar} {"Mar."} +MACRO {apr} {"Apr."} +MACRO {may} {"May"} +MACRO {jun} {"June"} +MACRO {jul} {"July"} +MACRO {aug} {"Aug."} +MACRO {sep} {"Sept."} +MACRO {oct} {"Oct."} +MACRO {nov} {"Nov."} +MACRO {dec} {"Dec."} +MACRO {acmcs} {"ACM Comput. Surv."} +MACRO {acta} {"Acta Inf."} +MACRO {cacm} {"Commun. ACM"} +MACRO {ibmjrd} {"IBM J. Res. Dev."} +MACRO {ibmsj} {"IBM Syst.~J."} +MACRO {ieeese} {"IEEE Trans. Softw. Eng."} +MACRO {ieeetc} {"IEEE Trans. Comput."} +MACRO {ieeetcad} +{"IEEE Trans. Comput.-Aided Design Integrated Circuits"} +MACRO {ipl} {"Inf. Process. Lett."} +MACRO {jacm} {"J.~ACM"} +MACRO {jcss} {"J.~Comput. Syst. Sci."} +MACRO {scp} {"Sci. Comput. Programming"} +MACRO {sicomp} {"SIAM J. Comput."} +MACRO {tocs} {"ACM Trans. Comput. Syst."} +MACRO {tods} {"ACM Trans. Database Syst."} +MACRO {tog} {"ACM Trans. Gr."} +MACRO {toms} {"ACM Trans. Math. Softw."} +MACRO {toois} {"ACM Trans. Office Inf. Syst."} +MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."} +MACRO {tcs} {"Theoretical Comput. Sci."} +MACRO {advp} {"Adv. Phys."} +MACRO {ajp} {"Am. J. Phys."} +MACRO {ao} {"Appl. Opt."} +MACRO {apj} {"Astrophys. J."} +MACRO {apl} {"Appl. Phys. Lett."} +MACRO {arnps} {"Ann. Rev. Nucl. Sci."} +MACRO {arns} {"Ann. Rev. Nucl. Part. Sci."} +MACRO {baps} {"Bull. Am. Phys. Soc."} +MACRO {cpc} {"Computer Phys. Comm."} +MACRO {cppcf} {"Comments Plasma Phys. Controlled Fusion"} +MACRO {fed} {"Fusion Eng. Design"} +MACRO {ft} {"Fusion Tech."} +MACRO {ieeens} {"IEEE Trans. Nucl. Sci."} +MACRO {ieeeps} {"IEEE Trans. Plasma Sci."} +MACRO {ijimw} {"Int. J. Infrared Millimeter Waves"} +MACRO {ip} {"Infrared Phys."} +MACRO {jap} {"J. Appl. Phys."} +MACRO {jcp} {"J. Comput. Phys."} +MACRO {jetp} {"Sov. Phys.-JETP"} +MACRO {jfe} {"J. Fusion Energy"} +MACRO {jfm} {"J. Fluid Mech."} +MACRO {jgr} {"J. Geophys. Res."} +MACRO {jmp} {"J. Math. Phys."} +MACRO {jne} {"J. Nucl. Energy"} +MACRO {jnm} {"J. Nucl. Mater."} +MACRO {josa} {"J. Opt. Soc. Am."} +MACRO {jpg} {"J. Phys.~G: Nucl. and Part. Phys."} +MACRO {jphys} {"J. Phys"} +MACRO {jpp} {"J. Plasma Phys."} +MACRO {jpsj} {"J. Phys. Soc. Jpn"} +MACRO {jvst} {"J. Vac. Sci. Technol."} +MACRO {modphyslettA} {"Mod. Phys. Lett. A"} +MACRO {nedf} {"Nucl. Eng. Design/Fusion"} +MACRO {nf} {"Nucl. Fusion"} +MACRO {nim} {"Nucl. Instrum. Methods"} +MACRO {np} {"Nucl. Phys."} +MACRO {npb} {"Nucl. Phys.~B"} +MACRO {npbps} {"Nucl. Phys. B (Proc. Suppl.)"} +MACRO {nt/f} {"Nucl. Tech./Fusion"} +MACRO {pf} {"Phys. Fluids"} +MACRO {pl} {"Phys. Lett."} +MACRO {plb} {"Phys. Lett.~B"} +MACRO {pnas} {"Proc. Nat. Acad. Sci. USA"} +MACRO {pp} {"Plasma Phys."} +MACRO {physrep} {"Phys. Rep."} +MACRO {physrev} {"Phys. Rev."} +MACRO {pr} {"Phys. Rev."} +MACRO {prd} {"Phys. Rev.~D"} +MACRO {prl} {"Phys. Rev. Lett."} +MACRO {procroysoc} {"Proc. Roy. Soc"} +MACRO {ps} {"Physica Scripta"} +MACRO {rmp} {"Rev. Mod. Phys."} +MACRO {rsi} {"Rev. Sci. Instrum."} +MACRO {sjnp} {"Sov. J. Nucl. Phys."} +MACRO {sjpp} {"Sov. J. Plasma Phys."} +MACRO {spd} {"Sov. Phys.-Dokl."} +MACRO {sptp} {"Sov. Phys.-Tech. Phys."} +MACRO {spu} {"Sov. Phys.-Usp."} +MACRO {zp} {"Z. Phys."} +MACRO {zpc} {"Z. Phys.~C"} +READ +STRINGS { longest.label } +INTEGERS { number.label longest.label.width } +FUNCTION {initialize.longest.label} +{ "" 'longest.label := +#1 'number.label := +#0 'longest.label.width := +} +FUNCTION {longest.label.pass} +{ number.label int.to.str$ 'label := +number.label #1 + 'number.label := +label width$ longest.label.width > +{ label 'longest.label := +label width$ 'longest.label.width := +} +'skip$ +if$ +} +EXECUTE {initialize.longest.label} +ITERATE {longest.label.pass} +FUNCTION {begin.bib} +{ preamble$ empty$ +'skip$ +{ preamble$ write$ newline$ } +if$ +"\begin{thebibliography}{" longest.label * "}" * write$ newline$ +} +EXECUTE {begin.bib} +EXECUTE {init.state.consts} +ITERATE {call.type$} +FUNCTION {end.bib} +{ newline$ +"\end{thebibliography}" write$ newline$ +} +EXECUTE {end.bib} diff --git a/macros/latex/contrib/hepthesis/example/lhcb-detector-cross-section.pdf b/macros/latex/contrib/hepthesis/example/lhcb-detector-cross-section.pdf new file mode 100644 index 0000000000..79d7f3ef39 Binary files /dev/null and b/macros/latex/contrib/hepthesis/example/lhcb-detector-cross-section.pdf differ diff --git a/macros/latex/contrib/hepthesis/example/mwe.tex b/macros/latex/contrib/hepthesis/example/mwe.tex new file mode 100644 index 0000000000..253311e998 --- /dev/null +++ b/macros/latex/contrib/hepthesis/example/mwe.tex @@ -0,0 +1,13 @@ +\documentclass[oneside]{hepthesis} + +\begin{document} + \begin{frontmatter} + \tableofcontents + \end{frontmatter} + + \begin{mainmatter} + \chapter{Introduction} + lalala + \end{mainmatter} + +\end{document} diff --git a/macros/latex/contrib/hepthesis/example/mythesis.bib b/macros/latex/contrib/hepthesis/example/mythesis.bib new file mode 100644 index 0000000000..f8dc85a0e3 --- /dev/null +++ b/macros/latex/contrib/hepthesis/example/mythesis.bib @@ -0,0 +1,51 @@ +%% Obtained via the getNewBibTeX script and the SPIRES biblio service + +@Article{Phys.Rev.Lett.19.1264, + author = "Weinberg, Steven", + title = "A MODEL OF LEPTONS", + journal = "Phys. Rev. Lett.", + volume = "19", + year = "1967", + pages = "1264-1266", + SLACcitation = "%%CITATION = PRLTA,19,1264;%%" +} + +@Article{Phys.Rev.D2.1285, + author = "Glashow, S. L. and Iliopoulos, J. and Maiani, L.", + title = "WEAK INTERACTIONS WITH LEPTON - HADRON SYMMETRY", + journal = "Phys. Rev.", + volume = "D2", + year = "1970", + pages = "1285-1292", + SLACcitation = "%%CITATION = PHRVA,D2,1285;%%" +} + +@Article{hep-ph/0410370, + author = "Willenbrock, Scott", + title = "Symmetries of the standard model", + year = "2004", + eprint = "hep-ph/0410370", + SLACcitation = "%%CITATION = HEP-PH 0410370;%%" +} + +@Article{Brianti:2004qq, + author = "Brianti, G.", + title = "The Large Hadron Collider project: Historical account", + journal = "Phys. Rept.", + volume = "403-404", + year = "2004", + pages = "349-364", + SLACcitation = "%%CITATION = PRPLC,403-404,349;%%" +} + +@Article{Amato:1998xt, + author = "Amato, S. and others", + collaboration = "LHCb", + title = "LHCb technical proposal", + note = "CERN-LHCC-98-4" +} + +@Misc{hepthesis, + author = "Buckley, Andy", + title = "The hepthesis {\LaTeX} class" +} diff --git a/macros/latex/contrib/hepthesis/example/mythesismath.sty b/macros/latex/contrib/hepthesis/example/mythesismath.sty new file mode 100644 index 0000000000..95ac64fade --- /dev/null +++ b/macros/latex/contrib/hepthesis/example/mythesismath.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/macros/latex/contrib/hepthesis/example/preamble.tex b/macros/latex/contrib/hepthesis/example/preamble.tex new file mode 100644 index 0000000000..6c73e5f5d4 --- /dev/null +++ b/macros/latex/contrib/hepthesis/example/preamble.tex @@ -0,0 +1,70 @@ +\usepackage{xspace} +\usepackage{tikz} +\usepackage{morefloats,subfig,afterpage} +\usepackage{mathrsfs} % script font +\usepackage{verbatim} + +%% Using Babel allows other languages to be used and mixed-in easily +%\usepackage[ngerman,english]{babel} +\usepackage[english]{babel} +\selectlanguage{english} + +%% Citation system tweaks +\usepackage{cite} +% \let\@OldCite\cite +% \renewcommand{\cite}[1]{\mbox{\!\!\!\@OldCite{#1}}} + +%% Maths +% TODO: rework or eliminate maybemath +\usepackage{abmath} +\DeclareRobustCommand{\mymath}[1]{\ensuremath{\maybebmsf{#1}}} +% \DeclareRobustCommand{\parenths}[1]{\mymath{\left({#1}\right)}\xspace} +% \DeclareRobustCommand{\braces}[1]{\mymath{\left\{{#1}\right\}}\xspace} +% \DeclareRobustCommand{\angles}[1]{\mymath{\left\langle{#1}\right\rangle}\xspace} +% \DeclareRobustCommand{\sqbracs}[1]{\mymath{\left[{#1}\right]}\xspace} +% \DeclareRobustCommand{\mods}[1]{\mymath{\left\lvert{#1}\right\rvert}\xspace} +% \DeclareRobustCommand{\modsq}[1]{\mymath{\mods{#1}^2}\xspace} +% \DeclareRobustCommand{\dblmods}[1]{\mymath{\left\lVert{#1}\right\rVert}\xspace} +% \DeclareRobustCommand{\expOf}[1]{\mymath{\exp{\!\parenths{#1}}}\xspace} +% \DeclareRobustCommand{\eexp}[1]{\mymath{e^{#1}}\xspace} +% \DeclareRobustCommand{\plusquad}{\mymath{\oplus}\xspace} +% \DeclareRobustCommand{\logOf}[1]{\mymath{\log\!\parenths{#1}}\xspace} +% \DeclareRobustCommand{\lnOf}[1]{\mymath{\ln\!\parenths{#1}}\xspace} +% \DeclareRobustCommand{\ofOrder}[1]{\mymath{\mathcal{O}\parenths{#1}}\xspace} +% \DeclareRobustCommand{\SOgroup}[1]{\mymath{\mathup{SO}\parenths{#1}}\xspace} +% \DeclareRobustCommand{\SUgroup}[1]{\mymath{\mathup{SU}\parenths{#1}}\xspace} +% \DeclareRobustCommand{\Ugroup}[1]{\mymath{\mathup{U}\parenths{#1}}\xspace} +% \DeclareRobustCommand{\I}[1]{\mymath{\mathrm{i}}\xspace} +% \DeclareRobustCommand{\colvector}[1]{\mymath{\begin{pmatrix}#1\end{pmatrix}}\xspace} +\DeclareRobustCommand{\Rate}{\mymath{\Gamma}\xspace} +\DeclareRobustCommand{\RateOf}[1]{\mymath{\Gamma}\parenths{#1}\xspace} + +%% High-energy physics stuff +\usepackage{abhep} +\usepackage{hepnames} +\usepackage{hepunits} +\DeclareRobustCommand{\arXivCode}[1]{arXiv:#1} +\DeclareRobustCommand{\CP}{\ensuremath{\mathcal{CP}}\xspace} +\DeclareRobustCommand{\CPviolation}{\CP-violation\xspace} +\DeclareRobustCommand{\CPv}{\CPviolation} +\DeclareRobustCommand{\LHCb}{LHCb\xspace} +\DeclareRobustCommand{\LHC}{LHC\xspace} +\DeclareRobustCommand{\LEP}{LEP\xspace} +\DeclareRobustCommand{\CERN}{CERN\xspace} +\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} +\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}{\Ppositron\!\Pelectron\xspace} +\DeclareRobustCommand{\protonproton}{\Pproton\APantiproton\xspace} -- cgit v1.2.3