From 571a59707cdc614327b51de4a2494eddf9410042 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 12 Jul 2008 18:03:34 +0000 Subject: hepthesis update (11jul08) git-svn-id: svn://tug.org/texlive/trunk@9483 c570f23f-e606-0410-a88d-b1316a301751 --- .../doc/latex/hepthesis/example/Makefile | 34 + .../doc/latex/hepthesis/example/abhep.sty | 184 -- .../doc/latex/hepthesis/example/abhepexpt.sty | 64 - .../doc/latex/hepthesis/example/abmath.sty | 267 --- .../doc/latex/hepthesis/example/appendices.tex | 2 +- .../doc/latex/hepthesis/example/chap1.tex | 1 + .../doc/latex/hepthesis/example/chap2.tex | 8 +- .../doc/latex/hepthesis/example/chap3.tex | 25 + .../doc/latex/hepthesis/example/csquotes.sty | 2414 -------------------- .../doc/latex/hepthesis/example/example.pdf | Bin 378784 -> 368981 bytes .../doc/latex/hepthesis/example/example.tex | 33 +- .../doc/latex/hepthesis/example/extrastyles.zip | Bin 0 -> 58597 bytes .../doc/latex/hepthesis/example/frontmatter.tex | 6 +- .../doc/latex/hepthesis/example/thesis.cls | 29 - .../doc/latex/hepthesis/example/thesis.sty | 65 - .../doc/latex/hepthesis/example/thesismath.sty | 69 - .../doc/latex/hepthesis/example/varwidth.sty | 302 --- 17 files changed, 74 insertions(+), 3429 deletions(-) create mode 100644 Master/texmf-dist/doc/latex/hepthesis/example/Makefile delete mode 100644 Master/texmf-dist/doc/latex/hepthesis/example/abhep.sty delete mode 100644 Master/texmf-dist/doc/latex/hepthesis/example/abhepexpt.sty delete mode 100644 Master/texmf-dist/doc/latex/hepthesis/example/abmath.sty create mode 100644 Master/texmf-dist/doc/latex/hepthesis/example/chap3.tex delete mode 100644 Master/texmf-dist/doc/latex/hepthesis/example/csquotes.sty create mode 100644 Master/texmf-dist/doc/latex/hepthesis/example/extrastyles.zip delete mode 100644 Master/texmf-dist/doc/latex/hepthesis/example/thesis.cls delete mode 100644 Master/texmf-dist/doc/latex/hepthesis/example/thesis.sty delete mode 100644 Master/texmf-dist/doc/latex/hepthesis/example/thesismath.sty delete mode 100644 Master/texmf-dist/doc/latex/hepthesis/example/varwidth.sty (limited to 'Master/texmf-dist/doc/latex/hepthesis/example') diff --git a/Master/texmf-dist/doc/latex/hepthesis/example/Makefile b/Master/texmf-dist/doc/latex/hepthesis/example/Makefile new file mode 100644 index 00000000000..00fe86daab6 --- /dev/null +++ b/Master/texmf-dist/doc/latex/hepthesis/example/Makefile @@ -0,0 +1,34 @@ +HT := hepthesis +.PHONY: all clean check + +all: $(HT).tar.gz + @true + +$(HT).tar.gz: README ChangeLog $(HT).pdf example/example.pdf + @rm -rf $(HT) + @mkdir $(HT) + @cp README TODO ChangeLog Makefile $(HT).pdf $(HT).cls $(HT).tex $(HT) + @mkdir $(HT)/example + @cp example/*.pdf example/*.tex example/extrastyles.zip Makefile $(HT)/example + tar czf $@ $(HT) + @rm -rf $(HT) + +$(HT).pdf: $(HT).tex example/example.pdf + (rm -f $(HT).{aux,toc,lof,lot} && pdflatex $(HT).tex && pdflatex $(HT).tex && rm -f $(HT).{aux,toc,lof,lot}) + +example/example.pdf: force_look + cd example && $(MAKE) $(MFLAGS) + +clean: + @rm -rf $(HT) + @rm -f $(HT).tar.gz + @rm -f $(HT).pdf $(HT).log $(HT).aux $(HT).out $(HT).dvi comment.cut + cd example && $(MAKE) $(MFLAGS) clean + +check: $(HT).tar.gz + @rm -rf $(HT) + @tar xzf $(HT).tar.gz + (cd $(HT) && make $(HT).pdf && make example/example.pdf) + +force_look: + @true \ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/hepthesis/example/abhep.sty b/Master/texmf-dist/doc/latex/hepthesis/example/abhep.sty deleted file mode 100644 index a0145aca09a..00000000000 --- a/Master/texmf-dist/doc/latex/hepthesis/example/abhep.sty +++ /dev/null @@ -1,184 +0,0 @@ -\ProvidesPackage{abhep}[2005/01/17] - -\RequirePackage{amsmath} -\RequirePackage{cancel} -\RequirePackage{abhepexpt} -\RequirePackage{hepnicenames} -\RequirePackage{hepunits} -\RequirePackage{maybemath} -\RequirePackage{abmath} - - -%C++ macro (to be moved!) -\DeclareRobustCommand{\CC}{C\nolinebreak\hspace{-.05em}\raisebox{.4ex}{\tiny\bf +}\nolinebreak\hspace{-.10em}\raisebox{.4ex}{\tiny\bf +}} -\def\CCtwo{{C\nolinebreak[4]\hspace{-.05em}\raisebox{.4ex}{\tiny\bf ++}}} -\DeclareRobustCommand{\Rplus}{\protect\nolinebreak\hspace{-.07em}\protect\raisebox{.25ex}{\small\textbf{+}}} -\DeclareRobustCommand{\Cpp}{C\Rplus\Rplus\xspace} - -\DeclareRobustCommand{\rescatter}{re-scatter\xspace} -\DeclareRobustCommand{\electroweak}{electro-weak\xspace} -\DeclareRobustCommand{\StandardModel}{Standard Model\xspace} -\DeclareRobustCommand{\SM}{Standard Model\xspace} - -% General lagrangian formalism -\DeclareRobustCommand{\matrixelementM}{\mymath{ \mathcal{M} }\xspace} -\DeclareRobustCommand{\matrixelementA}{\mymath{ \mathcal{A} }\xspace} - -\DeclareRobustCommand{\Amplitude}[1]{\mymath{ - \mathcal{A}% - \begingroup% - \def\@empty{}% - \def\@arg{#1}% - \ifx\@arg\@empty{}\else\parenths{#1}\fi% - \endgroup% -}} - -% also want Rate and BranchingRatio -\DeclareRobustCommand{\Lagrangian}{\mymath{ \mathcal{L} }\xspace} -\DeclareRobustCommand{\Hamiltonian}{\mymath{ \mathcal{H} }\xspace} -\DeclareRobustCommand{\lagrangian}{\Lagrangian} -\DeclareRobustCommand{\hamiltonian}{\Hamiltonian} -\DeclareRobustCommand{\RenormalisationScale}{\mymath{ \mu }\xspace} - -\DeclareRobustCommand{\adjointField}[1]{\mymath{ \bar{#1} }\xspace} -\DeclareRobustCommand{\scalarField}{\mymath{ \phi }\xspace} -\DeclareRobustCommand{\spinorField}{\mymath{ \psi }\xspace} - -\DeclareRobustCommand{\pathD}{\mymath{ \mathcal{D} }\xspace} -\DeclareRobustCommand{\VEV}{VEV\xspace} -\DeclareRobustCommand{\QCD}{QCD\xspace} -\DeclareRobustCommand{\EW}{EW\xspace} -\DeclareRobustCommand{\EM}{EM\xspace} -\DeclareRobustCommand{\PDG}{PDG\xspace} - -% covariant derivative -% covariant vectors, tensors, vectors - -% Common Feynman rules -%% photon propagator -%% external vector boson -%% Z,W propagator - -\DeclareRobustCommand{\pseudorapidity}{pseudo-rapidity\xspace} - -% Rates and measurements -\DeclareRobustCommand{\BR}[1]{\mymath{% - \def\empty{}% - \def\thearg{#1}% - \mathcal{B}% - \ifx\thearg\empty{}\else{(\HepProcess{#1})}\fi% -}\xspace} - -\DeclareRobustCommand{\efficiency}[1]{\mymath{ - \def\empty{}% - \def\thearg{#1}% - \varepsilon% - \ifx\thearg\empty{}\else{(\text{#1})}\fi% -}\xspace} - -\DeclareRobustCommand{\purity}{\mymath{p}\xspace} -\DeclareRobustCommand{\luminosity}{\mymath{\mathcal{L}}\xspace} -\DeclareRobustCommand{\sqrtS}{\mymath{\sqrt{s}}\xspace} - -%% CP violation -%% \DeclareRobustCommand{\opC}{\mymath{\maybebm{\mathcal{C}}}\xspace} -%% \DeclareRobustCommand{\opP}{\mymath{\maybebm{\mathcal{P}}}\xspace} -%% \DeclareRobustCommand{\opT}{\mymath{\maybebm{\mathcal{T}}}\xspace} -\DeclareRobustCommand{\opC}{\texorpdfstring{\mymath{\maybebm{\mathcal{C}}}}{C}\xspace} -\DeclareRobustCommand{\opP}{\texorpdfstring{\mymath{\maybebm{\mathcal{P}}}}{P}\xspace} -\DeclareRobustCommand{\opT}{\texorpdfstring{\mymath{\maybebm{\mathcal{T}}}}{T}\xspace} -\DeclareRobustCommand{\opCP}{\mymath{\opC\opP}\xspace} -\DeclareRobustCommand{\opCPT}{\mymath{\opC\opP\opT}\xspace} -%% and for convenience... -\DeclareRobustCommand{\CP}{\opCP} -\DeclareRobustCommand{\CPT}{\opCPT} -%% symmetry violation shorthands -\DeclareRobustCommand{\CPv}{\mymath{\cancel{\opCP}}\xspace} -\DeclareRobustCommand{\CPViolation}{\mymath{\opCP\text{-violation}}\xspace} -\DeclareRobustCommand{\CPTv}{\mymath{\cancel{\opCPT}}\xspace} -\DeclareRobustCommand{\CPTViolation}{\mymath{\opCPT\text{-violation}}\xspace} - - -%% Important names (of effects, params, theories etc.) and suchlike -\DeclareRobustCommand{\Cabibbo}{\ensuremath{\text{Cabibbo}}\xspace} -\DeclareRobustCommand{\Maskawa}{\ensuremath{\text{Maskawa}}\xspace} -\DeclareRobustCommand{\Kobayashi}{\ensuremath{\text{Kobayashi}}\xspace} -\DeclareRobustCommand{\Jarlskog}{\ensuremath{\text{Jarlskog}}\xspace} -\DeclareRobustCommand{\Sakharov}{\ensuremath{\text{Sakharov}}\xspace} -\DeclareRobustCommand{\Majorana}{\ensuremath{\text{Majorana}}\xspace} -\DeclareRobustCommand{\Planck}{\ensuremath{\text{Planck}}\xspace} -\DeclareRobustCommand{\Dirac}{\ensuremath{\text{Dirac}}\xspace} -\DeclareRobustCommand{\Weyl}{\ensuremath{\text{Weyl}}\xspace} - -%% Theories -\DeclareRobustCommand{\SUSY}{\ensuremath{\text{SUSY}}\xspace} -\DeclareRobustCommand{\AMSB}{\ensuremath{\text{AMSB}}\xspace} -\DeclareRobustCommand{\mSUGRA}{\ensuremath{\text{mSUGRA}}\xspace} - -\DeclareRobustCommand{\JarlskogParam}{\mymath{J_{\CP}}\xspace} -\DeclareRobustCommand{\thetaCabibbo}{\mymath{\maybebm{\theta_c}}} - -%% CKM matrix stuff -\DeclareRobustCommand{\Vckm}{\mymath{ \boldmatrix{V}_{\!\mathrm{CKM}} }\xspace} -\DeclareRobustCommand{\VckmFull}{\mymath{% -\begin{pmatrix} - \Vud & \Vus & \Vub \\ - \Vcd & \Vcs & \Vcb \\ - \Vtd & \Vts & \Vtb \\ -\end{pmatrix} -}} - -\DeclareRobustCommand{\alphaCKM}{\mymath{\alpha}\xspace} -\DeclareRobustCommand{\betaCKM}{\mymath{\beta}\xspace} -\DeclareRobustCommand{\gammaCKM}{\mymath{\gamma}\xspace} -\DeclareRobustCommand{\CkmElementConj}[2]{\mymath{V_{{#1}{#2}}^{*}}\xspace} -\DeclareRobustCommand{\CkmElement}[2]{\mymath{V_{{#1}{#2}}^{\phantom{*}}}\xspace} -\DeclareRobustCommand{\Vud}{\CkmElement{\mathrm{u}}{\mathrm{d}}} -\DeclareRobustCommand{\Vus}{\CkmElement{\mathrm{u}}{\mathrm{s}}} -\DeclareRobustCommand{\Vub}{\CkmElement{\mathrm{u}}{\mathrm{b}}} -\DeclareRobustCommand{\Vcd}{\CkmElement{\mathrm{c}}{\mathrm{d}}} -\DeclareRobustCommand{\Vcs}{\CkmElement{\mathrm{c}}{\mathrm{s}}} -\DeclareRobustCommand{\Vcb}{\CkmElement{\mathrm{c}}{\mathrm{b}}} -\DeclareRobustCommand{\Vtd}{\CkmElement{\mathrm{t}}{\mathrm{d}}} -\DeclareRobustCommand{\Vts}{\CkmElement{\mathrm{t}}{\mathrm{s}}} -\DeclareRobustCommand{\Vtb}{\CkmElement{\mathrm{t}}{\mathrm{b}}} -\DeclareRobustCommand{\VudConj}{\CkmElementConj{\mathrm{u}}{\mathrm{d}}} -\DeclareRobustCommand{\VusConj}{\CkmElementConj{\mathrm{u}}{\mathrm{s}}} -\DeclareRobustCommand{\VubConj}{\CkmElementConj{\mathrm{u}}{\mathrm{b}}} -\DeclareRobustCommand{\VcdConj}{\CkmElementConj{\mathrm{c}}{\mathrm{d}}} -\DeclareRobustCommand{\VcsConj}{\CkmElementConj{\mathrm{c}}{\mathrm{s}}} -\DeclareRobustCommand{\VcbConj}{\CkmElementConj{\mathrm{c}}{\mathrm{b}}} -\DeclareRobustCommand{\VtdConj}{\CkmElementConj{\mathrm{t}}{\mathrm{d}}} -\DeclareRobustCommand{\VtsConj}{\CkmElementConj{\mathrm{t}}{\mathrm{s}}} -\DeclareRobustCommand{\VtbConj}{\CkmElementConj{\mathrm{t}}{\mathrm{b}}} - -%% CKM element pairing for unitarity relations -\newlength{\CKMPairWidth} -\settowidth{\CKMPairWidth}{\Vtd\VtbConj} -\DeclareRobustCommand{\@Vbox}[1]{\makebox[\CKMPairWidth]{#1}} -\DeclareRobustCommand{\VCkmPair}[2]{\ensuremath{\@Vbox{{#1}{#2}}}} - -%% Theory acronyms -\DeclareRobustCommand{\SCET}{SCET\xspace} -\DeclareRobustCommand{\HQET}{HQET\xspace} -\DeclareRobustCommand{\CKM}{CKM\xspace} -\DeclareRobustCommand{\KM}{KM\xspace} -\DeclareRobustCommand{\BSM}{BSM\xspace} -\DeclareRobustCommand{\FCNC}{FCNC\xspace} - -%% Typical analysis concepts -\DeclareRobustCommand{\PV}{\MathUpright{PV}} -\DeclareRobustCommand{\IP}{\MathUpright{IP}} -\DeclareRobustCommand{\pT}{\mymath{p_\MathUpright{T}}\xspace} -\DeclareRobustCommand{\missingpT}{\mymath{\cancel{\pT}}\xspace} -\DeclareRobustCommand{\Et}{\mymath{E_\MathUpright{T}}\xspace} -\DeclareRobustCommand{\missingEt}{\mymath{\cancel{\Et}}\xspace} -\DeclareRobustCommand{\p}{\mymath{p}\xspace} -\DeclareRobustCommand{\chisq}{\mymath{\chi^2}\xspace} -\DeclareRobustCommand{\tuple}[1]{\ensuremath{#1}-tuple\xspace} -\DeclareRobustCommand{\tuples}[1]{\ensuremath{#1}-tuples\xspace} -\DeclareRobustCommand{\ntuple}{\tuple{n}\xspace} -\DeclareRobustCommand{\ntuples}{\tuples{n}\xspace} -\DeclareRobustCommand{\dataset}{data set\xspace} -\DeclareRobustCommand{\cutset}{cut set\xspace} -\DeclareRobustCommand{\CoM}{CoM\xspace} diff --git a/Master/texmf-dist/doc/latex/hepthesis/example/abhepexpt.sty b/Master/texmf-dist/doc/latex/hepthesis/example/abhepexpt.sty deleted file mode 100644 index c51dd471aec..00000000000 --- a/Master/texmf-dist/doc/latex/hepthesis/example/abhepexpt.sty +++ /dev/null @@ -1,64 +0,0 @@ -\ProvidesPackage{abhepexpt}[2005/08/22] -\RequirePackage{xspace} -\RequirePackage{relsize} - -%% Generic expt stuff -\providecommand{\TDR}{\ensuremath{\mathrm{TDR}}\xspace} - -%% Experiments -\providecommand{\ALICE}{ALICE\xspace} -\providecommand{\ATLAS}{ATLAS\xspace} -\providecommand{\CMS}{CMS\xspace} -\providecommand{\LHCb}{LHCb\xspace} -%% -\providecommand{\Belle}{Belle\xspace} -\DeclareRobustCommand{\BaBar}{\mbox{\textsl{B\hspace{-0.08em}{\smaller A}\hspace{-0.1em}B\hspace{-0.08em}{\smaller A\hspace{-0.12em}R}}}\xspace} -%\DeclareRobustCommand{\BaBar}{\textsl{B\hspace{-0.4em} {\scriptsize A}\hspace{-0.45em} B\hspace{-0.4em} {\scriptsize A\hspace{-0.12em}R}}\xspace} -\providecommand{\CLEO}{CLEO\xspace} -\providecommand{\BTeV}{BTeV\xspace} -\providecommand{\KTeV}{KTeV\xspace} -\providecommand{\HeraB}{\HERA-B\xspace} -%% -\providecommand{\Opal}{OPAL\xspace} -\providecommand{\Delphi}{Delphi\xspace} -\providecommand{\LThree}{L3\xspace} -\providecommand{\Aleph}{Aleph\xspace} -%% -\providecommand{\DZero}{D\O\xspace} -\providecommand{\CDF}{CDF\xspace} - -%% Institutes -\providecommand{\CERN}{CERN\xspace} -\providecommand{\KEK}{KEK\xspace} -\providecommand{\FNAL}{FNAL\xspace} -\providecommand{\Fermilab}{Fermilab\xspace} -\providecommand{\SLAC}{SLAC\xspace} -\providecommand{\BNL}{BNL\xspace} -\providecommand{\DESY}{DESY\xspace} - - -%% Accelerators -\providecommand{\LHC}{LHC\xspace} -\providecommand{\PEPII}{PEP-II\xspace} -\providecommand{\KEKB}{KEK-B\xspace} -\providecommand{\SLC}{SLC\xspace} -\providecommand{\LEP}{LEP\xspace} -\providecommand{\Tevatron}{Tevatron\xspace} -\providecommand{\CESR}{CESR\xspace} -\providecommand{\HERA}{HERA\xspace} - - -% Various other experimental stuff -\providecommand{\Geant}[1]{\begingroup\def\@empty{}\def\@arg{#1}Geant\ifx\@arg\@empty{}\else{#1}\fi\endgroup\xspace} -\providecommand{\Cerenkov}{\v{C}erenkov\xspace} -\providecommand{\thetaCerenkov}{\ensuremath{ \theta_C }\xspace} -\providecommand{\PMT}{PMT\xspace} -\providecommand{\PMTs}{\PMT{}s\xspace} -\providecommand{\radlength}{\ensuremath{X_0}\xspace} -\providecommand{\intlength}{\ensuremath{\lambda_I}\xspace} -\providecommand{\PID}{PID\xspace} -\providecommand{\subdetector}{sub-detector\xspace} - -%% Generators -\providecommand{\Pythia}{Pythia\xspace} -\providecommand{\Herwig}{Herwig\xspace} diff --git a/Master/texmf-dist/doc/latex/hepthesis/example/abmath.sty b/Master/texmf-dist/doc/latex/hepthesis/example/abmath.sty deleted file mode 100644 index fc8841e6386..00000000000 --- a/Master/texmf-dist/doc/latex/hepthesis/example/abmath.sty +++ /dev/null @@ -1,267 +0,0 @@ -\ProvidesPackage{abmath}[2006/04/12] -\RequirePackage{maybemath} -\RequirePackage{braket} -\RequirePackage{xspace} - -%% -------------------------------------------------------------- - -\DeclareRobustCommand{\mymath}[1]{\ensuremath{\maybebmsf{#1}}} -\DeclareRobustCommand{\MathUpright}[1]{\mymath{\mathrm{#1}}} -\DeclareRobustCommand{\MathText}[1]{\ensuremath{\text{#1}}} -\DeclareRobustCommand{\RHS}{\MathText{right hand side}\xspace} -\DeclareRobustCommand{\LHS}{\MathText{left hand side}\xspace} - -%% Groupings -\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}} -% legacy names -\DeclareRobustCommand{\bigparenths}[1]{\parenths{#1}} -\DeclareRobustCommand{\bigbraces}[1]{\braces{#1}} -\DeclareRobustCommand{\bigangles}[1]{\angles{#1}} -\DeclareRobustCommand{\bigsqbracs}[1]{\sqbracs{#1}} -\DeclareRobustCommand{\bigmods}[1]{\mods{#1}} -\DeclareRobustCommand{\bigmodsq}[1]{\modsq{#1}} -\DeclareRobustCommand{\bigdblmods}[1]{\dblmods{#1}} - -%% Misc -\DeclareMathOperator{\diag}{diag} -\DeclareMathOperator{\sign}{sgn} -\DeclareMathOperator{\li}{li} -\DeclareMathOperator{\trace}{Tr} -\DeclareRobustCommand{\expparenths}[1]{\mymath{\exp{\!\parenths{#1}}}} -\DeclareRobustCommand{\expbraces}[1]{\mymath{\exp{\!\braces{#1}}}} -\DeclareRobustCommand{\expOf}[1]{\expparenths{#1}} % generalise to have braces specifier 1st arg -\DeclareRobustCommand{\eexp}[1]{\mymath{e^{#1}}} -\DeclareRobustCommand{\plusquad}{\mymath{\oplus}} -\DeclareRobustCommand{\logOf}[1]{\log\!\parenths{#1}} -\DeclareRobustCommand{\lnOf}[1]{\ln\!\parenths{#1}} -\DeclareRobustCommand{\liOf}[1]{\li\!\parenths{#1}} -\DeclareRobustCommand{\signOf}[1]{\sign\!\parenths{#1}} -\DeclareRobustCommand{\diagOf}[1]{\diag\!\parenths{#1}} -\DeclareRobustCommand{\traceOf}[1]{\trace\!\parenths{#1}} - -%% For use outside math mode -\let\@oldpm\pm -\DeclareRobustCommand{\pm}{\mymath{\,\@oldpm\,}} -\let\@oldmp\mp -\DeclareRobustCommand{\mp}{\mymath{\,\@oldmp\,}} -\let\@oldVert\vert -\DeclareRobustCommand{\vert}{\mymath{\@oldVert\,}} -\let\@oldTo\to -\DeclareRobustCommand{\to}{\mymath{\,\@oldTo\,}} -\let\@oldsim\sim -\DeclareRobustCommand{\sim}{\mymath{\,\@oldsim\,}} -\let\@oldimplies\implies -\DeclareRobustCommand{\implies}{\mymath{\@oldimplies}} -\DeclareRobustCommand{\To}{\mymath{\@oldimplies}} -\let\@oldtimes\times -\DeclareRobustCommand{\times}{\mymath{\,\@oldtimes\,}} -\let\@oldbra\bra -\DeclareRobustCommand{\bra}[1]{\mymath{\@oldbra{#1}}} -\let\@oldket\ket -\DeclareRobustCommand{\ket}[1]{\mymath{\@oldket{#1}}} -\let\@oldbraket\braket -\DeclareRobustCommand{\braket}[1]{\mymath{\@oldbraket{#1}}} - -%% Re-define Greek letters for use outside math mode, too -\let\@Oldalpha\alpha% -\let\@Oldbeta\beta% -\let\@Oldgamma\gamma% -\let\@Olddelta\delta% -\let\@Oldepsilon\epsilon% -\let\@Oldvarepsilon\varepsilon% -\let\@Oldzeta\zeta% -\let\@Oldeta\eta% -\let\@Oldtheta\theta% -\let\@Oldvartheta\vartheta% -\let\@Oldiota\iota% -\let\@Oldkappa\kappa% -\let\@Oldlambda\lambda% -\let\@Oldmu\mu% -\let\@Oldnu\nu% -\let\@Oldxi\xi% -\let\@Oldpi\pi% -\let\@Oldvarpi\varpi% -\let\@Oldrho\rho% -\let\@Oldvarrho\varrho% -\let\@Oldsigma\sigma% -\let\@Oldvarsigma\varsigma% -\let\@Oldtau\tau% -\let\@Oldupsilon\upsilon% -\let\@Oldphi\phi% -\let\@Oldvarphi\varphi% -\let\@Oldchi\chi% -\let\@Oldpsi\psi% -\let\@Oldomega\omega% -\renewcommand{\alpha}{\mymath{\@Oldalpha}\xspace}% -\renewcommand{\beta}{\mymath{\@Oldbeta}\xspace}% -\renewcommand{\gamma}{\mymath{\@Oldgamma}\xspace}% -\renewcommand{\delta}{\mymath{\@Olddelta}\xspace}% -\renewcommand{\epsilon}{\mymath{\@Oldepsilon}\xspace}% -\renewcommand{\varepsilon}{\mymath{\@Oldvarepsilon}\xspace}% -\renewcommand{\zeta}{\mymath{\@Oldzeta}\xspace}% -\renewcommand{\eta}{\mymath{\@Oldeta}\xspace}% -\renewcommand{\theta}{\mymath{\@Oldtheta}\xspace}% -\renewcommand{\vartheta}{\mymath{\@Oldvartheta}\xspace}% -\renewcommand{\iota}{\mymath{\@Oldiota}\xspace}% -\renewcommand{\kappa}{\mymath{\@Oldkappa}\xspace}% -\renewcommand{\lambda}{\mymath{\@Oldlambda}\xspace}% -\renewcommand{\mu}{\mymath{\@Oldmu}\xspace}% -\renewcommand{\nu}{\mymath{\@Oldnu}\xspace}% -\renewcommand{\xi}{\mymath{\@Oldxi}\xspace}% -\renewcommand{\pi}{\mymath{\@Oldpi}\xspace}% -\renewcommand{\varpi}{\mymath{\@Oldvarpi}\xspace}% -\renewcommand{\rho}{\mymath{\@Oldrho}\xspace}% -\renewcommand{\varrho}{\mymath{\@Oldvarrho}\xspace}% -\renewcommand{\sigma}{\mymath{\@Oldsigma}\xspace}% -\renewcommand{\varsigma}{\mymath{\@Oldvarsigma}\xspace}% -\renewcommand{\tau}{\mymath{\@Oldtau}\xspace}% -\renewcommand{\upsilon}{\mymath{\@Oldupsilon}\xspace}% -\renewcommand{\phi}{\mymath{\@Oldphi}\xspace}% -\renewcommand{\varphi}{\mymath{\@Oldvarphi}\xspace}% -\renewcommand{\chi}{\mymath{\@Oldchi}\xspace}% -\renewcommand{\psi}{\mymath{\@Oldpsi}\xspace}% -\renewcommand{\omega}{\mymath{\@Oldomega}\xspace}% - -%% Commands -\DeclareRobustCommand{\isabout}{\sim\,} -\DeclareRobustCommand{\isAbout}{\isabout} -\DeclareRobustCommand{\about}{\mymath{\@oldsim\!\,}} -\DeclareRobustCommand{\goesto}{\mymath{ \, \Rightarrow \, }} -\DeclareRobustCommand{\isdefined}{ \equiv } -\DeclareRobustCommand{\isdefinedas}{ \equiv } -%\DeclareRobustCommand{\expectation}[1]{\mymath{ \mathcal{E}\lbrack#1\rbrack }} -\DeclareRobustCommand{\FT}[1]{\mymath{ \mathcal{FT}\lbrack {#1} \rbrack }} -\DeclareRobustCommand{\LT}[1]{\mymath{ \mathcal{LT}\lbrack {#1} \rbrack }} -\DeclareRobustCommand{\operand}{\mymath{ \bullet }} -\DeclareRobustCommand{\scalesas}{\mymath{ \propto }} -\DeclareRobustCommand{\powerten}[1]{\mymath{ \power{10}{#1} }} - - -%% Parenthetic operations -\DeclareRobustCommand{\ofOrder}[1]{\mymath{ \mathcal{O}\parenths{#1} }} -\DeclareRobustCommand{\orderof}[1]{ \ofOrder{#1} } -\DeclareRobustCommand{\isOfOrder}[1]{\mymath{ \sim \ofOrder{#1} }} -\DeclareRobustCommand{\expectationOf}[1]{\mymath{ \mathscr{E}\bracs{#1} }} -\DeclareRobustCommand{\DeltaOf}[1]{\mymath{ \Delta\!\mspace{2.0mu}{#1} }} -\DeclareRobustCommand{\deltaOf}[1]{\mymath{ \delta\!\mspace{2.0mu}{#1} }} -\DeclareRobustCommand{\argOf}[1]{\mymath{ \arg\!\parenths{#1} }} -\DeclareRobustCommand{\sinOf}[1]{\mymath{ \sin\!\parenths{#1} }} -\DeclareRobustCommand{\cosOf}[1]{\mymath{ \cos\!\parenths{#1} }} -\DeclareRobustCommand{\tanOf}[1]{\mymath{ \tan\!\parenths{#1} }} -\DeclareRobustCommand{\sinhOf}[1]{\mymath{ \sinh\!\parenths{#1} }} -\DeclareRobustCommand{\coshOf}[1]{\mymath{ \cosh\!\parenths{#1} }} -\DeclareRobustCommand{\tanhOf}[1]{\mymath{ \tanh\!\parenths{#1} }} -\DeclareRobustCommand{\arcsinOf}[1]{\mymath{ \arcsin\!\parenths{#1} }} -\DeclareRobustCommand{\arccosOf}[1]{\mymath{ \arccos\!\parenths{#1} }} -\DeclareRobustCommand{\arctanOf}[1]{\mymath{ \arctan\!\parenths{#1} }} -\DeclareRobustCommand{\arcsinhOf}[1]{\mymath{ \arcsinh\!\parenths{#1} }} -\DeclareRobustCommand{\arccoshOf}[1]{\mymath{ \arccosh\!\parenths{#1} }} -\DeclareRobustCommand{\arctanhOf}[1]{\mymath{ \arctanh\!\parenths{#1} }} - -%% Numbers -\DeclareRobustCommand{\nhalfs}[1]{\mymath{\frac{#1}{2}\,}\xspace} -\DeclareRobustCommand{\nthirds}[1]{\mymath{\frac{#1}{3}\,}\xspace} -\DeclareRobustCommand{\nquarters}[1]{\mymath{\frac{#1}{4}\,}\xspace} -\DeclareRobustCommand{\half}{\nhalfs{1}\xspace} -\DeclareRobustCommand{\onethird}{\nthirds{1}\xspace} -\DeclareRobustCommand{\onequarter}{\nquarters{1}\xspace} -\DeclareRobustCommand{\oneover}[1]{\mymath{\frac{1}{#1}}\xspace} -\DeclareRobustCommand{\I}{\mymath{\imath}} -\let\@oldRe\Re -\let\@oldIm\Im -\DeclareRobustCommand{\Im}{\mymath{ \@oldIm{}\mathfrak{m} }\xspace} -\DeclareRobustCommand{\Re}{\mymath{ \@oldRe{}\mathfrak{e}\mspace{3mu} }\xspace} -\DeclareRobustCommand{\ImaginaryPart}[1]{\mymath{ \,\Im\!\,\braces{#1} }\xspace} -\DeclareRobustCommand{\RealPart}[1]{\mymath{ \,\Re\!\braces{#1} }\xspace} -\DeclareRobustCommand{\percent}{\%\xspace} - -%% Groups -\DeclareRobustCommand{\group}[1]{\mymath{\mayberm{#1}}} -\DeclareRobustCommand{\Ugroup}[1]{\group{U}\parenths{#1}} -\DeclareRobustCommand{\SUgroup}[1]{\group{S}\Ugroup{#1}} -\DeclareRobustCommand{\Ogroup}[1]{\group{O}\parenths{#1}} -\DeclareRobustCommand{\SOgroup}[1]{\group{S}\Ogroup{#1}} -\DeclareRobustCommand{\Egroup}[1]{\group{E}_{#1}} -\DeclareRobustCommand{\directsum}{\mymath{\oplus}} -\DeclareRobustCommand{\directprod}{\mymath{\otimes}} -\DeclareRobustCommand{\covers}{\mymath{\supset}} -\DeclareRobustCommand{\exclude}{\mymath{\backslash}} - -%% Physics -\DeclareRobustCommand{\commutator}[2]{\sqbracs{{#1},{#2}}} -\DeclareRobustCommand{\anticommutator}[2]{\braces{{#1},{#2}}} - -%% Tensors -\DeclareRobustCommand{\Kronecker}{\mymath{\delta}\xspace} % have to specify indices separately now -\DeclareRobustCommand{\LeviCivita}{\mymath{\epsilon}\xspace} % have to specify indices separately now - -%% Vectors, tuples and sets -\DeclareRobustCommand{\cross}{\mymath{\times}\xspace} -\DeclareRobustCommand{\bvec}[1]{\mymath{\bm{#1}}\xspace} -\DeclareRobustCommand{\colset}[1]{\mymath{\begin{Bmatrix}#1\end{Bmatrix}}\xspace} -\DeclareRobustCommand{\coltuple}[1]{\mymath{\begin{pmatrix}#1\end{pmatrix}}\xspace} -\DeclareRobustCommand{\colvector}[1]{\mymath{\begin{pmatrix}#1\end{pmatrix}}\xspace} -\DeclareRobustCommand{\colthreevec}[3]{\mymath{\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]{\mymath{\bm{\mathrm{#1}}}\xspace} -\DeclareRobustCommand{\transposeT}{\MathUpright{T}\,} -\DeclareRobustCommand{\hermitianT}{\dagger} -\DeclareRobustCommand{\twomatrix}[2]{\mymath{\begin{pmatrix}#1\\ #2\end{pmatrix}}\xspace} -\DeclareRobustCommand{\threematrix}[3]{\mymath{\begin{pmatrix}#1\\ #2\\ #3\end{pmatrix}}\xspace} - -%% Differentials -\DeclareRobustCommand{\diff}[1]{\mymath{\mathrm{d} #1}} -\DeclareRobustCommand{\pdiff}[1]{\mymath{\partial #1}} -\DeclareRobustCommand{\dByd}[2]{\mymath{ \frac{\diff{#1}}{\diff{#2}} }} -\DeclareRobustCommand{\pdByd}[2]{\mymath{ \frac{\pdiff{#1}}{\pdiff{#2}} }} -\DeclareRobustCommand{\DeltaVec}[1]{\mymath{\boldsymbol{\Delta}\mathbf{#1}}} -\DeclareRobustCommand{\DeltaN}[1]{\mymath{\Delta #1}} -\DeclareRobustCommand{\deltaVec}[1]{\mymath{\boldsymbol{\delta}\mathbf{#1}}} -\DeclareRobustCommand{\deltaN}[1]{\mymath{\delta #1}} -\DeclareRobustCommand{\d}[1]{\mymath{\mathrm{d}#1}} -\DeclareMathOperator{\curl}{curl} % curl -%\DeclareMathOperator{\div}{div} % div -\DeclareRobustCommand{\gradCross}[1]{\mymath{\nabla \cross #1}} % curl -\DeclareRobustCommand{\gradDot}[1]{\mymath{\nabla \dot #1}} % div -\DeclareRobustCommand{\Laplacian}{\mymath{\backslash}} -\DeclareRobustCommand{\dAlembertian}{\mymath{\box^{2}}} % I like it with power of 2 attached :-) -\DeclareRobustCommand{\exclude}{\mymath{\backslash}} - - -%% Statistics and probability -\DeclareRobustCommand{\mean}[1]{\angles{#1}} -\DeclareRobustCommand{\given}{\mymath{\vert}} -\DeclareRobustCommand{\probabilityP}{\mymath{\mayberm{p}}} -\DeclareRobustCommand{\probability}[1]{\mymath{\probabilityP\parenths{#1}}} - - -%% Principle value integral signs (from UK TeX FAQ) -\def\Xint#1{\mathchoice - {\XXint\displaystyle\textstyle{#1}}% - {\XXint\textstyle\scriptstyle{#1}}% - {\XXint\scriptstyle\scriptscriptstyle{#1}}% - {\XXint\scriptscriptstyle\scriptscriptstyle{#1}}% - \!\int} -\def\XXint#1#2#3{{\setbox0=\hbox{$#1{#2#3}{\int}$} - \vcenter{\hbox{$#2#3$}}\kern-.5\wd0}} -\def\ddashint{\Xint=} -\def\dashint{\Xint-} diff --git a/Master/texmf-dist/doc/latex/hepthesis/example/appendices.tex b/Master/texmf-dist/doc/latex/hepthesis/example/appendices.tex index 9d649510e62..973b2f5540a 100644 --- a/Master/texmf-dist/doc/latex/hepthesis/example/appendices.tex +++ b/Master/texmf-dist/doc/latex/hepthesis/example/appendices.tex @@ -22,7 +22,7 @@ Padding? What do you mean? 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 -(very teeny) hack that makes this work. +teeny hack that makes this work. %% 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/chap1.tex b/Master/texmf-dist/doc/latex/hepthesis/example/chap1.tex index dd3ad06e632..f531623f3fa 100644 --- a/Master/texmf-dist/doc/latex/hepthesis/example/chap1.tex +++ b/Master/texmf-dist/doc/latex/hepthesis/example/chap1.tex @@ -19,6 +19,7 @@ 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 diff --git a/Master/texmf-dist/doc/latex/hepthesis/example/chap2.tex b/Master/texmf-dist/doc/latex/hepthesis/example/chap2.tex index 1c143e359ba..9fe3a9c7e42 100644 --- a/Master/texmf-dist/doc/latex/hepthesis/example/chap2.tex +++ b/Master/texmf-dist/doc/latex/hepthesis/example/chap2.tex @@ -27,9 +27,15 @@ 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 + +\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. diff --git a/Master/texmf-dist/doc/latex/hepthesis/example/chap3.tex b/Master/texmf-dist/doc/latex/hepthesis/example/chap3.tex new file mode 100644 index 00000000000..bbea1745206 --- /dev/null +++ b/Master/texmf-dist/doc/latex/hepthesis/example/chap3.tex @@ -0,0 +1,25 @@ +\chapter{Continued captions} +\label{chap:ContCaptions} + +Here are some funky ``continued captions''\dots + +\begin{figure} + \subfloat[][Example 1a]{\label{fig:cc1a}\rule{3cm}{3cm}} + \subfloat[][Example 1b]{\label{fig:cc1b}\rule{3cm}{3cm}} + \subfloat[][Example 1c]{\label{fig:cc1c}\rule{3cm}{3cm}} + \subfloat[][Example 1d]{\label{fig:cc1d}\rule{3cm}{3cm}} + \caption{Demonstration of \texttt{ccaption}.} + \label{fig:cc1} +\end{figure} + +\begin{figure} + \ContinuedFloat + \subfloat[][Example 1e]{\label{fig:cc1e}\rule{3cm}{3cm}} + \subfloat[][Example 1f]{\label{fig:cc1f}\rule{3cm}{3cm}} + \subfloat[][Example 1g]{\label{fig:cc1g}\rule{3cm}{3cm}} + \subfloat[][Example 1h]{\label{fig:cc1h}\rule{3cm}{3cm}} + \caption[]{Demonstration of \texttt{ccaption} (continued).} + %\label{fig:cc1} +\end{figure} + +Just for the hell of it, let's refer to \SectionRef{sec:neutralmixing}. diff --git a/Master/texmf-dist/doc/latex/hepthesis/example/csquotes.sty b/Master/texmf-dist/doc/latex/hepthesis/example/csquotes.sty deleted file mode 100644 index f26ae8bae8d..00000000000 --- a/Master/texmf-dist/doc/latex/hepthesis/example/csquotes.sty +++ /dev/null @@ -1,2414 +0,0 @@ -% $Id: csquotes.sty,v 3.7 2007/03/25 20:23:41 lehman stable $ - -% Copyright (c) 2003--2007 Philipp Lehman, author-maintained. -% -% Permission is granted to copy, distribute and/or modify this -% software under the terms of the LaTeX Project Public License -% (LPPL), version 1.3. -% -% This software is provided `as is', without warranty of any kind, -% either expressed or implied, including, but not limited to, the -% implied warranties of merchantability and fitness for a particular -% purpose. - -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{csquotes}[2007/03/25 v3.7 Quotation facilities] - -%% Compatibility and requirements - -\RequirePackage{keyval} - -\@ifpackageloaded{inputenc} - {} - {\AtBeginDocument{% - \@ifpackageloaded{inputenc} - {\csq@warning - {Load `inputenc' before `csquotes'} - {`inputenc' package loaded too late} - {Always load `inputenc' before `csquotes'}} - {}}} - -\@ifpackageloaded{ucs} - {\let\csq@ifucs\@firstoftwo} - {\let\csq@ifucs\@secondoftwo - \AtBeginDocument{% - \@ifpackageloaded{ucs} - {\let\csq@ifucs\@firstoftwo} - {}}} - -%% Category codes - -\def\csq@docatcodes{\do\~\do\&\do\:\do\"} -\def\do#1{\noexpand\do\noexpand#1{\the\catcode`#1}} -\edef\csq@docatcodes{\csq@docatcodes} - -\AtEndOfPackage{% - \def\do#1#2{\catcode`#1=#2\relax} - \csq@docatcodes - \let\csq@docatcodes\csq@undefined - \let\do\noexpand} - -\catcode`\~=\active -\catcode`\&=3 -\catcode`\:=12 -\catcode`\"=12 - -%% General things - -\newif\ifcsq@block -\newif\ifcsq@quiet -\newif\ifcsq@active - -\newcount\csq@reset -\newcount\csq@gtype -\newcount\csq@glevel -\newcount\csq@qlevel -\newcount\csq@tshold - -\def\csq@ifcsundefined#1{% - \begingroup - \expandafter\ifx\csname#1\endcsname\relax - \endgroup\expandafter\@firstoftwo - \else - \endgroup\expandafter\@secondoftwo - \fi} - -\def\csq@ifundefined#1{% - \begingroup - \escapechar\m@ne - \expandafter\csq@ifcsundefined - \expandafter{\string#1} - {\endgroup\@firstoftwo} - {\endgroup\@secondoftwo}} - -\providecommand{\@gobblethree}[3]{} -\providecommand{\@gobblefive}[5]{} - -% Hook management (and some syntactic sugar) - -\long\def\csq@add#1#2{% - \csq@ifundefined{#1}{\let#1\@empty}{}% - \begingroup - \toks@=\expandafter{#1#2}% - \edef#1{\endgroup\def\noexpand#1{\the\toks@}}#1} - -\long\def\csq@eadd#1#2{% - \csq@ifundefined{#1}{\let#1\@empty}{}% - \begingroup - \toks@=\expandafter{#1}% - \edef#1{\endgroup\def\noexpand#1{\the\toks@#2}}#1} - -\long\def\csq@gadd#1{% - \csq@ifundefined{#1}{\let#1\@empty}{}% - \g@addto@macro#1} - -\long\def\csq@xadd#1#2{% - \csq@ifundefined{#1}{\let#1\@empty}{}% - \begingroup - \toks@=\expandafter{#1}% - \xdef#1{\the\toks@#2}% - \endgroup} - -\def\csq@csdef#1{\expandafter\def\csname#1\endcsname} -\def\csq@csedef#1{\expandafter\edef\csname#1\endcsname} -\def\csq@csgdef#1{\expandafter\gdef\csname#1\endcsname} -\def\csq@csxdef#1{\expandafter\xdef\csname#1\endcsname} -\def\csq@csgadd#1{\expandafter\csq@gadd\csname#1\endcsname} -\def\csq@csxadd#1{\expandafter\csq@xadd\csname#1\endcsname} - -\def\csq@cslet#1#2{\expandafter\let\csname#1\endcsname#2} -\def\csq@letcs#1#2{\expandafter\let\expandafter#1\csname#2\endcsname} -\def\csq@csletcs#1{\expandafter\csq@letcs\csname#1\endcsname} - -% {}{}{} - -\def\csq@addto@list#1{% - \expandafter\csq@addto@list@i\csname\string#1\endcsname} -\def\csq@addto@list@i#1#2#3{% - \begingroup - \@tempswatrue - \def#3##1{\ifnum`#1=`##1\relax\@tempswafalse\fi}#2% - \expandafter\endgroup\if@tempswa - \csq@add#2{#3#1}% - \fi} - -\newtoks\csq@ltxeverypar -\def\csq@addto@everypar#1{% - \let\csq@everypar\everypar - \csq@ltxeverypar=\expandafter{\the\everypar}% - \csq@everypar={\the\csq@ltxeverypar#1}% - \let\everypar\csq@ltxeverypar - \let\csq@addto@everypar\@gobble} - -% Miscellaneous tests - -\long\def\csq@ifblank#1{% from url.sty - \csq@ifblank@i#1&&\@secondoftwo\@firstoftwo:} -\long\def\csq@ifblank@i#1#2#4#5:{#4} - -\providecommand*{\ifstringblank}{\csq@ifblank} - -\newcommand*{\ifblockquote}{% - \ifcsq@block - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi} - -\def\csq@ifsafeactives{% - \ifx\if@safe@actives\iftrue - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi} - -\def\csq@iftypeset{% - \ifx\protect\@typeset@protect - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi} - -\def\csq@ifstrings{% - \ifx\protect\string - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi} - -\def\csq@ifmmode{% - \ifmmode - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi} - -\def\csq@ifnested{% - \ifcsq@block - \expandafter\@firstoftwo - \else - \ifnum\csq@qlevel>\z@ - \expandafter\expandafter - \expandafter\@firstoftwo - \else - \expandafter\expandafter - \expandafter\@secondoftwo - \fi - \fi} - -% Parsers for UTF-8 - -\def\csq@string#1{\csq@string@i#1&} -\def\csq@string@i#1#2&{% - \string#1\csq@ifblank{#2}{}{\csq@string@i#2&}} - -\def\csq@number#1{\csq@number@i#1&} -\def\csq@number@i#1#2&{% - \number`#1 \csq@ifblank{#2}{}{.\csq@number@i#2&}} - -\def\csq@utfprint#1{u8:\csq@utfprint@i#1&} -\def\csq@utfprint@i#1#2&{% - \number`#1 \csq@ifblank{#2}{}{:\csq@utfprint@i#2&}} - -% Grouping control - -\csq@ifcsundefined{eTeXversion} - {\let\csq@bqgroup\begingroup - \let\csq@eqgroup\endgroup} - {\def\csq@bqgroup{% - \bgroup\leavevmode - \csq@glevel\currentgrouplevel - \csq@gtype\currentgrouptype} - \def\csq@eqgroup{% - \ifnum\csq@gtype=\currentgrouptype - \ifnum\csq@glevel=\currentgrouplevel - \else - \csq@err@mismatch{% - I have detected a group level mismatch. Verify that all - groups\MessageBreak and all active quotes are properly - balanced and nested. If you\MessageBreak continue, I - will write a summary of all previously opened - groups\MessageBreak to the transcript file}% - \aftergroup\showgroups - \fi - \else - \csq@err@mismatch{% - I have detected a group type mismatch. Verify that all - groups\MessageBreak and all active quotes are properly - balanced and nested. If you\MessageBreak continue, I - will write a summary of all previously opened - groups\MessageBreak to the transcript file}% - \aftergroup\showgroups - \fi - \egroup}} - -%% User feedback - -\def\csq@error#1#2{% - \PackageError{csquotes}{#1}{#2.}} - -\def\csq@warning@loose#1#2#3{% - \PackageWarning{csquotes}{#1}} -\def\csq@warning@strict#1#2#3{% - \PackageError{csquotes}{#2}{#3.}} -\let\csq@warning\csq@warning@loose - -\def\csq@info#1{% - \ifcsq@quiet - \else - \PackageInfo{csquotes}{#1\csq@noline}% - \fi} - -\let\csq@noline\@gobble -\AtEndOfPackage{\let\csq@noline\@empty} - -% Errors - -\def\csq@err@mismatch#1{% - \csq@errormark - \csq@error - {Unbalanced groups or invalid nesting} - {#1}} - -\def\csq@err@mmode#1{% - \csq@error - {`\string#1' invalid in math mode} - {This command may not be used in math mode}} - -\def\csq@err@notdef#1{% - \csq@error - {`\string#1' not defined} - {This command or environment environment appears to - be\MessageBreak undefined}} - -\def\csq@err@invldopt#1{% - \csq@error - {Option `#1' invalid} - {The option you have supplied is invalid. See the csquotes - manual\MessageBreak for valid option keys and their - possible values}} - -\def\csq@err@alloc{% - \csq@error - {Invalid argument} - {One of the arguments you have supplied is already allocated - as\MessageBreak active quote or delimiter}} - -\def\csq@err@invldchar{% - \csq@error - {Invalid argument} - {Only single characters with category code 12 or 13 may - be\MessageBreak allocated as active quotes. Numbers, - punctuation marks, and\MessageBreak characters which - are part of the LaTeX syntax or reserved\MessageBreak - for a specific purpose are invalid}} - -\def\csq@err@invldutf{% - \csq@error - {Invalid argument} - {Only valid UTF-8 sequences representing a single - character\MessageBreak may be allocated as active quotes}} - -\def\csq@err@ucs{% - \csq@error - {ucs package not supported} - {The ucs package is not supported. If you want to use - UTF-8\MessageBreak encoded active quotes, try - `\string\usepackage[utf8]{inputenc}'.\MessageBreak - If you continue now, I will reject all UTF-8 encoded - arguments\MessageBreak as invalid}} - -\def\csq@err@nbquote{% - \csq@err@mismatch{% - You have nested a block quotation. Block quotation - commands\MessageBreak may only be used on quotation level 0}}% - -% Warnings - -\def\csq@warn@nobabel#1{% - \csq@warning - {The `babel' package is not available.\MessageBreak #1} - {#1} - {Load the `babel' package to use this feature}} - -\def\csq@warn@noomega#1{% - \csq@warning - {Quote style `#1' requires Omega.\MessageBreak - Some features will be missing} - {Quote style `#1' requires Omega} - {Compile the document with `lambda' instead of `latex'}} - -\def\csq@warn@location#1{% - \csq@warning - {`\string#1' invalid at this point.\MessageBreak - Ignoring command} - {`\string#1' invalid at this point} - {This command may not be used at this particular - point.\MessageBreak See the user manual of the `csquotes' - package for details}} - -\def\csq@warn@legacy#1#2{% - \csq@warning - {`\string#1' is deprecated.\MessageBreak - Using `\string#2' instead} - {`\string#1' is deprecated} - {Please use `\string#2' instead}% - \let#1#2#2} - -%% Opening quotation mark - -% Outer marks - -\def\csq@oqmark{% - \ifnum\csq@qlevel>\z@ - \csq@err@mismatch{% - Level 1 quote group invalid at this point: - the current level is \the\csq@qlevel}% - \csq@bqgroup - \advance\csq@qlevel\@ne - \let\csq@oqmark\csq@qerror - \else - \csq@bqgroup - \csq@qlevel\@ne - \csq@resetstyle - \csq@init - \let\csq@oqmark\csq@qclose - \let\csq@kerntok@i\csq@theqmark@oopen - \csq@theqmark@oopen - \csq@setmark@open - \expandafter\csq@restkern - \fi} - -% Inner marks - -\def\csq@iqmark{% - \ifnum\csq@qlevel>\@ne - \csq@err@mismatch{% - Level 2 quote group invalid at this point: - the current level is \the\csq@qlevel}% - \csq@bqgroup - \advance\csq@qlevel\@ne - \let\csq@iqmark\csq@qerror - \else - \csq@bqgroup - \csq@qlevel\tw@ - \csq@resetstyle - \csq@init - \let\csq@iqmark\csq@qclose - \csq@addkern@open - \csq@theqmark@iopen - \fi} - -% Nestable marks - -\def\csq@qopen{% - \csq@bqgroup\csq@qopen@i} - -\def\csq@qopen@i{% - \ifnum\csq@qlevel>\@ne - \csq@err@mismatch{% - New quote group invalid at this point: - the current level is \the\csq@qlevel}% - \advance\csq@qlevel\@ne - \else - \advance\csq@qlevel\@ne - \csq@resetstyle - \csq@init - \ifnum\csq@qlevel=\@ne - \let\csq@kerntok@i\csq@theqmark@oopen - \csq@theqmark@oopen - \csq@setmark@open - \expandafter\expandafter - \expandafter\csq@restkern - \else - \csq@addkern@open - \csq@theqmark@iopen - \fi - \fi} - -\def\csq@iqopen{% - \csq@bqgroup\csq@iqopen@i} - -\def\csq@iqopen@i{% - \ifnum\csq@qlevel>\@ne - \csq@err@mismatch{% - Level 2 quote group invalid at this point: - the current level is \the\csq@qlevel}% - \advance\csq@qlevel\@ne - \else - \csq@qlevel\tw@ - \csq@resetstyle - \csq@init - \csq@addkern@open - \csq@theqmark@iopen - \fi} - -%% Closing quotation mark - -\def\csq@qclose{% - \ifnum\csq@qlevel=\@ne - \ifdim\lastkern=\csq@frenchmark - \unkern\unkern - \csq@eqgroup - \else - \csq@addkern@close - \csq@theqmark@oclose - \let\csq@kerntok@i\csq@theqmark@oclose - \csq@qclose@i - \expandafter\expandafter - \expandafter\csq@restkern - \fi - \else - \ifnum\csq@qlevel=\tw@ - \csq@theqmark@iclose - \csq@setmark@close - \let\csq@kerntok@i\csq@theqmark@iclose - \csq@qclose@i - \expandafter\expandafter - \expandafter\csq@restkern - \else - \ifnum\csq@qlevel>\z@ - \csq@qerror - \else - \csq@err@mismatch{% - Cannot close the current quote group: - the current level is \the\csq@qlevel}% - \fi - \fi - \fi} - -\def\csq@qclose@i{% - \expandafter\def - \expandafter\csq@tempa - \expandafter{% - \expandafter\csq@eqgroup - \expandafter\def - \expandafter\csq@kerntok@i - \expandafter{\csq@kerntok@i}}% - \csq@tempa} - -\def\csq@qerror{% - \csq@eqgroup - \csq@errormark} - -%% Style initialization - -\def\csq@init{% - \csq@setsfcodes - \ifnum\csq@qlevel=\@ne - \csq@theqmark@oinit - \ifx\csq@theqmark@omiddle\@empty - \else - \let\csq@theeverypar\csq@theqmark@omiddle - \leavevmode - \csq@addto@everypar{\csq@theeverypar}% - \fi - \begingroup - \settowidth{\@tempdima}{% - \csq@theqmark@oopen\csq@theqmark@iopen}% - \settowidth{\@tempdimb}{% - \csq@theqmark@oopen\unkern\csq@theqmark@iopen}% - \ifdim\@tempdima=\@tempdimb - \def\csq@tempa{\endgroup - \let\csq@thekern@open\csq@theqmark@kern}% - \else - \addtolength{\@tempdima}{-\@tempdimb}% - \edef\csq@tempa{\endgroup - \def\noexpand\csq@thekern@open{\the\@tempdima}}% - \fi - \csq@tempa - \begingroup - \settowidth{\@tempdima}{% - \csq@theqmark@iclose\csq@theqmark@oclose}% - \settowidth{\@tempdimb}{% - \csq@theqmark@iclose\unkern\csq@theqmark@oclose}% - \ifdim\@tempdima=\@tempdimb - \def\csq@tempa{\endgroup - \let\csq@thekern@close\csq@theqmark@kern}% - \else - \addtolength{\@tempdima}{-\@tempdimb}% - \edef\csq@tempa{\endgroup - \def\noexpand\csq@thekern@close{\the\@tempdima}}% - \fi - \csq@tempa - \fi - \ifnum\csq@qlevel=\tw@ - \csq@theqmark@iinit - \ifx\csq@theqmark@imiddle\@empty - \else - \let\csq@theeverypar\csq@theqmark@imiddle - \leavevmode - \csq@addto@everypar{\csq@theeverypar}% - \fi - \fi} - -\csq@add\@parboxrestore{% - \let\csq@bquote@i\csq@bquote@iii - \csq@qlevel\z@ - \csq@blockfalse} - -%% Restore kerning - -\def\csq@restkern{% - \expandafter\expandafter\expandafter - \expandafter\expandafter\expandafter - \expandafter\csq@restkern@i} - -\def\csq@restkern@i{% - \futurelet\csq@kerntok@ii\csq@restkern@ii} - -\def\csq@restkern@ii{% - \ifcat a\noexpand\csq@kerntok@ii - \expandafter\csq@restkern@iii - \fi - \ifcat 1\noexpand\csq@kerntok@ii - \expandafter\csq@restkern@iii - \fi} - -\def\csq@restkern@iii{% - \begingroup - \settowidth{\@tempdima}{% - \csq@kerntok@i\csq@kerntok@ii}% - \settowidth{\@tempdimb}{% - \csq@kerntok@i\relax\csq@kerntok@ii}% - \ifdim\@tempdima=\@tempdimb - \else - \addtolength{\@tempdima}{-\@tempdimb}% - \penalty\@M\hskip\@tempdima\relax - \fi - \endgroup} - -%% Detect and kern adjoining quotes - -\def\csq@kernmark{13sp} -\def\csq@frenchmark{17sp} -\let\csq@themark\csq@kernmark - -\def\csq@setmark@open{% - \penalty\@M - \hskip-\csq@themark\relax - \hskip\csq@themark\relax} - -\def\csq@setmark@close{% - \kern-\csq@themark - \kern\csq@themark} - -\def\csq@addkern@open{% - \ifdim\lastskip=\csq@kernmark - \unskip\unskip\unpenalty - \unkern % EC fix - \ifdim\csq@thekern@open=\z@ - \else - \penalty\@M\hskip\csq@thekern@open\relax - \fi - \fi} - -\def\csq@addkern@close{% - \ifdim\lastkern=\csq@kernmark - \unkern\unkern - \ifdim\csq@thekern@close=\z@ - \else - \penalty\@M\hskip\csq@thekern@close\relax - \fi - \fi} - -%% Punctuation - -% 1001 apostrophe (biblatex) -% 1002 abbreviation dot (biblatex) -% 1003/1250 comma -% 1004/1500 semicolon -% 1005/2000 colon -% 1006/3000 period -% 1007/3001 exclamation mark -% 1008/3002 question mark -% 1009 suppress punctuation (biblatex) - -\def\csq@setsfcodes{% - \csq@ifcsundefined{csq@sfcodes@\f@encoding} - {} - {\@nameuse{csq@sfcodes@\f@encoding}}% - \sfcode`\)=\z@ - \sfcode`\]=\z@ - \ifnum\sfcode`\.>2000 - \csq@setencodes - \else - \csq@setfrcodes - \fi - \let\frenchspacing\csq@setfrcodes - \let\nonfrenchspacing\csq@setencodes} - -\def\csq@setfrcodes{% - \sfcode`\,=1003 - \sfcode`\;=1004 - \sfcode`\:=1005 - \sfcode`\.=1006 - \sfcode`\!=1007 - \sfcode`\?=1008 -} - -\def\csq@setencodes{% - \sfcode`\,=1250 - \sfcode`\;=1500 - \sfcode`\:=2000 - \sfcode`\.=3000 - \sfcode`\!=3001 - \sfcode`\?=3002 -} - -\csq@csdef{csq@sfactor@1250}{1003} -\csq@csdef{csq@sfactor@1500}{1004} -\csq@csdef{csq@sfactor@2000}{1005} -\csq@csdef{csq@sfactor@3000}{1006} -\csq@csdef{csq@sfactor@3001}{1007} -\csq@csdef{csq@sfactor@3002}{1008} - -\def\csq@spacefactor{% - \ifhmode - \@ifundefined{csq@sfactor@\the\spacefactor} - {\the\spacefactor} - {\@nameuse{csq@sfactor@\the\spacefactor}}% - \else - 1000% - \fi} - -\newcommand*{\ifquotepunct}{% - \ifnum\csq@spacefactor>1002 - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi} - -\newcommand*{\ifquotecomma}{% - \ifnum\csq@spacefactor=1003 - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi} - -\newcommand*{\ifquotesemicolon}{% - \ifnum\csq@spacefactor=1004 - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi} - -\newcommand*{\ifquotecolon}{% - \ifnum\csq@spacefactor=1005 - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi} - -\newcommand*{\ifquoteterm}{% - \ifnum\csq@spacefactor>1005 - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi} - -\newcommand*{\ifquoteperiod}{% - \ifnum\csq@spacefactor=1006 - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi} - -\newcommand*{\ifquoteexclam}{% - \ifnum\csq@spacefactor=1007 - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi} - -\newcommand*{\ifquotequestion}{% - \ifnum\csq@spacefactor=1008 - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi} - -%% Babel interface - -\def\csq@setstyle#1{% - \begingroup - \let\if@safe@actives\iftrue - \csq@ifcsundefined{csq@qstyle@#1} - {\csq@warning - {Quote style `#1' not defined.\MessageBreak Ignoring command} - {Quote style `#1' not defined} - {Define the style or alias first} - \endgroup} - {\edef\csq@tempa{\endgroup - \def\noexpand\csq@currentstyle{#1}% - \noexpand\@nameuse{csq@qstyle@#1}}% - \csq@tempa}} - -\def\csq@resetstyle{% - \ifnum\csq@reset=\@ne - \ifx\csq@currentstyle\languagename - \else - \csq@ifcsundefined{csq@qstyle@\languagename} - {\csq@warning - {No style for language `\languagename'.\MessageBreak - Using fallback style} - {No style for language `\languagename'} - {Define a style or alias for this language first}% - \csq@setstyle{fallback}} - {\csq@setstyle{\languagename}}% - \fi - \fi} - -\def\csq@savelang{% - \csq@ifcsundefined{csq@mainlang} - {\edef\csq@mainlang{\languagename}} - {}} - -\def\csq@resetlang{% - \csq@ifcsundefined{csq@mainlang} - {} - {\@nameuse{otherlanguage*}{\csq@mainlang}}} - -% \lowercase: workaround for page headers of book.cls et al. - -\def\csq@lang#1{% - \csq@savelang - \lowercase{\@nameuse{otherlanguage*}{#1}}} - -\def\csq@nolang#1{% - \begingroup - \lowercase{\def\csq@tempa{#1}}% - \csq@warn@nobabel{Cannot switch to language `\csq@tempa'}% - \endgroup} - -\def\csq@hyph#1{% - \csq@savelang - \lowercase{\hyphenrules{#1}}} - -\def\csq@nohyph#1{% - \begingroup - \lowercase{\def\csq@tempa{#1}}% - \csq@warn@nobabel{No hyphenation rules for `\csq@tempa'}% - \endgroup} - -\csq@add\csq@mkbabel{% - \csq@add\@parboxrestore{\csq@resetlang}% - \csq@ifcsundefined{l@usenglish} - {\csq@ifcsundefined{l@USenglish} - {} - {\let\l@usenglish\l@USenglish}} - {}% - \csq@ifcsundefined{l@ukenglish} - {\csq@ifcsundefined{l@UKenglish} - {} - {\let\l@ukenglish\l@UKenglish}} - {}% - \ifcase\csq@reset - \or - \or - \csq@info{Enabling multilingual support}% - \csq@reset\@ne - \else - \csq@info{Adjusting default style}% - \DeclareQuoteAlias{\bbl@main@language}{default}% - \fi} - -\csq@add\csq@mknobabel{% - \ifcase\csq@reset - \or - \csq@warn@nobabel{Cannot enable multilingual support}% - \or - \or - \csq@warn@nobabel{Cannot adjust default style}% - \fi - \csq@reset\z@ - \def\csq@resetqstyle{% - \csq@warn@nobabel{Cannot enable multilingual support}}% - \let\csq@lang\csq@nolang - \let\csq@hyph\csq@nohyph} - -%% Markup with control sequences - -% Argument parsers - -% {}[][] => -% {\mkcitation}{}{} - -\def\csq@getcargs#1{% - \@ifnextchar[%] - {\csq@getcargs@i{#1}} - {\csq@getcargs@i{#1}[]}} - -\long\def\csq@getcargs@i#1[#2]{% - \@ifnextchar[%] - {\csq@getcargs@ii{#1}{#2}} - {\csq@getcargs@ii{#1}{#2}[]}} - -\long\def\csq@getcargs@ii#1#2[#3]{% - #1{\mkcitation}{#2}{#3}} - -% {}[][]{}[] => -% {\mkccitation}{\csq@cite[][]{}}{} - -\def\csq@getccargs#1{% - \@ifnextchar[%] - {\csq@getccargs@i{#1}{}} - {\csq@getccargs@ii{#1}{}}} - -\long\def\csq@getccargs@i#1#2[#3]{% - \@ifnextchar[%] - {\csq@getccargs@i{#1}{#2[{#3}]}} - {\csq@getccargs@ii{#1}{#2[{#3}]}}} - -\long\def\csq@getccargs@ii#1#2#3{% - \@ifnextchar[%] - {\csq@getccargs@iii{#1}{#2}{#3}} - {\csq@getccargs@iii{#1}{#2}{#3}[]}} - -\long\def\csq@getccargs@iii#1#2#3[#4]{% - #1{\mkccitation}{\csq@cite#2{#3}}{#4}} - -% Plain quotes - -\DeclareRobustCommand*{\enquote}{% - \csq@ifmmode - {\csq@err@mmode\enquote} - {\@ifstar - {\csq@quote@ii{}} - {\csq@quote@i{}}}} - -\long\def\csq@quote@i#1#2{% - \csq@bqgroup #1\csq@qopen@i #2\csq@qclose} -\long\def\csq@quote@ii#1#2{% - \csq@bqgroup #1\csq@iqopen@i #2\csq@qclose} - -% Plain quotes + babel - -\DeclareRobustCommand*{\foreignquote}{% - \csq@ifmmode - {\csq@err@mmode\foreignquote} - {\@ifstar\csq@fquote@ii\csq@fquote@i}} - -\def\csq@fquote@i#1{\csq@quote@i{\csq@lang{#1}}} -\def\csq@fquote@ii#1{\csq@quote@ii{\csq@lang{#1}}} - -\DeclareRobustCommand*{\hyphenquote}{% - \csq@ifmmode - {\csq@err@mmode\hyphenquote} - {\@ifstar\csq@hquote@ii\csq@hquote@i}} - -\def\csq@hquote@i#1{\csq@quote@i{\csq@hyph{#1}}} -\def\csq@hquote@ii#1{\csq@quote@ii{\csq@hyph{#1}}} - -% PDF strings - -\long\def\csq@pdf@quote#1{% - \if#1*\relax - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi - {\csq@pdf@quote@ii} - {\csq@pdf@quote@i{#1}}} - -\long\def\csq@pdf@quote@i#1{% - \csq@pdf@ooqmark #1\csq@pdf@coqmark} -\long\def\csq@pdf@quote@ii#1{% - \csq@pdf@oiqmark #1\csq@pdf@ciqmark} - -\long\def\csq@pdf@fquote#1{% - \if#1*\relax - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi - {\expandafter\csq@pdf@quote@ii\@gobble} - {\csq@pdf@quote@i}} - -\csq@add\csq@mkhyperref{% - \let\enquote\csq@pdf@quote - \let\foreignquote\csq@pdf@fquote - \let\hyphenquote\csq@pdf@fquote} - -% Text quotes - -\DeclareRobustCommand*{\textquote}{% - \csq@ifmmode - {\csq@err@mmode\textquote} - {\@ifstar - {\csq@getcargs{\csq@tquote{\csq@iqopen@i}}} - {\csq@getcargs{\csq@tquote{\csq@qopen@i}}}}} - -% {}{}{}{}{} - -\long\def\csq@tquote#1#2#3#4#5{% - \csq@bqgroup - \def\csq@tempa{% - \mkpretextpunct{#4}% - \csq@qclose - \mkmidtextpunct{#4}}% - \csq@ifblank{#3} - {} - {\csq@add\csq@tempa{#2{#3}}}% - #1\quotetext#5\endquotetext - \csq@tempa\mkfintextpunct{#4}} - -% Text quotes + babel - -\DeclareRobustCommand*{\foreigntextquote}{% - \csq@ifmmode - {\csq@err@mmode\foreigntextquote} - {\@ifstar\csq@ftquote@ii\csq@ftquote@i}} - -\def\csq@ftquote@i#1{% - \csq@getcargs{\csq@tquote{\csq@lang{#1}\csq@qopen@i}}} -\def\csq@ftquote@ii#1{% - \csq@getcargs{\csq@tquote{\csq@lang{#1}\csq@iqopen@i}}} - -\DeclareRobustCommand*{\hyphentextquote}{% - \csq@ifmmode - {\csq@err@mmode\hyphentextquote} - {\@ifstar\csq@htquote@ii\csq@htquote@i}} - -\def\csq@htquote@i#1{% - \csq@getcargs{\csq@tquote{\csq@hyph{#1}\csq@qopen@i}}} -\def\csq@htquote@ii#1{% - \csq@getcargs{\csq@tquote{\csq@hyph{#1}\csq@iqopen@i}}} - -% Integrated text quotes - -\DeclareRobustCommand*{\textcquote}{% - \csq@ifmmode - {\csq@err@mmode\textcquote} - {\@ifstar - {\csq@getccargs{\csq@tquote{\csq@iqopen@i}}} - {\csq@getccargs{\csq@tquote{\csq@qopen@i}}}}} - -% Integrated text quotes + babel - -\DeclareRobustCommand*{\foreigntextcquote}{% - \csq@ifmmode - {\csq@err@mmode\foreigntextcquote} - {\@ifstar\csq@ftcquote@ii\csq@ftcquote@i}} - -\def\csq@ftcquote@i#1{% - \csq@getccargs{\csq@tquote{\csq@lang{#1}\csq@qopen@i}}} -\def\csq@ftcquote@ii#1{% - \csq@getccargs{\csq@tquote{\csq@lang{#1}\csq@iqopen@i}}} - -\DeclareRobustCommand*{\hyphentextcquote}{% - \csq@ifmmode - {\csq@err@mmode\hyphentextcquote} - {\@ifstar\csq@htcquote@ii\csq@htcquote@i}} - -\def\csq@htcquote@i#1{% - \csq@getccargs{\csq@tquote{\csq@hyph{#1}\csq@qopen@i}}} -\def\csq@htcquote@ii#1{% - \csq@getccargs{\csq@tquote{\csq@hyph{#1}\csq@iqopen@i}}} - -% PDF strings - -\csq@add\csq@mkhyperref{% - \def\textquote{\pdfstringdefWarn\textquote}% - \def\foreigntextquote{\pdfstringdefWarn\foreigntextquote}% - \def\hyphentextquote{\pdfstringdefWarn\hyphentextquote}% - \def\textcquote{\pdfstringdefWarn\textcquote}% - \def\foreigntextcquote{\pdfstringdefWarn\foreigntextcquote}% - \def\hyphentextcquote{\pdfstringdefWarn\hyphentextcquote}} - -% Block quotes - -\DeclareRobustCommand*{\blockquote}{% - \csq@ifmmode - {\csq@err@mmode\blockquote} - {\csq@getcargs{\csq@bquote{}}}} - -\def\csq@bquote{% - \csq@ifnested - {\csq@err@nbquote\@gobblefive} - {\ifinner - \expandafter\csq@bquote@iii - \else - \expandafter\csq@bquote@i - \fi}} - -% {}{}{}{}{} - -\long\def\csq@bquote@i#1#2#3#4#5{% - \begingroup - \def\@elt##1{\global\value{##1}\the\value{##1}\relax}% - \edef\csq@tempa{\cl@@ckpt}% - \let\@elt\relax - \csq@mkblockquote - \@fileswfalse - \csq@blockfalse - \setbox\@tempboxa=\vbox{% - \def\par{\aftergroup\csq@blocktrue\@par}% - \parfillskip\z@ \@plus 1fil\relax - \parindent\z@ - \vrule \@height1\baselineskip \@width\z@ #1#5}% - \ifdim\ht\@tempboxa>\csq@tshold\baselineskip - \csq@blocktrue - \fi - \ifcsq@block - \aftergroup\@firstoftwo - \else - \aftergroup\@secondoftwo - \fi - \csq@tempa - \endgroup - \csq@bquote@ii\csq@bquote@iii{#1}{#2}{#3}{#4}{#5}} - -\let\csq@nbgobble\@firstofone - -\def\csq@mkblockquote{% - \let\csq@nbgobble\@gobble - \let\csq@bquote\@gobblefive - \let\csq@error\@gobbletwo - \let\csq@warning\@gobblethree - \let\csq@info\@gobble - \let\label\@gobble - \let\index\@gobble - \let\glossary\@gobble} - -\long\def\csq@bquote@ii#1#2#3#4#5{% - \begin{\csq@blockenvironment}% - \csq@blocktrue - \begingroup#1% - \csq@setsfcodes - \quoteblock - #5% - \mkpreblockpunct{#4}% - \endquoteblock - \mkmidblockpunct{#4}% - \endgroup - \csq@ifblank{#3} - {} - {#2{#3}}% - \mkfinblockpunct{#4}% - \end{\csq@blockenvironment}} - -\long\def\csq@bquote@iii#1#2#3#4#5{% - \csq@bqgroup - \def\csq@tempa{% - \mkpreblockpunct{#4}% - \csq@qclose - \mkmidblockpunct{#4}}% - \csq@ifblank{#3} - {} - {\csq@add\csq@tempa{#2{#3}}}% - #1\csq@qopen@i\quotetext#5\endquotetext - \csq@tempa\mkfinblockpunct{#4}} - -\newcommand*{\BlockquoteDisable}[1]{% - \begingroup - \toks@=\expandafter{\csq@mkblockquote}% - \@temptokena={#1}% - \xdef\csq@mkblockquote{\the\toks@ \the\@temptokena}% - \endgroup} - -% Block quotes + babel - -\DeclareRobustCommand*{\foreignblockquote}[1]{% - \csq@ifmmode - {\csq@err@mmode\foreignblockquote} - {\csq@getcargs{\csq@bquote{\csq@lang{#1}}}}} - -\DeclareRobustCommand*{\hyphenblockquote}[1]{% - \csq@ifmmode - {\csq@err@mmode\hyphenblockquote} - {\csq@getcargs{\csq@bquote{\csq@hyph{#1}}}}} - -% Integrated block quotes - -\DeclareRobustCommand*{\blockcquote}{% - \csq@ifmmode - {\csq@err@mmode\blockcquote} - {\csq@getccargs{\csq@bquote{}}}} - -% Integrated block quotes + babel - -\DeclareRobustCommand*{\foreignblockcquote}[1]{% - \csq@ifmmode - {\csq@err@mmode\foreignblockcquote} - {\csq@getccargs{\csq@bquote{\csq@lang{#1}}}}} - -\DeclareRobustCommand*{\hyphenblockcquote}[1]{% - \csq@ifmmode - {\csq@err@mmode\hyphenblockcquote} - {\csq@getccargs{\csq@bquote{\csq@hyph{#1}}}}} - -% PDF strings - -\csq@add\csq@mkhyperref{% - \def\blockquote{\pdfstringdefWarn\blockquote}% - \def\foreignblockquote{\pdfstringdefWarn\foreignblockquote}% - \def\hyphenblockquote{\pdfstringdefWarn\hyphenblockquote}% - \def\blockcquote{\pdfstringdefWarn\blockcquote}% - \def\foreignblockcquote{\pdfstringdefWarn\foreignblockcquote}% - \def\hyphenblockcquote{\pdfstringdefWarn\hyphenblockcquote}} - -% Display quotes - -\newenvironment*{displayquote} - {\csq@getcargs{\csq@dquote{}}} - {\csq@edquote} - -% {}{}{}{} - -\def\csq@dquote#1#2#3#4{% - \csq@ifblank{#3} - {\let\csq@tempb\@empty} - {\def\csq@tempb{#2{#3}}}% - \def\csq@tempc{#4}% - \csq@bdquote{#1}} - -\def\csq@bdquote#1{% - \@nameuse{\csq@blockenvironment}% - \csq@blocktrue - \begingroup#1% - \csq@setsfcodes - \quoteblock} - -\def\csq@edquote{% - \ifdim\lastskip>\z@\unskip\fi - \expandafter\mkpredisppunct - \expandafter{\csq@tempc}% - \endquoteblock - \expandafter\mkmiddisppunct - \expandafter{\csq@tempc}% - \endgroup - \csq@tempb - \expandafter\mkfindisppunct - \expandafter{\csq@tempc}% - \@nameuse{end\csq@blockenvironment}} - -% Display quotes + babel - -\newenvironment*{foreigndisplayquote}[1] - {\csq@getcargs{\csq@dquote{\csq@lang{#1}}}} - {\csq@edquote} - -\newenvironment*{hyphendisplayquote}[1] - {\csq@getcargs{\csq@dquote{\csq@hyph{#1}}}} - {\csq@edquote} - -% Integrated display quotes - -\newenvironment*{displaycquote} - {\csq@getccargs{\csq@dcquote{}}} - {\csq@edquote} - -% {}{}{}{} - -\def\csq@dcquote#1#2#3#4{% - \def\csq@tempb{#2{#3}}% - \def\csq@tempc{#4}% - \csq@bdquote{#1}} - -% Integrated display quotes + babel - -\newenvironment*{foreigndisplaycquote}[1] - {\csq@getccargs{\csq@dcquote{\csq@lang{#1}}}} - {\csq@edquote} - -\newenvironment*{hyphendisplaycquote}[1] - {\csq@getccargs{\csq@dcquote{\csq@hyph{#1}}}} - {\csq@edquote} - -% Hooks - -\newcommand*{\mkcitation}[1]{\space(#1)} -\newcommand*{\mkccitation}[1]{\space#1} - -\newcommand*{\mkpretextpunct}[1]{} -\newcommand*{\mkmidtextpunct}[1]{} -\newcommand*{\mkfintextpunct}[1]{#1} -\newcommand*{\mkpreblockpunct}[1]{} -\newcommand*{\mkmidblockpunct}[1]{} -\newcommand*{\mkfinblockpunct}[1]{#1} -\newcommand*{\mkpredisppunct}[1]{} -\newcommand*{\mkmiddisppunct}[1]{} -\newcommand*{\mkfindisppunct}[1]{#1} - -\newenvironment*{quotetext}{}{} -\newenvironment*{quoteblock}{}{} - -% Legacy commands - -\newcommand*{\cquote}{% - \csq@warn@legacy\cquote\textcquote} -\newcommand*{\foreigncquote}{% - \csq@warn@legacy\foreigncquote\foreigntextcquote} -\newcommand*{\hyphencquote}{% - \csq@warn@legacy\hyphencquote\hyphentextcquote} - -%% Markup with active characters - -\let\csq@dospecials\@empty -\let\csq@doutfspecials\@empty - -\def\csq@do@dospecial#1#2{% - \ifnum\catcode`#1=\active - \csq@info{Redefining character \string#1}% - \csq@letspecial{#1}{csq@special@\number`#1}% - \else - \csq@info{Making character \string#1 active}% - \csq@letspecial{#1}{csq@special@\number`#1}% - \catcode`#1=\active - \fi} - -\def\csq@do@undospecial#1#2{% - \ifnum#2=\active - \csq@info{Resetting character \string#1}% - \csq@letspecial{#1}{csq@saved@\number`#1}% - \else - \csq@info{Resetting catcode of \string#1}% - \catcode`#1=#2\relax - \fi} - -\def\csq@do@verbspecial#1#2{% - \csq@info{Redefining character \string#1}% - \ifnum`#1<128\relax - \csq@edefspecial{#1}{\string#1}% - \else - \csq@letspecial{#1}{csq@saved@\number`#1}% - \fi} - -\def\csq@do@doutfspecial#1{% - \csq@info{Redefining character \csq@utfprint{#1}}% - \csq@csletcs{u8:\csq@string{#1}}{csq@special@\csq@number{#1}}} - -\def\csq@do@undoutfspecial#1{% - \csq@info{Resetting character \csq@utfprint{#1}}% - \csq@csletcs{u8:\csq@string{#1}}{csq@saved@\csq@number{#1}}} - -\def\csq@do@delspecial#1#2{% - \csq@info{Deallocating character \string#1}% - \csq@cslet{csq@special@\number`#1}\csq@undefined - \csq@cslet{csq@saved@\number`#1}\csq@undefined - \csq@cslet{csq@string@\number`#1}\csq@undefined - \csq@cslet{csq@textdef@\number`#1}\csq@undefined - \csq@cslet{csq@xtxtdef@\number`#1}\csq@undefined - \csq@cslet{csq@pdfdef@\number`#1}\csq@undefined} - -\def\csq@do@delutfspecial#1{% - \csq@info{Deallocating character \csq@utfprint{#1}}% - \csq@cslet{csq@special@\csq@number{#1}}\csq@undefined - \csq@cslet{csq@saved@\csq@number{#1}}\csq@undefined - \csq@cslet{csq@string@\csq@number{#1}}\csq@undefined - \csq@cslet{csq@textdef@\csq@number{#1}}\csq@undefined - \csq@cslet{csq@xtxtdef@\csq@number{#1}}\csq@undefined - \csq@cslet{csq@pdfdef@\csq@number{#1}}\csq@undefined} - -\def\csq@mkenable{% - \let\do\csq@do@dospecial - \csq@dospecials - \let\do\csq@do@doutfspecial - \csq@doutfspecials - \let\do\noexpand - \csq@activetrue} - -\def\csq@mkdisable{% - \ifcsq@active - \let\do\csq@do@undospecial - \csq@dospecials - \let\do\csq@do@undoutfspecial - \csq@doutfspecials - \let\do\noexpand - \csq@activefalse - \fi} - -\def\csq@mkverbatim{% - \ifcsq@active - \let\do\csq@do@verbspecial - \csq@dospecials - \let\do\csq@do@undoutfspecial - \csq@doutfspecials - \let\do\noexpand - \fi} - -\def\csq@mkdelete{% - \csq@mkdisable - \let\do\csq@do@delspecial - \csq@dospecials - \let\do\csq@do@delutfspecial - \csq@doutfspecials - \let\do\noexpand - \let\csq@dospecials\@empty - \let\csq@doutfspecials\@empty - \let\csq@mkpdfstrings\@empty} - -\let\csq@mkpdfstrings\@empty -\csq@add\csq@mkhyperref{\csq@mkpdfstrings} - -\csq@ifcsundefined{inpenc@prehook}% inputenc 2006/05/05 v1.1b - {} - {\addto@hook\inpenc@prehook{% - \csq@info{Input encoding change}% - \csq@mkdelete}} - -% Regular specials - -% {}{}{}{} - -\def\csq@addspecial#1#2#3#4{% - \csq@validate{#1} - {\csq@addspecial@i@s{#1}{\csqQQ}{#2}{#3}{#4}} - {\csq@addspecial@i@u{#1}{\csqQQ}{#2}{#3}{#4}}} - -% {}{}{}{}{} - -\def\csq@addspecial@i@s#1#2#3#4#5{% - \csq@info{Allocating character \string#1}% - \csq@csedef{csq@special@\number`#1}{\noexpand#2{\number`#1}}% - \ifnum\catcode`#1=\active - \csq@cslet{csq@saved@\number`#1}{#1}% - \else - \csq@csdef{csq@saved@\number`#1}{#1}% - \fi - \csq@csedef{csq@string@\number`#1}{\string#1}% - \csq@csdef{csq@textdef@\number`#1}{#3}% - \csq@ifblank{#5} - {\csq@csdef{csq@pdfdef@\number`#1}{#4}} - {\csq@add\csq@mkpdfstrings{\csq@defpspecial{#1}{#4}{#5}}}% - \csq@eadd\csq@dospecials{\noexpand\do{\string#1}{\the\catcode`#1}}% - \ifnum`#1<128\relax - \csq@addto@list{#1}{\dospecials}{\do}% - \csq@addto@list{#1}{\@sanitize}{\@makeother}% - \fi} - -% {}{}{}{}{} - -\def\csq@addspecial@i@u#1#2#3#4#5{% - \csq@info{Allocating character \csq@utfprint{#1}}% - \csq@csedef{csq@special@\csq@number{#1}}{% - \noexpand#2{\csq@number{#1}}}% - \csq@ifcsundefined{u8:\csq@string{#1}} - {\csq@error - {\csq@utfprint{#1} not supported by inputenc} - {This UTF-8 sequence does not seem to be supported by the - inputenc\MessageBreak package}% - \csq@csdef{csq@saved@\csq@number{#1}}{}} - {\csq@csletcs{csq@saved@\csq@number{#1}}{u8:\csq@string{#1}}}% - \csq@csedef{csq@string@\csq@number{#1}}{\csq@string{#1}}% - \csq@csdef{csq@textdef@\csq@number{#1}}{#3}% - \csq@ifblank{#5} - {\csq@csdef{csq@pdfdef@\csq@number{#1}}{#4}} - {\csq@add\csq@mkpdfstrings{\csq@defupspecial{#1}{#4}{#5}}}% - \csq@eadd\csq@doutfspecials{\noexpand\do{\csq@string{#1}}}} - -% Block specials - -% {}{}{}{} - -\def\csq@addbspecial#1#2#3#4{% - \csq@validate{#1} - {\csq@addbspecial@i@s{#1}{#2}{#3}{#4}} - {\csq@addbspecial@i@u{#1}{#2}{#3}{#4}}} - -\def\csq@addbspecial@i@s#1#2#3#4{% - \begingroup - \def\csq@tempa{\endgroup\csq@addspecial@i@s{#1}{\csqBQ}{}}% - \csq@eadd\csq@tempa{% - {\expandafter\noexpand\csname csq@saved@\number`#1\endcsname - \noexpand\pdfstringdefWarn{\string#1}}{}}% - \csq@tempa - \csq@validate{#2} - {\csq@addbspecial@ii@s{\number`#1}{#2}{#3}{#4}} - {\csq@addbspecial@ii@u{\number`#1}{#2}{#3}{#4}}} - -\def\csq@addbspecial@i@u#1#2#3#4{% - \begingroup - \def\csq@tempa{\endgroup\csq@addspecial@i@u{#1}{\csqBQ}{}}% - \csq@eadd\csq@tempa{% - {\expandafter\noexpand\csname csq@saved@\csq@number{#1}\endcsname - \noexpand\pdfstringdefWarn{\csq@utfprint{#1}}}{}}% - \csq@tempa - \csq@validate{#2} - {\csq@addbspecial@ii@s{\csq@number{#1}}{#2}{#3}{#4}} - {\csq@addbspecial@ii@u{\csq@number{#1}}{#2}{#3}{#4}}} - -\def\csq@addbspecial@ii@s#1#2#3#4{% - \csq@addspecial@i@s{#2}{\csqBQsep}{}{}{}% - \begingroup - \let\csq@tempa\@empty - \def\csq@tempb{{#1}}% - \uccode`\~=`#2\relax - \uppercase{\csq@add\csq@tempb{{~}}}% - \csq@add\csq@tempb{{#3}{#4}}% - \csq@validate{#3} - {\expandafter\def\expandafter\csq@tempa - \expandafter{\expandafter\csq@addbspecial@iii@s\csq@tempb}} - {\expandafter\def\expandafter\csq@tempa - \expandafter{\expandafter\csq@addbspecial@iii@u\csq@tempb}}% - \expandafter\endgroup\csq@tempa} - -\def\csq@addbspecial@ii@u#1#2#3#4{% - \csq@addspecial@i@u{#2}{\csqBQsep}{}{}{}% - \csq@validate{#3} - {\csq@addbspecial@iii@s{#1}{#2}{#3}{#4}} - {\csq@addbspecial@iii@u{#1}{#2}{#3}{#4}}} - -\def\csq@addbspecial@iii@s#1#2#3#4{% - \csq@addspecial@i@s{#3}{\csqBQend}{}{}{}% - \begingroup - \def\csq@tempa{{#1}{#2}}% - \uccode`\~=`#3\relax - \uppercase{\csq@add\csq@tempa{~}}% - \csq@add\csq@tempa{{#4}}% - \expandafter\endgroup - \expandafter\csq@addbspecial@iv\csq@tempa} - -\def\csq@addbspecial@iii@u#1#2#3#4{% - \csq@addspecial@i@u{#3}{\csqBQend}{}{}{}% - \csq@addbspecial@iv{#1}{#2}{#3}{#4}} - -\def\csq@addbspecial@iv#1#2#3#4{% - \expandafter\csq@defbspecial - \expandafter{\csname csq@textdef@#1\endcsname}{#2}{#3}{#4}% - \expandafter\csq@defxbspecial - \expandafter{\csname csq@xtxtdef@#1\endcsname}{#4}} - -% Specials - -\newcommand*{\csqQQ}[1]{% - \csq@ifsafeactives - {\@nameuse{csq@string@#1}} - {\csq@iftypeset - {\csq@ifmmode - {\@nameuse{csq@saved@#1}} - {\@nameuse{csq@textdef@#1}}} - {\csq@ifstrings - {\@nameuse{csq@string@#1}} - {\noexpand\csqQQ{#1}}}}} - -\newcommand*{\csqBQ}[1]{% - \csq@ifsafeactives - {\@nameuse{csq@string@#1}} - {\csq@iftypeset - {\csq@ifmmode - {\@nameuse{csq@saved@#1}} - {\csq@ifnested - {\csq@err@nbquote} - {\csq@nbgobble{\@nameuse{csq@textdef@#1}}}}} - {\csq@ifstrings - {\@nameuse{csq@string@#1}} - {\noexpand\csqBQbeg{#1}}}}} - -\newcommand*{\csqBQbeg}[1]{% - \csq@ifsafeactives - {\@nameuse{csq@string@#1}} - {\csq@iftypeset - {\csq@ifmmode - {\@nameuse{csq@saved@#1}} - {\csq@ifnested - {\csq@err@nbquote} - {\csq@nbgobble{\@nameuse{csq@xtxtdef@#1}}}}} - {\csq@ifstrings - {\@nameuse{csq@string@#1}} - {\noexpand\csqBQbeg{#1}}}}} - -\newcommand*{\csqBQsep}[1]{% - \csq@ifsafeactives - {\@nameuse{csq@string@#1}} - {\csq@iftypeset - {\@nameuse{csq@saved@#1}} - {\csq@ifstrings - {\@nameuse{csq@string@#1}} - {\noexpand\csqBQsep{#1}}}}} - -\newcommand*{\csqBQend}[1]{% - \csq@ifsafeactives - {\@nameuse{csq@string@#1}} - {\csq@iftypeset - {\@nameuse{csq@saved@#1}} - {\csq@ifstrings - {\@nameuse{csq@string@#1}} - {\noexpand\csqBQend{#1}}}}} - -\csq@add\csq@mkhyperref{% - \def\csqQQ##1{\@nameuse{csq@pdfdef@##1}}% - \def\csqBQ##1{\@nameuse{csq@pdfdef@##1}}% - \def\csqBQbeg##1{\@nameuse{csq@pdfdef@##1}}% - \def\csqBQsep##1{\@nameuse{csq@saved@##1}}% - \def\csqBQend##1{\@nameuse{csq@saved@##1}}} - -% Legacy commands - -\def\csq@special{\csqQQ} - -% Define specials - -% {}{} - -\def\csq@edefspecial#1#2{% - \begingroup - \uccode`\~=`#1\relax - \uppercase{\endgroup\edef~}{#2}} - -% {}{} - -\def\csq@letspecial#1#2{% - \begingroup - \uccode`\~=`#1\relax - \uppercase{\def\csq@tempa{\endgroup\let~}}% - \expandafter\csq@tempa\csname#2\endcsname} - -% {}{}{}{} - -\def\csq@defbspecial#1#2#3#4{% - \long\def#1##1#3{\csq@bspecial@i{##1}{#2}{#4}}} - -% {}{}{} - -\long\def\csq@bspecial@i#1#2#3{% - \long\def\csq@bspecial@ii##1#2##2&{% - \csq@ifblank{##2} - {#3{}{}{#1}} - {\csq@bspecial@iii#1&}}% - \long\def\csq@bspecial@iii##1#2##2&{% - #3{##2}{}{##1}}% - \csq@bspecial@ii#1#2&} - -% {}{} - -\def\csq@defxbspecial#1#2{% - \long\def#1##1\csqBQend##2{\csq@xbspecial@i{##1}{#2}}} - -% {}{} - -\long\def\csq@xbspecial@i#1#2{% - \long\def\csq@xbspecial@ii##1\csqBQsep##2&{% - \csq@ifblank{##2} - {#2{}{}{#1}} - {\csq@xbspecial@iii#1&}}% - \long\def\csq@xbspecial@iii##1\csqBQsep##2##3&{% - #2{##3}{}{##1}}% - \csq@xbspecial@ii#1\csqBQsep&} - -% {}{}{} - -\def\csq@defpspecial#1#2#3{% - \begingroup - \uccode`\~=`#1\relax - \uppercase{\endgroup\def~##1~}{#2##1#3}} - -% {}{}{} - -\def\csq@defupspecial#1#2#3{% - \expandafter\def\csname u8:\csq@string{#1}\endcsname##1#1{#2##1#3}} - -% Validate user input - -% {}{}{} - -\def\csq@validate#1#2#3{% - \csq@ifutfchar{#1} - {\csq@ifvalidutf{#1} - {\csq@ifcsundefined{csq@special@\csq@number{#1}} - {#3} - {\csq@err@alloc}} - {\csq@err@invldutf}} - {\csq@ifvalidchar{#1} - {\csq@ifcsundefined{csq@special@\number`#1} - {#2} - {\csq@err@alloc}} - {\csq@err@invldchar}}} - -% {}{}{} - -\def\csq@ifutfchar#1{% - \csq@ifcsundefined{@inpenc@undefined} - {\@secondoftwo} - {\csq@ifutfenc}% - {\csq@ifsingle{#1} - {\ifnum`#1<128\relax - \expandafter\@secondoftwo - \else - \csq@err@invldutf - \expandafter\@gobbletwo - \fi} - {\@firstoftwo}} - {\csq@ifsingle{#1} - {\@secondoftwo} - {\csq@err@invldchar - \@gobbletwo}}} - -\csq@ifcsundefined{inputencodingname}% inputenc 2006/05/05 v1.1b - {\def\csq@ifutfenc{% - \csq@ifucs - {\csq@err@ucs\@secondoftwo} - {\begingroup - \def\@inpenc@undefined@##1{\def\csq@tempa{##1}}% - \@inpenc@undefined - \ifx\csq@tempa\csq@utfenc - \aftergroup\@firstoftwo - \else - \aftergroup\@secondoftwo - \fi - \endgroup}}} - {\def\csq@ifutfenc{% - \csq@ifucs - {\csq@err@ucs\@secondoftwo} - {\ifx\inputencodingname\csq@utfenc - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi}}} - -\def\csq@utfenc{utf8} - -% {}{}{} - -\long\def\csq@ifsingle#1{% - \csq@ifblank{#1} - {\@secondoftwo} - {\expandafter\csq@ifsingle@i - \string#1&&\@secondoftwo\@firstoftwo:}} -\long\def\csq@ifsingle@i#1#2#3#5#6:{#5} - -% {}{}{} - -\def\csq@ifvalidchar#1{% - \begingroup - \@tempswafalse - \ifnum\active=\catcode`#1\relax - \@tempswatrue - \else\ifnum12=\catcode`#1\relax - \@tempswatrue - \fi\fi - \if@tempswa - \csq@ifvalidchar@i{#1}% - \fi - \if@tempswa - \aftergroup\@firstoftwo - \else - \aftergroup\@secondoftwo - \fi - \endgroup} - -\def\csq@ifvalidchar@i#1{% - \def\break\fi##1\relax{\fi\@tempswafalse}% - \def\do##1{\ifnum`##1=`#1\relax\break\fi}% - \csq@resrvdchars\relax} - -\def\csq@resrvdchars{% - \do\[\do\]\do\*\do\@\do\~\do\-\do\`\do\'\do\.\do\,\do\;\do\:% - \do\!\do\?\do\0\do\1\do\2\do\3\do\4\do\5\do\6\do\7\do\8\do\9} - -% {}{}{} - -\def\csq@ifvalidutf#1{% - \csq@ifblank{#1}{\@secondoftwo}{\csq@ifvalidutf@i#1&}} - -\def\csq@ifvalidutf@i#1#2&{% - \csq@ifblank{#2} - {\@secondoftwo}% 0x00-0x7F handled elsewhere - {\csq@ifutfstart{#1}{\csq@ifvalidutf@ii#2&}{\@secondoftwo}}} - -\def\csq@ifvalidutf@ii#1#2&{% - \csq@ifutfnext{#1} - {\csq@ifblank{#2}{\@firstoftwo}{\csq@ifvalidutf@ii#2&}} - {\@secondoftwo}} - -% 0xC0-0xFD, 0x80-0xBF, 0x80-0xBF, ... - -\def\csq@ifutfstart#1{% - \ifnum`#1>191\relax - \ifnum`#1<254\relax - \expandafter\expandafter - \expandafter\@firstoftwo - \else - \expandafter\expandafter - \expandafter\@secondoftwo - \fi - \else - \expandafter\@secondoftwo - \fi} - -\def\csq@ifutfnext#1{% - \ifnum`#1>127\relax - \ifnum`#1<192\relax - \expandafter\expandafter - \expandafter\@firstoftwo - \else - \expandafter\expandafter - \expandafter\@secondoftwo - \fi - \else - \expandafter\@secondoftwo - \fi} - -\def\csq@isvalid#1#2#3{#2} - -% User interface - -\newcommand*{\MakeOuterQuote}[1]{% - \csq@addspecial{#1}{\csq@oqmark} - {\csq@pdf@ooqmark}{\csq@pdf@coqmark}} - -\newcommand*{\MakeInnerQuote}[1]{% - \csq@addspecial{#1}{\csq@iqmark} - {\csq@pdf@oiqmark}{\csq@pdf@ciqmark}} - -\newcommand*{\MakeAutoQuote}{% - \@ifstar - {\csq@mkaquote\csq@iqopen} - {\csq@mkaquote\csq@qopen}} -\def\csq@mkaquote#1#2#3{% - \csq@addspecial{#2}{#1}{\csq@pdf@ooqmark}{}% - \csq@addspecial{#3}{\csq@qclose}{\csq@pdf@coqmark}{}} - -\newcommand*{\MakeForeignQuote}{% - \@ifstar - {\csq@mkfquote\csq@iqopen@i} - {\csq@mkfquote\csq@qopen@i}} -\def\csq@mkfquote#1#2#3#4{% - \csq@addspecial{#3} - {\csq@bqgroup\csq@lang{#2}#1} - {\csq@pdf@ooqmark}{}% - \csq@addspecial{#4}{\csq@qclose}{\csq@pdf@coqmark}{}} - -\newcommand*{\MakeHyphenQuote}{% - \@ifstar - {\csq@mkhquote\csq@iqopen@i} - {\csq@mkhquote\csq@qopen@i}} -\def\csq@mkhquote#1#2#3#4{% - \csq@addspecial{#3} - {\csq@bqgroup\csq@hyph{#2}#1} - {\csq@pdf@ooqmark}{}% - \csq@addspecial{#4}{\csq@qclose}{\csq@pdf@coqmark}{}} - -\newcommand*{\MakeBlockQuote}[3]{% - \csq@addbspecial{#1}{#2}{#3}{\csq@bquote{}{\mkcitation}}} - -\newcommand*{\MakeForeignBlockQuote}[4]{% - \csq@addbspecial{#2}{#3}{#4}% - {\csq@bquote{\csq@lang{#1}}{\mkcitation}}} - -\newcommand*{\MakeHyphenBlockQuote}[4]{% - \csq@addbspecial{#2}{#3}{#4}% - {\csq@bquote{\csq@hyph{#1}}{\mkcitation}}} - -\newcommand*{\EnableQuotes}{} -\newcommand*{\DisableQuotes}{} -\newcommand*{\VerbatimQuotes}{} -\newcommand*{\DeleteQuotes}{\csq@mkdelete} - -\AtBeginDocument{% - \def\EnableQuotes{\csq@mkenable}% - \def\DisableQuotes{\csq@mkdisable}% - \def\VerbatimQuotes{\csq@mkverbatim}} - -% Author interface - -\newcommand*{\@enablequotes}{} -\newcommand*{\@disablequotes}{} -\newcommand*{\@verbatimquotes}{} -\newcommand*{\@deletequotes}{% - \csq@quiettrue - \csq@mkdelete - \csq@quietfalse} - -\AtBeginDocument{% - \def\@enablequotes{% - \csq@quiettrue - \csq@mkenable - \csq@quietfalse}% - \def\@disablequotes{% - \csq@quiettrue - \csq@mkdisable - \csq@quietfalse}% - \def\@verbatimquotes{% - \csq@quiettrue - \csq@mkverbatim - \csq@quietfalse}} - -% Legacy - -\newcommand*{\RestoreQuotes}{% - \csq@warn@legacy\RestoreQuotes\EnableQuotes} -\newcommand*{\@restorequotes}{\@enablequotes} - -%% Switch quote styles manually - -\newcommand*{\setquotestyle}{% - \@ifstar - {\csq@resetqstyle} - {\@ifnextchar[%] - {\csq@setqstyle} - {\csq@setqstyle[]}}} - -\def\csq@setqstyle[#1]#2{% - \ifnum\csq@reset=\@ne - \csq@info{Disabling multilingual support}% - \csq@reset\z@ - \fi - \csq@ifblank{#1} - {\csq@setstyle{#2}} - {\csq@setstyle{#2/#1}}} - -\def\csq@resetqstyle{% - \csq@info{Enabling multilingual support}% - \csq@reset\@ne} - -%% Define quote styles - -\newcommand*{\DeclareQuoteStyle}[2][]{% - \begingroup - \let\if@safe@actives\iftrue - \csq@ifblank{#1} - {\edef\csq@tempa{#2}} - {\edef\csq@tempa{#2/#1}}% - \csq@ifcsundefined{csq@qstyle@\csq@tempa} - {} - {\csq@info{Redefining quotation style `\csq@tempa'}}% - \@ifnextchar[%] - {\csq@declareqstyle@i} - {\csq@declareqstyle@i[]}} - -\def\csq@declareqstyle@i[#1]{% - \csq@csgdef{csq@qstyle@\csq@tempa}{% - \def\csq@theqmark@oinit{#1}}% - \@ifnextchar[%] - {\csq@declareqstyle@ii} - {\csq@declareqstyle@ii[]}} - -\def\csq@declareqstyle@ii[#1]#2{% - \csq@csgadd{csq@qstyle@\csq@tempa}{% - \def\csq@theqmark@iinit{#1}% - \def\csq@theqmark@oopen{#2}}% - \@ifnextchar[%] - {\csq@declareqstyle@iii} - {\csq@declareqstyle@iii[]}} - -\def\csq@declareqstyle@iii[#1]#2{% - \csq@csgadd{csq@qstyle@\csq@tempa}{% - \def\csq@theqmark@omiddle{#1}% - \def\csq@theqmark@oclose{#2}}% - \@ifnextchar[%] - {\csq@declareqstyle@iv} - {\csq@declareqstyle@iv[]}} - -\def\csq@declareqstyle@iv[#1]#2{% - \csq@ifblank{#1} - {\def\csq@theqmark@kern{\z@}} - {\def\csq@theqmark@kern{#1}}% - \csq@csxadd{csq@qstyle@\csq@tempa}{% - \def\noexpand\csq@theqmark@kern{\csq@theqmark@kern}}% - \csq@csgadd{csq@qstyle@\csq@tempa}{% - \def\csq@theqmark@iopen{#2}}% - \@ifnextchar[%] - {\csq@declareqstyle@v} - {\csq@declareqstyle@v[]}} - -\def\csq@declareqstyle@v[#1]#2{% - \csq@csgadd{csq@qstyle@\csq@tempa}{% - \def\csq@theqmark@imiddle{#1}% - \def\csq@theqmark@iclose{#2}}% - \endgroup} - -\@onlypreamble\DeclareQuoteStyle - -%% Define quote aliases - -\newcommand*{\DeclareQuoteAlias}[3][]{% - \begingroup - \let\if@safe@actives\iftrue - \csq@ifblank{#1} - {\edef\csq@tempa{#2}} - {\edef\csq@tempa{#2/#1}}% - \csq@ifcsundefined{csq@qstyle@\csq@tempa} - {\csq@error - {Quote style not defined} - {Define the style or alias `\csq@tempa' first}} - {\csq@ifcsundefined{csq@qstyle@#3} - {} - {\csq@info{Redefining alias `#3' -> `\csq@tempa'}}% - \csq@csxdef{csq@qstyle@#3}{% - \noexpand\@nameuse{csq@qstyle@\csq@tempa}}}% - \endgroup} - -\@onlypreamble\DeclareQuoteAlias - -%% Define quotes for PDF strings - -\newcommand*{\DeclarePlainStyle}[4]{% - \def\csq@pdf@ooqmark{#1}% - \def\csq@pdf@coqmark{#2}% - \def\csq@pdf@oiqmark{#3}% - \def\csq@pdf@ciqmark{#4}} - -\@onlypreamble\DeclarePlainStyle - -%% Define package options - -\newcommand*{\DeclareQuoteOption}[1]{% - \define@key{csq}{#1}{\DeclareQuoteAlias[##1]{#1}{#1}}} - -\AtEndOfPackage{% - \def\DeclareQuoteOption#1{% - \csq@warn@location\DeclareQuoteOption}} - -%% Set defaults - -\newcommand*{\SetBlockThreshold}[1]{% - \csq@tshold=#1\relax} - -\newcommand*{\SetBlockEnvironment}[1]{% - \csq@ifcsundefined{#1} - {\csq@err@notdef{#1}} - {\def\csq@blockenvironment{#1}}} - -\newcommand*{\SetCiteCommand}[1]{% - \csq@ifundefined{#1} - {\csq@err@notdef{#1}} - {\def\csq@cite{#1}}} - -% Legacy commands - -\newcommand*{\setblockthreshold}{% - \csq@warn@legacy\setblockthreshold\SetBlockThreshold} -\newcommand*{\setblockenvironment}{% - \csq@warn@legacy\setblockenvironment\SetBlockEnvironment} - -%% Author interface to internal marks - -\newcommand*{\initoquote}{% - \csq@resetstyle - \csq@qlevel\@ne - \csq@theqmark@oinit} - -\newcommand*{\initiquote}{% - \csq@resetstyle - \csq@qlevel\tw@ - \csq@theqmark@iinit} - -\newcommand*{\textooquote}{% - \csq@resetstyle - \csq@theqmark@oopen} - -\newcommand*{\textmoquote}{% - \csq@resetstyle - \csq@theqmark@omiddle} - -\newcommand*{\textcoquote}{% - \csq@resetstyle - \csq@theqmark@oclose} - -\newcommand*{\textoiquote}{% - \csq@resetstyle - \csq@theqmark@iopen} - -\newcommand*{\textmiquote}{% - \csq@resetstyle - \csq@theqmark@imiddle} - -\newcommand*{\textciquote}{% - \csq@resetstyle - \csq@theqmark@iclose} - -%% Space factor codes - -\csq@csdef{csq@sfcodes@OT1}{% - \sfcode 96=\z@ % textquoteleft - \sfcode 39=\z@ % textquoteright - \sfcode 92=\z@ % textquotedblleft - \sfcode 34=\z@ % textquotedblright -} - -\csq@csdef{csq@sfcodes@T1}{% - \sfcode 96=\z@ % textquoteleft - \sfcode 39=\z@ % textquoteright - \sfcode 16=\z@ % textquotedblleft - \sfcode 17=\z@ % textquotedblright - \sfcode 13=\z@ % quotesinglbase - \sfcode 18=\z@ % quotedblbase - \sfcode 14=\z@ % guilsinglleft - \sfcode 15=\z@ % guilsinglright - \sfcode 19=\z@ % guillemotleft - \sfcode 60=\z@ % guillemotleft (<< ligature) - \sfcode 20=\z@ % guillemotright - \sfcode 62=\z@ % guillemotright (>> ligature) - \sfcode 34=\z@ % textquotedbl -} - -\csq@csdef{csq@sfcodes@LY1}{% - \sfcode 96=\z@ % textquoteleft - \sfcode 39=\z@ % textquoteright - \sfcode147=\z@ % textquotedblleft - \sfcode148=\z@ % textquotedblright - \sfcode130=\z@ % quotesinglbase - \sfcode132=\z@ % quotedblbase - \sfcode139=\z@ % guilsinglleft - \sfcode155=\z@ % guilsinglright - \sfcode171=\z@ % guillemotleft - \sfcode187=\z@ % guillemotright - \sfcode129=\z@ % textquotesingle - \sfcode 34=\z@ % textquotedbl -} - -%% Auxiliary commands for some styles - -% Wrappers for Omega primitives - -\newcommand*{\seteverylineleft}[1]{% - \csq@ifcsundefined{localleftbox} - {\csq@warn@noomega\csq@currentstyle} - {\leavevmode\null\localleftbox{#1}}} - -\newcommand*{\seteverylineright}[1]{% - \csq@ifcsundefined{localrightbox} - {\csq@warn@noomega\csq@currentstyle} - {\localrightbox{#1}}} - -% Improved spacing for French - -\newcommand*{\frenchnbspace}{% - \penalty\@M - \hskip 0.8\fontdimen2\font - plus 0.3\fontdimen3\font - minus 0.8\fontdimen4\font} - -\newcommand*{\mkfrenchopenquote}[1]{% - \leavevmode#1\frenchnbspace} - -\newcommand*{\mkfrenchclosequote}[1]{% - \frenchnbspace#1} - -\newcommand*{\initfrenchquotes}{% - \let\csq@themark\csq@frenchmark} - -% Prevent undesirable T1 ligatures (?` and !`) - -\newcommand*{\fixligatures}{% - \ifhmode - \ifnum\spacefactor>3000 - \relax - \else - \ifnum\spacefactor=1007 - \relax - \else - \ifnum\spacefactor=1008 - \relax - \fi - \fi - \fi - \fi} - -%% Built-in backend styles - -\DeclareQuoteStyle[quotes]{danish} - {\quotedblbase} - {\textquotedblleft} - [0.05em] - {\textquoteright}% unsure - {\textquoteright}% unsure -\DeclareQuoteStyle[guillemets]{danish} - {\guillemotright} - {\guillemotleft} - {\textquoteright}% unsure - {\textquoteright}% unsure -\DeclareQuoteStyle{dutch} - {\quotedblbase} - {\textquotedblright} - [0.05em] - {\quotesinglbase}% unsure - {\textquoteright}% unsure -\DeclareQuoteStyle[american]{english}% verified - {\textquotedblleft} - {\textquotedblright} - [0.05em] - {\textquoteleft} - {\textquoteright} -\DeclareQuoteStyle[british]{english}% verified - {\textquoteleft} - {\textquoteright} - [0.05em] - {\textquotedblleft} - {\textquotedblright} -\DeclareQuoteStyle[oldstyle]{english}% verified - [\seteverylineleft{\textquoteleft}] - {\textquoteleft} - {\textquoteright} - [0.05em] - {\textquotedblleft} - {\textquotedblright} -\DeclareQuoteStyle{finnish} - {\textquotedblright} - {\textquotedblright} - [0.05em] - {\textquoteright} - {\textquoteright} -\DeclareQuoteStyle[quotes]{french} - {\mkfrenchopenquote{\guillemotleft}} - {\mkfrenchclosequote{\guillemotright}} - {\textquotedblleft} - {\textquotedblright} -\DeclareQuoteStyle[quotes*]{french} - {\mkfrenchopenquote{\guillemotleft}} - {\mkfrenchclosequote{\guillemotright}} - {\mkfrenchopenquote{\textquotedblleft}} - {\mkfrenchclosequote{\textquotedblright}} -\DeclareQuoteStyle[guillemets]{french} - [\initfrenchquotes] - {\mkfrenchopenquote{\guillemotleft}} - [\mkfrenchopenquote{\guillemotleft}] - {\mkfrenchclosequote{\guillemotright}} - {\mkfrenchopenquote{\guillemotleft}} - {\mkfrenchclosequote{\guillemotright}} -\DeclareQuoteStyle[guillemets*]{french} - [\initfrenchquotes] - {\mkfrenchopenquote{\guillemotleft}} - [\mkfrenchopenquote{\guillemotright}] - {\mkfrenchclosequote{\guillemotright}} - {\mkfrenchopenquote{\guillemotleft}} - {\mkfrenchclosequote{\guillemotright}} -\DeclareQuoteStyle[oldstyle]{french} - [\initfrenchquotes - \seteverylineleft{\mkfrenchopenquote{\guillemotleft}}] - {\mkfrenchopenquote{\guillemotleft}} - {\mkfrenchclosequote{\guillemotright}} - {\mkfrenchopenquote{\guillemotleft}} - {\mkfrenchclosequote{\guillemotright}} -\DeclareQuoteStyle[imprimerie]{french} - [\initfrenchquotes] - [\seteverylineleft{\guillemotleft\nobreakspace}] - {\guillemotleft\nobreakspace} - [\guillemotleft\nobreakspace] - {\nobreakspace\guillemotright} - {\guillemotleft\nobreakspace} - [\relax] - {\nobreakspace\guillemotright} -\DeclareQuoteStyle[quotes]{german}% verified - {\quotedblbase} - {\textquotedblleft} - [0.05em] - {\quotesinglbase} - {\fixligatures\textquoteleft} -\DeclareQuoteStyle[guillemets]{german}% verified - {\guillemotright} - {\guillemotleft} - [0.025em] - {\guilsinglright} - {\guilsinglleft} -\DeclareQuoteStyle[swiss]{german}% verified - {\guillemotleft} - {\guillemotright} - [0.025em] - {\guilsinglleft} - {\guilsinglright} -\DeclareQuoteStyle[quotes]{italian} - {\textquotedblleft} - {\textquotedblright} - [0.05em] - {\textquoteleft} - {\textquoteright} -\DeclareQuoteStyle[guillemets]{italian} - {\guillemotleft} - [\textquotedblright]% unsure - {\guillemotright} - [0.025em] - {\textquotedblleft} - {\textquotedblright} -\DeclareQuoteStyle[guillemets]{norwegian} - {\guillemotleft} - {\guillemotright} - [0.025em] - {\guilsinglleft} - {\guilsinglright} -\DeclareQuoteStyle[quotes]{norwegian} - {\quotedblbase} - {\textquotedblright} - [0.05em] - {\quotesinglbase} - {\textquoteright} -\DeclareQuoteStyle{spanish}% verified - {\guillemotleft} - [\guillemotright] - {\guillemotright} - [0.025em] - {\textquotedblleft} - [\textquotedblright] - {\textquotedblright} -\DeclareQuoteStyle[quotes]{swedish}% verified - {\textquotedblright} - {\textquotedblright} - [0.05em] - {\textquoteright} - {\textquoteright} -\DeclareQuoteStyle[guillemets]{swedish}% verified - {\guillemotright} - {\guillemotright} - [0.025em] - {\guilsinglright} - {\guilsinglright} - -% Fallback style - -\DeclareQuoteStyle{fallback} - {\csq@dummymark} - {\csq@dummymark} - {\csq@dummymark} - {\csq@dummymark} - -\def\csq@dummymark{\textbf{?}} -\def\csq@errormark{\rule{1ex}{1ex}} - -% PDF strings - -\DeclarePlainStyle{"}{"}{'}{'} - -%% Built-in aliases - -\DeclareQuoteAlias[american]{english}{american} -\DeclareQuoteAlias[american]{english}{canadian} -\DeclareQuoteAlias[american]{english}{english} -\DeclareQuoteAlias[british]{english}{british} -\DeclareQuoteAlias[guillemets]{norwegian}{norwegian} -\DeclareQuoteAlias[quotes]{danish}{danish} -\DeclareQuoteAlias[quotes]{french}{french} -\DeclareQuoteAlias[quotes]{german}{austrian} -\DeclareQuoteAlias[quotes]{german}{german} -\DeclareQuoteAlias[quotes]{italian}{italian} -\DeclareQuoteAlias[quotes]{swedish}{swedish} -\DeclareQuoteAlias[swiss]{german}{swiss} - -% Babel aliases - -\DeclareQuoteAlias{american}{USenglish} -\DeclareQuoteAlias{american}{usenglish} -\DeclareQuoteAlias{british}{UKenglish} -\DeclareQuoteAlias{british}{ukenglish} -\DeclareQuoteAlias{french}{frenchb} -\DeclareQuoteAlias{german}{ngerman} -\DeclareQuoteAlias{austrian}{naustrian} -\DeclareQuoteAlias{norwegian}{norsk} -\DeclareQuoteAlias{norwegian}{nynorsk} - -%% Package options - -\newcommand*{\ExecuteQuoteOptions}{\setkeys{csq}} -\@onlypreamble\ExecuteQuoteOptions - -% Core options - -\define@key{csq}{strict}[true]{% - \csq@ifcsundefined{csq@opt@strict@#1} - {\csq@err@invldopt{strict=#1}} - {\@nameuse{csq@opt@strict@#1}}} -\def\csq@opt@strict@true{% - \csq@info{Enabling strict warnings}% - \let\csq@warning\csq@warning@strict} -\def\csq@opt@strict@false{% - \csq@info{Disabling strict warnings}% - \let\csq@warning\csq@warning@loose} - -\define@key{csq}{babel}[true]{% - \csq@ifcsundefined{csq@opt@babel@#1} - {\csq@err@invldopt{babel=#1}} - {\@nameuse{csq@opt@babel@#1}}} -\def\csq@opt@babel@false{% - \csq@info{Disabling multilingual support}% - \csq@reset\z@} -\def\csq@opt@babel@true{% - \csq@info{Enabling multilingual support}% - \csq@reset\@ne} -\def\csq@opt@babel@try{% - \csq@reset\tw@} -\def\csq@opt@babel@once{% - \csq@reset\thr@@} -\def\csq@opt@babel@tryonce{% - \csq@reset4\relax} - -\define@key{csq}{style}{% - \csq@opt@babel@false - \DeclareQuoteAlias{#1}{default}} - -% Language options - -\DeclareQuoteOption{danish} -\DeclareQuoteOption{english} -\DeclareQuoteOption{french} -\DeclareQuoteOption{german} -\DeclareQuoteOption{italian} -\DeclareQuoteOption{norwegian} -\DeclareQuoteOption{swedish} - -%% Initial setup - -% Set defaults - -\DeclareQuoteAlias[american]{english}{default} - -\csq@ifcsundefined{quote} - {\csq@info{% - The `quote' environment appears to be undefined.\MessageBreak - I'm defining a typical `quote' environment now} - \def\quote{% - \list{}{\rightmargin\leftmargin}% - \item\relax} - \def\endquote{\endlist}} - {} - -\SetBlockEnvironment{quote} -\SetBlockThreshold{3} -\SetCiteCommand{\cite} - -%% Last minute setup - -\AtBeginDocument{% - \@ifpackageloaded{babel} - {\csq@mkbabel} - {\csq@mknobabel}% - \let\csq@mkbabel\csq@undefined - \let\csq@mknobabel\csq@undefined - \@ifpackageloaded{hyperref} - {\expandafter\pdfstringdefDisableCommands - \expandafter{\csq@mkhyperref}} - {}% - \let\csq@mkhyperref\csq@undefined - \csq@add\@noligs{\@verbatimquotes}% - \@ifpackageloaded{verbatim} - {\addto@hook\every@verbatim{\@verbatimquotes}} - {}% - \@ifpackageloaded{fancyvrb} - {\csq@add\FV@CatCodes{\@verbatimquotes}} - {}% - \@ifpackageloaded{amsmath} - {\let\csq@collect@body\collect@body - \def\collect@body{\@disablequotes\csq@collect@body}} - {\@ifpackageloaded{amstext} - {\let\csq@collect@body\collect@body - \def\collect@body{\@disablequotes\csq@collect@body}} - {}}% - \@ifpackageloaded{endnotes} - {\BlockquoteDisable{% - \renewcommand{\endnote}[2][]{% - \csq@ifblank{#1} - {\endnotemark\relax} - {\endnotemark[#1]}}% - \renewcommand{\endnotetext}[2][]{}% - \let\addtoendnotes\@gobble}} - {}% - \csq@setstyle{default}% - \csq@mkenable} - -% Load configuration file - -\csq@info{Trying to load configuration file `csquotes.cfg'..} -\InputIfFileExists{csquotes.cfg} - {\csq@info{... configuration file loaded successfully}} - {\csq@info{... configuration file not used}} - -% Process options - -\DeclareOption*{% - \begingroup - \edef\csq@tempa{\endgroup - \noexpand\setkeys{csq}{\CurrentOption}}% - \csq@tempa} -\ProcessOptions* - -\endinput diff --git a/Master/texmf-dist/doc/latex/hepthesis/example/example.pdf b/Master/texmf-dist/doc/latex/hepthesis/example/example.pdf index 5b213fb4a98..1c0e9d1f30e 100644 Binary files a/Master/texmf-dist/doc/latex/hepthesis/example/example.pdf and b/Master/texmf-dist/doc/latex/hepthesis/example/example.pdf differ diff --git a/Master/texmf-dist/doc/latex/hepthesis/example/example.tex b/Master/texmf-dist/doc/latex/hepthesis/example/example.tex index a7708ed2442..7b8e4f282b0 100644 --- a/Master/texmf-dist/doc/latex/hepthesis/example/example.tex +++ b/Master/texmf-dist/doc/latex/hepthesis/example/example.tex @@ -1,5 +1,5 @@ -\documentclass{thesis} -\usepackage{thesis} +\documentclass{mythesis} +\usepackage{mythesis} %% You can set the line spacing this way %\setallspacing{double} @@ -35,35 +35,10 @@ pdfauthor = {\textcopyright\ Andy Buckley} %% 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 like this: - %\input{chap3} - - -\chapter{Continued captions} -\label{chap:ContCaptions} - -Here are some funky ``continued captions''\dots - -\begin{figure} - \subfloat[][Example 1a]{\label{fig:cc1a}\rule{3cm}{3cm}} - \subfloat[][Example 1b]{\label{fig:cc1b}\rule{3cm}{3cm}} - \subfloat[][Example 1c]{\label{fig:cc1c}\rule{3cm}{3cm}} - \subfloat[][Example 1d]{\label{fig:cc1d}\rule{3cm}{3cm}} - \caption{Demonstration of \texttt{ccaption}.} - \label{fig:cc1} -\end{figure} - -\begin{figure} - \ContinuedFloat - \subfloat[][Example 1e]{\label{fig:cc1e}\rule{3cm}{3cm}} - \subfloat[][Example 1f]{\label{fig:cc1f}\rule{3cm}{3cm}} - \subfloat[][Example 1g]{\label{fig:cc1g}\rule{3cm}{3cm}} - \subfloat[][Example 1h]{\label{fig:cc1h}\rule{3cm}{3cm}} - \caption[]{Demonstration of \texttt{ccaption} (continued).} - %\label{fig:cc1} -\end{figure} - + %\input{chap4} \end{mainmatter} %% Produce the appendices diff --git a/Master/texmf-dist/doc/latex/hepthesis/example/extrastyles.zip b/Master/texmf-dist/doc/latex/hepthesis/example/extrastyles.zip new file mode 100644 index 00000000000..3fd5b584b22 Binary files /dev/null and b/Master/texmf-dist/doc/latex/hepthesis/example/extrastyles.zip differ diff --git a/Master/texmf-dist/doc/latex/hepthesis/example/frontmatter.tex b/Master/texmf-dist/doc/latex/hepthesis/example/frontmatter.tex index 9406adf2e77..5988b95749b 100644 --- a/Master/texmf-dist/doc/latex/hepthesis/example/frontmatter.tex +++ b/Master/texmf-dist/doc/latex/hepthesis/example/frontmatter.tex @@ -27,10 +27,8 @@ %% Acknowledgements \begin{acknowledgements} - Of the many people who deserve thanks, some are particularly prominent: - - \noindent - My supervisor\dots + Of the many people who deserve thanks, some are particularly prominent, + such as my supervisor\dots \end{acknowledgements} diff --git a/Master/texmf-dist/doc/latex/hepthesis/example/thesis.cls b/Master/texmf-dist/doc/latex/hepthesis/example/thesis.cls deleted file mode 100644 index 46781ce9e08..00000000000 --- a/Master/texmf-dist/doc/latex/hepthesis/example/thesis.cls +++ /dev/null @@ -1,29 +0,0 @@ -\ProvidesClass{thesis} -%% For normal draft builds -\LoadClass[hyperpdf,nobind,draft,sftitles,twoside]{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{cite} -%\RequirePackage{morefloats} -\RequirePackage{mathrsfs} % script font -\RequirePackage{afterpage} - -%% Using Babel allows other languages to be used and mixed-in easily -\RequirePackage[ngerman,english]{babel} -\selectlanguage{english} - -%% Quotes in different languages are different. -%% Using \enquote{bla} automatically uses the correct quotes -%% according to the Babel language that is set -\RequirePackage[babel]{csquotes} - -%% Subfigures - note subfig is incompatible with ccaption -\RequirePackage{subfig} diff --git a/Master/texmf-dist/doc/latex/hepthesis/example/thesis.sty b/Master/texmf-dist/doc/latex/hepthesis/example/thesis.sty deleted file mode 100644 index c26f4c5b166..00000000000 --- a/Master/texmf-dist/doc/latex/hepthesis/example/thesis.sty +++ /dev/null @@ -1,65 +0,0 @@ -\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 deleted file mode 100644 index 95ac64fadef..00000000000 --- a/Master/texmf-dist/doc/latex/hepthesis/example/thesismath.sty +++ /dev/null @@ -1,69 +0,0 @@ -\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/example/varwidth.sty b/Master/texmf-dist/doc/latex/hepthesis/example/varwidth.sty deleted file mode 100644 index 32c1a8fb639..00000000000 --- a/Master/texmf-dist/doc/latex/hepthesis/example/varwidth.sty +++ /dev/null @@ -1,302 +0,0 @@ -% varwidth.sty v 0.9a Mar 2003 Donald Arseneau asnd@triumf.ca -% -% Copyright 2003 by Donald Arseneau (asnd@triumf.ca). -% This software is released under the terms of the LaTeX Project Public -% License (ftp://ctan.tug.org/tex-archive/macros/latex/base/lppl.txt). -% (Essentially: Free to use, copy, distribute (sell) and change, but, if -% changed, the name must be changed.) -% -% The varwidth environment is based on minipage, and takes the same -% parameters, but the specified width is just a maximum value -- the -% environment will be typeset with a narrower "natural" width if -% possible. -% -% In a varwidth environment, paragraph line-breaks are chosen -% according to the specified width, but each line is reset to -% match a narrower natural width, if there is one. -% -% The \narrowragged command works like \raggedright, but produces -% generally narrower lines in paragraphs, but more text in the last -% line (the lines have more-equal lengths). -% -% This version works fine, but there are still many questions about -% how it would work best. Should there be a version that avoids the -% usual minipage formatting style? -% -% Numbered equations are not handled well, especially with leqno. -% AMSmath environments have not been tried, and undoubtedly fail. -% -% To do: Extend v-list wrappers to handle all e-TeX primitives. -% (pdfTeX too?) -% Capture marks and floats, propagating them out of the box -% Support numbered equations, including ams math. -% - -\ProvidesPackage{varwidth}[2003/03/10 ver 0.9a; \space - Variable-width minipages] - -\newcommand\narrowragged{\rightskip \z@ plus .25\hsize - \@rightskip\rightskip \parfillskip\z@ plus .15\hsize - \sloppy } - -\newbox\@vwid@box - -% The varwidth environment is based on minipage, and takes the same -% parameters, but the specified width is only a limit -- a narrower -% natural width may be used. \varwidth uses \minipage. - -\def\varwidth{\let\@minipagerestore\@vwid@setup \minipage} - -% Many things may appear on vertical lists that can't be re-processed, -% so they have to be modified. - -\def\@vwid@setup{% - % several things can't appear in vertical mode, so they may get - % a \vbox wrapped around them. - \let\@bsphack\@vwid@bsphack % \label and others - \let\mark\@gobble % Marks disappear in minipages anyway - \let\@special\@vwid@special % \color and others - \let\addtocontents\@vwid@addtocontents % \addcontentsline - % Shifted boxes (\parshape,\hangindent) will have their shifts - % indicated in a separate box. - \let\@hangfrom\@vwid@hangfrom % hanging indents - \let\list\@vwid@list - \let\endtrivlist\@vwid@endtrivlist - \postdisplaypenalty\@vwid@posteqp - \predisplaypenalty\@vwid@preeqp - \def\@eqnnum{\aftergroup\@vwid@afterva\@@vwid@eqnnum}% - \global\@vwid@roff\z@ \global\@vwid@loff\z@ - % Begin an inner minipage-like vertical box (in \@tempboxa) - \let\@minipagerestore\@@vwid@minipagerestore \@minipagerestore - \setbox\@tempboxa\vbox\bgroup\begingroup - % Flag the top of the list - \penalty\@vwid@toppen -} - -\let\@@vwid@minipagerestore\@minipagerestore - -% At end of varwidth environment. -\def\endvarwidth{\par\@@par - % Handle minipage-style notes. - \ifvoid\@mpfootins\else - \vskip\skip\@mpfootins - \normalcolor - \@vwid@wrap\footnoterule - \unvbox\@mpfootins - \fi - \unskip - \endgroup\egroup % got my \@tempboxa -% {\showoutput\showbox\@tempboxa}% - % in a discarded box, sift through list measuring max width. - \begingroup\setbox\z@\vbox\bgroup -%\message{-------------------------------------------------------------}% -%\message{First pass; hsize=\the\hsize... }%{\tracingall\showlists}%% - \unvcopy\@tempboxa - \@tempdima-\maxdimen - \let\@vwid@resetb\@vwid@measure - \let\@vwid@append\relax - \sift@deathcycles\z@ - \@vwid@sift - \xdef\@vwid@{\the\@tempdima}% - \egroup\endgroup - % Done measuring. Now empty \@tempboxa onto current vertical list - % which is the contents of a minipage environment -%\message{Got natural width \@vwid@. }% - \unvbox\@tempboxa - % If the natural width is narrower, then go back through the list - % reboxing and moving everything into \@vwid@box; then spill \@vwid@box - \ifdim\@vwid@<\hsize - \hsize\@vwid@ - \setbox\@vwid@box\vbox{}% - \sift@deathcycles\z@ -%\message{----------------------------------------------------------------}% -%\message{Second pass; hsize=\the\hsize... }%{\tracingall\showlists}% - \@vwid@sift - \unvbox\@vwid@box - \fi - % end the minipage environment - \endminipage} - -% -% Here are definitions for sifting through the vertical list, either -% measuring things or reboxing them. -% -% Penalties used as signals to the vertical-list processor: - -\mathchardef\@vwid@posteqp 17321 % Penalty below equations -\mathchardef\@vwid@preeqp 17322 % Penalty above equations -\mathchardef\@vwid@postnump 17323 % Penalty below numbered equations -\mathchardef\@vwid@toppen 17324 % Penalty marking top of vertical list -\mathchardef\@vwid@offsets 17325 % Penalty below special h-offsets box -\mathchardef\@vwid@postw 17326 % Penalty below a \vbox-wrapped object - -\newcount\sift@deathcycles - -\def\@vwid@sift{% - \skip@\lastskip\unskip - \dimen@\lastkern\unkern - \count@\lastpenalty\unpenalty - \setbox\z@\lastbox -%{\showoutput\showbox\z@}% - \ifvoid\z@ \advance\sift@deathcycles\@ne \else \sift@deathcycles\z@ \fi - \ifnum\sift@deathcycles>33 - \let\@vwid@sift\relax - \PackageWarning{varwidth}{Failed to reprocess entire contents}% - \fi -%\message{\the\sift@deathcycles: skip \the\skip@; kern \the\dimen@; penalty \the\count@. }% -%\ifhbox\z@\setbox99\hbox to0pt{\unhcopy\z@}\fi % = message - \ifnum\count@=\@vwid@preeqp \@vwid@eqmodefalse\fi -%\ifnum\count@=\@vwid@preeqp \message{End equation mode. }\fi - \ifnum\count@=\@vwid@posteqp \@vwid@eqmodetrue\fi -%\ifnum\count@=\@vwid@posteqp\message{Begin equation mode. }\fi -%\if@vwid@eqmode {\showoutput\showbox\z@}\fi - \ifnum\count@=\@vwid@toppen % finished - \let\@vwid@sift\relax - \else\ifnum\count@=\@vwid@offsets - \@vwid@setoffsets - \else - \ifnum\count@=\@vwid@postw - \else - \@vwid@resetb % reset box \z@ or measure it - \fi - \@vwid@append - \fi\fi - \@vwid@sift} - -\def\@vwid@setoffsets{% - \setbox\z@=\hbox{\unhbox\z@ - \global\@vwid@roff\lastkern\unkern - \global\@vwid@loff\lastkern\unkern}% -%\message{Set offsets to \the\@vwid@loff, \the\@vwid@roff. }% -} - -\def\@vwid@append{% Append contents of box \z@ and glue to \@vwid@box - \setbox\@vwid@box\vbox{% - \unvbox\z@ - \ifdim\dimen@=\z@\else \kern\dimen@ \fi - \vskip\skip@ - \unvbox\@vwid@box - }%{\tracingall\showbox\@vwid@box}% -} - -% reset box \z@ to \hsize, applying shifts, and wrap in vbox -% Don't worry about numbered equations because we won't get -% here if there are any. -\def\@vwid@resetb{% - \setbox\z@\vbox\bgroup - \ifvoid\z@ - \else - \ifvbox\z@ - \box\z@ - \else % \hbox - \@tempdima\hsize - \advance\@tempdima-\@vwid@roff - \advance\@tempdima-\@vwid@loff - \advance\@tempdima-\p@ - \ifdim\wd\z@>\@tempdima % full-width line; rebox it -%\message{An ordinary line or alignment. }% - \hbox to\hsize - {\kern\@vwid@loff \unhbox\z@ \kern\@vwid@roff}% - \else % an equation or direct \hbox - \if@vwid@eqmode % re-center unnumbered equations -%\message{A centered equation hsize=\the\hsize. }% - \hbox to\hsize - {\hskip\@vwid@loff\@plus1fil - \unhbox\z@ \hskip\@vwid@roff\@plus1fil}% - \else % plain narrow \hbox; leave it as-is - \box\z@ - \fi\fi\fi\fi - \egroup} - -\def\@vwid@measure{% - \ifvoid\z@ - \else - % numbered equations not part of alignments can't be reset, - % so force retention of full width. - \ifnum\count@=\@vwid@postnump \ifdim\wd\z@<\linewidth - \ifdim\@tempdima<\linewidth \@tempdima\linewidth \fi - \fi\fi - \ifhbox\z@ - \setbox\z@=\hbox - {\kern\@vwid@loff \unhbox\z@ \kern\@vwid@roff}% - \fi - \ifdim\wd\z@>\@tempdima \@tempdima\wd\z@ \fi - \fi} - -\newdimen\@vwid@loff -\newdimen\@vwid@roff - -\let\@@bsphack\@bsphack -\let\@@esphack\@esphack -\let\@@esphack\@Esphack - -\def\@vwid@bsphack{\@@bsphack - \ifx\@vwid@wrap\@firstofone - \bgroup - \else - \ifvmode - \setbox\@vwid@box \vbox\bgroup \vbox\bgroup - \let\@vwid@wrap\@firstofone - \def\@esphack{\@vwid@esphack\@@esphack}% - \def\@Esphack{\@vwid@esphack\@@Esphack}% - \fi - \fi} - -\def\@vwid@esphack{\egroup - \ifx\@vwid@wrap\@firstofone\else - \egroup % end outer box - \unvbox\@vwid@box % put inner box on list without lineskip - \penalty\@vwid@postw - \fi} - -% \vbox Wrapper for misc vlist items -\long\def\@vwid@wrap{\relax - \ifvmode\expandafter\@vwid@dowrap \else \expandafter\@firstofone \fi} -\long\def\@vwid@dowrap#1{% - \setbox\@vwid@box \vbox{\vbox{\let\@vwid@wrap\@firstofone - #1}\penalty\@vwid@postw - }\unvbox\@vwid@box } - -\let\@@vwid@special\special -\let\@@vwid@addtocontents\addtocontents -\let\@@vwid@list\list -\let\@@vwid@endtrivlist\endtrivlist -\let\@@vwid@eqnnum\@eqnnum - -\long\def\@vwid@special#1{\@vwid@wrap{\@@vwid@special{#1}}} -\long\def\@vwid@addtocontents#1#2{\@vwid@wrap{\@@vwid@addtocontents{#1}{#2}}} - -\long\def\@vwid@hangfrom#1{\par - \setbox\@tempboxa\hbox{{#1}}% - \setbox\@vwid@box \vbox{\hbox{\kern\z@ \kern\z@ - }\penalty\@vwid@offsets}\unvbox\@vwid@box - \def\par{\relax\ifhmode\unskip\fi - \vadjust{\hbox{\kern\hangindent\kern\z@}\penalty\@vwid@offsets}% - \@restorepar\par}% - \hangindent \wd\@tempboxa\noindent\box\@tempboxa} - -\def\@vwid@list{\@vwid@setlist\@@vwid@list} -\def\@vwid@endtrivlist{\@vwid@setlist\@@vwid@endtrivlist} - -\def\@vwid@setlist{\relax\ifhmode \unskip\expandafter\vadjust\fi - {\setbox\@vwid@box \vbox{\hbox{% - \advance\hsize-\linewidth \advance\hsize-\@totalleftmargin - \kern\@totalleftmargin \kern\hsize}% - \penalty\@vwid@offsets}% - \unvbox\@vwid@box}} - -\newif\if@vwid@eqmode - -\def\@vwid@afterva{\vadjust{\penalty\@vwid@postnump}} - -% Should I do this? ... - -\@ifundefined{newcolumntype}{}{% - \@ifundefined{NC@rewrite@V}{ - \newcolumntype{V}[1]{% - >{\begin{varwidth}[t]{#1}\narrowragged\let\\\tabularnewline}% - l% - <{\@finalstrut\@arstrutbox\end{varwidth}}} - }{} -} - -- cgit v1.2.3