summaryrefslogtreecommitdiff
path: root/info/docsurvey
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /info/docsurvey
Initial commit
Diffstat (limited to 'info/docsurvey')
-rw-r--r--info/docsurvey/README.txt23
-rw-r--r--info/docsurvey/docsurvey.pdfbin0 -> 348900 bytes
-rw-r--r--info/docsurvey/docsurvey.tex1055
3 files changed, 1078 insertions, 0 deletions
diff --git a/info/docsurvey/README.txt b/info/docsurvey/README.txt
new file mode 100644
index 0000000000..085730577f
--- /dev/null
+++ b/info/docsurvey/README.txt
@@ -0,0 +1,23 @@
+
+The LaTeX docsurvey package
+
+Provides the document
+"Programming LaTeX — A survey of documentation and packages"
+
+2018/10/18
+Copyright 2017-2018 Brian Dunn — www.BDTechConcepts.com
+
+LaTeX Project Public License, version 1.3
+
+---
+
+A survey of programming-related documentation for LaTeX.
+Included are references to printed and electronic books and manuals,
+symbol lists, FAQs, the LaTeX source code, CTAN and distributions,
+programming-related packages, users groups and online communities,
+and information on creating packages and documentation.
+
+---
+
+Files:
+README.txt, docsurvey.pdf, docsurvey.tex
diff --git a/info/docsurvey/docsurvey.pdf b/info/docsurvey/docsurvey.pdf
new file mode 100644
index 0000000000..97b146e8c1
--- /dev/null
+++ b/info/docsurvey/docsurvey.pdf
Binary files differ
diff --git a/info/docsurvey/docsurvey.tex b/info/docsurvey/docsurvey.tex
new file mode 100644
index 0000000000..4b37f380b5
--- /dev/null
+++ b/info/docsurvey/docsurvey.tex
@@ -0,0 +1,1055 @@
+
+\documentclass{article}
+
+
+% \documentclass[twocolumn]{article}
+\usepackage{lmodern}
+\usepackage{erewhon}
+% \usepackage[type1,scaled=.95]{cabin} % sans serif like Gill Sans, full styles
+\usepackage{sourcesanspro}
+\usepackage[varqu,varl]{inconsolata} % typewriter
+% \renewcommand{\familydefault}{\sfdefault}
+
+\usepackage[T1]{fontenc}
+\usepackage[utf8]{inputenc}
+
+\usepackage[bottom=1in]{geometry}
+
+\usepackage{graphicx}
+
+\usepackage{needspace}
+
+\usepackage[nottoc,numbib]{tocbibind}
+
+\setcounter{secnumdepth}{0}
+
+% colored section headers:
+\usepackage[x11names]{xcolor}
+\usepackage[compact,pagestyles]{titlesec}
+
+\definecolor{sectioncolor}{rgb}{.38,.59,.77}
+\definecolor{sectioncolor}{HTML}{033E8C}
+\definecolor{burgundycolor}{HTML}{900020}
+\definecolor{plumcolor}{HTML}{8E4585}
+
+
+\titleformat{\section}
+ {\normalfont\sffamily\large\bfseries\color{sectioncolor}}{\thesection}{1em}{}%[\hrule]
+\titlespacing*{\section}{0pt}{*2}{*.5}
+
+\titleformat{\subsection}
+ {\normalfont\sffamily\normalsize\bfseries\color{sectioncolor}}{\thesubsection}{1em}{}
+\titlespacing*{\subsection}{0pt}{*1}{*.5}
+
+\titleformat{\subsubsection}
+ {\normalfont\sffamily\normalsize\itshape\color{sectioncolor}}{\thesubsubsection}{1em}{}
+\titlespacing*{\subsubsection}{0pt}{*1}{*.5}
+
+
+
+\newpagestyle{pageheadfoot}{
+ \headrule
+ \sethead{Programming \LaTeX\Dash{}A survey of documentation and packages}{}{\thepage}
+% \renewcommand{\makefootrule}{\rule[2.5ex]{\linewidth}{.4pt}}
+ \setfoot{}{}{}
+}
+
+\pagestyle{pageheadfoot}
+
+
+\newcommand*{\XeTeXrevE}
+{\protect\hspace{-.1667em}\protect\raisebox{-.5ex}{\protect\reflectbox{E}}\protect\hspace{-.125em}}
+\providecommand*{\XeTeX}{\mbox{X\XeTeXrevE\TeX}}
+\providecommand*{\XeLaTeX}{\mbox{X\XeTeXrevE\LaTeX}}
+
+\newcommand{\shortTitle}[1]{}
+\newcommand{\thisnetaddress}{}
+\newcommand{\netaddress}[1]{\renewcommand{\thisnetaddress}{#1}}
+\newcommand{\thispersonalURL}{}
+\newcommand{\personalURL}[1]{\renewcommand{\thispersonalURL}{#1}}
+
+\DeclareRobustCommand{\cs}[1]{{\tt \char`\\#1}}
+\DeclareRobustCommand{\tubbraced}[1]{\mbox{\texttt{\char`\{#1\char`\}}}}
+\DeclareRobustCommand{\env}[1]{\cs{begin}\tubbraced{#1}}
+\DeclareRobustCommand{\thinskip}{\hskip 0.16667em\relax}
+\def\endash{–}
+\def\emdash{—}
+\def\d@sh#1#2{\unskip#1\thinskip#2\thinskip\ignorespaces}
+% \def\dash{\d@sh\nobreak\endash}
+% \def\Dash{\d@sh\nobreak\emdash}
+\newcommand{\thinbrspace}{\hspace{.16667em}\penalty\exhyphenpenalty\hspace{0pt}}
+\newrobustcmd{\Dash}{\unskip\thinspace\textemdash\thinbrspace}
+\newrobustcmd{\dash}{\unskip\thinspace\mbox{--}\thinbrspace}
+\def\ldash{\d@sh\empty{\hbox{\endash}\nobreak}}
+\def\rdash{\d@sh\nobreak\endash}
+\def\Ldash{\d@sh\empty{\hbox{\emdash}\nobreak}}
+\def\Rdash{\d@sh\nobreak\emdash}
+\def\hyph{-\penalty\z@\hskip\z@skip }
+% \def\slash{/\penalty\z@\hskip\z@skip }
+\renewcommand{\slash}{/\penalty\exhyphenpenalty\hspace{0pt}}
+\newcommand{\spslash}{\unskip\kern.085em/\hspace{.085em}\penalty\exhyphenpenalty\hspace{0pt}}
+
+
+\let\texttub\textsl % redefined in other situations
+% \DeclareRobustCommand{\AllTeX}{(\La\kern-.075em)\kern-.075em\TeX}
+% \def\AMS{American Mathematical Society}
+% \def\AmS{$\mathcal{A}$\kern-.1667em\lower.5ex\hbox
+% {$\mathcal{M}$}\kern-.125em$\mathcal{S}$}
+% \def\AmSLaTeX{\AmS-\LaTeX}
+% \def\AmSTeX{\AmS-\TeX}
+% \def\ANSI{\acro{ANSI}}
+% \def\API{\acro{API}}
+% \def\ASCII{\acro{ASCII}}
+% \def\aw{\acro{A\kern.04em\raise.115ex\hbox{-}W}}
+% \def\AW{Addison\kern.1em-\penalty\z@\hskip\z@skip Wesley}
+% \def\Bib{%
+% \ifdim \fontdimen1\font>0pt
+% B{\SMC\SMC IB}%
+% \else
+% \textsc{Bib}%
+% \fi
+% }
+% \def\BibTeX{\Bib\kern-.08em \TeX}
+% \def\BSD{\acro{BSD}}
+% \def\CandT{\textsl{Computers \& Typesetting}}
+% \def\ConTeXt{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt}
+% \def\CMkIV{\ConTeXt\ \MkIV}
+% \def\Cplusplus{C\plusplus}
+% \def\plusplus{\raisebox{.7ex}{$_{++}$}}
+% \def\CPU{\acro{CPU}}
+% \def\CSS{\acro{CSS}}
+% \def\CSV{\acro{CSV}}
+\def\CTAN{\acro{CTAN}}
+% \def\DTD{\acro{DTD}}
+% \def\DTK{\acro{DTK}}
+% \def\DVD{\acro{DVD}}
+% \def\DVI{\acro{DVI}}
+% \def\DVIPDFMx{\acro{DVIPDFM}$x$}
+% \def\DVItoVDU{DVIto\kern-.12em VDU}
+% \def\ECMA{\acro{ECMA}}
+% \def\EPS{\acro{EPS}}
+% \DeclareRobustCommand{\eTeX}{\ensuremath{\varepsilon}-\kern-.125em\TeX}
+% \DeclareRobustCommand{\ExTeX}{%
+% \ensuremath{\textstyle\varepsilon_{\kern-0.15em\cal{X}}}\kern-.2em\TeX}
+% \def\FAQ{\acro{FAQ}}
+% \def\FTP{\acro{FTP}}
+% \def\Ghostscript{Ghost\-script}
+% \def\GNU{\acro{GNU}}
+% \def\GUI{\acro{GUI}}
+% \def\Hawaii{Hawai`i}
+% \def\HTML{\acro{HTML}}
+% \def\HTTP{\acro{HTTP}}
+% \def\IDE{\acro{IDE}}
+% \def\IEEE{\acro{IEEE}}
+% \def\ISBN{\acro{ISBN}}
+% \def\ISO{\acro{ISO}}
+% \def\ISSN{\acro{ISSN}}
+% \def\JPEG{\acro{JPEG}}
+% \def\JTeX{\leavevmode\hbox{\lower.5ex\hbox{J}\kern-.18em\TeX}}
+% \def\JoT{\textsl{The Joy of \TeX}}
+% \def\LAMSTeX{L\raise.42ex\hbox{\kern-.3em
+% $\m@th$\fontsize\sf@size\z@\selectfont
+% $\m@th\mathcal{A}$}%
+% \kern-.2em\lower.376ex\hbox{$\m@th\mathcal{M}$}\kern-.125em
+% {$\m@th\mathcal{S}$}-\TeX}
+% \DeclareRobustCommand{\La}%
+% {L\kern-.36em
+% {\setbox0\hbox{T}%
+% \vbox to\ht0{\hbox{$\m@th$%
+% \csname S@\f@size\endcsname
+% \fontsize\sf@size\z@
+% \math@fontsfalse\selectfont
+% A}%
+% \vss}%
+% }}
+% \def\LyX{L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX}
+% \def\MacOSX{Mac\,\acro{OS\,X}}
+% \def\MathML{Math\acro{ML}}
+% \def\Mc{\setbox\TestBox=\hbox{M}M\vbox
+% to\ht\TestBox{\hbox{c}\vfil}} % for Robert McGaffey
+% \def\mf{\textsc{Metafont}}
+% \def\MFB{\textsl{The \MF book}}
+% \def\MkIV{Mk\acro{IV}}
+% % \let\TB@@mp\mp
+% \DeclareRobustCommand{\mp}{\ifmmode\TB@@mp\else MetaPost\fi}
+% \DeclareRobustCommand{\NTG}{\acro{NTG}}
+% \DeclareRobustCommand{\NTS}{\ensuremath{\mathcal{N}\mkern-4mu
+% \raisebox{-0.5ex}{$\mathcal{T}$}\mkern-2mu \mathcal{S}}}
+% \DeclareTextSymbol{\textohm}{OT1}{'012}
+% \DeclareTextSymbolDefault{\textohm}{OT1}
+% \newcommand{\OMEGA}{\textohm}
+% \DeclareRobustCommand{\OCP}{\OMEGA\acro{CP}}
+% \DeclareRobustCommand{\OOXML}{\acro{OOXML}}
+% \DeclareRobustCommand{\OTF}{\acro{OTF}}
+% \DeclareRobustCommand{\OTP}{\OMEGA\acro{TP}}
+% \def\mtex{T\kern-.1667em\lower.424ex\hbox{\^E}\kern-.125emX\@}
+% \def\Pas{Pascal}
+% \def\pcMF{\leavevmode\raise.5ex\hbox{p\kern-.3\p@ c}MF\@}
+% \def\PCTeX{PC\thinspace\TeX}
+% \def\pcTeX{\leavevmode\raise.5ex\hbox{p\kern-.3\p@ c}\TeX}
+% \def\PDF{\acro{PDF}}
+% \def\PGF{\acro{PGF}}
+% \def\PHP{\acro{PHP}}
+% \def\PiC{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC\@}
+% \def\PiCTeX{\PiC\kern-.11em\TeX}
+% \def\plain{\texttt{plain}}
+% \def\PNG{\acro{PNG}}
+% \def\POBox{P.\thinspace O.~Box }
+% \def\PS{{Post\-Script}}
+% \def\PSTricks{\acro{PST}ricks}
+% \def\RTF{\acro{RTF}}
+% \def\SC{Steering Committee}
+% \def\SGML{\acro{SGML}}
+% \def\SliTeX{\textrm{S\kern-.06em\textsc{l\kern-.035emi}%
+% \kern-.06em\TeX}}
+% \def\slMF{\textsl{\MF}} % should never be used
+% \def\SQL{\acro{SQL}}
+% \def\stTeX{\textsc{st}\kern-0.13em\TeX}
+% \def\STIX{\acro{STIX}}
+% \def\SVG{\acro{SVG}}
+% \def\TANGLE{\texttt{TANGLE}\@}
+% \def\TB{\textsl{The \TeX book}}
+% \def\TIFF{\acro{TIFF}}
+% \def\TP{\textsl{\TeX}: \textsl{The Program}}
+% \DeclareRobustCommand{\TeX}{T\kern-.1667em\lower.424ex\hbox{E}\kern-.125emX\@}
+% \def\TeXhax{\TeX hax}
+% \def\TeXMaG{\TeX M\kern-.1667em\lower.5ex\hbox{A}%
+% \kern-.2267emG\@}
+% \def\TeXtures{\textit{Textures}}
+% \let\Textures=\TeXtures
+% \def\TeXworks{\TeX\kern-.07em works}
+% \def\TeXXeT{\TeX-{}-\XeT}
+% \def\TFM{\acro{TFM}}
+% \expandafter\ifx\csname XeTeXrevision\endcsname\relax
+% \def\Thanh{H\`an~Th\^e\llap{\raise 0.5ex\hbox{\'{}}}~Th\`anh}% non-XeTeX
+% \else
+% \def\Thanh{H\`an~Th\textcircumacute{e}~Th\`anh}% xunicode drops the acute else
+% \fi
+% \def\TikZ{Ti{\em k}Z}
+% \def\ttn{\textsl{TTN}\@}
+% \def\TTN{\textsl{\TeX{} and TUG News}}
+% \let\texttub\textsl % redefined in other situations
+\def\TUB{\texttub{TUGboat}}
+% \def\TUG{\TeX\ \UG}
+% \def\tug{\acro{TUG}}
+% \def\UG{Users Group}
+% \def\UNIX{\acro{UNIX}}
+% \def\VAX{V\kern-.12em A\kern-.1em X\@}
+% \def\VnTeX{V\kern-.03em n\kern-.02em \TeX}
+% \def\VorTeX{V\kern-2.7\p@\lower.5ex\hbox{O\kern-1.4\p@ R}\kern-2.6\p@\TeX}
+% \def\XeT{X\kern-.125em\lower.424ex\hbox{E}\kern-.1667emT\@}
+% \def\XML{\acro{XML}}
+% \def\WEB{\texttt{WEB}\@}
+% \def\WEAVE{\texttt{WEAVE}\@}
+% \def\WYSIWYG{\acro{WYSIWYG}}
+% \def\tubreflect#1{%
+% \@ifundefined{reflectbox}{%
+% \TBerror{A graphics package must be loaded for \string\XeTeX}%
+% }{%
+% \ifdim \fontdimen1\font>0pt
+% \raise 1.75ex \hbox{\kern.1em\rotatebox{180}{#1}}\kern-.1em
+% \else
+% \reflectbox{#1}%
+% \fi
+% }%
+% }
+% \def\tubhideheight#1{\setbox0=\hbox{#1}\ht0=0pt \dp0=0pt \box0 }
+% \def\XekernbeforeE{-.125em}
+% \def\XekernafterE{-.1667em}
+% \DeclareRobustCommand{\Xe}{\leavevmode
+% \tubhideheight{\hbox{X%
+% \setbox0=\hbox{\TeX}\setbox1=\hbox{E}%
+% \lower\dp0\hbox{\raise\dp1\hbox{\kern\XekernbeforeE\tubreflect{E}}}%
+% \kern\XekernafterE}}}
+% \def\XeTeX{\Xe\TeX}
+% \def\XeLaTeX{\Xe{\kern.11em \LaTeX}}
+% \def\XHTML{\acro{XHTML}}
+% \def\XSL{\acro{XSL}}
+% \def\XSLFO{\acro{XSL}\raise.08ex\hbox{-}\acro{FO}}
+% \def\XSLT{\acro{XSLT}}
+
+\newcommand{\pub}[1]{\textit{#1}}
+
+\newcommand{\acro}[1]{\textsc{\MakeLowercase{#1}}}
+
+
+\newcommand{\EDITORnoaddress}{}
+
+
+\usepackage{microtype}
+\usepackage{graphicx}
+\usepackage{ifpdf}
+\ifpdf
+\definecolor{myurlcolor}{rgb}{.4,0,0}
+\definecolor{mylinkcolor}{rgb}{.4,0,0}
+\definecolor{mycitecolor}{rgb}{.4,0,0}
+\usepackage[breaklinks,colorlinks,
+ linkcolor=mylinkcolor,
+ urlcolor=myurlcolor,
+ citecolor=mycitecolor]{hyperref}
+\else
+\usepackage{url}
+\fi
+
+\hypersetup{%
+pdfinfo={%
+Title={Programming LaTeX - A survey of documentation and packages},%
+Author={Brian Dunn},%
+Subject={LaTeX programming documentation},%
+Keywords={LaTeX, programming, documentation, BD Tech Concepts LLC}%
+}}
+
+
+\usepackage{enumitem}
+\setlist[description]{style=nextline,font=\small}
+
+\usepackage{multicol}
+
+
+\usepackage{titling}
+\setlength{\droptitle}{-1in}
+\predate{\begin{center}\small}
+
+
+\newrobustcmd*{\pkg}[1]{\textsf{#1}}
+\newrobustcmd*{\prog}[1]{\texttt{#1}}
+\newrobustcmd*{\LuaLaTeX}{Lua\-\LaTeX}
+\newrobustcmd*{\LuaTeX}{Lua\-\TeX}
+\newrobustcmd*{\tag}[1]{\texttt{<#1>}}
+\newrobustcmd*{\prop}[1]{\textsl{\texttt{#1}}}
+\newrobustcmd*{\epub}{\acro{EPUB}}
+\newrobustcmd*{\texdoc}[1]{\hspace*{\fill}\mbox{(\texttt{texdoc #1})}}
+\newrobustcmd*{\hfurl}[1]{\hspace*{\fill}\mbox{(\url{#1})}}
+\newrobustcmd*{\userentry}[1]{%
+\leavevmode\par\hspace*{2em}\texttt{#1}\smallskip\\}
+
+\pdfstringdefDisableCommands{
+\renewcommand*{\quad}{ }
+\renewcommand*{\pkg}[1]{#1}
+\renewcommand*{\prog}[1]{#1}
+\renewcommand*{\LuaLaTeX}{LuaLaTeX}
+\renewcommand*{\XeLaTeX}{XeLaTeX}
+\renewcommand*{\TeX}{TeX}
+\renewcommand*{\LaTeX}{LaTeX}
+\renewcommand*{\Dash}{ --- }
+\renewcommand*{\dash}{ -- }
+}
+
+\title{Programming \LaTeX\Dash \\ A survey of documentation and packages}
+
+\author{Brian Dunn \\
+ \small \href{mailto:bd@BDTechConcepts.com}{bd@BDTechConcepts.com} \\
+ \small Copyright 2017--2018 Brian Dunn\thanks{
+ 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
+ \url{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.
+ }
+}
+
+
+
+\begin{document}
+
+\maketitle
+
+\thispagestyle{empty}
+
+\begin{abstract}
+\noindent
+A survey of programming-related documentation for \LaTeX.
+Included are references to printed and electronic books and manuals,
+symbol lists, \acro{FAQ}s, the \LaTeX\ source code, CTAN and distributions,
+programming-related packages, users groups and online communities,
+and information on creating packages and documentation.
+\end{abstract}
+
+\tableofcontents
+
+\section{Introduction}
+
+Reinventing the wheel may be useful if you think that you can do it better.
+Worse, though, is not even being aware that the wheel has already been
+invented in the first place, which can be an embarrassing waste of time.
+Such can be the case both for a new \LaTeX\ programmer who isn't aware of
+the many ways things may be done, but also for someone, this author included,
+who learned \LaTeX\ many years ago but may have missed some of the recent
+advancements in package code and documentation.
+
+A wealth of information is available, not
+only in print and online, but also directly embedded in the typical \LaTeX\
+distribution.
+The following is meant to be a broad overview of some of today's resources
+for \LaTeX\ programmers.
+
+(The latest version of this document is available in the \pkg{docsurvey} package.)
+
+\section{Printed books}
+
+Even in an electronic/online era, printed books still have the advantage
+of being able to be opened for reference without taking up space
+on the screen. Printed books also provide extended discussion of
+useful topics, have extensive human-edited indexes which are more useful
+than a simple document-wide search function, and some are also available in
+electronic format.
+\begin{description}
+\item[\LaTeX:\ A Document Preparation System:]
+ The classic introduction to \LaTeX, in continuous reprint for
+ decades.~\cite{lamport:latex}
+\item[Guide to \LaTeX:]
+ An introduction and more advanced material, including an extensive
+ reference guide.
+ Fourth edition: 2004.~\cite{hokpkadaly:guide}
+\item[More Math into \LaTeX:]
+ Updated to a fifth edition in 2016.~\cite{gratzer:moremath}
+\item[\LaTeX\ Beginner's Guide:]
+ An overview with numerous examples.~\cite{kottwitz:beginner}
+\item[\LaTeX\ Cookbook:]
+ More examples.~\cite{kottwitz:cookbook}
+\item[The \LaTeX\ Companion:]
+ Provides extended discussion and examples of the inner workings
+ of \LaTeX\ and numerous useful packages.
+ Second edition: 2004.~\cite{mittelbachgossens:companion}
+\item[Additional books:] Listed at the \TeX\ \acro{FAQ}.~\cite{TeX:FAQ}
+ \hfurl{https://texfaq.org/}
+\end{description}
+
+
+\section{Electronic books and documentation}
+
+Most of these are provided with the \TeX\ distribution, and may be updated
+with each release.
+Access the embedded documentation from a command line using the \texttt{texdoc}
+program.
+
+\subsection{\TeX}
+
+\begin{description}
+\item[\TeX\ by Topic, A \TeX{}nician's Reference:]
+ A reference for \TeX.
+ This may be useful for understanding the source code of \LaTeX\ packages,
+ many of which are quite old and written in
+ low-level \TeX.~\cite{eijkhout:topic}
+ \texdoc{texbytopic}
+\end{description}
+
+\subsection{\LaTeX}
+
+\begin{description}
+\item[Getting something out of \LaTeX:]
+ Create your first document in \LaTeX.~\cite{hefferon:first}
+ \hfurl{https://ctan.org/pkg/first-latex-doc}
+
+\item[The very short guide to typesetting with \LaTeX:]
+ A four-page introduction.~\cite{flynn:veryshort}
+ \hfurl{https://ctan.org/pkg/latex-veryshortguide}
+
+\item[Formatting Information:]
+ A beginner’s introduction to typesetting with \LaTeX.~\cite{flynn:formatting}
+ \hfurl{https://ctan.org/pkg/beginlatex}
+
+\item[\LaTeX\ for Complete Novices:]
+ An extensive introduction for a non-technical person.~\cite{talbot:novices}
+ \texdoc{dickimaw-novices}
+
+\item[Using \LaTeX\ to Write a PhD Thesis:]
+ A followup to \pub{\LaTeX\ for Complete Novices}, including extensive
+ discussion about bibliographies, indexes, and glossaries.~\cite{talbot:phd}
+ \texdoc{dickimaw-thesis}
+
+\item[Writing Scientific Documents Using \LaTeX:]
+ An introduction to typesetting scientific documents.~\cite{Bennieston:scientific} \\
+ \hfurl{https://ctan.org/pkg/intro-scientific}
+
+\item[The Not So Short Introduction to \LaTeXe:]
+ Covers introductory material, customizations,
+ and a simple package. Available in many languages~\cite{oetiker:introduction}
+ \texdoc{-l lshort} \hfurl{https://ctan.org/pkg/lshort}
+
+\item[\LaTeXe: An unofficial reference manual:]
+ A thorough but concise reference manual for \LaTeXe,
+ available in several languages.~\cite{greenwade:reference} \\
+ \texdoc{-l latex2e-help} \\
+ \hfurl{https://latexref.xyz}
+
+\item[LaTeX WikiBook:] An online book, includes information about
+ creating \LaTeX\ packages and classes. \\
+ \hfurl{https://en.wikibooks.org/wiki/LaTeX}
+\end{description}
+
+\subsection{Lua\LaTeX}
+
+\begin{description}
+\item [A guide to Lua\LaTeX:] An introduction. \texdoc{lualatex-doc}
+\item [Lua\TeX\ Reference:] The full manual. \texdoc{luatex.pdf}
+\end{description}
+
+\subsection{\XeLaTeX}
+
+\begin{description}
+\item [The \XeTeX\ reference guide:] A summary of additional features.
+ \texdoc{xetex-reference}
+\item [Font-change-xetex:] Macros for using fonts.
+ \texdoc{font-change-xetex}
+\end{description}
+
+\subsection{\LaTeX3 and \pkg{expl3}}
+
+\begin{description}
+\item [The \LaTeX3 Interfaces:] Reference documentation for the \pkg{expl3}
+ programming environment. \texdoc{interface3}
+\end{description}
+
+\subsection{Symbol references}
+
+These are lists of the \LaTeX\ commands which produce symbols.
+
+\begin{description}
+\item[Comprehensive \LaTeX\ Symbol List:]
+More than 14,000 symbols and \LaTeX\ commands.~\cite{pakin:list}
+\texdoc{symbols-letter} \\ \texdoc{symbols-a4}
+
+\item[Every symbol (most symbols) defined by unicode-math:]
+Unicode math symbols.~\cite{robertson:mathsymbols}
+\texdoc{unimath-symbols}
+\end{description}
+
+
+\subsection{Source code}
+
+The source code for \LaTeXe\ itself is also included in the distribution.
+
+\begin{description}
+\item[The \LaTeXe\ sources:] Occasionally useful for figuring out how
+ something really works.~\cite{latexteam:sources}
+ \texdoc{source2e}
+\item[List of internal \LaTeXe\ macros
+ \\\hspace*{-\leftmargin}useful to package authors:]
+ A list of the core \LaTeX\ macros, each of which is linked to the
+ source code.~\cite{scharrer:listinternal}
+ \texdoc{macros2e}
+\end{description}
+
+
+
+\subsection{FAQs}
+
+%Frequently-Asked Questions
+
+\begin{description}
+\item[\TeX\ FAQ:] A wide-ranging list of
+fre\-quently-asked questions.
+(formerly the UK TUG FAQ)
+~\cite{TeX:FAQ} \\
+\texdoc{letterfaq} \\
+\texdoc{newfaq}
+
+\item[Visual \LaTeX\ FAQ:] Click on a visual element to learn how
+it is programmed.~\cite{pakin:visual}
+\texdoc{visualFAQ}
+\end{description}
+
+
+\subsection{Non-English}
+
+\begin{description}
+\item[Initiation à LATEX:] A French guide on \LaTeX — for beginners
+ or advanced users.~\cite{bouzigues:guide} \\
+ \hfurl{https://ctan.org/pkg/guide-latex-fr}
+
+\item[\LaTeXe\ Via Exemplos:] A study course
+in Brazilian Portuguese.~\cite{massago:exemplos}
+ \hfurl{https://ctan.org/pkg/latex-via-exemplos}
+
+\item[The Not So Short Introduction to \LaTeXe:]
+ Covers introductory material, customizations,
+ and a simple package. Available in many languages~\cite{oetiker:introduction}
+ \texdoc{-l lshort} \hfurl{https://ctan.org/pkg/lshort}
+
+\item[\LaTeXe: An unofficial reference manual:]
+ A thorough but concise reference manual for \LaTeXe,
+ available in several languages.~\cite{greenwade:reference} \\
+ \texdoc{-l latex2e-help} \\
+ \hfurl{https://latexref.xyz}
+
+\item [Ebook Foundation — Free Programming Books:] A variety
+of \TeX-related and other programming books and documents,
+in a number of languages.~\cite{ebookfoundation:free}
+\hfurl{https://github.com/EbookFoundation/free-programming-books}
+\end{description}
+
+\subsection{General typeseting theory}
+
+Discussion about general typesetting theory,
+presented by various \TeX-related authors.
+
+\begin{description}
+\item[A Few Notes on Book Design:]
+ Discussion about book design and typography.
+ 100+ pages.~\cite{wilson:design}
+ \texdoc{memdesign}
+
+\item[KOMA-Script — The Guide --- Calculating the Page Layout with typearea:]
+ Discussion about the page layout of a book.~\cite{kohm:typearea}
+ \texdoc{typearea}
+
+\item[A TUFTE-STYLE BOOK --- The Design of Tufte's Books:]
+ Emulating ideas from the books of Edward R. Tufte.~\cite{tufte:book}
+ \texdoc{tufte-latex}
+
+\item[The Octavo Package:]
+ Design principles and guidelines emulating books
+ from the Renaissance.~\cite{revets:octavo}
+ \texdoc{octavo}
+
+\item[Package canoniclayout:]
+ Ideas regarding text-block proportions.~\cite{beccari:canoniclayout}
+ \texdoc{canoniclayout}
+
+\item[Publication-quality tables in \LaTeX:]
+ Improved design of tabular layouts.~\cite{fear:booktabs}
+ \texdoc{booktabs}
+
+\item[The Ti\textit{k}Z and PGF Packages --- Guidelines on Graphics:]
+ ``General guidelines and principles concerning the creation of graphics
+ for scientific presentations, papers, and books''.~\cite{tantu:pgf}
+ \texdoc{pgfmanual}
+
+\end{description}
+
+\section{Accessing embedded information}
+
+\subsection{\pkg{texdoc}}
+
+A large amount of documentation is included in a \TeX\ distribution.
+Most can be accessed with the \prog{texdoc} program.
+Enter ``\prog{texdoc -l <name>}'' to search for
+matching package, file, or program names. In some cases the same document
+is available in both letter or A4 paper sizes, or in several languages.
+\prog{texdoc} is also available online~\cite{texdocnet},
+with popular packages sorted by category. \hfurl{texdoc.net}
+
+\subsection{\prog{kpsewhich}}
+
+The program \prog{kpsewhich} may be used to find out where a file is
+located. \prog{kpsewhich filename} searches for and returns the
+path to the given filename.
+
+\prog{kpsewhich} can also return directories, such as:
+\begin{verbatim}
+ kpsewhich -var-value TEXMFROOT
+ kpsewhich -var-value TEXMFDIST
+ kpsewhich -var-value TEXMFLOCAL
+\end{verbatim}
+\medskip
+
+Some package authors choose not to include the source code in the
+package documentation. To view the source code:
+
+\begin{enumerate}
+\item To locate and read a package's \verb+.sty+ file:
+\userentry{kpsewhich package.sty}
+Usually these files have their comments removed,
+so it is better to use the \verb+.dtx+ file instead.
+\item The \verb+.dtx+ file is usually available,
+and will have the package's source code.
+\userentry{kpsewhich package.dtx}
+If it is not installed on your local system, it will
+be necessary to download the \verb+.dtx+ file from
+CTAN (see the next section).
+
+The comments are not yet typeset and so
+will not be as easily read.
+\item To typeset the documentation with the source code,
+copy the \verb+.dtx+ file and any associated image files
+somewhere local and then look for
+\cs{OnlyDescription}
+in the source.
+This command tells the \pkg{ltxdoc} package not to print the source code.
+\item Remove \cs{OnlyDescription}, then process the \verb+.dtx+ file with
+\userentry{pdflatex package.dtx}
+Barring unusual circumstances, this will create a new documentation
+\verb+.pdf+ file with the package source code included.
+\end{enumerate}
+
+
+
+\section{%
+ Obtaining packages \Dash Comprehensive \TeX\ Archive Network \protect\quad (CTAN)%
+}
+
+The Comprehensive \TeX\ Archive Network
+(\CTAN) provides a master collection of
+packages. A search function is available, which is useful when you know the
+name of a package or its author, and a list of topics is also provided.
+There are so many topics, however, that finding the right topic can be a
+problem in itself. One useful method to find what you are looking for is
+to search for a related package you may already know about, then look at
+its description on \CTAN\ to see what topics are shown for it. Selecting these
+topics then shows you related packages.~\cite{ctan}
+
+
+\needspace{7\baselineskip}
+\section{Packages useful for programming \LaTeX}
+
+A number of packages are especially useful for \LaTeX\ programmers:
+\texdoc{<packagename>}
+
+\begin{multicols}{2}
+
+\begin{description}[style=unboxed]
+\raggedright
+\item[\pkg{xifthen}:] Conditionals.
+\item[\pkg{etoolbox}:] A wide range of programming tools, often avoiding
+ the need to resort to low-level \TeX.
+\item[\pkg{etextools}:] Adds to \pkg{etoolbox}.
+ Strings, lists, and more.
+\item[\pkg{xparse}:] Define macros and environments with
+ flexible argument types.
+\item[\pkg{environ}:] Process environment contents.
+\item[\pkg{arrayjobx}, \pkg{fifo-stack}, \pkg{forarray},
+ \pkg{forloop}, \pkg{xfor}:]
+ Programming arrays, stacks, and loops.
+\item[\pkg{iftex}:] Detect \TeX\ engine.
+\item[\pkg{ifplatform}:] Detect operating system.
+\item[\pkg{xstring}:] String manipulation.
+\item[\pkg{keyval}, \pkg{xkeyval}, \pkg{kvsetkeys}:] Key\slash{}value arguments.
+\item[\pkg{pgfkeys}, \pkg{pgfkeyx}:] Another form of key\slash{}value arguments.
+\item[\pkg{kvoptions}:] Key\slash{}value package options.
+\item[\pkg{expl3}:] \LaTeX3 programming.
+\item[\pkg{l3keys}, \pkg{l3keys2e}:] Key\slash{}value for \LaTeX3.
+\item[\pkg{chktex}:] Locates typographic errors.
+\item[\CTAN\ topic \pkg{macro-supp}:] An entire topic of
+ useful programming macros.
+\end{description}
+\end{multicols}
+
+
+\section{Creating and documenting new packages}
+
+\subsection{How-to}
+
+Documentation for those interested in creating their own package or class:
+\begin{description}
+\item[How to package your \LaTeX\ package:] A tutorial.~\cite{pakin:dtxtut}
+ \texdoc{dtxtut}
+\item[\LaTeXe\ for class and package writers:] Programming a package
+ or class.~\cite{latexteam:class}
+ \texdoc{clsguide}
+\item[The doc and shortvrb packages:] Packages for documenting
+ packages.~\cite{mittelbach:doc}
+ \texdoc{doc}
+\item[The DocStrip program:] The program which processes \verb+.dtx+
+ and \verb+.ins+ files to generate documentation and \verb+.sty+
+ files.~\cite{mittelbach:docstrip}
+ \texdoc{docstrip}
+\end{description}
+
+\subsection{Published articles about creating \LaTeX\ packages}
+
+Related articles from \TUB:
+
+\begin{description}
+\item[Rolling your own Document Class:
+Using \LaTeX\ to keep away from the Dark Side:] An overview of the
+ \pkg{article} class.~\cite{flynn:article}
+\item[Good things come in little packages: An
+ introduction to writing \texttt{.ins} and \texttt{.dtx} files:] How and why
+ to create your own \verb+.dtx+ and \verb+.ins+ files.~\cite{pakin:goodthings}
+\item[How to develop your own document class\Dash our experience:]
+ A comparison of developing class vs.\ package
+ files.~\cite{mansfield:class}
+
+\end{description}
+
+\section{Users groups}
+
+\begin{description}[style=unboxed]
+\item[\TeX\ Users Group:] \url{http://tug.org}
+\item[List of international users groups:] \url{http://tug.org/usergroups.html}
+\end{description}
+
+\section{Online communities}
+
+\begin{description}[style=unboxed]
+\item[English forums:] \
+\begin{description}[style=unboxed]
+\raggedright
+\item[TeX\Dash \LaTeX\ Stack Exchange:]
+ \url{http://tex.stackexchange.com} \\
+ Almost any question has already
+ been asked, and a quick web search will find answers, ranked by vote.
+\item[\LaTeX\ Community:] \url{http://www.latex-community.org} \\
+ A traditional forum with quick replies
+ to your questions
+\end{description}
+
+\item[German forums:] \
+\begin{description}[style=unboxed]
+\item[TeXwelt:] \url{http://texwelt.de/wissen/}
+\item[goLaTeX:] \url{http://golatex.de}
+\end{description}
+
+\item[French forums:] \
+\begin{description}[style=unboxed]
+\item[TeXnique.fr:] \url{http://texnique.fr}
+\end{description}
+
+\item[Mailing lists:] \url{http://tug.org/mailman/listinfo} \\
+ Several dozen, spanning a wide range of \TeX-related topics.
+\item[Newsgroup:] \url{comp.text.tex}
+\end{description}
+
+
+\section{Distributions \Dash \LaTeX\ for various operating systems}
+\begin{description}[style=unboxed]
+\item[TeXLive:] \url{http://tug.org/texlive} \hfill Unix and Windows
+\item[MiKTex:] \url{https://miktex.org} \hfill Windows and Mac
+\item[proTeXt:] \url{http://tug.org/protext/} \hfill Windows
+\item[MacTex:] \url{http://tug.org/mactex/} \hfill Mac
+\end{description}
+
+
+\section{Change log}
+
+\begin{description}[style=standard]
+\item[2017/03/06:] Initial version.
+\item[2017/10/04:] Added users groups, mailing lists,
+ distributions, \LuaTeX, \XeTeX, \pkg{chktex}.
+ Organization and formatting improvements.
+\item[2017/10/14:] More information about accessing embedded documentation.
+\item[2018/01/18:] Added \url{texdoc.net}.
+\item[2018/01/21:] Added \pkg{la­tex-veryshort­guide}, \pkg{first-latex-doc},
+ \pkg{beginlatex},
+ \pkg{intro-scientific}, \pkg{guide-latex-fr}.
+\item[2018/03/24:] Added \pkg{interface3}, \pkg{dickimaw-novices}, \pkg{dickimaw-thesis}.
+\item[2018/04/01:] Added TeXnique.fr.
+\item[2018/06/28:] Added sections for non-English documents and general typesetting theory.
+ Updated host and name for \TeX\ \acro{FAQ}. Added \pkg{latex-via-exemplos} and
+ Ebook Foundation free programming books.
+\item[2018/10/18:] Updated \acro{URL} for \pub{\LaTeXe: An unofficial reference manual}.
+\end{description}
+
+
+\begin{thebibliography}{99}
+
+\bibitem{lamport:latex}
+\pub{\LaTeX: A Document Preparation System},
+Leslie Lamport,
+second edition, Addison Wesley, 1994, ISBN 0201529831.
+
+\bibitem{hokpkadaly:guide}
+\pub{Guide to \LaTeX},
+Helmut Kopka and Patrick W. Daly,
+fourth edition, Addison-Wesley, 2004, ISBN 0321173856.
+
+\bibitem{gratzer:moremath}
+\pub{More Math Into \LaTeX},
+George Gr\"{a}tzer,
+5th ed., Springer, 2016,
+ISBN 3319237950.
+%ISBN-13: 978-3319237954.
+
+\bibitem{kottwitz:beginner}
+\pub{\LaTeX\ Beginner's Guide},
+Stefan Kottwitz,
+Packt Publishing, 2011, ISBN 1847199860.
+%ISBN-13 1847199860.
+
+\bibitem{kottwitz:cookbook}
+\pub{\LaTeX\ Cookbook}, Stefan Kottwitz, Packt Publishing, 2015,
+ISBN-13 9781784395148. \\
+\url{http://latex-cookbook.net}
+
+\bibitem{mittelbachgossens:companion}
+\pub{The \LaTeX\ Companion},
+Frank Mittelbach, Michel Goossens, Johannes Braams,
+David Carlisle and Chris Rowley,
+second edition, Addison-Wesley, 2004,
+ISBN 0201362996.
+%ISBN-13 0-201-36299-6.
+
+\bibitem{eijkhout:topic}
+\pub{\TeX\ by Topic}, A \TeX{}nician's Reference,
+Victor Eijkhout,
+Addison-Wesley UK, 1991, ISBN 0201568829.
+\url{http://eijkhout.net/texbytopic/texbytopic.html}
+
+\bibitem{hefferon:first}
+\pub{Getting something out of \LaTeX},
+Jim Hefferon, 2009. \url{https://ctan.org/pkg/first-latex-doc}
+
+\bibitem{flynn:veryshort}
+\pub{The very short guide to typesetting with \LaTeX},
+Peter Flynn, 2016. \\
+\url{https://ctan.org/pkg/latex-veryshortguide}
+
+\bibitem{flynn:formatting}
+\pub{Formatting Information}, A beginner’s introduction to
+typesetting with \LaTeX, Peter Flynn, 2005. \\
+\url{https://ctan.org/pkg/beginlatex}
+
+\bibitem{talbot:novices}
+\pub{\LaTeX\ for Complete Novices},
+Nicola L. C. Talbot, 2012.
+Dickimaw Books.
+\url{http://www.dickimaw-books.com}
+
+\bibitem{talbot:phd}
+\pub{Using \LaTeX\ to Write a PhD Thesis},
+Nicola L. C. Talbot, 2013.
+Dickimaw Books.
+\url{http://www.dickimaw-books.com}
+
+\bibitem{Bennieston:scientific}
+\pub{Writing Scientific Documents Using \LaTeX},
+Andrew J. Bennieston, 2009. \\
+\url{https://ctan.org/pkg/intro-scientific}
+
+\bibitem{oetiker:introduction}
+\pub{The Not So Short Introduction to \LaTeXe},
+Tobias Oetiker, 2015. \url{https://ctan.org/pkg/lshort}
+
+\bibitem{greenwade:reference}
+\pub{\LaTeXe: An unofficial reference manual},
+George~D. Greenwade, Stephen Gilmore,
+Torsten~Martinsen, and Karl Berry.
+\url{https://latexref.xyz}
+
+\bibitem{pakin:list}
+\pub{The Comprehensive \LaTeX\ Symbol List},
+Scott Pakin, 2017.
+\url{https://ctan.org/pkg/comprehensive}
+
+\bibitem{robertson:mathsymbols}
+\pub{Every symbol (most symbols) defined by unicode-math},
+Will Robertson, 2018. \\
+\url{https://ctan.org/pkg/unicode-math}
+
+\bibitem{latexteam:sources}
+\pub{The \LaTeXe\ Sources},
+Johannes Braams, David Carlisle, Alan Jeffrey, Leslie Lamport,
+Frank Mittelbach, Chris Rowley, and Rainer Sch\"opf.
+\url{https://ctan.org/pkg/source2e}
+
+\bibitem{scharrer:listinternal}
+\pub{List of internal \LaTeXe\ Macros useful to Package Authors},
+Martin Scharrer. \\
+\url{https://ctan.org/pkg/macros2e}
+
+\bibitem{TeX:FAQ}
+\TeX\ FAQ.
+\url{https://texfaq.org/}
+
+\bibitem{pakin:visual}
+\pub{The Visual \LaTeX\ FAQ},
+Scott Pakin.
+\url{https://ctan.org/pkg/visualfaq}
+
+\bibitem{bouzigues:guide}
+\pub{Initiation à \LaTeX}, Pour débutants ou jeunes utilisateurs,
+Adrien Bouzigues, 2017. \\
+\url{https://ctan.org/pkg/guide-latex-fr}
+
+\bibitem{massago:exemplos}
+\pub{\LaTeXe\ Via Exemplos},
+Sadao Massago, 2018.
+\url{https://ctan.org/pkg/latex-via-exemplos}
+
+\bibitem{ebookfoundation:free}
+\pub{Free Programming Books},
+Ebook Foundation. \\
+\url{https://github.com/EbookFoundation/free-programming-books}
+
+\bibitem{wilson:design}
+\pub{A Few Notes on Book Design},
+Peter Wilson, 2009.
+\url{https://ctan.org/pkg/memdesign}
+
+\bibitem{kohm:typearea}
+\pub{KOMA-Script — The Guide},
+Markus Kohm, 2018.
+\url{https://ctan.org/pkg/koma-script}
+
+\bibitem{tufte:book}
+\pub{A TUFTE-STYLE BOOK},
+The Tufte-LaTeX Developers, 2015.
+\url{https://ctan.org/pkg/tufte-latex}
+
+\bibitem{revets:octavo}
+\pub{The Octavo Package},
+Stefan A. Revets,
+\pub{TUGboat} 23 3/4 (2002), p.~269.
+\url{https://ctan.org/pkg/octavo}
+
+\bibitem{beccari:canoniclayout}
+\pub{Package canoniclayout},
+Claudio Beccari, 2011.
+\url{https://ctan.org/pkg/canoniclayout}
+
+\bibitem{fear:booktabs}
+\pub{Publication-quality tables in \LaTeX},
+Simon Fear, 2016.
+\url{https://ctan.org/pkg/booktabs}
+
+\bibitem{tantu:pgf}
+\pub{Till Tantau}, 2015.
+\url{https://ctan.org/pkg/pgf}
+
+\bibitem{texdocnet}
+TeXdoc Online.
+\url{http://texdoc.net}
+
+\bibitem{ctan}
+Comprehensive \TeX\ Archive Network (CTAN).
+\url{https://ctan.org}
+
+\bibitem{pakin:dtxtut}
+\pub{How to Package Your \LaTeX\ Package},
+Scott~Pakin.
+\url{https://ctan.org/pkg/dtxtut}
+
+\bibitem{latexteam:class}
+\pub{\LaTeXe\ for class and package writers},
+\LaTeX3 Project.
+\url{https://ctan.org/pkg/clsguide}
+
+\bibitem{mittelbach:doc}
+\pub{The doc and shortvrb packages},
+Frank Mittelbach.
+\url{https://ctan.org/pkg/doc}
+
+\bibitem{mittelbach:docstrip}
+\pub{The DocStrip program},
+Frank Mittelbach, Denys Duchier, Johannes Braams,
+Marcin Woli\'nski, and Mark Wooding.
+\url{https://ctan.org/pkg/docstrip}
+
+\bibitem{flynn:article}
+\pub{Rolling your own Document Class:
+Using \LaTeX\ to keep away from the Dark Side},
+Peter~Flynn,
+\TUB\ 28:1 (2007), pp.\,110--123.
+\url{http://tug.org/TUGboat/tb28-1/tb88flynn.pdf}
+
+\bibitem{pakin:goodthings}
+\pub{Good things come in little packages:
+An introduction to writing \texttt{.ins} and \texttt{.dtx} files},
+Scott~Pakin,
+\TUB\ 29:2 (2008), pp.\,305--314.
+\url{http://tug.org/TUGboat/tb29-2/tb92pakin.pdf}
+
+\bibitem{mansfield:class}
+\pub{How to develop your own document class\Dash our experience},
+Niall Mansfield,
+\TUB\ 29:3 (2008), pp.\,356--361.
+\url{http://tug.org/TUGboat/tb29-3/tb93mansfield.pdf}
+
+\end{thebibliography}
+% \vfilneg
+
+
+\end{document}