diff options
-rw-r--r-- | Master/texmf-dist/doc/latex/docsurvey/README.txt | 23 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/docsurvey/docsurvey.pdf | bin | 0 -> 255495 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/docsurvey/docsurvey.tex | 748 | ||||
-rwxr-xr-x | Master/tlpkg/bin/tlpkg-ctan-check | 2 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/collection-langenglish.tlpsrc | 3 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/docsurvey.tlpsrc | 0 |
6 files changed, 774 insertions, 2 deletions
diff --git a/Master/texmf-dist/doc/latex/docsurvey/README.txt b/Master/texmf-dist/doc/latex/docsurvey/README.txt new file mode 100644 index 00000000000..f8a7661e470 --- /dev/null +++ b/Master/texmf-dist/doc/latex/docsurvey/README.txt @@ -0,0 +1,23 @@ + +The LaTeX docsurvey package + +Provides the document +"Programming LaTeX — A survey of documentation and packages" + +March 6, 2017 +Copyright 2017 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, +symbol lists, FAQs, compiling documentation when necessary, +the LaTeX source code, CTAN, programming-related packages, +creating documentation for packages, and online communities. + +--- + +Files: +README.txt, docsurvey.pdf, docsurvey.tex diff --git a/Master/texmf-dist/doc/latex/docsurvey/docsurvey.pdf b/Master/texmf-dist/doc/latex/docsurvey/docsurvey.pdf Binary files differnew file mode 100644 index 00000000000..27d39d77635 --- /dev/null +++ b/Master/texmf-dist/doc/latex/docsurvey/docsurvey.pdf diff --git a/Master/texmf-dist/doc/latex/docsurvey/docsurvey.tex b/Master/texmf-dist/doc/latex/docsurvey/docsurvey.tex new file mode 100644 index 00000000000..87ce2bcb567 --- /dev/null +++ b/Master/texmf-dist/doc/latex/docsurvey/docsurvey.tex @@ -0,0 +1,748 @@ + +\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} + + + +\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{\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}} +\newcommand{\Dash}{\unskip\thinspace\textemdash\thinbrspace} +\newcommand{\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{\acro}[1]{\textsc{\MakeLowercase{#1}}} + + +\newcommand{\EDITORnoaddress}{} + + +\usepackage{microtype} +\usepackage{graphicx} +\usepackage{ifpdf} +\ifpdf +\usepackage[breaklinks,hidelinks]{hyperref} +\else +\usepackage{url} +\fi + +\usepackage{enumitem} +\setlist[description]{style=nextline,font=\small} + +\usepackage{multicol} + + +\usepackage{titling} +\setlength{\droptitle}{-1in} +\predate{\begin{center}\small} + + +\newcommand*{\pkg}[1]{\textsf{#1}} +\newcommand*{\environ}[1]{\texttt{#1}} +\newcommand*{\prog}[1]{\texttt{#1}} +\newcommand*{\LuaLaTeX}{Lua\-\LaTeX} +\newcommand*{\LuaTeX}{Lua\-\TeX} +\newcommand*{\tag}[1]{\texttt{<#1>}} +\newcommand*{\prop}[1]{\textsl{\texttt{#1}}} +\newcommand*{\epub}{\acro{EPUB}} +\newcommand*{\texdoc}[1]{\hspace*{\fill}\mbox{(\texttt{texdoc #1}})} +\newcommand*{\userentry}[1]{% +\leavevmode\par\hspace*{2em}\texttt{#1}\smallskip\\} + + +\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 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 documentation sources and +packages useful for \LaTeX\ programmers. +\end{abstract} + +\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, the 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} +\end{description} +Other books are listed at the \acro{UK TUG FAQ}: \\ +\url{http://www.tex.ac.uk/FAQ-latex-books.html} + + +\section{Electronic books} + +Provided with the \TeX\ distribution: +% These are provided with the documentation built into a \TeX\ distribution, +% and thus are occasionally updated alongside \TeX. +% The \prog{texdoc} command can be used to display them. + +\begin{description} +\item[The Not So Short Introduction to \LaTeXe:] + Covers introductory material, customizations, + and a simple package.~\cite{oetiker:introduction} + \texdoc{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} + +\item[LaTeX WikiBook:] An online book, includes information about + creating \LaTeX\ packages and classes. \\ + \url{https://en.wikibooks.org/wiki/LaTeX} + +\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} + + +\section{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\\\hspace*{-\leftmargin}by +unicode-math:] +Unicode math symbols.~\cite{robertson:mathsymbols} +\texdoc{unimath-symbols} +\end{description} + + +\section{FAQs} + +%Frequently-Asked Questions + +\begin{description} +\item[UK TUG FAQ:] A wide-ranging list of +fre\-quently-asked questions.~\cite{UK: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} + + +\section{Accessing embedded documentation} + +A large amount of documentation is included in a \TeX\ distribution. +Most can be accessed with the \prog{texdoc} program. +Use \prog{texdoc -l name} to select from many choices of +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. + +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} +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{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} \\ + \hspace*{\fill} \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} + + +\section{Comprehensive \TeX\ Archive Network} + +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} + + + +\section{Packages} + +A number of packages are especially useful for \LaTeX\ programmers: + +\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[\CTAN\ topic \pkg{macro-supp}:] An entire topic of + useful programming macros. +\end{description} +\end{multicols} + + +\section{Creating and documenting packages} + +\subsection{Packages and programs} + +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{Articles} + +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:\\\hspace*{-\leftmargin}An + introduction to writing .ins and .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\\\hspace*{-\leftmargin}our experience:] + A comparison of developing class vs.\ package + files.~\cite{mansfield:class} + +\end{description} + +\section{Online communities} + +\begin{description}[style=unboxed] +\item[English forums:] \ +\begin{description} +\raggedright +\item[TeX\Dash \LaTeX\ Stack Exchange:] Almost any question has already + been asked, and a quick web search will find answers, ranked by vote. \\ + \url{http://tex.stackexchange.com/} +\item[\LaTeX\ Community:] A traditional forum with quick replies + to your questions. \\ + \url{http://www.latex-community.org/} +\end{description} + +\item[German forums:] \ +\begin{description} +\item[TeXwelt:] \url{http://texwelt.de/wissen/} +\item[goLaTeX:] \url{http://golatex.de/} +\end{description} + +\item[Newsgroup:] \url{comp.text.tex} +\end{description} + + +\begin{thebibliography}{99} + +\bibitem{lamport:latex} +\LaTeX: A Document Preparation System, +Leslie Lamport, +second edition, Addison Wesley, 1994, ISBN 0201529831. + +\bibitem{hokpkadaly:guide} +Guide to \LaTeX, +Helmut Kopka and Patrick W. Daly, +fourth edition, Addison-Wesley, 2004, ISBN 0321173856. + +\bibitem{gratzer:moremath} +More Math Into \LaTeX, +George Gr\"{a}tzer, +5th ed., Springer, 2016, +ISBN 3319237950. +%ISBN-13: 978-3319237954. + +\bibitem{kottwitz:beginner} +\LaTeX\ Beginner's Guide, +Stefan Kottwitz, +Packt Publishing, 2011, ISBN 1847199860. +%ISBN-13 1847199860. + +\bibitem{kottwitz:cookbook} +\LaTeX\ Cookbook, Stefan Kottwitz, Packt Publishing, 2015, +ISBN-13 9781784395148, \\ +\url{http://latex-cookbook.net/} + +\bibitem{mittelbachgossens:companion} +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{oetiker:introduction} +The Not So Short Introduction to \LaTeXe, +Tobias Oetiker, +\url{https://ctan.org/pkg/lshort} + +\bibitem{greenwade:reference} +\LaTeXe: An unofficial reference manual, +George~D. Greenwade, Stephen Gilmore, +Torsten~Martinsen, and Karl Berry, \\ +\url{http://home.gna.org/latexrefman} + +\bibitem{eijkhout:topic} +\TeX\ by Topic, A \TeX{}nician's Reference, +Victor Eijkhout, +Addison-Wesley UK, 1991, ISBN 0201568829, +\url{http://eijkhout.net/texbytopic/texbytopic.html} + +\bibitem{pakin:list} +The Comprehensive \LaTeX\ Symbol List, +Scott Pakin, +\url{https://ctan.org/pkg/comprehensive} + +\bibitem{robertson:mathsymbols} +Every symbol (most symbols) defined by unicode-math, +Will Robertson, \\ +\url{https://ctan.org/pkg/unicode-math} + +\bibitem{UK:FAQ} +UK TUG FAQ, +UK \TeX\ Users Group, \\ +\url{http://www.tex.ac.uk/} + +\bibitem{pakin:visual} +The Visual \LaTeX\ FAQ, +Scott Pakin, \\ +\url{https://ctan.org/pkg/visualfaq} + +\bibitem{latexteam:sources} +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} +List of internal \LaTeXe\ Macros useful to Package Authors, +Martin Scharrer, \\ +\url{https://ctan.org/pkg/macros2e} + +\bibitem{ctan} +Comprehensive \TeX\ Archive Network (CTAN), \\ +\url{https://ctan.org} + +\bibitem{pakin:dtxtut} +How to Package Your \LaTeX\ Package, +Scott~Pakin, +\url{https://ctan.org/pkg/dtxtut} + +\bibitem{latexteam:class} +\LaTeXe\ for class and package writers, +\LaTeX3 Project, +\url{https://ctan.org/pkg/clsguide} + +\bibitem{mittelbach:doc} +The doc and shortvrb packages, +Frank Mittelbach, +\url{https://ctan.org/pkg/doc} + +\bibitem{mittelbach:docstrip} +The DocStrip program, +Frank Mittelbach, Denys Duchier, Johannes Braams, +Marcin Woli\'nski, and Mark Wooding, +\url{https://ctan.org/pkg/docstrip} + +\bibitem{flynn:article} +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} +Good things come in little packages: +An introduction to writing .ins and .dtx files, +Scott~Pakin, +\TUB\ 29:2 (2008), pp.\,305--314, +\url{http://tug.org/TUGboat/tb29-2/tb92pakin.pdf} + +\bibitem{mansfield:class} +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} diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index 08adf17a050..7176ca4fb68 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -210,7 +210,7 @@ my @TLP_working = qw( dinat dinbrief dingbat directory dirtree dirtytalk disser dithesis dk-bib dlfltxb dnaseq dnp doc-pictex docbytex doclicense - docmfp docmute doctools documentation + docmfp docmute docsurvey doctools documentation doi doipubmed dosepsbin dot2texi dotarrow dotseqn dottex doublestroke dowith download dox dozenal dpfloat dprogress drac draftcopy diff --git a/Master/tlpkg/tlpsrc/collection-langenglish.tlpsrc b/Master/tlpkg/tlpsrc/collection-langenglish.tlpsrc index 7406973f357..79d67763826 100644 --- a/Master/tlpkg/tlpsrc/collection-langenglish.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-langenglish.tlpsrc @@ -1,6 +1,6 @@ category Collection shortdesc US and UK English -longdesc Support for (and documentation in) English. +longdesc Support for, and documentation in, English. # depend collection-basic # @@ -15,6 +15,7 @@ depend ascii-chart depend components-of-TeX depend comprehensive depend dickimaw +depend docsurvey depend dtxtut depend first-latex-doc depend forest-quickstart diff --git a/Master/tlpkg/tlpsrc/docsurvey.tlpsrc b/Master/tlpkg/tlpsrc/docsurvey.tlpsrc new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/Master/tlpkg/tlpsrc/docsurvey.tlpsrc |