% \iffalse meta-comment % % Transformed from veryshortguide.xml by ClassPack db2dtx.xsl % version 1.28 (2024-02-21) on Monday 26 February 2024 at 13:59:35 % % veryshortguide.dtx is copyright © 2009-2024 by Peter Flynn % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either % version 1.3 of this license or (at your option) any later % version. The latest version of this license is in: % % http://www.latex-project.org/lppl.txt % % and version 1.3 or later is part of all distributions of % LaTeX version 2005/12/01 or later. % % This work has the LPPL maintenance status ‘maintained’. % % The current maintainer of this work is Peter Flynn % % This work consists of the files veryshortguide.dtx and veryshortguide.ins, % and any other ancillary files listed in the MANIFEST. % % \fi % \iffalse %<*driver> \ProvidesFile{veryshortguide.dtx} % %\NeedsTeXFormat{LaTeX2e}[2015/01/01] %\ProvidesClass{veryshortguide}[2024/02/11 v0.8 % Very Short Guide LaTeX document class] %<*driver> \RequirePackage{fix-cm}% because "" :: "attributes" \PassOptionsToPackage{svgnames}{xcolor}% because dependencies dox hypdoc hyperref classpack requires svgnames \providecommand{\CPKdocname}{veryshortguide} \providecommand{\CPKdoctype}{class} \documentclass[12pt]{ltxdoc} %% %% Packages for documentation %% \usepackage{dox}% \doxitem[idxtype=attribute]{Attribute}{CPKattribute}{attributes} \doxitem[idxtype=attvalue]{AttValue}{CPKattributevalue}{attribute values} \doxitem[macrolike,idxtype=box]{Box}{CPKbox}{boxes} \doxitem[idxtype=class]{Class}{CPKclass}{classes} \doxitem[idxtype=color]{Color}{CPKcolor}{colors} \doxitem[idxtype=comment]{Comment}{CPKcomment}{comments} \doxitem[idxtype=counter]{Counter}{CPKcounter}{counters} \doxitem[idxtype=DTD]{DTD}{CPKdtd}{DTDs/Schemas} \doxitem[idxtype=element]{Element}{CPKelement}{element types} \doxitem[idxtype=entity]{Entity}{CPKentity}{entities} \doxitem[idxtype=error]{Error}{CPKerror}{errors} \doxitem[idxtype=field]{Field}{CPKfield}{fields} \doxitem[idxtype=file]{File}{CPKfile}{files} \doxitem[idxtype=font]{Font}{CPKfont}{fonts} \doxitem[idxtype=function]{Function}{CPKfunction}{functions} \doxitem[idxtype=language]{Language}{CPKlanguage}{languages} \doxitem[idxtype=length]{Length}{CPKlength}{lengths} \doxitem[idxtype=mode]{Mode}{CPKmode}{modes} \doxitem[idxtype=option]{Option}{CPKoption}{options} \doxitem[idxtype=package]{Package}{CPKpackage}{packages} \doxitem[idxtype=parameter]{Parameter}{CPKparameter}{parameters} \doxitem[idxtype=rubric]{Rubric}{CPKrubric}{rubrics} \doxitem[idxtype=setting]{Setting}{CPKsetting}{settings} \doxitem[macrolike,idxtype=switch]{Switch}{CPKswitch}{switches} \doxitem[idxtype=template]{Template}{CPKtemplate}{templates} \doxitem[idxtype=typeface]{Typeface}{CPKtypeface}{typefaces} \doxitem[idxtype=variable]{Variable}{CPKvariable}{variables} \newcommand{\LabelFont}[2][\relax]{\strut {\fontencoding\encodingdefault \fontfamily{lmtt}\fontseries{lc}#1\selectfont#2}} \let\CPKmacro\macro\let\CPKendmacro\endmacro \let\CPKenvironment\environment\let\CPKendenvironment\endenvironment \newlength{\CPKannotationindent}\setlength{\CPKannotationindent}{0pt} \makeatletter \def\PrintAttributeName#1{\LabelFont{@#1}} \makeatother \def\PrintAttributeValueName#1{\LabelFont{"#1"}} \def\PrintClassName#1{\LabelFont[\fontfamily{lmss}]{#1}} \def\PrintColorName#1{\LabelFont[\color{#1}]{#1}} \def\PrintCommentName#1{\LabelFont[\color{LightGrey}]{#1}} \def\PrintCounterName#1{\LabelFont{#1}} \def\PrintDTDName#1{\LabelFont{#1}} \def\PrintElementName#1{\LabelFont{<#1>}} \def\PrintEntityName#1{\LabelFont{\}} \def\PrintEnvironmentName#1{\LabelFont[\fontfamily{lmss}\selectfont]{#1}} \def\PrintErrorName#1{\LabelFont[\color{Red}!]{#1}} \def\PrintFileName#1{\LabelFont{#1}} \def\PrintFunctionName#1{\LabelFont[\bfseries\itshape]{#1}} \def\PrintLanguageName#1{\LabelFont{#1}} \def\PrintLengthName#1{\LabelFont{#1}} \def\PrintMacroName#1{\LabelFont{#1}} \def\PrintModeName#1{\LabelFont[\sffamily]{\textlangle#1\textrangle}} \def\PrintOptionName#1{\LabelFont{#1}} \def\PrintPackageName#1{\LabelFont{#1}} \def\PrintSwitchName#1{\LabelFont{#1}} \def\PrintTemplateName#1{\LabelFont{#1}} \def\PrintVariableName#1{\LabelFont{#1}\hspace{\CPKannotationindent}} \def\PrintParameterName#1{\LabelFont{#1}} \def\PrintFieldName#1{\LabelFont{#1}} \usepackage{fix-cm}% \usepackage{fontspec}% \makeatletter \newcommand{\printexternalcurrentfont}{% \expandafter\format@externalcurrentfont\fontname\font:\@nil}% \def\format@externalcurrentfont[#1]:#2\@nil{% \texttt{\@ifnextchar"{\@gobble}{}#1}% }% \makeatother %% fontenc (1.006) omitted in favour of fontspec %% inputenc (1.009) omitted in favour of fontspec \usepackage{noto}% \usepackage{bbding}% \usepackage{mflogo}% \usepackage[british]{babel}% \usepackage[backend=biber,doi=true, isbn=true,url=true,uniquename=false,style=apa]{biblatex}% \makeatletter \AtBeginDocument{% \setlength{\bibitemsep}{1ex}% \setlength{\bibnamesep}{1.5\itemsep}% \defbibheading{shortbib}[References]% {\section{#1}\parindent0pt}} \@ifpackagewith{babel}{british}{% \DeclareLanguageMapping{british}% {british-apa}}{\relax} \makeatother \makeatletter \providetoggle{blx@skipbiblist} \makeatother \usepackage{array}% \usepackage{calc}% \makeatletter {\scriptsize \global\advance\@totalleftmargin by1em \global\advance\MacroIndent by.5em} \makeatother \usepackage{ccaption}% \captionnamefont{\bfseries} \captionstyle{\raggedright} \usepackage[inline]{enumitem}% \setlist[description]{style=unboxed,font=\sffamily\bfseries} \setlist[itemize]{leftmargin=2em} \setlist[enumerate]{leftmargin=2em} \usepackage{fancyvrb}% \usepackage{relsize}% \usepackage{textcase}% \usepackage{float}% \renewcommand{\topfraction}{.85} \renewcommand{\bottomfraction}{.7} \renewcommand{\textfraction}{.15} \renewcommand{\floatpagefraction}{.66} \renewcommand{\dbltopfraction}{.66} \renewcommand{\dblfloatpagefraction}{.66} \setcounter{topnumber}{9} \setcounter{bottomnumber}{9} \setcounter{totalnumber}{20} \setcounter{dbltopnumber}{9} \usepackage[level]{fmtcount}% \usepackage[a4paper,left=35mm,top=25mm, textwidth=150mm,textheight=229mm,headheight=15pt]{geometry}% \usepackage{fancyhdr}% \renewcommand{\MakeUppercase}{\relax} \pagestyle{fancy} \fancyhead[L]{\sffamily\footnotesize\rightmark} \fancyhead[R]{\sffamily\footnotesize\thepage} \fancyfoot[C]{} \fancyfoot[L]{\sffamily\footnotesize\leftmark} \fancyfoot[R]{\sffamily\footnotesize The \LaTeX\ \textrm{\CPKdocname} \CPKdoctype} \renewcommand{\headrulewidth}{0pt} \renewcommand{\footrulewidth}{0pt} \usepackage{graphicx}% \usepackage{listings}% \lstdefinelanguage{dummy} {morekeywords={dummy}} \makeatletter \lstdefinelanguage{bash} {morestring=[s]{[]},morekeywords={exit,logout,yes,no,@, password,ssh,URL,cd,dvips,latex,ls,makeindex,man,mkdir, pdflatex,sudo,texconfig,texdoc,updmap,xelatex,biber, latexmk,bibtex}} \makeatother \lstdefinelanguage{LaTeXe}[LaTeX]{TeX} {morekeywords = {selectlanguage,foreignlanguage, textbrokenbar,textlangle,textrangle,subsection,url, chapter,tableofcontents,part,subsubsection,paragraph, subparagraph,maketitle,setlength,listoffigures, listoftables,color,arraybackslash,includegraphics, textcite,parencite,graphicspath,lstinline, DeclareLanguageMapping,textcolor,definecolor,colorbox, fcolorbox,RequirePackage,PassOptionsToPackage}} \lstset{defaultdialect=LaTeXe,frame=single, framesep=.5em,backgroundcolor=\color{AliceBlue}, rulecolor=\color{LightSteelBlue},framerule=1pt} \lstnewenvironment{listingsdoc} {\lstset{language={[LaTeX]TeX}}} {} \newcommand\basicdefault[1]{\footnotesize \color{Black}\ttfamily#1} \lstset{basicstyle=\basicdefault{\spaceskip.5em}} \lstset{literate= {§}{{\S}}1 {©}{{\raisebox{.125ex}{\copyright}\enspace}}1 {«}{{\guillemotleft}}1 {»}{{\guillemotright}}1 {Á}{{\'A}}1 {Ä}{{\"A}}1 {É}{{\'E}}1 {Í}{{\'I}}1 {Ó}{{\'O}}1 {Ö}{{\"O}}1 {Ú}{{\'U}}1 {Ü}{{\"U}}1 {ß}{{\ss}}2 {à}{{\`a}}1 {á}{{\'a}}1 {ä}{{\"a}}1 {é}{{\'e}}1 {í}{{\'i}}1 {ó}{{\'o}}1 {ö}{{\"o}}1 {ú}{{\'u}}1 {ü}{{\"u}}1 {¹}{{\textsuperscript1}}1 {²}{{\textsuperscript2}}1 {³}{{\textsuperscript3}}1 {ı}{{\i}}1 {—}{{---}}1 {’}{{'}}1 {…}{{\dots}}1 {➝}{{$leftarrow$}}1 {⮠}{{$\hookleftarrow$}}1 {␣}{{\textvisiblespace}}1, keywordstyle=\color{DarkCyan}\bfseries, identifierstyle=\color{DarkRed}, commentstyle=\color{Gray}\upshape, stringstyle=\color{DarkBlue}\upshape, emphstyle=\color{DarkGreen}\upshape, showstringspaces=false, columns=fullflexible, keepspaces=true} \lstloadlanguages{bash} \lstloadlanguages{LaTeXe} \lstloadlanguages{TeX} \lstloadlanguages{dummy} \usepackage{ltxcmds}% \usepackage{makeidx}% \makeindex \usepackage{parskip}% \usepackage{sectsty}% \allsectionsfont{\sffamily\raggedright} \renewcommand*{\descriptionlabel}[1]{\hspace\labelsep \sffamily\bfseries #1} \usepackage{url}% \AtBeginDocument{\urlstyle{tt}} \usepackage{varioref}% \vrefwarning \labelformat{appendix}{Appendix~#1} \makeatletter \labelformat{chapter}{\@chapapp~#1} \makeatother \labelformat{section}{section~#1} \labelformat{subsection}{section~#1} \labelformat{subsubsection}{section~#1} \labelformat{paragraph}{section~#1} \labelformat{figure}{Figure~#1} \labelformat{table}{Table~#1} \labelformat{item}{item~#1} \renewcommand{\reftextcurrent}{on this page} \def\reftextafter{on the \reftextvario{next}{following} page} \usepackage{xcolor}% svgnames (1.126)% \makeatletter \@ifundefined{T}{% \newcommand{\T}[2]{{\fontencoding{T1}% \selectfont#2}}}{} \makeatother \usepackage{classpack}% \usepackage{hypdoc}% \hypersetup{linkcolor=DarkGreen,citecolor=DarkRed,urlcolor=Blue,colorlinks=true} \makeatletter \@ifpackageloaded{biblatex}{% \makeatother \ExecuteBibliographyOptions{maxcitenames=1} \DeclareFieldFormat{citehyperref}{% \DeclareFieldAlias{bibhyperref}{noformat}% Avoid nested links \bibhyperref{#1}} \DeclareFieldFormat{textcitehyperref}{% \DeclareFieldAlias{bibhyperref}{noformat}% Avoid nested links \bibhyperref{% #1% \ifbool{cbx:parens} {\bibcloseparen\global\boolfalse{cbx:parens}} {}}} \savebibmacro{cite} \savebibmacro{textcite} \renewbibmacro*{cite}{% \printtext[citehyperref]{% \restorebibmacro{cite}% \usebibmacro{cite}}} \renewbibmacro*{textcite}{% \ifboolexpr{ ( not test {\iffieldundef{prenote}} and test {\ifnumequal{\value{citecount}}{1}} ) or ( not test {\iffieldundef{postnote}} and test {\ifnumequal{\value{citecount}}{\value{citetotal}}} ) } {\DeclareFieldAlias{textcitehyperref}{noformat}} {}% \printtext[textcitehyperref]{% \restorebibmacro{textcite}% \usebibmacro{textcite}}} }{\relax} \usepackage{hyperref}% \hypersetup{linkcolor=DarkGreen,citecolor=DarkRed, urlcolor=Blue,colorlinks=true} \AtBeginDocument{\renewcommand{\UrlFont}{\ttfamily}} \newcommand{\classorpackage}{class} \hypersetup{pdfauthor={Peter Flynn}, pdftitle={The veryshortguide LaTeX2e document class}, pdfsubject={The Very Short Guide to \LaTeX{}}, pdfkeywords={}, pdfproducer={XeLateX with hyperref}, pdfcreator={Emacs/psgml, ClassPack/Saxon, LaTeX/TeX Live}} \setmonofont[Scale=MatchLowercase]{Luxi Mono} % %% %% Settings for docstrip and ltxdoc %% \EnableCrossrefs \CodelineIndex \RecordChanges \begin{document} \DocInput{veryshortguide.dtx} \end{document} % % \fi % % \CheckSum{255} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z % Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z % Digits \0\1\2\3\4\5\6\7\8\9 % Exclamation \! Double quote \" Hash (number) \# % Dollar \$ Percent \% Ampersand \& % Acute accent \' Left paren \( Right paren \) % Asterisk \* Plus \+ Comma \, % Minus \- Point \. Solidus \/ % Colon \: Semicolon \; Less than \< % Equals \= Greater than \> Question mark \? % Commercial at \@ Left bracket \[ Backslash \\ % Right bracket \] Circumflex \^ Underscore \_ % Grave accent \` Left brace \{ Vertical bar \| % Right brace \} Tilde \~} % % \changes{v0.8}{2024/02/11}{Regression release: 1) Updated to ClassPack 1.27; 2) Removed adjustments for Letter paper and reworded section on fonts; 3) Adjusted the output files to conform to ClassPack.} % \changes{v0.7}{2020/04/16}{Regression release: 1) Updated to ClassPack 1.19; 2) Switched all conformance attributes on revision dates to YYYY-MM-DD; 3) Fixed some minor typos.} % \changes{v0.6}{2020/03/20}{Maintenance release: 1) Updated to ClassPack 1.18 ready for new release; 2) Replaced all conformance attributes on revision dates with YYYY-MM-DD as per changes to ClassPack.} % \changes{v0.5}{2017/12/24}{Maintenance release: Updated ClassPack, changed fonts to Plex.} % \changes{v0.4}{2016/06/14}{Moved into ClassPack: Added parameterisation for A4 and Legal.} % \changes{v0.3}{2016/06/04}{Updated to \XeLaTeX{}: Changed fonts again, switched to biber.} % \changes{v0.2}{2013/01/22}{Reissue: Fixed typos and changed font.} % \changes{v0.1}{2009/10/01}{Reworked from 2006 original: Changed to 4pp A4.} % % \GetFileInfo{veryshortguide.dtx} % % \DoNotIndex{\@,\@@par,\@beginparpenalty,\@empty} % \DoNotIndex{\@flushglue,\@gobble,\@input,\@makefnmark} % \DoNotIndex{\@makeother,\@maketitle,\@namedef,\@ne} % \DoNotIndex{\@spaces,\@tempa,\@tempb,\@tempswafalse} % \DoNotIndex{\@tempswatrue,\@thanks,\@thefnmark,\@topnum} % \DoNotIndex{\@@,\@elt,\@forloop,\@fortmp,\@gtempa} % \DoNotIndex{\@totalleftmargin,\",\/,\@ifundefined,\@nil} % \DoNotIndex{\@verbatim,\@vobeyspaces,\|,\~,\ ,\active} % \DoNotIndex{\advance,\aftergroup,\begingroup,\bgroup} % \DoNotIndex{\mathcal,\csname,\def,\documentstyle} % \DoNotIndex{\dospecials,\edef,\egroup,\else,\endcsname} % \DoNotIndex{\endgroup,\endinput,\endtrivlist} % \DoNotIndex{\expandafter,\fi,\fnsymbol,\futurelet,\gdef} % \DoNotIndex{\global,\hbox,\hss,\if,\if@inlabel} % \DoNotIndex{\if@tempswa,\if@twocolumn,\ifcase,\ifcat} % \DoNotIndex{\iffalse,\ifx,\ignorespaces,\index,\input} % \DoNotIndex{\item,\jobname,\kern,\leavevmode,\leftskip} % \DoNotIndex{\let,\llap,\lower,\m@ne,\next,\newpage} % \DoNotIndex{\nobreak,\noexpand,\nonfrenchspacing} % \DoNotIndex{\obeylines,\or,\protect,\raggedleft} % \DoNotIndex{\rightskip,\rm,\sc,\setbox,\setcounter} % \DoNotIndex{\small,\space,\string,\strut,\strutbox} % \DoNotIndex{\thefootnote,\thispagestyle,\topmargin} % \DoNotIndex{\trivlist,\tt,\twocolumn,\typeout,\vss,\vtop} % \DoNotIndex{\xdef,\z@,\,,\@bsphack,\@esphack,\@noligs} % \DoNotIndex{\@vobeyspaces,\@xverbatim,\`,\catcode,\end} % \DoNotIndex{\escapechar,\frenchspacing,\glossary} % \DoNotIndex{\hangindent,\hfil,\hfill,\hskip,\hspace,\ht} % \DoNotIndex{\it,\langle,\leaders,\long,\makelabel} % \DoNotIndex{\marginpar,\markboth,\mathcode,\mathsurround} % \DoNotIndex{\mbox,\newcount,\newdimen,\newskip} % \DoNotIndex{\nopagebreak,\parfillskip,\parindent} % \DoNotIndex{\parskip,\penalty,\raise,\rangle,\section} % \DoNotIndex{\setlength,\TeX,\topsep,\underline,\unskip} % \DoNotIndex{\verb,\vskip,\vspace,\widetilde,\\,\%,\@date} % \DoNotIndex{\@defpar,\[,\{,\},\],\count@,\ifnum,\loop} % \DoNotIndex{\today,\uppercase,\uccode,\baselineskip} % \DoNotIndex{\begin,\tw@,\a,\b,\c,\d,\e,\f,\g,\h,\i,\j,\k} % \DoNotIndex{\l,\m,\n,\o,\p,\q,\r,\s,\t,\u,\v,\w,\x,\y,\z} % \DoNotIndex{\A,\B,\C,\D,\E,\F,\G,\H,\I,\J,\K,\L,\M,\N,\O} % \DoNotIndex{\P,\Q,\R,\S,\T,\U,\V,\W,\X,\Y,\Z,\1,\2,\3,\4} % \DoNotIndex{\5,\6,\7,\8,\9,\0,\!,\#,\$,\&,\',\(,\)} % \DoNotIndex{\+,\.,\:,\;,\<,\=,\>,\?,\_,\discretionary} % \DoNotIndex{\immediate,\makeatletter,\makeatother} % \DoNotIndex{\meaning,\newenvironment,\par,\relax} % \DoNotIndex{\renewenvironment,\repeat,\scriptsize} % \DoNotIndex{\selectfont,\the,\undefined,\arabic,\do} % \DoNotIndex{\makeindex,\null,\number,\show,\write,\@ehc} % \DoNotIndex{\@author,\@ehc,\@ifstar,\@sanitize,\@title} % \DoNotIndex{\everypar,\if@minipage,\if@restonecol,\ifeof} % \DoNotIndex{\ifmmode,\lccode,\newtoks,\onecolumn,\openin} % \DoNotIndex{\p@,\SelfDocumenting,\settowidth} % \DoNotIndex{\@resetonecoltrue,\@resetonecolfalse,\bf} % \DoNotIndex{\clearpage,\closein,\lowercase,\@tempdima} % \DoNotIndex{\@inlabelfalse,\selectfont,\mathcode} % \DoNotIndex{\newmathalphabet,\rmdefault,\bfdefault} % \DoNotIndex{\DeclareRobustCommand,\@ifpackagewith} % \DoNotIndex{\#,\%,\&,\*,\-,\^,\_,\|,\~,\$} % \DoNotIndex{\acro,\addbibresource,\addcontentsline,\addtolength} % \DoNotIndex{\allowbreak,\alph,\@Alph,\and,\appendix,\arrayrulewidth} % \DoNotIndex{\ast,\baselinestretch,\bfseries,\bgroup,\Bib,\BibTeX} % \DoNotIndex{\BiBTeX,\BIBTeX,\bigskip,\box,\caption,\centering,\char} % \DoNotIndex{\CharacterTable,\CheckSum,\citeyear,\cjktext,\ClassError} % \DoNotIndex{\classorpackage,\CodelineIndex,\color,\colorbox} % \DoNotIndex{\columnsep,\columnwidth,\Con,\ConTeXt} % \DoNotIndex{\CPKannotationindent,\CPKdocname,\CPKdoctype,\CPKmenusep} % \DoNotIndex{\CPKpoststrut,\CPKprestrut,\CPKrevmarg,\CPKrunningecho} % \DoNotIndex{\CPKthisjob,\CPKthispackage,\CPKvstrut,\c@section} % \DoNotIndex{\@currsize,\DeclareOption,\declarepostamble} % \DoNotIndex{\declarepreamble,\DescribeColor,\DescribeEnv} % \DoNotIndex{\DescribeError,\DescribeOption,\DescribePackage} % \DoNotIndex{\DescribeTemplate,\descriptionlabel,\divide,\DoNotIndex} % \DoNotIndex{\dotfill,\dots,\@dottedtocline,\DoubleperCent,\doxitem} % \DoNotIndex{\dp,\egroup,\emph,\empty,\EnableCrossrefs} % \DoNotIndex{\encodingdefault,\endbatchfile,\endpreamble,\enspace} % \DoNotIndex{\ensuremath,\fa,\fbox,\fboxrule,\fboxsep,\file,\Finale} % \DoNotIndex{\flushright,\fnote,\font,\fontdimen,\fontencoding} % \DoNotIndex{\fontfamily,\fontseries,\fontshape,\fontsize,\footnote} % \DoNotIndex{\footnotesize,\from,\generate,\GetFileInfo,\HandRight} % \DoNotIndex{\@height,\@@hline,\href,\hrule,\hsize,\huge,\Huge} % \DoNotIndex{\hyperref,\hypersetup,\hyphenation,\ifdim,\@ifnextchar} % \DoNotIndex{\itshape,\keepsilent,\keys,\labelenumi,\LabelFont} % \DoNotIndex{\labelformat,\large,\Large,\LARGE,\LaTeX,\LaTeXe} % \DoNotIndex{\leftmark,\lfoot,\lhead,\longestline,\lstloadlanguages} % \DoNotIndex{\l@subsection,\l@subsubsection,\ltx@ifpackageloaded} % \DoNotIndex{\LyX,\MacroFont,\marginfont,\marginnote,\medskip} % \DoNotIndex{\menu,\menusep,\message,\MF,\@minus,\MP,\Msg} % \DoNotIndex{\multirow,\NeedsTeXFormat,\newcommand,\newcounter} % \DoNotIndex{\newgeometry,\newlength,\newwrite,\nicefrac,\noalign} % \DoNotIndex{\nocite,\noindent,\nolinkurl,\nopreamble,\normalfont} % \DoNotIndex{\normalsize,\numberstring,\obeyspaces,\ordinal} % \DoNotIndex{\PackageError,\pageref,\phantomsection,\@plus} % \DoNotIndex{\@pnumwidth,\preamble,\PrintChanges} % \DoNotIndex{\printexternalcurrentfont,\PrintIndex,\Provides} % \DoNotIndex{\qquad,\quad,\raisebox,\RecordChanges,\reflectbox} % \DoNotIndex{\refname,\renewcommand,\renewmenumacro,\reserved@a} % \DoNotIndex{\rightarrow,\rightmark,\rmfamily,\rotatebox,\rule} % \DoNotIndex{\school,\sloppy,\smallskip,\SMC,\SMC@unknown@warning} % \DoNotIndex{\Square,\stanza,\star,\@startsection,\stepcounter} % \DoNotIndex{\StopEventually,\subsubsection,\tableofcontents} % \DoNotIndex{\textbackslash,\textbf,\textdegree,\texteiad} % \DoNotIndex{\textheight,\textit,\textlangle,\textrangle,\textsf} % \DoNotIndex{\textSMC,\textsuperscript,\texttt,\TheSbox} % \DoNotIndex{\thesection,\thinspace,\tiny,\@tocrmarg} % \DoNotIndex{\tubhideheight,\tubreflect,\uline,\updefault} % \DoNotIndex{\upshape,\use@babel,\@usebib,\usedir,\usepostamble} % \DoNotIndex{\usepreamble,\vbox,\vfill,\vrefrange,\vrule} % \DoNotIndex{\Xe,\XeLaTeX,\XeTeX,\@xhline} % \DoNotIndex{\classorpackage} % \DoNotIndex{\centering} % \DoNotIndex{\descriptionlabel} % \setcounter{tocdepth}{5} % \setcounter{secnumdepth}{5} % \makeatletter % \def\@@doxdescribe#1#2{\endgroup \ifdox@noprint\else\marginpar{\raggedleft \@nameuse{PrintDescribe#1}{\LabelFont[\color{DarkRed}]{#2}}}\fi \ifdox@noindex\else \@nameuse{Special#1Index}{#2}\fi \endgroup\@esphack\ignorespaces} % \makeatother % % \def\fileversion{0.8} % \def\filedate{2024/02/11} % \title{The \textsf{veryshortguide} \LaTeXe\ document class\thanks{% % This document corresponds to \textsf{veryshortguide} % \textit{v.}\ \fileversion p, dated \filedate.} % \\[1em]\Large % The Very Short Guide to \LaTeX{}} % \author{Peter Flynn\\\normalsize Silmaril Consultants\\[-.25ex]\normalsize \\\normalsize(\url{peter@silmaril.ie})} % \maketitle % \renewcommand{\abstractname}{Summary}\thispagestyle{empty} % \begin{abstract} % \parskip=0.5\baselineskip % \advance\parskip by 0pt plus 2pt % \parindent=0pt% \noindent % This is the document class originally designed for the % \emph{Very Short Guide to \LaTeX{}}, a 4pp % folder designed as an aide-mémoire for people who have just % done a course in \LaTeX{} and need something by them on their % desk the next day to refresh their memories. It is % \emph{not} intended as a substitute for full % documentation.\par % Please do not complain that there is no math here. It % won't fit. Someone else can do a math leaflet. IANAM.\par % \par\centering % \includegraphics[width=.666\columnwidth]{vsg.png} % \end{abstract} % \clearpage % \tableofcontents % \clearpage % \subsection*{Typographic representation}\label{typorep} % In this document, the following information items are shown in % this way:\par % \par\medskip{\sffamily\rmfamily % \small\sffamily % \begingroup % \centering % \begin{tabular}{@{}% % l% % >{\renewcommand{\baselinestretch}{0.8}\selectfont{}\raggedright{}\renewcommand{\baselinestretch}{0.8}\selectfont{}\CPKprestrut\arraybackslash}p{12cm}<{}% % @{}} % \multicolumn{1}{@{}>{\renewcommand{\baselinestretch}{0.8}\selectfont{}\raggedright{}\CPKprestrut}b{\widthof{environments}}<{}}{\sffamily\bfseries Item}& % \multicolumn{1}{>{\renewcommand{\baselinestretch}{0.8}\selectfont{}\raggedright{}\CPKprestrut\arraybackslash}b{12cm}<{}@{}}{\sffamily\bfseries Description}\\[2pt]\hline % \CPKvstrut % \index{class@\textsf{class} (class)}\index{classes:!class@\textsf{class}}\textsf{class}&name of a \LaTeX{} document class\\ % {\ttfamily{}\textbackslash{}command}&name of a \LaTeX{} `command' % (\TeX{} macro or control sequence)\\ % \texttt{environment}&name of a \LaTeX{} environment\\ % {\ttfamily{}filename}\thinspace&name of a file\\ % \textsf{package}&name of a \LaTeX{} package\\ % \emph{productname}&a product name\\ % \texttt{}\index{tag=\texttt{\char'074 tag/\char'076 } (empty element)}\index{empty elements:!tag=\texttt{\char'074 tag/\char'076}}&a tag name in a markup language (eg \textsc{xml})\\ % \end{tabular} % \par\endgroup % } % \par % \clearpage % \section*{Latest changes} % \subsection*{v.0.8 (2024-02-11)} % \paragraph*{Regression release} % \begin{itemize} % \item Updated to \emph{ClassPack} % 1.27; % \item Removed adjustments for Letter paper and reworded % section on fonts; % \item Adjusted the output files to conform to % \emph{ClassPack}. % \end{itemize} % \subsection*{v.0.7 (2020-04-16)} % \paragraph*{Regression release} % \begin{itemize} % \item Updated to \emph{ClassPack} % 1.19; % \item Switched all \texttt{@conformance}\index{conformance=\texttt{\char'100 conformance} (attribute)}\index{attributes:!conformance=\texttt{\char'100 conformance}} attributes on % revision dates to \texttt{@YYYY-MM-DD}\index{YYYY-MM-DD=\texttt{\char'100 YYYY-MM-DD} (attribute)}\index{attributes:!YYYY-MM-DD=\texttt{\char'100 YYYY-MM-DD}}; % \item Fixed some minor typos. % \end{itemize} % \subsection*{v.0.6 (2020-03-20)} % \paragraph*{Maintenance release} % \begin{itemize} % \item Updated to ClassPack 1.18 ready for new release; % \item Replaced all \texttt{@conformance}\index{conformance=\texttt{\char'100 conformance} (attribute)}\index{attributes:!conformance=\texttt{\char'100 conformance}} attributes on % revision dates with \texttt{@YYYY-MM-DD}\index{YYYY-MM-DD=\texttt{\char'100 YYYY-MM-DD} (attribute)}\index{attributes:!YYYY-MM-DD=\texttt{\char'100 YYYY-MM-DD}} as per changes to % \emph{ClassPack}. % \end{itemize} % \subsection*{v.0.5 (2017-12-24)} % \paragraph*{Maintenance release} % \begin{itemize} % \item Updated ClassPack, changed fonts to Plex. % \end{itemize} % \par\bigskip % See p.\thinspace\pageref{changehistory} for earlier changes. % \section{Acknowledgements}\label{ack} % Thanks to all those on c.t.t whose suggestions made this % version more useful.\par % Alan Munn for the distinction between base font and font % package and for suggesting `expected % functionality' packages on sectioning, long tables, % headers, and double spacing, and links to FAQ and CTAN.\par % Lars Madsen, Will Robertson, Robin Fairbairns and others % for asking for the center environment in tables and figures to % be replaced with the {\ttfamily{}\textbackslash{}centering} command (I % still disagree, but WTF :-)\par % Tsy for spotting a typo in the table code sample.\par % Rob Felty and Domink Wass for pointing me at Winston % Chang's excellent \emph{LaTeX Cheat Sheet} % summary.\par % \clearpage % \section{Design} % This document was originally laid out for A5 pages with % margins optimised for a HP K8600 printer so that I could % impose two pages per A4 sheet and print double-sided. It was % tested at US Half-Letter paper size in an earlier version but % has proved problematic to fit without substantial text % alteration. This would have enabled two-sided printing on % Letter size paper but this will hae to wait for a laer % version.\par % The code uses a large number of packages in order to % illustrate some of the range of \LaTeX{}'s capabilities, % including titling, colour, section and list formatting. These % are demonstrated in the accompanying sample in % {\ttfamily{}vsg.tex}\thinspace.\par % \par\begingroup % \fboxsep1em\centering % \fbox{\begin{minipage}{0.8\columnwidth}\sffamily % \raggedright\parindent0pt % \parskip=.5\baselineskip % Note that the document class is called % {\ttfamily{}veryshortguide.cls} but the sample file % is {\ttfamily{}vsg.tex}\thinspace.\par % \end{minipage}}\par\endgroup % \subsection{Warning}\label{warning} % A lot of the content has been made up in the document % for convenience, because we're combining incompatible things % for the sake of showing examples which would not normally % occur in the same document (eg both scientific and % humanities-style bibliographic references in the same % document). The demands of space also mean that there is far % more manual adjustment needed than would be seen in a normal % continuous-text document.\par % \subsection{Printing}\label{print} % Printing for two-sided A4 sheets % (`imposition') should be prepared % with this command:\par % \iffalse %<*ignore> % \fi % \begingroup\advance\hsize by-1em % \begin{Verbatim}[frame=single,framesep=1em, % fontsize=\scriptsize] pdf2ps vsg.pdf - | pstops -pa4 -b \ "4:-3L(21cm,5mm)+0L(21cm,14.35cm),1L(21cm,5mm)+-2L(21cm,14.35cm)" |\ ps2pdf - veryshortguide-a4-imposed.pdf % \end{Verbatim} % \endgroup % \iffalse % % \fi % Unfortunately, while this works perfectly for the % \textsf{brochure} package, it breaks here with the % Ghostscript error, for reasons currently unknown:\par % \iffalse %<*ignore> % \fi % \begingroup\advance\hsize by-1em % \begin{Verbatim}[frame=single,framesep=1em, % fontsize=\scriptsize] Error: /undefined in **** Operand stack: Execution stack: %interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push 1990 1 3 %oparray_pop 1989 1 3 %oparray_pop 1977 1 3 %oparray_pop 1833 1 3 %oparray_pop --nostringval-- %errorexec_pop .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- Dictionary stack: --dict:731/1123(ro)(G)-- --dict:0/20(G)-- --dict:75/200(L)-- Current allocation mode is local GPL Ghostscript 9.50: Unrecoverable error, exit code 1 % \end{Verbatim} % \endgroup % \iffalse % % \fi % On some printers you may also need to modify the positioning % if your printer cannot print the bottom end of a sheet. For % some printer drivers which cannot handle the mechanics % correctly you may need to resort to the command line. This % example is an Acrobat-generated list of parameters which I % used on a HP OfficeJet Pro K8600:\par % \iffalse %<*ignore> % \fi % \begingroup\advance\hsize by-1em % \begin{Verbatim}[frame=single,framesep=1em, % fontsize=\small] lpr -P OJPK8600 \ -o PageSize=A6.SM \ -o PageRegion=A4 \ -o Duplex=DuplexTumble \ -o InputSlot=Auto \ -o ColorModel=RGB \ -o MediaType=Automatic \ -o OutputMode=Normal \ -o OptionDuplex=True % \end{Verbatim} % \endgroup % \iffalse % % \fi % \StopEventually{\label{endcode}% % \clearpage % \addcontentsline{toc}{section}{Change History}% % \label{changehistory}% % \PrintChanges % \clearpage % \label{codeindex}% % \addcontentsline{toc}{section}{Index}% % \PrintIndex} % \clearpage\subsection*{Code for the Very Short Guide \LaTeX{} document class} % \iffalse %<*class> % \fi % \section{Implementation}\label{vsg-impl} % \iffalse %% %% Implementation % \fi % \subsection{Auto-initialisation}\label{vsg-impl:autoinit} % This section is added automatically by \textit{ClassPack} % as a preamble to all classes and style packages. % For details see the \textsf{ltxdoc} package documentation. % \par\smallskip % % \begingroup\color{DarkRed}\footnotesize % \leavevmode\enspace{\scriptsize1}\quad{\ttfamily\textbackslash NeedsTeXFormat\{LaTeX2e\}[2015/01/01]}\\ % \leavevmode\enspace{\scriptsize2}\quad{\ttfamily\textbackslash ProvidesClass\{veryshortguide\}[2024/02/11 v0.8}\\ % \leavevmode\enspace{\scriptsize3}\qquad{\ttfamily Very Short Guide LaTeX document class]}\\\endgroup % \setcounter{CodelineNo}{3} % \begin{CPKpackage}{fix-cm} % Preloaded functions to override the default \LaTeX\ % step-size font sizes (which can still be used, % but are no longer restrictions).\par % \begin{macrocode} \RequirePackage{fix-cm} % \end{macrocode} % \end{CPKpackage} % \begin{CPKoption}{svgnames} % Pass the \textbf{\texttt{svgnames}} option to the % \textsf{xcolor} package if that gets loaded later. % This avoids a conflict with any other packages in the class % (eg \textsf{hyperref}) which use their own default % when they load \textsf{xcolor}.\par % \begin{macrocode} \PassOptionsToPackage{svgnames}{xcolor} % \end{macrocode} % \end{CPKoption} % \subsection{Load the document base class}\label{classload} % \iffalse %% %% ****************************************************************** %% %% Load the document base class % \fi % This class is based on the standard \LaTeX{} % \DescribeClass{report}\textsf{report} class, with no special % options.\par % \iffalse %% %% This class is based on the standard LaTeX _report_ class, with no special options. % \fi % \begin{macrocode} \DeclareOption*{% \PassOptionsToClass{% \CurrentOption}{report}} \ProcessOptions\relax \LoadClass[oneside]{report} % \end{macrocode} %\iffalse %% %% Packages required for the class %% % \fi % \subsection{Packages required for the class}\label{clspackages} % Packages required for operation: % \begin{CPKpackage}{noto} % Sets the Google NoTo typeface as the default. % \iffalse %% Sets the Google NoTo typeface as the default. % \fi % \begin{macrocode} \RequirePackage{noto}% % \end{macrocode} % \end{CPKpackage} % \begin{CPKpackage}{mflogo} % Provides the \MF{} and \MP{} logos. % \iffalse %% Provides the \MF{} and \MP{} logos. % \fi % \begin{macrocode} \RequirePackage{mflogo}% % \end{macrocode} % \end{CPKpackage} % \begin{CPKpackage}{fancyhdr} % Provide for running headers and footers. % \iffalse %% Provide for running headers and footers. % \fi % \begin{macrocode} \RequirePackage{fancyhdr}% % \end{macrocode} % \end{CPKpackage} % \begin{CPKpackage}{parskip} % Creates paragraphs separated by white-space with no % indentation. % \iffalse %% Creates paragraphs separated by white-space with no indentation. % \fi % \begin{macrocode} \RequirePackage{parskip}% % \end{macrocode} % \end{CPKpackage} % \begin{CPKpackage}{geometry} % Package for establishing margins and text area. % \iffalse %% Package for establishing margins and text area. % \fi % \begin{macrocode} \RequirePackage[margin=12mm,top=10mm, bottom=10mm,nohead]{geometry}% % \end{macrocode} % \end{CPKpackage} % \begin{CPKpackage}{fontspec} % Font specification setup for use with \XeLaTeX{}. % \iffalse %% Font specification setup for use with \XeLaTeX{}. % \fi % \begin{macrocode} \RequirePackage{fontspec}% % \end{macrocode} % \end{CPKpackage} % \begin{CPKpackage}{libertine} % Linux Libertine and Biolinum fonts; % \iffalse %% Linux Libertine and Biolinum fonts % \fi % \begin{macrocode} \RequirePackage{libertine}% % \end{macrocode} % \end{CPKpackage} % \begin{CPKpackage}{graphicx} % Provide for graphics (PNG, JPG, or PDF format (only) for % pdflatex; EPS format (only) for standard \LaTeX{}); and for % reflection and rotation features. % \iffalse %% Provide for graphics (PNG, JPG, or PDF format (only) for pdflatex; EPS format (only) for standard \LaTeX{}); and for reflection and rotation features. % \fi % \begin{macrocode} \RequirePackage{graphicx}% % \end{macrocode} % \end{CPKpackage} % \begin{CPKpackage}{url} % Handling of URI formatting. % \iffalse %% Handling of URI formatting. % \fi % \begin{macrocode} \RequirePackage{url}% % \end{macrocode} % \end{CPKpackage} % \begin{CPKpackage}{fancybox} % This provides round-cornered and drop-shadow boxes. % \iffalse %% This provides round-cornered and drop-shadow boxes. % \fi % \begin{macrocode} \RequirePackage{fancybox}% % \end{macrocode} % \end{CPKpackage} % \begin{CPKpackage}{enumitem} % List variants: inline and compact. % Note that this replaces the earlier defaults of % \textsf{paralist} and % \textsf{mdwlist}. % \iffalse %% List variants: inline and compact. Note that this replaces the earlier defaults of paralist and mdwlist. % \fi % \begin{macrocode} \RequirePackage{enumitem}% \setlist[description]{style=unboxed,font=\sffamily\bfseries} \setlist[itemize]{leftmargin=2em} \setlist[enumerate]{leftmargin=2em} % \end{macrocode} % \end{CPKpackage} % \begin{CPKpackage}{fix-cm} % Allow infinitely-variable font scaling. This is still % needed even for \XeLaTeX{} and Lua\LaTeX{} but may one day be % superseded by the \textsf{anysizefont} % package; % \iffalse %% Allow infinitely-variable font scaling. This is still needed even for \XeLaTeX{} and Lua\LaTeX{} but may one day be superseded by the anysizefont package % \fi % \begin{macrocode} \RequirePackage{fix-cm}% % \end{macrocode} % \end{CPKpackage} % \begin{CPKpackage}{multicol} % Provides multi-column typesetting. % \iffalse %% Provides multi-column typesetting. % \fi % \begin{macrocode} \RequirePackage{multicol}% % \end{macrocode} % \end{CPKpackage} % \begin{CPKpackage}{nicefrac} % Provides textual fractions with slanting delimiter; % \iffalse %% Provides textual fractions with slanting delimiter % \fi % \begin{macrocode} \RequirePackage{nicefrac}% % \end{macrocode} % \end{CPKpackage} % \begin{CPKpackage}{fancyvrb} % Add more robust verbatim facilities. % \iffalse %% Add more robust verbatim facilities. % \fi % \begin{macrocode} \RequirePackage{fancyvrb}% % \end{macrocode} % \end{CPKpackage} % \begin{CPKpackage}{bbding} % Karel Horak's dingbats symbols. % \iffalse %% Karel Horak's dingbats symbols. % \fi % \begin{macrocode} \RequirePackage{bbding}% % \end{macrocode} % \end{CPKpackage} % \begin{CPKpackage}{parskip} % Creates paragraphs separated by white-space with no % indentation. % \iffalse %% Creates paragraphs separated by white-space with no indentation. % \fi % \begin{macrocode} \RequirePackage{parskip}% % \end{macrocode} % \end{CPKpackage} % \begin{CPKpackage}{ragged2e} % Allow hyphenation in ragged setting. % \iffalse %% Allow hyphenation in ragged setting. % \fi % \begin{macrocode} \RequirePackage{ragged2e}% % \end{macrocode} % \end{CPKpackage} % \begin{CPKpackage}{calc} % Implements simple mathematics in counters and dimensions. % \iffalse %% Implements simple mathematics in counters and dimensions. % \fi % \begin{macrocode} \RequirePackage{calc}% % \end{macrocode} % \end{CPKpackage} % \begin{CPKpackage}{ifthen} % Package to enable if--then--else conditional % processing. % \iffalse %% Package to enable if--then--else conditional processing. % \fi % \begin{macrocode} \RequirePackage{ifthen}% % \end{macrocode} % \end{CPKpackage} % \begin{CPKpackage}{textcomp} % Additional commands for common symbols and punctuation. % \iffalse %% Additional commands for common symbols and punctuation. % \fi % \begin{macrocode} \RequirePackage{textcomp}% % \end{macrocode} % \end{CPKpackage} % \begin{CPKpackage}{array} % Additional column formatting types for tables. % \iffalse %% Additional column formatting types for tables. % \fi % \begin{macrocode} \RequirePackage{array}% % \end{macrocode} % \end{CPKpackage} % \begin{CPKpackage}{relsize} % Provides size-relative font size changes (smaller, larger, % etc). % \iffalse %% Provides size-relative font size changes (smaller, larger, etc). % \fi % \begin{macrocode} \RequirePackage{relsize}% % \end{macrocode} % \end{CPKpackage} % \begin{CPKpackage}{textcase} % Provides a more sophisticated casing function than the % default. % \iffalse %% Provides a more sophisticated casing function than the default. % \fi % \begin{macrocode} \RequirePackage{textcase}% % \end{macrocode} % \end{CPKpackage} % \begin{CPKpackage}{flexlogo} % Allows user-programmable changes to the positioning of % letters in the \TeX{}-related logos on a per-font basis. % \iffalse %% Allows user-programmable changes to the positioning of letters in the \TeX{}-related logos on a per-font basis. % \fi % \begin{macrocode} \RequirePackage{flexlogo}% % \end{macrocode} % \end{CPKpackage} % \begin{CPKpackage}{ulem} % Underlining as an option (\emph{not} % automatically replacing italics). % \iffalse %% Underlining as an option (not automatically replacing italics). % \fi % \begin{macrocode} \RequirePackage[normalem]{ulem}% % \end{macrocode} % \end{CPKpackage} % \begin{CPKpackage}{xcolor} % Provide color. % \iffalse %% Provide color. % \fi % \begin{macrocode} \RequirePackage[svgnames]{xcolor}% \@ifundefined{T}{% \newcommand{\T}[2]{{\fontencoding{T1}% \selectfont#2}}}{} % \end{macrocode} % There seems to be a bug in the T1 encoding of some package % (unidentified, but possibly \textsf{xcolor}) which % uses the command {\ttfamily{}\textbackslash{}T1}, which is an % impossibility (no digits allowed in command names). So we fake % it here to stop \LaTeX{} complaining, by dropping the first % argument on the floor. % \end{CPKpackage} % \begin{CPKpackage}{babel} % Add linguistic, cultural change, and H\&J support for % many languages. % \iffalse %% Add linguistic, cultural change, and H\&J support for many languages. % \fi % \begin{macrocode} \RequirePackage[british]{babel}% % \end{macrocode} % \end{CPKpackage} % \begin{CPKpackage}{biblatex} % Use \textsf{biblatex} instead of \BibTeX{}; % \iffalse %% Use biblatex instead of \BibTeX{} % \fi % \begin{macrocode} \RequirePackage[backend=biber,doi=true, isbn=true,url=true,uniquename=false,style=apa]{biblatex}% \AtBeginDocument{% \setlength{\bibitemsep}{1ex}% \setlength{\bibnamesep}{1.5\itemsep}% \defbibheading{shortbib}[References]% {\section{#1}}} \@ifpackagewith{babel}{british}{% \DeclareLanguageMapping{british}% {british-apa}}{\relax} \providetoggle{blx@skipbiblist} % \end{macrocode} % \end{CPKpackage} % \begin{CPKpackage}{csquotes} % Adds correct curly quotes for cited titles when using % \textsf{babel}/\textsf{polyglossia} or % \textsf{biblatex}; % \iffalse %% Adds correct curly quotes for cited titles when using babel/polyglossia or biblatex % \fi % \begin{macrocode} \RequirePackage{csquotes}% % \end{macrocode} % \end{CPKpackage} % \begin{CPKpackage}{menukeys} % Graphical representations of menus, directories, and % keys. % \iffalse %% Graphical representations of menus, directories, and keys. % \fi % \begin{macrocode} \RequirePackage{menukeys}% \renewmenumacro{\menu}[>]{roundedmenus} \renewmenumacro{\directory}[/]{pathswithblackfolder} \renewmenumacro{\keys}{shadowedroundedkeys} % \end{macrocode} % Graphical representations of menus, directories, and keys. % \end{CPKpackage} % % \subsection{Font loading}\label{fontloads} % \iffalse %% %% ****************************************************************** %% %% Font loading % \fi % The \textsf{fontspec} package provides a way % to scale the sans and mono fonts to match the roman.\par % \iffalse %% %% The _fontspec_ package provides a way to scale the sans and mono fonts to match the roman. % \fi % \begin{macrocode} \setmainfont{Linux Libertine O} \setsansfont[Scale=MatchLowercase]{Raleway} \setmonofont[Scale=MatchLowercase]{zcoN} % \end{macrocode} % \subsection{Changes to package defaults}\label{packagemods} % \iffalse %% %% ****************************************************************** %% %% Changes to package defaults % \fi % \par % \iffalse %% %% % \fi % \begin{CPKmacro}{\labelitemi}\label{macro--labelitemi} % Use a pointy pencil from the \textsf{bbding} % package for itemized lists.\par % \iffalse %% %% Use a pointy pencil from the _bbding_ package for itemized lists. % \fi % \begin{macrocode} \renewcommand{\labelitemi}{% \raisebox{-.5ex}{\textcolor{Purple}{\PencilRight}}} \setlength{\leftmargini}{18pt}% don't waste margin space % \end{macrocode} % \end{CPKmacro} % \begin{CPKmacro}{\example}\label{macro--example} % Provide commands for distinguishing examples and their % output.\par % \iffalse %% %% Provide commands for distinguishing examples and their output. % \fi % \begin{macrocode} \newcommand{\example}{% \color{DarkGreen}\textsf{\bfseries Example:} \color{MediumBlue}} \def\endexample{\color{black}} \newcommand{\gives}[1]{% \thinspace\color{DarkGreen}\raisebox{-.4ex} {\ArrowBoldRightStrobe}~\color{DarkRed}{\rmfamily #1}\color{black}} \newcommand{\nobox}{~\raisebox{-.25ex}{\footnotesize \Square\llap\XSolidBrush}} \newcommand{\yesbox}{~\raisebox{-.25ex}{\footnotesize \Square\llap\CheckmarkBold}} % \end{macrocode} % \end{CPKmacro} % \begin{CPKmacro}{\comment}\label{macro--comment} % In \textsf{fancyverb}'s Verbatim, allow % rubric embedded as marked text in red \par % \iffalse %% %% In _fancyverb_'s Verbatim, allow rubric embedded as marked text in red % \fi % \begin{macrocode} \newcommand{\comment}[1]{% \ifthenelse{\equal{#1}{ }}{}{#1}\normalfont \itshape\footnotesize\color{DarkRed}} % Allow notification of newly-added material \newcommand{\added}{\color{MediumBlue}} % This reverts rubric back to normal, to avoid embedded spaces \newcommand{\revert}{\ttfamily\upshape\color{black}} % \end{macrocode} % \end{CPKmacro} % \begin{CPKenvironment}{note}\label{environment--note} % The \texttt{note} environment is for notes which % are in the page body, not footnotes.\par % \iffalse %% %% The note environment is for notes which are in the page body, not footnotes. % \fi % \begin{macrocode} \newenvironment{note}{\begingroup\small\textbf{\sffamily Note:}} {\par\endgroup} % \end{macrocode} % \end{CPKenvironment} % \begin{CPKmacro}{\monthdate}\label{macro--monthdate} % Define a month-year date European way round.\par % \iffalse %% %% Define a month-year date European way round. % \fi % \begin{macrocode} \newcommand{\monthdate}{\ifcase\month\or January\or February\or March\or April\or May\or June\or July\or August\or September\or October\or November\or December\fi\space\number\year} % \end{macrocode} % \end{CPKmacro} % \begin{CPKmacro}{\hyphenation}\label{macro--hyphenation} % There's something odd about the hyphenation...these % were broken:\par % \iffalse %% %% There's something odd about the hyphenation...these were broken: % \fi % \begin{macrocode} \hyphenation{mathe-mati-cal auto-mati-cal-ly docu-ment docu-ments docu-men-tation statis-ti-cal} % \end{macrocode} % \end{CPKmacro} % \begin{CPKmacro}{\maketitle}\label{macro--maketitle} % \begin{macrocode} \renewcommand{\maketitle}{% \hbox to\textwidth{% \vbox{\hsize=.73\textwidth\huge\bfseries\raggedright \@title} \hss \vbox{\hsize=.27\textwidth\scriptsize\raggedright \@author \par \textit{\@date}}} \par\bigskip\hrule\medskip } % \end{macrocode} % \end{CPKmacro} % \begin{CPKmacro}{\section}\label{macro--section} % Pack headings together more tightly.\par % \iffalse %% %% Pack headings together more tightly. % \fi % \begin{macrocode} \renewcommand\section{\@startsection{subsection}{1}{\z@}% {-0pt\@plus -.2ex \@minus -.2ex}% {1pt \@plus .2ex}% {\sffamily\Large\bfseries}} \renewcommand\subsection{\@startsection{subsection}{2}{\z@}% {-0pt\@plus -.2ex \@minus -.2ex}% {1pt \@plus .2ex}% {\sffamily\large\bfseries}} \renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% {-0pt\@plus -1ex \@minus -.2ex}% {1pt \@plus .2ex}% {\sffamily\normalsize\bfseries}} \renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% {1ex \@plus1ex \@minus.2ex}% {-1em}% {\sffamily\normalsize}} \setcounter{secnumdepth}{5}% we don't want numbered sections \renewcommand{\thesection}{} \renewcommand{\thesubsection}{} \renewcommand{\thesubsubsection}{\arabic{subsubsection}} % \end{macrocode} % \end{CPKmacro} % \begin{CPKmacro}{\DeclareTeXLogo}\label{macro--DeclareTeXLogo} % \begin{macrocode} \DeclareTeXLogo{Caladea(0)}{m}{n}{.1667}{.125}[.4] \DeclareTeXLogo{Caladea(0)}{m}{it}{.1667}{.08}[.4] \DeclareTeXLogo{Caladea(0)}{bx}{n}{.1667}{.125}[.4] \DeclareLaTeXLogo{Caladea(0)}{bx}{n}{.27}{.1333}[.1] \DeclareLaTeXLogo{Caladea(0)}{m}{n}{.3}{.1}[.1] \DeclareTeXLogo{Raleway(0)}{bx}{n}{.1667}{.125}[.38] \DeclareLaTeXLogo{Raleway(0)}{m}{n}{.3}{.1}[.1] \DeclareLaTeXLogo{Raleway(0)}{b}{n}{.27}{.15}[.1] % \end{macrocode} % \end{CPKmacro} % \begin{CPKmacro}{\footnoterule}\label{macro--footnoterule} % Adjust footnote fence.\par % \iffalse %% %% Adjust footnote fence. % \fi % \begin{macrocode} \renewcommand{\footnoterule}{\kern-3pt \hrule height.2pt width.25\columnwidth\kern 2.8pt} % \end{macrocode} % \end{CPKmacro} % \begin{CPKmacro}{\pagestyle}\label{macro--pagestyle} % No page numbers, we're faking it; and let text go very % sloppy to fit.\par % \iffalse %% %% No page numbers, we're faking it; and let text go very sloppy to fit. % \fi % \begin{macrocode} \pagestyle{empty} \spaceskip=4pt plus3pt minus2pt % \end{macrocode} % \end{CPKmacro} % \begin{CPKmacro}{\textsc}\label{macro--textsc} % Cater for some fonts not having small caps.\par % \iffalse %% %% Cater for some fonts not having small caps. % \fi % \begin{macrocode} \renewcommand{\textsc}[1]{{\smaller\MakeTextUppercase{#1}}} % \end{macrocode} % \end{CPKmacro} % \begin{CPKmacro}{\ff}\label{macro--ff} % Abbreviate changes of font.\par % \iffalse %% %% Abbreviate changes of font. % \fi % \begin{macrocode} \newcommand{\ff}[2][T1]{\fontencoding{#1}\fontfamily{#2}\selectfont} % \end{macrocode} % \end{CPKmacro} % \begin{CPKmacro}{\descriptionlabel}\label{macro--descriptionlabel} % Stop the {\ttfamily{}\textbackslash{}descriptionlabel}command % reverting to the serif font.\par % \iffalse %% %% Stop the `\descriptionlabel`command reverting to the serif font. % \fi % \begin{macrocode} \renewcommand{\descriptionlabel}[1]{\hspace\labelsep{\sffamily\bfseries #1}} % \end{macrocode} % \end{CPKmacro} % \iffalse % % \fi % \appendix % \section{The \LaTeX{} Project Public License (v\thinspace{}1.3c)}\label{LPPL} % \begin{quotation}\small\sffamily\parindent0pt % \parskip.5\baselineskip % \color{DarkBlue}\noindent % Everyone is allowed to distribute verbatim copies of this % license document, but modification of it is not allowed.\par % \end{quotation} % \subsection{Preamble}\label{Preamble} % The \LaTeX{} Project Public License (\textsc{lppl}) % is the primary license under which the \LaTeX{} kernel and the % base \LaTeX{} packages are distributed.\par % You may use this license for any work of which you hold the % copyright and which you wish to distribute. This license may be % particularly suitable if your work is \TeX{}-related (such as a % \LaTeX{} package), but it is written in such a way that you can % use it even if your work is unrelated to \TeX{}.\par % The section “Whether and How to Distribute Works under This % License”, below, gives instructions, examples, and % recommendations for authors who are considering distributing % their works under this license.\par % This license gives conditions under which a work may be % distributed and modified, as well as conditions under which % modified versions of that work may be distributed.\par % We, the \LaTeX{3} Project, believe that the conditions below % give you the freedom to make and distribute modified versions of % your work that conform with whatever technical specifications % you wish while maintaining the availability, integrity, and % reliability of that work. If you do not see how to achieve your % goal while meeting these conditions, then read the document % {\ttfamily{}cfgguide.tex} and {\ttfamily{}modguide.tex} in the base \LaTeX{} % distribution for suggestions.\par % \subsection{Definitions}\label{Definitions} % In this license document the following terms are used:\par % \begin{description}[style=unboxed] % \item[Work:]Any work being distributed under this License.\par % \item[Derived Work:]Any work that under any applicable law is derived from % the Work.\par % \item[Modification:]Any procedure that produces a Derived Work under any % applicable law~--- for example, the production of a file % containing an original file associated with the Work or a % significant portion of such a file, either verbatim or % with modifications and/or translated into another % language.\par % \item[Modify:]To apply any procedure that produces a Derived Work % under any applicable law.\par % \item[Distribution:]Making copies of the Work available from one person to % another, in whole or in part. Distribution includes (but % is not limited to) making any electronic components of the % Work accessible by file transfer protocols such as % \textsc{ftp} or \textsc{http} or by % shared file systems such as Sun's Network File System % (\textsc{nfs}).\par % \item[Compiled Work:]A version of the Work that has been processed into a % form where it is directly usable on a computer system. % This processing may include using installation facilities % provided by the Work, transformations of the Work, copying % of components of the Work, or other activities. Note that % modification of any installation facilities provided by % the Work constitutes modification of the Work.\par % \item[Current Maintainer:]A person or persons nominated as such within the Work. % If there is no such explicit nomination then it is the % `Copyright Holder' under any applicable % law.\par % \item[Base Interpreter:]A program or process that is normally needed for % running or interpreting a part or the whole of the % Work.\par % A Base Interpreter may depend on external components % but these are not considered part of the Base Interpreter % provided that each external component clearly identifies % itself whenever it is used interactively. Unless % explicitly specified when applying the license to the % Work, the only applicable Base Interpreter is a % `\LaTeX{}-Format' or in the case of files % belonging to the `\LaTeX{}-format' a program % implementing the `\TeX{} language'.\par % \end{description} % \subsection{Conditions on Distribution and Modification}\label{Conditions} % \begin{enumerate} % \item Activities other than distribution and/or modification % of the Work are not covered by this license; they are % outside its scope. In particular, the act of running the % Work is not restricted and no requirements are made % concerning any offers of support for the Work.\par % \item \label{item-distribute}You may distribute a complete, unmodified copy of the % Work as you received it. Distribution of only part of the % Work is considered modification of the Work, and no right to % distribute such a Derived Work may be assumed under the % terms of this clause.\par % \item You may distribute a Compiled Work that has been % generated from a complete, unmodified copy of the Work as % distributed under Clause~\vref{item-distribute} above, as % long as that Compiled Work is distributed in such a way that % the recipients may install the Compiled Work on their system % exactly as it would have been installed if they generated a % Compiled Work directly from the Work.\par % \item \label{item-currmaint}If you are the Current Maintainer of the Work, you may, % without restriction, modify the Work, thus creating a % Derived Work. You may also distribute the Derived Work % without restriction, including Compiled Works generated from % the Derived Work. Derived Works distributed in this manner % by the Current Maintainer are considered to be updated % versions of the Work.\par % \item If you are not the Current Maintainer of the Work, you % may modify your copy of the Work, thus creating a Derived % Work based on the Work, and compile this Derived Work, thus % creating a Compiled Work based on the Derived Work.\par % \item \label{item-conditions}If you are not the Current Maintainer of the Work, you % may distribute a Derived Work provided the following % conditions are met for every component of the Work unless % that component clearly states in the copyright notice that % it is exempt from that condition. Only the Current % Maintainer is allowed to add such statements of exemption to % a component of the Work.\par % \begin{enumerate} % \item If a component of this Derived Work can be a direct % replacement for a component of the Work when that % component is used with the Base Interpreter, then, % wherever this component of the Work identifies itself to % the user when used interactively with that Base % Interpreter, the replacement component of this Derived % Work clearly and unambiguously identifies itself as a % modified version of this component to the user when used % interactively with that Base Interpreter.\par % \item Every component of the Derived Work contains % prominent notices detailing the nature of the changes to % that component, or a prominent reference to another file % that is distributed as part of the Derived Work and that % contains a complete and accurate log of the % changes.\par % \item No information in the Derived Work implies that any % persons, including (but not limited to) the authors of % the original version of the Work, provide any support, % including (but not limited to) the reporting and % handling of errors, to recipients of the Derived Work % unless those persons have stated explicitly that they do % provide such support for the Derived Work.\par % \item You distribute at least one of the following with % the Derived Work:\par % \begin{enumerate} % \item A complete, unmodified copy of the Work; if your % distribution of a modified component is made by % offering access to copy the modified component from % a designated place, then offering equivalent access % to copy the Work from the same or some similar place % meets this condition, even though third parties are % not compelled to copy the Work along with the % modified component;\par % \item Information that is sufficient to obtain a % complete, unmodified copy of the Work.\par % \end{enumerate} % \end{enumerate} % \item If you are not the Current Maintainer of the Work, you % may distribute a Compiled Work generated from a Derived % Work, as long as the Derived Work is distributed to all % recipients of the Compiled Work, and as long as the % conditions of Clause~\vref{item-conditions}, above, are met % with regard to the Derived Work.\par % \item The conditions above are not intended to prohibit, and % hence do not apply to, the modification, by any method, of % any component so that it becomes identical to an updated % version of that component of the Work as it is distributed % by the Current Maintainer under Clause~\vref{item-currmaint}, above.\par % \item Distribution of the Work or any Derived Work in an % alternative format, where the Work or that Derived Work (in % whole or in part) is then produced by applying some process % to that format, does not relax or nullify any sections of % this license as they pertain to the results of applying that % process.\par % \item % \begin{enumerate} % \item A Derived Work may be distributed under a different % license provided that license itself honors the % conditions listed in Clause~\vref{item-conditions} above, in % regard to the Work, though it does not have to honor the % rest of the conditions in this license.\par % \item If a Derived Work is distributed under a different % license, that Derived Work must provide sufficient % documentation as part of itself to allow each recipient % of that Derived Work to honor the restrictions in % Clause~\vref{item-conditions} above, concerning % changes from the Work.\par % \end{enumerate} % \item This license places no restrictions on works that are % unrelated to the Work, nor does this license place any % restrictions on aggregating such works with the Work by any % means.\par % \item Nothing in this license is intended to, or may be used % to, prevent complete compliance by all parties with all % applicable laws.\par % \end{enumerate} % \subsection{No Warranty}\label{Warranty} % There is no warranty for the Work. Except when otherwise % stated in writing, the Copyright Holder provides the Work % `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. The entire risk as to the quality and performance of % the Work is with you. Should the Work prove defective, you % assume the cost of all necessary servicing, repair, or % correction.\par % In no event unless required by applicable law or agreed to % in writing will The Copyright Holder, or any author named in the % components of the Work, or any other party who may distribute % and/or modify the Work as permitted above, be liable to you for % damages, including any general, special, incidental or % consequential damages arising out of any use of the Work or out % of inability to use the Work (including, but not limited to, % loss of data, data being rendered inaccurate, or losses % sustained by anyone as a result of any failure of the Work to % operate with any other programs), even if the Copyright Holder % or said author or said other party has been advised of the % possibility of such damages.\par % \subsection{Maintenance of The Work}\label{Maintenance} % The Work has the status `author-maintained' % if the Copyright Holder explicitly and prominently states near % the primary copyright notice in the Work that the Work can only % be maintained by the Copyright Holder or simply that it is % `author-maintained'.\par % The Work has the status `maintained' if there % is a Current Maintainer who has indicated in the Work that they % are willing to receive error reports for the Work (for example, % by supplying a valid e-mail address). It is not required for the % Current Maintainer to acknowledge or act upon these error % reports.\par % The Work changes from status `maintained' to % `unmaintained' if there is no Current Maintainer, % or the person stated to be Current Maintainer of the work cannot % be reached through the indicated means of communication for a % period of six months, and there are no other significant signs % of active maintenance.\par % You can become the Current Maintainer of the Work by % agreement with any existing Current Maintainer to take over this % role.\par % If the Work is unmaintained, you can become the Current % Maintainer of the Work through the following steps:\par % \begin{enumerate} % \item Make a reasonable attempt to trace the Current % Maintainer (and the Copyright Holder, if the two differ) % through the means of an Internet or similar search.\par % \item If this search is successful, then enquire whether the % Work is still maintained.\par % \begin{enumerate} % \item If it is being maintained, then ask the Current % Maintainer to update their communication data within one % month.\par % \item \label{item-intention}If the search is unsuccessful or no action to resume % active maintenance is taken by the Current Maintainer, % then announce within the pertinent community your % intention to take over maintenance. (If the Work is a % \LaTeX{} work, this could be done, for example, by % posting to \url{news:comp.text.tex}.). % \end{enumerate} % \item % \begin{enumerate} % \item If the Current Maintainer is reachable and agrees to % pass maintenance of the Work to you, then this takes % effect immediately upon announcement.\par % \item \label{item-announce}If the Current Maintainer is not reachable and the % Copyright Holder agrees that maintenance of the Work be % passed to you, then this takes effect immediately upon % announcement.\par % \end{enumerate} % \item \label{item-change}If you make an `intention announcement' % as described in~\vref{item-intention} above and after three % months your intention is challenged neither by the Current % Maintainer nor by the Copyright Holder nor by other people, % then you may arrange for the Work to be changed so as to % name you as the (new) Current Maintainer.\par % \item If the previously unreachable Current Maintainer becomes % reachable once more within three months of a change % completed under the terms of~\vref{item-announce} % or~\vref{item-change}, then that % Current % Maintainer must become or remain the Current Maintainer upon % request provided they then update their communication data % within one month.\par % \end{enumerate} % A change in the Current Maintainer does not, of itself, % alter the fact that the Work is distributed under the % \textsc{lppl} license.\par % If you become the Current Maintainer of the Work, you should % immediately provide, within the Work, a prominent and % unambiguous statement of your status as Current Maintainer. You % should also announce your new status to the same pertinent % community as in~\vref{item-intention} % above.\par % \subsection{Whether and How to Distribute Works under This % License}\label{Distribute} % This section contains important instructions, examples, and % recommendations for authors who are considering distributing % their works under this license. These authors are addressed as % `you' in this section.\par % \subsubsection{Choosing This License or Another License}\label{Choosing} % If for any part of your work you want or need to use % \emph{distribution} conditions that differ % significantly from those in this license, then do not refer to % this license anywhere in your work but, instead, distribute % your work under a different license. You may use the text of % this license as a model for your own license, but your license % should not refer to the \textsc{lppl} or otherwise % give the impression that your work is distributed under the % \textsc{lppl}.\par % The document {\ttfamily{}modguide.tex} in the base \LaTeX{} % distribution explains the motivation behind the conditions of % this license. It explains, for example, why distributing % \LaTeX{} under the \textsc{gnu} General Public % License (\textsc{gpl}) was considered inappropriate. % Even if your work is unrelated to \LaTeX{}, the discussion in % {\ttfamily{}modguide.tex} may still be % relevant, and authors intending to distribute their works % under any license are encouraged to read it.\par % \subsubsection{A Recommendation on Modification Without % Distribution}\label{WithoutDistribution} % It is wise never to modify a component of the Work, even % for your own personal use, without also meeting the above % conditions for distributing the modified component. While you % might intend that such modifications will never be % distributed, often this will happen by accident~--- you may % forget that you have modified that component; or it may not % occur to you when allowing others to access the modified % version that you are thus distributing it and violating the % conditions of this license in ways that could have legal % implications and, worse, cause problems for the community. It % is therefore usually in your best interest to keep your copy % of the Work identical with the public one. Many works provide % ways to control the behavior of that work without altering any % of its licensed components.\par % \subsubsection{How to Use This License}\label{HowTo} % To use this license, place in each of the components of % your work both an explicit copyright notice including your % name and the year the work was authored and/or last % substantially modified. Include also a statement that the % distribution and/or modification of that component is % constrained by the conditions in this license.\par % Here is an example of such a notice and statement:\par % \iffalse %<*ignore> % \fi \begin{lstlisting}[language={[LaTeX]TeX}] %%% pig.dtx %%% Copyright 2005 M. Y. Name %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 %% of this license or (at your option) any later version. %% The latest version of this license is in %% http://www.latex-project.org/lppl.txt %% and version 1.3 or later is part of all distributions of LaTeX %% version 2005/12/01 or later. %% %% This work has the LPPL maintenance status `maintained'. %% %% The Current Maintainer of this work is M. Y. Name. %% %% This work consists of the files pig.dtx and pig.ins %% and the derived file pig.sty. \end{lstlisting} % \iffalse % % \fi % Given such a notice and statement in a file, the % conditions given in this license document would apply, with % the `Work' referring to the three files % {\ttfamily{}pig.dtx}\thinspace, {\ttfamily{}pig.ins}\thinspace, and {\ttfamily{}pig.sty} (the last being generated % from {\ttfamily{}pig.dtx} using {\ttfamily{}pig.ins}), the `Base % Interpreter' referring to any % `\LaTeX{}-Format', and both `Copyright % Holder' and `Current Maintainer' % referring to the person % M.~Y.~Name\index{!}.\par % If you do not want the Maintenance section of % \textsc{lppl} to apply to your Work, change % `maintained' above into % `author-maintained'. However, we recommend that % you use `maintained' as the Maintenance % section was added in order to ensure that your Work remains % useful to the community even when you can no longer maintain % and support it yourself.\par % \subsubsection{Derived Works That Are Not Replacements}\label{NotReplacements} % Several clauses of the \textsc{lppl} specify % means to provide reliability and stability for the user % community. They therefore concern themselves with the case % that a Derived Work is intended to be used as a (compatible or % incompatible) replacement of the original Work. If this is not % the case (e.g., if a few lines of code are reused for a % completely different task), then clauses 6b and 6d shall not % apply.\par % \subsubsection{Important Recommendations}\label{Recommendations} % \paragraph[Defining What Constitutes the Work]{Defining What Constitutes the Work :} % The \textsc{lppl} requires that distributions % of the Work contain all the files of the Work. It is % therefore important that you provide a way for the licensee % to determine which files constitute the Work. This could, % for example, be achieved by explicitly listing all the files % of the Work near the copyright notice of each file or by % using a line such as:\par % \iffalse %<*ignore> % \fi \begin{lstlisting}[language={[LaTeX]TeX}] %% This work consists of all files listed in manifest.txt. \end{lstlisting} % \iffalse % % \fi % in that place. In the absence of an unequivocal list it % might be impossible for the licensee to determine what is % considered by you to comprise the Work and, in such a case, % the licensee would be entitled to make reasonable % conjectures as to which files comprise the Work.\par % \section{The Very Short Guide}\label{files} % \subsection{The Very Short Guide to typesetting with \LaTeX{}}\label{vsg} % This is the text for the Very Short Guide. % \iffalse %<*vsg> %<] !added\documentclass[11pt]{article} !comment your Preamble goes here (extra setups, if any) !added\begin{document} !comment your document text goes here !added\end{document} \end{Verbatim} \vspace*{-.5\baselineskip} \textsf{(New material in each example is shown in {\ttfamily\added blue}; material from previous examples is in black. Comments and mnemonics are in \textcolor{DarkRed}{red}.)} \begin{itemize} \item The document class name \textsc{must} be one of the standard \verb+book+, \verb+article+, or \verb+report+, or one of the many others preinstalled or downloadable (eg \verb+thesis+, \verb+memoir+, etc); \item There are body type size options \verb+10pt+ (the default), \verb+11pt+, and \verb+12pt+; \item There are paper size options available including \verb+a4paper+ (210\thinspace mm$\times$297\thinspace mm) and \verb+letterpaper+ (8½$''\times$11$''$) [see below]. \end{itemize} \subsubsection{Front matter} The \textbf{Preamble} [see above] is where you speci\-fy any \textbf{packages} (\LaTeX\ plugins like typefaces or special formatting), and where you put any changes to standard features. \begin{Verbatim}[frame=single,fontsize=\footnotesize,commandchars=!<>] \documentclass[a4paper,11pt]{book} !added\usepackage{charter,graphicx}!revert !added\setlength{\parindent}{1em}!revert \begin{document} !added\title!comment{your document title!revert} !added\author!comment{your name!revert} !added\date!comment{date of publication!revert} !added\maketitle !added\begin{abstract} !comment the paragraphs of your abstract go here !added\end{abstract} !added\tableofcontents !comment the text of your document goes here \end{document} \end{Verbatim} The title, author, and date \textsc{must} be followed by the \verb+\maketitle+ command to be formatted correctly. \subsubsection{Body matter} \textbf{Leave a blank line between paragraphs} as you type: this signals a new paragraph. Actual spacing is controlled by the document class and packages you use. For an unindented, line-spaced style, use the \textsf{parskip} package. \paragraph{Sectioning:}\label{blah} Sections get numbered au\-tomatically in bold type, and get included in the Table of Contents (if you use it). Numbering can be turned off selectively. Section heading layout can be modified with the \textsf{sectsty}, \mbox{\textsf{titlesec}}, and other packages. \begin{Verbatim}[frame=single,fontsize=\footnotesize,commandchars=!<>] !comment (Preamble, titling, and abstract as above) \tableofcontents !added\chapter!comment{heading of a chapter!revert} !comment text for the chapter goes here !added...as shown in section \ref{blah}. !added\section!comment{heading of a section!revert} !added\label{blah} !comment make up name for the label !comment text for the section goes here !added\chapter!comment{heading of a new chapter!revert} !comment text for the new chapter goes here \end{document} \end{Verbatim} \paragraph{Lists:} There are three main types of list: \textbf{itemized} (bulleted), \textbf{enumerated} (numbered or lettered), and \textbf{descriptive} (dictionary-like topic-and-explanation format). Like \textsf{document}, these are all \textbf{environments}, using \verb+\begin{...}+ and \verb+\end{...}+. \begingroup\fontsize{4.5}{5.5}\selectfont \renewcommand{\labelitemi}{\textbullet} \leftmargini=2em\parskip0pt \setlength{\tabcolsep}{3pt} \begin{tabular}{@{}% p{.25\columnwidth}|% p{.32\columnwidth}|% p{.33\columnwidth}@{}} \begin{verbatim} \begin{itemize} \item 1lb Sugar \item ½pt Cream \item Chocolate \item 2oz Butter \end{itemize} \end{verbatim} & \begin{verbatim} \begin{enumerate} \item Mix ingredients \item Boil to 112°C \item Stir and cool \item Pour into dish \end{enumerate} \end{verbatim} & \begin{verbatim} \begin{description} \item[Fudge] is fun... \item[Broccoli] sucks... \item[Exercise] is good for you if taken daily \end{description} \end{verbatim} \\\hline\fontsize68\selectfont \begin{itemize}[nosep,leftmargin=6pt,label=•,labelsep=2pt] \item 1lb Sugar \item ½pt Cream \item Chocolate \item 2oz Butter \end{itemize} &\fontsize68\selectfont\raggedright \begin{enumerate}[nosep] \item Mix ingredients \item Boil to 112°C \item Stir and cool \item Pour into dish \end{enumerate} &\fontsize56\selectfont\raggedright \begin{description}[nosep] \item[Fudge] is fun but not if made too often. \item[Broccoli] sucks, period. \item[Exercise] is good for you but not to extremes. \end{description} \end{tabular} \endgroup You can nest lists inside each other. Use the \textsf{enumitem} package to control list formatting, including changing the bullets, numbering style, and labelling.\par \colorbox{LightGrey}{% \color{black}\begin{minipage}{.965\columnwidth}\sffamily \scriptsize\bfseries\raggedright For help, see the links on the front and back pages. There is a summary of common commands at\\ \url{www.stdout.org/~winston/latex/latexsheet.pdf} and a comprehensive list at \url{www.eeng.dcu.ie/local-docs/latex-help/}~. \end{minipage}} \columnbreak \paragraph{Tables and figures:} These environments \textbf{float} (they can move to fit the available space). They both have \verb+\caption+ and \verb+\label+ commands. \begin{Verbatim}[frame=single,fontsize=\footnotesize, commandchars=!<>] !added\begin{figure} !comment(see below) \caption{Swiss and Dutch Mennonite migrations of the 1700s and 1800s} \label{lmig} !added\centering !comment(centre the contents) !added\includegraphics[width=.8\columnwidth] !added {menno-a}\\ !comment(double backslash for linebreak) !added\scriptsize!revert Courtesy of Paul C. Adams, Department of Geography and the Environment, University of Texas at Austin. !added\cite{adams}\end{figure} \end{Verbatim} Graphics \textsc{must} be JPG, PNG, or PDF nowadays (EPS only works in the obsolete \LaTeX\ 2.09). \begin{Verbatim}[frame=single,fontsize=\footnotesize, commandchars=!<>] !added\begin{table} !added\caption{Mean growth rate and intakes !added of supplement, milk, and water for 4 !added diets (after Sherington, J, n.d.)} \label{dietgrowth} \centering !added\begin{tabular}{|l|r|r|r|r|} !added\hline !comment(horizontal line between rows) !added&Growth&Supplement&Milk&Water !added\\\hline !comment(double backslash for new row) !added Supplement&rate&intake&intake&intake !added\\\hline !added&(g/day)&(g/day)&(ml/kg$^{0.75}$)& !added (ml/kg$^{0.75}$)\\\hline !added Lucerne &145&450&10.5&144\\\hline !added Sesbania&132&476& 9.2&128\\\hline !added Leucaena&128&364& 8.9&121\\\hline !added None & 89& 0& 9.8&108\\\hline !added\end{tabular} !added\end{table} \end{Verbatim} \begin{center}\sffamily \fontsize78\selectfont \setlength{\tabcolsep}{2pt} \setlength{\arrayrulewidth}{.2pt} \begin{tabular}{@{}|>{\vrule height1em width0pt}l|r|r|r|r|@{}} \multicolumn{5}{l}{\textbf{Table 1}: \textit{Mean growth rate and intakes of supplement,}}\\ \multicolumn{5}{l}{\textit{milk, and water for four diets} (after Sherington, J, n.d)}\\[6pt]\hline \vrule height1.1em width0pt &Growth&Supplement&Milk&Water\\[-1pt] Supplement&rate&intake&intake&intake\\[-1pt] &(g/day)&(g/day)&(ml/kg\textsuperscript{% \fontsize34\selectfont 0.75})&(ml/kg\textsuperscript{% \fontsize34\selectfont 0.75})\\[3pt]\hline Lucerne &145&450&10.5&144\\\hline Sesbania&132&476& 9.2&128\\\hline Leucaena&128&364& 8.9&121\\\hline None & 89& 0& 9.8&108\\\hline \end{tabular} \end{center} Packages like \textsf{longtable} and \textsf{array} can help with more complex table formats. \end{multicols} \begin{center}\sffamily \textbf{Figure 1}: \textit{Swiss and Dutch Mennonite migrations of the 1700s and 1800s}\\[3pt] \includegraphics[width=.8\columnwidth]{menno-a} \\\scriptsize Courtesy of Paul C. Adams, Department of Geography and the Environment, University of Texas at Austin. [1] \end{center} \begin{multicols}{2}\small\parskip4pt \paragraph{Typefaces:}\label{fonts} {\ff{cmr}\selectfont The default typeface in \LaTeX\ is Computer Modern, like this sentence.} The rest of this document is set in Libertine, with Raleway for the headings. {\footnotesize\tabcolsep4pt \begin{tabular}{@{}l@{\hspace{6pt}} >{\ttfamily}l|l@{\hspace{6pt}} >{\ttfamily}l@{}} \ff{ptm}Times&mathptmx&\ff{pcr}Courier&courier\\ \ff{ppl}Palatino&mathpazo&\ff{pag}\scriptsize Avant Garde&avant\\ \ff{pbk}Bookman&bookman&\ff{phv}Helvetica&helvet\\ \ff{bch}Charter&charter&\ff{pzc}Zapf Chancery&chancery\\ \ff{put}Utopia&utopia&\ff[OT1]{pnr}Pandora&pandora\\ \ff{pnc}Century&newcent&\ff[U]{yfrak}Fraktur&oldgerm\\ \end{tabular} } Hundreds of other fonts are available in \TeX\ Live and the \LaTeX\ Font Catalogue, including mathematics, scripts, and decorative fonts. Use \XeLaTeX\ or Lua\LaTeX\ with the \textsf{fontspec} package (\textbf{instead of} \textit{pdflatex} and the \textsf{inputenc} and \textsf{fontenc} packages). \XeLaTeX\ or Lua\LaTeX\ let you make use of all your TrueType and OpenType fonts installed on your computer, and any that you download, as well as those available with \TeX\ Live. \columnbreak \textsf{\ref{fonts} Typefaces continued:} To change font for a word or phrase, use these commands (they can be nested): {\small \begin{tabular}{l@{\enspace}>{\ttfamily\char'134 text}l<{\char'173 Hello\char'175}@{}>{\ \gives\bgroup}l<{Hello\egroup}} Italics&it&\itshape\\ Boldface&bf&\bfseries\\ Smallcaps&sc&\ff{cmr}\scshape\\ Sans-serif&sf&\sffamily\\ Monospace&tt&\ttfamily\\ \end{tabular}} \begingroup\small \example\verb+\textit{\textbf{\textsf{bold+\newline \verb+italic sans}}}+ \gives{\ff{cmss}\textit{\textbf{bold italic sans}}} \par\endgroup Sizes for titles, headings, footnotes, etc are automated, but there are some step-sizes: {\scriptsize\centering \begin{tabular}{>{\ttfamily\char'134}lrrr} normalsize&10&11&12\\\hline\vrule height1.1em width0pt tiny&5&6&7\\ scriptsize&6&7&8\\ footnotesize&7&8&9\\ small&9&10&11\\ large&11&12&14\\ Large&12&14&17\rlap*\\ LARGE&14&17\rlap*&20\rlap*\\ huge&17\rlap*&20\rlap*&24\rlap*\\ Huge&20\rlap*&24\rlap*&28\rlap*\\ \end{tabular} \quad \rotatebox[origin=c]{90}{\tiny* sizes rounded here to save space} \par} For arbitrary sizes, insert the special command {\added\verb+\RequirePackage{fix-cm}+} \emph{before} the \verb+\documentclass+ line and then you can use {\added\verb+\fontsize{+\texttt{\uline{pp}}\verb+}{+\texttt{% \uline{bb}}\verb+}\selectfont+} to give the point-size (\textit{pp}) and baseline (\textit{bb}). {\sffamily\footnotesize Size commands are all \textbf{unscoped}, so enclose them \emph{and} the text they apply to in curly braces to stop them affecting the rest of the document.\par} For double or 1½ line-spacing (eg in theses) use the \textsf{setspace} package. You can use colour palettes in the RGB, CMYK, HTML, HSB, and other colourspaces with the \textsf{xcolor} package\\ and the command\hfil \smash{\raisebox{0ex}{\sffamily\bfseries\Huge\enspace \textcolor[HTML]{2F50AD}{G}% \textcolor[HTML]{B32F17}{o}% \textcolor[HTML]{F3C20B}{o}% \textcolor[HTML]{2F50AD}{g}% \textcolor[HTML]{48C847}{l}% \textcolor[HTML]{B32F17}{e}}}% \\\verb+\color{+\texttt{\textit{name}}\verb+}+. For verbatim text, use the \verb+\verb+ command or the \textsf{verbatim} environment, or (better) the \textsf{listings} or \textsf{fancyvrb} packages. \paragraph{Footnotes:} You create footnotes with \verb+\footnote(like this}+.\textsuperscript2\ Endnotes too. \paragraph{Cross-references:} Use a \verb+\label{...}+ command to label the target, and \verb+\ref{...}+ or \verb+\pageref{...}+ to refer to it. \par\smallskip \hrule width.5\columnwidth {\footnotesize\textsuperscript2 Like this.} \columnbreak \begingroup\smaller \example{...\ttfamily section \verb+\ref{blah}+ on p.\\ \verb+\pageref{blah}+.}\gives{...section \ref{blah} on p.\thinspace\pageref{blah}}. \par\endgroup\parskip0pt \paragraph{Citation and reference:} Export your bibliographic database to BIB\TeX\ format \parencite{bibtex} or use \emph{JabRef} or similar. Each entry \textsc{must} have a unique label (here `\verb+fi+'): \begin{Verbatim}[frame=single,fontsize=\scriptsize, commandchars=!<>] !added@book{fi,year = {2018}, !added title = {Formatting Information}, !added author = {Peter Flynn}, !added publisher = {Silmaril}} \end{Verbatim} With \textsf{biblatex}, specify the \textit{biber} program, style, language, and your BIB\TeX\ filename: \begin{Verbatim}[frame=single,fontsize=\fontsize67\selectfont, commandchars=!<>] !added\usepackage[british]{babel} !added\usepackage{csquotes} !added\usepackage[backend=biber,style=apa]{biblatex} !added\addbibresource{myrefs.bib} !added\DeclareLanguageMapping{british}{british-apa} \end{Verbatim} To cite an entry, use the command \verb+\textcite+ or \verb+\parencite+ with the entry label:\\ \example{\verb+\textcite{fi}+}\gives{\textcite{fi}}. References are automatically inserted where you put the \verb+\printbibliography+ command (eg at the end of your document). \subsubsection{Back matter} For an index, use the \textsf{makeidx} package and the \verb+\makeindex+ command with the \verb+\index{...}+ and \verb+\printindex+ commands and the \textsf{makeindex} program. For glossaries, use the \textsf{glossaries} package. \nocite{*} {\defbibheading{shortbib}[References]{\subsubsection*{#1}}% \renewcommand*{\bibfont}{\scriptsize}% \setlength{\bibhang}{1em} \urlstyle{tt} \label{refs} \printbibliography[heading=shortbib]} \colorbox{LightGrey}{\color{black}% \begin{minipage}{.965\columnwidth}% \sffamily\scriptsize\bfseries\raggedright For information about \LaTeX\ training and consutancy, please contact Silmaril at \url{latex@silmaril.ie} \end{minipage}}% \end{multicols} \end{document} % % \fi % \subsection{Bibliography for the Very Short Guide to typesetting with % \LaTeX{}}\label{vsgbib} % This is the bibliography for the Very Short Guide. % \iffalse %<*vsgbib> @book{fi, title = {{Formatting Information}}, howpublished = {Online and PDF}, author = {Peter Flynn}, edition = 8, publisher = {Silmaril}, address = {Cork, Ireland}, url = {http://latex.silmaril.ie/}, year = 2024 } @InProceedings{adams, author = {Paul Adams}, title = {{Linguistic Chaos in Montreal}}, booktitle = {{Chaos and the City miniconference}}, year = 2002, month = 11, url = {http://www.utexas.edu/depts/grg/adams/chaos.ppt}, organization = {University of Texas School of Architecture} } @Manual{bibtex, title = {{BIB\TeX ing}}, author = {Oren Patashnik}, organization = {\TeX\ Users Group}, address = {Portland, RI}, url = {http://ftp.heanet.ie/pub/CTAN/tex/biblio/bibtex/base/btxdoc.pdf}, year = 1988 } @Manual{sherington, author = {Sherington, J}, title = {{Informative Presentation of Graphs and Statistics}}, organization = {Statistical Services Centre, University of Reading}, year = 1998, url = {http://www.reading.ac.uk/ssc/publications/guides/toptgs.htm}, note = {4.2, example table} } @TechReport{rfc2119, author = {Scott Bradner}, title = {{Key words for use in RFCs to Indicate Requirement Levels}}, institution = {Internet Engineering Task Force}, year = 1997, number = {RFC 2119}, address = {Fremont, CA}, url = {http://www.ietf.org/rfc/rfc2119.txt}, month = 3 } % % \fi % \Finale