diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex')
-rw-r--r-- | Master/texmf-dist/doc/latex/docsurvey/README.txt | 6 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/docsurvey/docsurvey.pdf | bin | 292549 -> 319425 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/docsurvey/docsurvey.tex | 1859 |
3 files changed, 1461 insertions, 404 deletions
diff --git a/Master/texmf-dist/doc/latex/docsurvey/README.txt b/Master/texmf-dist/doc/latex/docsurvey/README.txt index 035ee112e7e..4def82149e0 100644 --- a/Master/texmf-dist/doc/latex/docsurvey/README.txt +++ b/Master/texmf-dist/doc/latex/docsurvey/README.txt @@ -4,8 +4,8 @@ The LaTeX docsurvey package Provides the document "Programming LaTeX — A survey of documentation and packages" -2020/12/14 -Copyright 2017-2020 Brian Dunn — www.BDTechConcepts.com +2021/01/02 +Copyright 2017-2021 Brian Dunn — www.BDTechConcepts.com LaTeX Project Public License, version 1.3 @@ -23,7 +23,7 @@ and information on creating packages and documentation. Files: README.txt, docsurvey.pdf, docsurvey.tex -docsurvey.bib is generated when docsurvey.tex is compiled. +docsurvey.bib and docsurvey.bbx are generated when docsurvey.tex is compiled. --- diff --git a/Master/texmf-dist/doc/latex/docsurvey/docsurvey.pdf b/Master/texmf-dist/doc/latex/docsurvey/docsurvey.pdf Binary files differindex 7244da15c98..1f85590e317 100644 --- a/Master/texmf-dist/doc/latex/docsurvey/docsurvey.pdf +++ 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 index fb5a1e19951..5c8f2c80887 100644 --- a/Master/texmf-dist/doc/latex/docsurvey/docsurvey.tex +++ b/Master/texmf-dist/doc/latex/docsurvey/docsurvey.tex @@ -6,32 +6,48 @@ % lualatex docsurvey.tex % lualatex docsurvey.tex + +\documentclass{article} + + + + \begin{filecontents}[overwrite]{docsurvey.bib} @book{lamport:latex, title={\LaTeX: A Document Preparation System}, author={Leslie Lamport}, edition=2, - publisher={Addison Wesley}, + publisher={Addison Wesley Professional}, year=1994, - isbn=0201529831, + pagetotal=272, + isbn={0-201-52983-1}, + url={https://www.pearson.com/us/higher-education/program/Lamport-La-Te-X-A-Document-Preparation-System-2nd-Edition/PGM159713.html}, + annotation={The classic introduction to \LaTeX, in continuous reprint for + decades.}, } @book{hokpkadaly:guide, title={Guide to \LaTeX}, author={Helmut Kopka and Patrick W. Daly}, edition=4, - publisher={Addison-Wesley}, + publisher={Addison-Wesley Professional}, year=2004, - isbn=0321173856, + pagetotal=597, + isbn={0-321-17385-6}, + url={https://www.pearson.com/us/higher-education/program/Kopka-Guide-to-La-Te-X-4th-Edition/PGM156755.html}, + annotation={An introduction and more advanced material, including an extensive + reference guide.}, } @book{gratzer:moremath, title={More Math Into \LaTeX}, - author={George Gr\"{a}tzer}, + author={George Grätzer}, edition=5, publisher={Springer}, year=2016, - isbn=9783319237954, + isbn={978-3-319-23795-4}, + url={https://www.springer.com/gp/book/9783319237954}, + annotation={Updated edition.}, } @book{kottwitz:beginner, @@ -40,6 +56,8 @@ publisher={Packt Publishing}, year=2011, isbn=1847199860, + url={https://www.packtpub.com/product/latex-beginner-s-guide/9781847199867}, + annotation={An overview with numerous examples.}, } @book{kottwitz:cookbook, @@ -47,8 +65,9 @@ author={Stefan Kottwitz}, publisher={Packt Publishing}, year=2015, - isbn=9781784395148, - url={http://latex-cookbook.net} + isbn={978-1-784-39514-8}, + url={http://latex-cookbook.net}, + annotation={More examples.}, } @book{mittelbachgossens:companion, @@ -58,7 +77,38 @@ edition=2, publisher={Addison-Wesley}, year=2004, - isbn=0201362996, + pagetotal=1090, + isbn={0-201-36299-6}, + url={http://www.informit.com/store/latex-companion-9780133387667}, + annotation={Provides extended discussion and examples of the inner workings + of \LaTeX\ and numerous useful packages.}, +} + +@book{voss:typesettingmath, + title={Typesetting Mathematics with \LaTeX}, + author={Herbert Voß}, + publisher={UIT Cambridge}, + year=2010, + url={https://www.uit.co.uk/typesetting-mathematics-with-latex}, + isbn={978-1-906-86017-2}, +} + +@book{voss:typesettingtables, + title={Typesetting Tables with \LaTeX}, + author={Herbert Voß}, + publisher={UIT Cambridge}, + year=2011, + url={https://www.uit.co.uk/typesetting-tables-with-latex}, + isbn={978-1-906-86025-7}, +} + +@book{voss:pstricks, + title={PSTricks: Graphics and PostScript for \TeX\ and \LaTeX}, + author={Herbert Voß}, + publisher={UIT Cambridge}, + year=2011, + url={https://www.uit.co.uk/pstricks}, + isbn={978-1-906-86013-4}, } @book{eijkhout:topic, @@ -67,22 +117,146 @@ author={Victor Eijkhout}, publisher={Addison-Wesley UK}, year=1991, - isbn=0201568829, - url={http://eijkhout.net/texbytopic/texbytopic.html} + pagetotal=317, + isbn={0-201-56882-9}, + url={http://eijkhout.net/texbytopic/texbytopic.html}, + texdoc={texbytopic}, + annotation={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.}, +} + +@book{abrahams:impatient, + title={\TeX\ for the Impatient}, + author={Paul W. Abrahams and Kathryn A. Hargreaves and Karl Berry}, + year=2020, + pagetotal=393, + url={https://ctan.org/pkg/impatient}, + texdoc={impatient}, + annotation={A tutorial and reference for \TeX, plain \TeX, and Eplain. + Also available in French and Chinese.\newline}, +} + +@book{abrahams:impatient-cn, + title={\TeX {\setmainfont{FandolFang} 急就帖}}, + author={Paul W. Abrahams and Kathryn A. Hargreaves and Karl Berry}, + year=2014, + pagetotal=429, + langid={Chinese}, + language={Chinese}, + url={https://ctan.org/pkg/impatient}, + annotation={A tutorial and reference for \TeX, plain \TeX, and Eplain.}, + texdoc={impatient-cn}, +} + +@book{doob:gentle, + title={A Gentle Introduction to \TeX}, + subtitle={A Manual for Self-study}, + author={Michael Doob}, + year=2002, + pagetotal=97, + url={https://ctan.org/pkg/gentle}, + annotation={A comprehensive tutorial on plain \TeX.}, + texdoc={gentle}, +} + +@book{wilkins:started, + title={Getting Started with Plain \TeX}, + author={D. R. Wilkins}, + year=1994, + pagetotal=40, + url={http://www.ntg.nl/doc/wilkins/pllong.pdf}, +} + +@book{huang:notes, + title={\LaTeX\ Notes v 1.20}, + author={Alpha Huang}, + year=2008, + pagetotal=107, + langid={Chinese}, + language={Chinese}, + url={https://ctan.org/pkg/latex-notes-zh-cn}, + annotation={An introduction to \TeX\ and \LaTeX, including the use + of Chinese fonts.}, + texdoc={latex-notes}, +} + +@online{ctex-faq, + title={CTEXFAQ ({\setmainfont{FandolFang} 常见问题集})}, + author={{\setmainfont{FandolFang}吴凌云}}, + year=2007, + pagetotal=41, + langid={Chinese}, + language={Chinese}, + url={https://ctan.org/pkg/ctex-faq}, + annotation={\FAQ\ from the Chinese \TeX\ Society.}, + texdoc={ctex-faq}, +} + +@book{wang:install, + title={{\setmainfont{FandolFang}一份简短的关于} \LaTeX {\setmainfont{FandolFang}安装的介绍}}, + author={{\setmainfont{FandolFang}王然}}, + year=2020, + pagetotal=49, + langid={Chinese}, + language={Chinese}, + url={https://ctan.org/pkg/install-latex-guide-zh-cn}, + annotation={Installing \LaTeX\ and compiling documents, using various + operating systems.}, + texdoc={install-latex-guide-zh-cn}, +} + +@misc{asymptote-example-cn, + title={Asymptote {\setmainfont{FandolFang}范例教程}}, + author={{\setmainfont{FandolFang}刘海洋}}, + year=2009, + pagetotal=51, + langid={Chinese}, + language={Chinese}, + url={https://ctan.org/pkg/asymptote-by-example-zh-cn}, + annotation={A tutorial for \pkg{asymptote} in the form of a graphical \FAQ.}, + texdoc={asymptote-by-example-zh-cn}, +} + +@book{asymptote-faq-cn, + title={Asymptote {\setmainfont{FandolFang}中的常见问题} (FAQ)}, + author={{\setmainfont{FandolFang}译者}}, + year=2009, + pagetotal=26, + langid={Chinese}, + language={Chinese}, + url={https://ctan.org/pkg/asymptote-faq-zh-cn}, + annotation={A translation of the Asymptote \FAQ}, + texdoc={asymptote-faq-zh-cn}, +} + +@book{abrahams:impatient-fr, + title={TEX pour l’Impatient}, + author={Paul W. Abrahams and Kathryn A. Hargreaves and Karl Berry}, + year=2004, + pagetotal=407, + langid={french}, + language={french}, + url={https://ctan.org/pkg/impatient}, + annotation={A tutorial and reference for \TeX, plain \TeX, and Eplain.}, + texdoc={impatient-fr}, } @manual{hefferon:first, title={Getting something out of \LaTeX}, author={Jim Hefferon}, year=2009, - url={https://ctan.org/pkg/first-latex-doc} + url={https://ctan.org/pkg/first-latex-doc}, + annotation={Create your first document in \LaTeX.}, } @manual{flynn:veryshort, title={The very short guide to typesetting with \LaTeX}, author={Peter Flynn}, year=2016, - url={https://ctan.org/pkg/latex-veryshortguide} + url={https://ctan.org/pkg/latex-veryshortguide}, + annotation={A four-page introduction.}, } @manual{flynn:formatting, @@ -90,64 +264,93 @@ typesetting with \LaTeX}, author={Peter Flynn}, year=2005, - url={https://ctan.org/pkg/beginlatex} + url={https://ctan.org/pkg/beginlatex}, + annotation={A beginner’s introduction to typesetting with \LaTeX.} } @manual{talbot:novices, title={\LaTeX\ for Complete Novices}, author={Nicola L. C. Talbot}, year=2012, + pagetotal=279, publisher={Dickimaw Books}, - url={http://www.dickimaw-books.com} + url={http://www.dickimaw-books.com}, + texdoc={dickimaw-novices}, + annotation={An extensive introduction for a non-technical person.}, } @manual{talbot:phd, title={Using \LaTeX\ to Write a PhD Thesis}, author={Nicola L. C. Talbot}, year=2013, + pagetotal=146, publisher={Dickimaw Books}, - url={http://www.dickimaw-books.com} + url={http://www.dickimaw-books.com}, + texdoc={dickimaw-thesis}, + annotation={A followup to \pub{\LaTeX\ for Complete Novices}, including extensive + discussion about bibliographies, indexes, and glossaries.}, } @manual{morris:gettingstarted, title={Getting Started with \LaTeXe}, author={Michael P. Morris}, year=2020, - url={https://ctan.org/pkg/startlatex2e} + pagetotal=33, + url={https://ctan.org/pkg/startlatex2e}, + annotation={A beginner's bare-bones overview.}, + texdoc={startlatex2e}, } @manual{Bennieston:scientific, title={Writing Scientific Documents Using \LaTeX}, author={Andrew J. Bennieston}, year=2009, - url={https://ctan.org/pkg/intro-scientific} + url={https://ctan.org/pkg/intro-scientific}, + annotation={An introduction to typesetting scientific documents.}, } @manual{oetiker:introduction, title={The Not So Short Introduction to \LaTeXe}, author={Tobias Oetiker}, year=2015, - url={https://ctan.org/pkg/lshort} + pagetotal=153, + language={Numerous languages}, + url={https://ctan.org/pkg/lshort}, + annotation={Covers introductory material, customizations, + and a simple package.}, + texdoc={-l lshort}, } @manual{greenwade:reference, title={\LaTeXe: An unofficial reference manual}, author={George~D. Greenwade and Stephen Gilmore and Torsten~Martinsen and Karl Berry}, - url={https://latexref.xyz} + url={https://latexref.xyz}, + pagetotal=246, + language={English, French, Spanish}, + annotation={A thorough but concise reference manual for \LaTeXe, + available in several languages.\\\nopunct}, + texdoc={-l latex2e-help}, } @manual{latex:authors, title={\LaTeXe\ for authors}, - author={\LaTeX3 Project Team}, + author={{\LaTeX3 Project Team}}, year=2020, - url={https://ctan.org/pkg/usrguide} + pagetotal=31, + url={https://ctan.org/pkg/usrguide}, + annotation={An overview of the new features of \LaTeXe\ compared to \LaTeX 2.09.}, + texdoc={usrguide}, } @manual{downes:shortmath, title={Short Math Guide for \LaTeX}, author={Michael Downes and Barbara Beeton}, year=2017, - url={https://ctan.org/pkg/short-math-guide} + pagetotal=21, + url={https://ctan.org/pkg/short-math-guide}, + annotation={A summary of features in \LaTeX\ and packages for writing + math formulas.}, + texdoc={short-math-guide}, } @article{voss:farbige, @@ -155,93 +358,304 @@ journaltitle={TeXnische Komödie}, author={Herbert Voß}, year=2004, - url={https://ctan.org/pkg/voss-mathcol} + pagetotal=7, + langid={german}, + language={german}, + url={https://ctan.org/pkg/voss-mathcol}, + annotation={Math in color. In German, but with easy-to-use examples.}, + texdoc={voss-mathcol}, +} + +@online{weissenburger:anleitung, + title={Anleitung}, + author={Jens Weissenburger and Damir Rakityansky}, + year=2003, + langid={german}, + language={german}, + url={https://ctan.org/pkg/anleitung}, + annotation={Using \LaTeX, Mik\TeX, and TrueType fonts.}, } @manual{Gonzato:musicians, title={\LaTeX\ for Musicians}, author={Guido Gonzato}, year=2019, - url={https://ctan.org/pkg/latex4musicians} + pagetotal=66, + url={https://ctan.org/pkg/latex4musicians}, + annotation={Packages and programs for music symbols, lyrics, chord sheets, + sheet music, and guitar tablature.}, + texdoc={latex4musicians}, } @manual{pakin:list, title={The Comprehensive \LaTeX\ Symbol List}, author={Scott Pakin}, year=2017, - url={https://ctan.org/pkg/comprehensive} + pagetotal=348, + url={https://ctan.org/pkg/comprehensive}, + annotation={More than 14,000 symbols and \LaTeX\ commands.}, + texdoc={{symbols-letter \\ texdoc symbols-a4}}, + } @manual{robertson:mathsymbols, title={Every symbol (most symbols) defined by unicode-math}, author={Will Robertson}, year=2018, - url={https://ctan.org/pkg/unicode-math} + pagetotal=119, + url={https://ctan.org/pkg/unicode-math}, + annotation={Unicode math symbols.}, + texdoc={unimath-symbols}, +} + +@online{detexify, + title={Detexify}, + url={http://detexify.kirelabs.org/classify.html}, + annotation={Draw a symbol, and the website tells you which macros might + make that symbol.} +} + +@online{shapecatcher, + title={shapecatcher}, + url={http://shapecatcher.com/}, + annotation={Draw a symbol, and the website tells you which Unicode + symbols it might be.} } @manual{latexteam:sources, title={The \LaTeXe\ Sources}, author={Johannes Braams and David Carlisle and Alan Jeffrey and Leslie Lamport and Frank Mittelbach and Chris Rowley and Rainer Sch\"opf}, - url={https://ctan.org/pkg/source2e} + url={https://ctan.org/pkg/source2e}, + pagetotal=955, + annotation={Occasionally useful for figuring out how something really works.}, + texdoc={source2e}, } @manual{scharrer:listinternal, title={List of internal \LaTeXe\ Macros useful to Package Authors}, author={Martin Scharrer}, - url={https://ctan.org/pkg/macros2e} + url={https://ctan.org/pkg/macros2e}, + pagetotal=14, + annotation={A list of the core \LaTeX\ macros, each of which is linked to the + source code.}, + texdoc={macros2e}, } @online{TeX:FAQ, title={\TeX\ FAQ}, - url={https://texfaq.org/} + url={https://texfaq.org/}, + annotation={An online resource, which includes a detailed list of printed books.} } @manual{pakin:visual, title={The Visual \LaTeX\ FAQ}, author={Scott Pakin}, - url={https://ctan.org/pkg/visualfaq} + pagetotal=33, + url={https://ctan.org/pkg/visualfaq}, + annotation={Click on a visual element to learn how it is programmed.}, + texdoc={visualFAQ}, +} + +@manual{casteleyn:pstricks, + title={Visual PSTricks}, + author={Jean Pierre Casteleyn}, + year=2016, + pagetotal=261, + language={English, French}, + url={https://ctan.org/pkg/visualpstricks}, + annotation={A visual \FAQ\ consisting of a small example for each effect.}, + texdoc={-l visualpstricks}, +} + +@manual{casteleyn:tikz, + title={Visual TikZ}, + author={Jean Pierre Casteleyn}, + year=2018, + pagetotal=221, + language={English, French}, + url={https://ctan.org/pkg/visualtikz}, + annotation={A visual \FAQ\ consisting of a small example for each effect.}, + texdoc={-l visualtikz}, +} + + +@manual{lammarsch:cheat, + title={\LaTeX\ Cheat Sheet}, + author={Marion Lammarsch}, + year=2017, + pagetotal=4, + url={https://ctan.org/pkg/latex-refsheet}, + annotation={A reference for \LaTeX\ with KOMA-Script.}, + texdoc={latex-refsheet}, +} + +@manual{schlomer:cheat, + title={\TeX\ font errors: Cheatsheet}, + author={Nico Schlömer}, + year=2010, + pagetotal=3, + url={https://ctan.org/pkg/tex-font-errors-cheatsheet}, + annotation={How \TeX\ integrates fonts, and related error messages.}, + texdoc={tex-font-errors-cheatsheet}, +} + +@manual{chang:cheat, + title={\LaTeXe\ Cheat Sheet}, + author={Winston Chang}, + year=2006, + pagetotal=2, + url={https://ctan.org/pkg/latexcheat}, + annotation={A quick-reference guide for \LaTeX\ and Bib\TeX. + Also in Brazilian Portuguese, German, Japanese, and Spanish.}, + texdoc={latexcheat}, +} + +@manual{chang:cheat-de, + title={\LaTeXe Befehlsübersicht}, + author={Winston Chang}, + year=2006, + pagetotal=2, + langid={german}, + language={german}, + translator={Tammo Schwindt}, + url={https://ctan.org/pkg/latexcheat-de}, + annotation={A quick-reference guide for \LaTeX\ and Bib\TeX.}, + texdoc={latexcheat-de}, +} + +@online{faq-de, + title={The DANTE \TeX\ Users Group Frequently Asked Questions}, + langid={german}, + language={german}, + url={https://ctan.org/pkg/faq-de}, +} + +@manual{chang:cheat-esmx, + title={Acordeón para \LaTeXe}, + author={Winston Chang}, + year=2006, + pagetotal=2, + langid={spanish}, + language={spanish}, + translator={J. Luis Rivera}, + url={https://ctan.org/pkg/latexcheat-esmx}, + annotation={A quick-reference guide for \LaTeX\ and Bib\TeX.}, + texdoc={latexcheat-esmx}, +} + +@manual{faq-es, + title={CervanTeX (Spanish TeX Group) FAQ}, + langid={spanish}, + language={spanish}, + url={https://ctan.org/pkg/faq-es}, + texdoc={es-tex-faq}, +} + +@manual{chang:cheat-ptbr, + title={Guia Rápido \LaTeXe}, + author={Winston Chang}, + year=2006, + pagetotal=2, + langid={brazilian}, + language={brazilian}, + translator={Silvio C. G. Granja}, + url={https://ctan.org/pkg/latexcheat-ptbr}, + annotation={A quick-reference guide for \LaTeX\ and Bib\TeX.}, + texdoc={latexcheat-ptbr}, +} + +@manual{chang:platexcheat, + title={p\LaTeXe\ {\setmainfont{Harano Aji Mincho}チートシート}}, + author={Winston Chang}, + year=2006, + pagetotal=2, + langid={japanese}, + language={japanese}, + translator={Takuto Asakura}, + url={https://ctan.org/pkg/platexcheat}, + annotation={A quick-reference guide for \LaTeX\ and Bib\TeX.}, + texdoc={platexcheat}, } @manual{bouzigues:guide, title={Initiation à \LaTeX}, subtitle={Pour débutants ou jeunes utilisateurs}, author={Adrien Bouzigues}, + langid={french}, + language={french}, year=2017, - url={https://ctan.org/pkg/guide-latex-fr} + pagetotal=273, + url={https://ctan.org/pkg/guide-latex-fr}, + annotation={A guide on \LaTeX\ — for beginners or advanced users.}, +} + +@book{rouquette:sciences, + title={\XeLaTeX — Appliqué Aux Sciences Humaines}, + author={Maïeul Rouquette}, + langid={french}, + language={french}, + year=2012, + pagetotal=268, + url={https://ctan.org/pkg/latex-sciences-humaines}, } @manual{Goulet:Redaction, title={Rédaction avec \LaTeX}, author={Vincent Goulet}, year=2020, - url={https://ctan.org/pkg/formation-latex-ul} + pagetotal=196, + langid={french}, + language={french}, + url={https://ctan.org/pkg/formation-latex-ul}, + annotation={An introductory course prepared for + Université Laval, Québec, Canada. \\\nopunct}, + texdoc={{formation-latex-ul, texdoc formation-latex-ul-diapos}}, } @manual{Holkar:polyglossia, title={A practical guide to \LaTeX\ and polyglossia for Indian Languages}, author={Rohit Dilip Holkar}, year=2017, - url={https://ctan.org/pkg/latex-mr} + pagetotal=37, + langid={marathi}, + language={Marathi}, + url={https://ctan.org/pkg/latex-mr}, + texdoc={latex-mr}, } @manual{massago:exemplos, title={\LaTeXe\ Via Exemplos}, author={Sadao Massago}, year=2018, - url={https://ctan.org/pkg/latex-via-exemplos} + pagetotal=264, + langid={brazilian}, + language={brazilian}, + url={https://ctan.org/pkg/latex-via-exemplos}, + annotation={A study course.}, +} + +@online{texwikibook, + title={Wikibooks}, + subtitle={TeX}, + url={https://en.wikibooks.org/wiki/TeX}, + annotation={An online book about low-level \TeX.}, } @online{latexwikibook, title={Wikibooks}, subtitle={LaTeX}, - url={https://en.wikibooks.org/wiki/LaTeX} + url={https://en.wikibooks.org/wiki/LaTeX}, + annotation={An online book, includes information about + creating \LaTeX\ packages and classes.}, } @online{ebookfoundation:free, title={Free Programming Books}, author={Ebook Foundation}, - url={https://github.com/EbookFoundation/free-programming-books} + url={https://github.com/EbookFoundation/free-programming-books}, + annotation={A variety of \TeX-related and other programming books + and documents.}, } @book{wilson:design, @@ -251,21 +665,32 @@ month=8, publisher={The Herries Press}, edition=1, - url={https://ctan.org/pkg/memdesign} + pagetotal=139, + url={https://ctan.org/pkg/memdesign}, + annotation={More than 100 pages of discussion about book design and typography.}, + texdoc={memdesign}, } @manual{kohm:typearea, title={KOMA-Script — The Guide}, author={Markus Kohm}, year=2018, - url={https://ctan.org/pkg/koma-script} + pagetotal=565, + url={https://ctan.org/pkg/koma-script}, + annotation={Documentation for the KOMA-Script package. + Also includes discussion about the page layout of a book.}, + texdoc={typearea}, } @manual{tufte:book, title={A TUFTE-STYLE BOOK}, - author={The Tufte-LaTeX Developers}, + author={{The Tufte-LaTeX Developers}}, year=2015, - url={https://ctan.org/pkg/tufte-latex} + pagetotal=42, + url={https://ctan.org/pkg/tufte-latex}, + annotation={Documentation for the Tufte-\LaTeX\ document classes. + Also includes layout ideas from the books of Edward R. Tufte.}, + texdoc={tufte-latex}, } @article{revets:octavo, @@ -275,71 +700,106 @@ number={23 3/4}, year=2002, pages={269}, - url={https://ctan.org/pkg/octavo} + url={https://ctan.org/pkg/octavo}, + annotation={Design principles and guidelines emulating books + from the Renaissance.}, + texdoc={octavo} } @manual{beccari:canoniclayout, title={Package canoniclayout}, author={Claudio Beccari}, year=2011, - url={https://ctan.org/pkg/canoniclayout} + pagetotal=8, + url={https://ctan.org/pkg/canoniclayout}, + annotation={Documentation for the \pkg{canoniclayout} package. + Also includes ideas regarding text-block proportions.}, + texdoc={canoniclayout}, } @manual{fear:booktabs, title={Publication-quality tables in \LaTeX}, author={Simon Fear}, year=2016, - url={https://ctan.org/pkg/booktabs} + pagetotal=18, + url={https://ctan.org/pkg/booktabs}, + annotation={Documents the \pkg{booktabs} package, and also includes + thoughts on the design of tabular layouts in general.}, + texdoc={booktabs}, } @manual{tantu:pgf, title={The TikZ and PGF Packages}, author={Till Tantau}, year=2020, - url={https://ctan.org/pkg/pgf} + pagetotal=1321, + url={https://ctan.org/pkg/pgf}, + annotation={As well as documenting the packages, this manual also includes + ``General guidelines and principles concerning the creation of graphics + for scientific presentations, papers, and books''.}, + texdoc={pgfmanual}, } @online{texdocnet, title={TeXdoc Online}, - url={http://texdoc.net} + url={http://texdoc.net}, + annotation={An online version of \prog{texdoc}, + with popular packages sorted by category.}, } @online{ctan, title={Comprehensive \TeX\ Archive Network}, shorttitle={CTAN}, - url={https://ctan.org} -} - -@manual{hefferon:firstset, - title={A First Set of \LaTeX\ Packages}, - author={Jim Hefferon}, - year=2020, - url={https://ctan.org/pkg/first-packages} + url={https://ctan.org}, + annotation={ + 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. + }, } @manual{pakin:dtxtut, title={How to Package Your \LaTeX\ Package}, author={Scott Pakin}, - url={https://ctan.org/pkg/dtxtut} + pagetotal=36, + url={https://ctan.org/pkg/dtxtut}, + annotation={A tutorial.}, + texdoc={dtxtut}, } @manual{latexteam:class, title={\LaTeXe\ for class and package writers}, - author={\LaTeX3 Project}, - url={https://ctan.org/pkg/clsguide} + author={{\LaTeX3 Project Team}}, + pagetotal=33, + url={https://ctan.org/pkg/clsguide}, + annotation={Programming a package or class.}, + texdoc={clsguide}, } @manual{mittelbach:doc, title={The doc and shortvrb packages}, author={Frank Mittelbach}, - url={https://ctan.org/pkg/doc} + pagetotal=64, + url={https://ctan.org/pkg/doc}, + annotation={Packages for documenting packages.}, + texdoc={doc}, } @manual{mittelbach:docstrip, title={The DocStrip program}, author={Frank Mittelbach and Denys Duchier and Johannes Braams and Marcin Woli\'nski and Mark Wooding}, - url={https://ctan.org/pkg/docstrip} + pagetotal=61, + url={https://ctan.org/pkg/docstrip}, + annotation={The program which processes \filenm{.dtx} + and \filenm{.ins} files to generate documentation and \filenm{.sty} + files.\\\nopunct}, + texdoc={docstrip}, } @article{flynn:article, @@ -350,18 +810,20 @@ number={28:1}, year=2007, pages={110--123}, - url={http://tug.org/TUGboat/tb28-1/tb88flynn.pdf} + url={http://tug.org/TUGboat/tb28-1/tb88flynn.pdf}, + annotation={An overview of the \pkg{article} class.}, } @article{pakin:goodthings, title={Good things come in little packages: An introduction to writing \texttt{.ins} and \texttt{.dtx} files}, - author={Scott~Pakin}, + author={Scott Pakin}, journaltitle={TUGboat}, number={29:2}, year=2008, pages={305--314}, - url={http://tug.org/TUGboat/tb29-2/tb92pakin.pdf} + url={http://tug.org/TUGboat/tb29-2/tb92pakin.pdf}, + annotation={How and why to create your own \filenm{.dtx} and \filenm{.ins} files.}, } @article{mansfield:class, @@ -371,96 +833,459 @@ number={29:3}, year=2008, pages={356--361}, - url={http://tug.org/TUGboat/tb29-3/tb93mansfield.pdf} + url={http://tug.org/TUGboat/tb29-3/tb93mansfield.pdf}, + annotation={A comparison of developing class vs.\ package files.}, } @online{gutenberg:TeXniques, title={TeXniques}, subtitle={Groupe francophone des Utilisateurs de TEX, \LaTeX\ et logiciels compagnons}, - url={https://www.gutenberg.eu.org/TeXniques} + langid={french}, + language={french}, + url={https://www.gutenberg.eu.org/TeXniques}, + annotation={A collection of resources.}, +} + +@online{faq-fr, + title={French FAQ of the Gutenberg \TeX\ user group}, + langid={french}, + language={french}, + translator={Marie-Paule Kluth}, + url={https://ctan.org/pkg/faq-fr}, } @book{lozano:everythingLaTeX, title={Tout Ce Que Vous Avez Toujours Voulu Savoir Sur \LaTeX\ Sans Jamais Oser Le Demander}, author={Vincent Lozano}, year=2011, - url={http://lozzone.free.fr/index.php?vlunch=latex} + pagetotal=271, + langid={french}, + language={french}, + url={http://lozzone.free.fr/index.php?vlunch=latex}, + annotation={A book for beginners.}, } @book{baudoin:learnLaTeX, title={Apprends \LaTeX!}, author={Marc Baudoin}, year=2012, - url={http://www.babafou.eu.org/Apprends_LaTeX} + pagetotal=222, + langid={french}, + language={french}, + url={http://www.babafou.eu.org/Apprends_LaTeX}, + annotation={A full textbook written for + École Nationale Supérieure de Techniques Avancées.}, +} + +@book{tellechea:apprendre, + title={Apprendre à programmer en \TeX}, + author={Christian Tellechea}, + year=2014, + pagetotal=580, + langid={french}, + language={french}, + url={https://ctan.org/pkg/apprendre-a-programmer-en-tex}, + annotation={Basic programming of \TeX, with examples.}, + texdoc={apprendre}, +} + +@book{reckdahl:freps, + title={Utilisation de Graphiques Importés dans \LaTeX2}, + author={Keith Reckdahl}, + year=2001, + pagetotal=148, + langid={french}, + language={french}, + url={https://ctan.org/pkg/fepslatex}, + annotation={How to import graphics in \LaTeXe.}, + texdoc={fepslatex}, +} + +@book{reckdahl:eps, + title={Using Imported Graphics in \LaTeX\ and pdf\LaTeX}, + author={Keith Reckdahl}, + year=2006, + pagetotal=124, + url={https://ctan.org/pkg/epslatex}, } @manual{amsmath, title={User’s Guide for the amsmath Package}, - author={{American Mathematical Society} and {\LaTeX3 project}}, + author={{American Mathematical Society} and {\LaTeX3 Project Team}}, year=2020, - url={https://ctan.org/pkg/amsmath} + pagetotal=44, + url={https://ctan.org/pkg/amsmath}, + annotation={How to use \pkg{amsmath}. + Also see \nameref{sec:international} for the Italian, Japanese, + and Vietnamese translations.}, + texdoc={amsmath}, } @manual{amsmath-it, title={Manuale utente per il pacchetto amsmath}, - author={{American Mathematical Society} and {\LaTeX3 project}}, + author={{American Mathematical Society} and {\LaTeX3 Project Team}}, + year=1999, + pagetotal=39, + langid={italian}, + language={italian}, translator={ Giulio Agostini and Giuseppe Bilotta and Flavio Casadei Della Chiesa and Onofrio de Bari and Giacomo Delre and Luca Ferrante and Tommaso Pecorella and Mileto Rigido and Roberto Zanasi }, - year=1999, - url={http://tug.ctan.org/tex-archive/info/italian/amsldoc/itamsldoc.pdf} + url={http://tug.ctan.org/tex-archive/info/italian/amsldoc/itamsldoc.pdf}, + annotation={Manual for \pkg{amsmath}.}, + texdoc={amsldoc-it}, } @manual{campani:tutorial, title={Introdução ao Uso do Preparador de Documentos \LaTeX}, author={Carlos A. P. Campani}, year=2011, - url={https://ctan.org/pkg/cursolatex} + pagetotal=188, + langid={portuguese}, + language={portuguese}, + url={https://ctan.org/pkg/cursolatex}, + annotation={A tutorial as \acro{PDF} slides.}, + texdoc={cursolatex}, } @manual{amsmath-vn, title={{\setmainfont{Latin Modern Roman} \textit{Hướng dẫn sử dụng gói amsmath}}}, - author={{American Mathematical Society} and {\LaTeX3 project}}, - translator={Ky Anh}, + author={{American Mathematical Society} and {\LaTeX3 Project Team}}, year=1999, - url={https://ctan.org/pkg/amslatexdoc-vietnamese} + pagetotal=36, + langid={vietnamese}, + language={Vietnamese}, + translator={Ky Anh}, + url={https://ctan.org/pkg/amslatexdoc-vietnamese}, + annotation={Manual for \pkg{amsmath}.}, + texdoc={amsldoc-vn}, } @manual{latex2e-japanese, title={\LaTeX2e for authors}, - author={\LaTeX3 Project Team}, + author={{\LaTeX3 Project Team}}, + langid={japanese}, + language={japanese}, translator={Yukitoshi FUJIMURA}, year=2015, - url={https://www.latex-project.org/help/documentation/usrguide_jpn.pdf} + pagetotal=34, + annotation={An overview of the new features of \LaTeXe\ compared to \LaTeX 2.09.}, + url={https://www.latex-project.org/help/documentation/usrguide_jpn.pdf}, } @manual{amsmath-jp, title={User’s Guide for the amsmath Package}, - author={{American Mathematical Society} and {\LaTeX3 project}}, + author={{American Mathematical Society} and {\LaTeX3 Project Team}}, translator={Yukitoshi FUJIMURA}, + langid={japanese}, + language={japanese}, year=2018, - url={https://www.latex-project.org/help/documentation/amsldoc_jpn.pdf} + pagetotal=45, + url={https://www.latex-project.org/help/documentation/amsldoc_jpn.pdf}, + annotation={Manual for \pkg{amsmath}.}, } @manual{shortmath-jp, - title={Short Math Guide for LaTeX}, + title={Short Math Guide for \LaTeX}, author={Michael Downes and Barbara Beeton}, translator={Yukitoshi FUJIMURA}, + langid={japanese}, + language={japanese}, + year=2017, + pagetotal=21, + url={https://www.latex-project.org/help/documentation/short-math-guide_jpn.pdf}, +} + +@online{LaTeXfontcatalog, + title={The \LaTeX\ Font Catalogue}, + author={Palle Jørgensen}, + url={https://www.tug.org/FontCatalogue/}, + annotation={A detailed list of fonts for \LaTeX, each with + samples and setup information.} +} + +@online{rakityansky:truetype, + title={Using TrueType fonts with \TeX\ (\LaTeX) and pdf\TeX (pdf\LaTeX)}, + author={Damir Rakityansky}, + url={http://www.radamir.com/tex/ttf-tex.htm}, +} + +@manual{markey:tame, + title={Tame the BeaST}, + subtitle={The B to X of Bib\TeX}, + author={Nicolas Markey}, + year=2009, + pagetotal=48, + url={https://ctan.org/pkg/tamethebeast/}, + annotation={About bibliographies and Bib\TeX.}, + texdoc={tamethebeast}, +} + +@manual{rees:biblatex, + title={Biblatex Cheat Sheet}, + author={Clea F. Rees}, year=2017, - url={https://www.latex-project.org/help/documentation/short-math-guide_jpn.pdf} + pagetotal=2, + url={https://ctan.org/pkg/biblatex-cheatsheet}, + texdoc={biblatex-cheatsheet}, } \end{filecontents} +\begin{filecontents}[overwrite]{docsurvey.bbx} +% Based on reading.bbx from the biblatex package. +\ProvidesFile{docsurvey.bbx} +[\abx@bbxid] + +\RequireBibliographyStyle{standard} + +\DeclareBibliographyDriver{manual}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% +% \usebibmacro{author/editor}% docsurvey modification + \usebibmacro{author/editor+others/translator+others}% docsurvey modification + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor+others}% docsurvey modification + \newunit\newblock% docsurvey modification + \usebibmacro{byeditor}% + \newunit\newblock + \printfield{edition}% + \newunit\newblock + \usebibmacro{series+number}% + \newunit\newblock + \printfield{type}% + \newunit + \printfield{version}% + \newunit + \printfield{note}% + \newunit\newblock + \printlist{organization}% + \newunit + \usebibmacro{publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit + \printfield{pagetotal}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} + + +\DeclareNameAlias{author}{default} +\DeclareNameAlias{editor}{default} + +\DeclareFieldFormat{entrykey}{\mbox{\bfseries#1}} +\DeclareFieldFormat{annotation}{% +% \bibstring{annotation}\addcolon\space % + #1% +} +\DeclareFieldFormat{abstract}{\bibstring{abstract}\addcolon\space #1} +\DeclareFieldFormat{library}{\bibstring{library}\addcolon\space #1} +\DeclareFieldFormat{file}{\bibstring{file}\addcolon\space \url{#1}} +\DeclareFieldFormat{shorthandwidth}{#1} + +\InitializeBibliographyStyle{% + \global\undef\bbx@lasthash} + +\setlength{\bibitemsep}{0.5\baselineskip} +\setlength{\bibparsep}{0pt} + +\defbibenvironment{bibliography} + {\list + {} + {\setlength{\leftmargin}{0pt}% + \setlength{\itemindent}{0pt}% + \setlength{\itemsep}{\bibitemsep}% + \setlength{\parsep}{\bibparsep}}} + {\endlist} + {\bbx@item} + +\defbibenvironment{shorthand} + {\list + {\printfield[shorthandwidth]{shorthand}} + {\setlength{\labelwidth}{\shorthandwidth}% + \setlength{\leftmargin}{\labelwidth}% + \setlength{\labelsep}{\biblabelsep}% + \addtolength{\leftmargin}{\labelsep}% + \setlength{\itemsep}{\bibitemsep}% + \setlength{\parsep}{\bibparsep}% + \renewcommand*{\makelabel}[1]{##1\hss}}} + {\endlist} + {\item} + +\def\bbx@item@false{% + \itemsep2\bibitemsep + \item\relax + \itemsep\bibitemsep} + +\def\bbx@item@true{% + \bbx@item@full} + +\def\bbx@item@full{% + \itemsep2\bibitemsep + \@itempenalty\z@ + \item\relax + \begingroup + \samepage\bfseries + \def\finentrypunct{\strut}% + \usebibmacro{entryhead:full}% + \ifbool{bbx:entrykey} + {\def\newblockpunct{% + \nobreak\hskip\z@skip\strut + \hfill\penalty100\hskip1em\relax + \hbox{}\nobreak\hfill\strut}% + \def\finentrypunct{% + \parfillskip\z@\finalhyphendemerits\z@ + \par\nobreak}% + \newblock + \printfield{entrykey}} + {}% + \finentry + \endgroup + \nopagebreak% docsurvey modification + \\[-.7ex]% docsurvey modification + \textcolor{lightgray}{\rule[\smallskipamount]{\linewidth}{1.2pt}}% docsurvey modification + \vspace*{-\medskipamount}% docsurvey modification + \itemsep\bibitemsep + \@itempenalty\@M + \item\strut + \@itempenalty\z@} + +\def\bbx@item@name{% + \iffieldequals{fullhash}{\bbx@lasthash} + {\bbx@item@false} + {\itemsep2\bibitemsep + \@itempenalty\z@ + \item\relax + \begingroup + \samepage\bfseries + \def\finentrypunct{\strut}% + \usebibmacro{entryhead:name}% + \finentry + \endgroup + \nopagebreak% docsurvey modification + \\[-.7ex]% docsurvey modification + \textcolor{lightgray}{\rule[\smallskipamount]{\linewidth}{1.2pt}}% docsurvey modification + \vspace*{-\medskipamount}% docsurvey modification + \itemsep\bibitemsep + \@itempenalty\@M + \item\strut + \@itempenalty\z@}} + +\newbool{bbx:entrykey} +\newbool{bbx:annotation} +\newbool{bbx:abstract} +\newbool{bbx:library} +\newbool{bbx:file} + +\DeclareBiblatexOption{global,type,entry}[boolean]{entryhead}[true]{% + \ifcsdef{bbx@item@#1} + {\letcs\bbx@item{bbx@item@#1}} + {\PackageError{biblatex} + {Invalid option 'header=#1'} + {Valid values: header=true, false, full, name.}}} +\DeclareBiblatexOption{global,type,entry}[boolean]{entrykey}[true]{% + \setbool{bbx:entrykey}{#1}} +\DeclareBiblatexOption{global,type,entry}[boolean]{annotation}[true]{% + \setbool{bbx:annotation}{#1}} +\DeclareBiblatexOption{global,type,entry}[boolean]{abstract}[true]{% + \setbool{bbx:abstract}{#1}} +\DeclareBiblatexOption{global,type,entry}[boolean]{library}[true]{% + \setbool{bbx:library}{#1}} +\DeclareBiblatexOption{global,type,entry}[boolean]{file}[true]{% + \setbool{bbx:file}{#1}} + +\ExecuteBibliographyOptions{loadfiles,entryhead,% +% entrykey,% docsurvey modification +annotation,abstract,library,file} + +\newbibmacro*{entryhead:full}{% +% \printnames[labelname][-1]{labelname}% +% \setunit*{\addcolon\space}% + \printfield{labeltitle}% + \hspace*{\fill}% docsurvey modification + \printnames[labelname][-1]{labelname}% docsurvey modification +} +\newbibmacro*{entryhead:name}{% + \ifnameundef{labelname} + {\printfield{labeltitle}} + {\printnames[labelname]{labelname}}% + \savefield{fullhash}{\bbx@lasthash}} + +\newbibmacro*{entrytail}{% + \newunit\newblock + \begingroup + \def\newblockpunct{\item}% + \ifbool{bbx:annotation} + {\usebibmacro{annotation}% + \newunit\newblock} + {}% + \ifbool{bbx:abstract} + {\usebibmacro{abstract}% + \newunit\newblock} + {}% + \ifbool{bbx:file} + {\printfield{file}% + \newunit\newblock} + {}% + \ifbool{bbx:library} + {\printfield{library}% + \newunit\newblock} + {}% + \endgroup} + +\renewbibmacro*{finentry}{% + \ifbibliography + {\usebibmacro{entrytail}} + {}% + \finentry} + +\DeclareBibliographyDriver{set}{% + \renewbibmacro*{finentry}{\finentry}% + \entryset{}{}% + \newunit\newblock + \usebibmacro{setpageref}% + \ifbibliography + {\usebibmacro{entrytail}} + {}% + \finentry} + +\endinput +\end{filecontents} -\documentclass{article} +\begin{filecontents}[overwrite]{docsurvey.cbx} +% Based on reading.cbx from the biblatex package. +\ProvidesFile{docsurvey.cbx} +[\abx@cbxid] + +\RequireCitationStyle{authortitle} +\endinput +\end{filecontents} -% \documentclass[twocolumn]{article} % \usepackage[T1]{fontenc} @@ -487,12 +1312,133 @@ \usepackage{needspace} -\usepackage{biblatex} + +\usepackage[bibstyle=docsurvey, citestyle=draft, block=space]{biblatex} \addbibresource{docsurvey.bib} +\DeclareSourcemap{ + \maps[datatype=bibtex]{ + \map{ + \step[fieldsource=texdoc] + \step[fieldset=usera,origfieldval] + } + } +} + +\DeclareFieldFormat{usera}{\hspace*{\fill}\mbox{\texttt{(texdoc #1)}}\smallskip} + +\AtEveryBibitem{% + \csappto{blx@bbx@\thefield{entrytype}}{% put at end of entry + \iffieldundef{usera}% + {}% + {\space\printfield{usera}}% + }% +} + +% *category + +\DeclareBibliographyCategory{printedbooks} +\addtocategory{printedbooks}{lamport:latex, hokpkadaly:guide, gratzer:moremath, + voss:typesettingmath, voss:typesettingtables, voss:pstricks, + kottwitz:beginner, kottwitz:cookbook, + mittelbachgossens:companion, TeX:FAQ} + +\DeclareBibliographyCategory{TeX} +\addtocategory{TeX}{eijkhout:topic, abrahams:impatient, texwikibook, doob:gentle, + wilkins:started} + +\DeclareBibliographyCategory{LaTeX} +\addtocategory{LaTeX}{hefferon:first, flynn:veryshort, flynn:formatting, + talbot:novices, talbot:phd, morris:gettingstarted, Bennieston:scientific, + oetiker:introduction, greenwade:reference, latexwikibook, latex:authors, + lamport:latex, hokpkadaly:guide, kottwitz:beginner, kottwitz:cookbook, + mittelbachgossens:companion +} + +\DeclareBibliographyCategory{bibliography} +\addtocategory{bibliography}{markey:tame, rees:biblatex} + +\DeclareBibliographyCategory{math} +\addtocategory{math}{amsmath, downes:shortmath, voss:farbige, voss:typesettingmath, + gratzer:moremath} + +\DeclareBibliographyCategory{tables} +\addtocategory{tables}{fear:booktabs, voss:typesettingtables} + +\DeclareBibliographyCategory{graphics} +\addtocategory{graphics}{reckdahl:eps, tantu:pgf, casteleyn:pstricks, casteleyn:tikz, + voss:pstricks} + +\DeclareBibliographyCategory{music} +\addtocategory{music}{Gonzato:musicians} + +\DeclareBibliographyCategory{font} +\addtocategory{font}{LaTeXfontcatalog, rakityansky:truetype} + +\DeclareBibliographyCategory{source} +\addtocategory{source}{latexteam:sources, scharrer:listinternal} + +\DeclareBibliographyCategory{FAQ} +\addtocategory{FAQ}{TeX:FAQ, pakin:visual, pakin:list, robertson:mathsymbols, + chang:cheat, lammarsch:cheat, schlomer:cheat, casteleyn:pstricks, casteleyn:tikz, + rees:biblatex, detexify, shapecatcher} + +\DeclareBibliographyCategory{langmultiple} +\addtocategory{langmultiple}{oetiker:introduction, greenwade:reference, + ebookfoundation:free} + +\DeclareBibliographyCategory{brazilian} +\addtocategory{brazilian}{massago:exemplos, chang:cheat-ptbr} + +\DeclareBibliographyCategory{chinese} +\addtocategory{chinese}{abrahams:impatient-cn, huang:notes, ctex-faq, wang:install, + asymptote-example-cn, asymptote-faq-cn} + +\DeclareBibliographyCategory{french} +\addtocategory{french}{gutenberg:TeXniques, lozano:everythingLaTeX, baudoin:learnLaTeX, + bouzigues:guide, Goulet:Redaction, tellechea:apprendre, faq-fr, reckdahl:freps, + casteleyn:pstricks, casteleyn:tikz, greenwade:reference, oetiker:introduction, + abrahams:impatient-fr, rouquette:sciences} + +\DeclareBibliographyCategory{german} +\addtocategory{german}{chang:cheat-de, faq-de, oetiker:introduction, voss:farbige, + weissenburger:anleitung} + +\DeclareBibliographyCategory{indian} +\addtocategory{indian}{Holkar:polyglossia} + +\DeclareBibliographyCategory{italian} +\addtocategory{italian}{amsmath-it, oetiker:introduction} + +\DeclareBibliographyCategory{japanese} +\addtocategory{japanese}{latex2e-japanese, amsmath-jp, shortmath-jp, chang:platexcheat, + oetiker:introduction} + +\DeclareBibliographyCategory{portuguese} +\addtocategory{portuguese}{campani:tutorial, oetiker:introduction} + +\DeclareBibliographyCategory{spanish} +\addtocategory{spanish}{chang:cheat-esmx, faq-es, greenwade:reference, + oetiker:introduction} + +\DeclareBibliographyCategory{vietnamese} +\addtocategory{vietnamese}{amsmath-vn, oetiker:introduction} + +\DeclareBibliographyCategory{typesetting} +\addtocategory{typesetting}{wilson:design, kohm:typearea, tufte:book, +revets:octavo, beccari:canoniclayout, fear:booktabs, tantu:pgf} + +\DeclareBibliographyCategory{creating} +\addtocategory{creating}{pakin:dtxtut, latexteam:class, mittelbach:doc, +mittelbach:docstrip, flynn:article, pakin:goodthings, mansfield:class} + + +\nocite{*} + + + \usepackage[nottoc,numbib]{tocbibind} -\setcounter{secnumdepth}{0} % colored section headers: \usepackage[x11names]{xcolor} @@ -504,17 +1450,17 @@ \definecolor{plumcolor}{HTML}{8E4585} -\titleformat{\section} - {\normalfont\sffamily\large\bfseries\color{sectioncolor}}{\thesection}{1em}{}%[\hrule] -\titlespacing*{\section}{0pt}{*2}{*.5} +\titleformat{\section}[block] + {\normalfont\sffamily\Large\bfseries\color{sectioncolor}}{\thesection}{1em}{}%[\hrule] +\titlespacing*{\section}{0pt}{*4}{*.5} -\titleformat{\subsection} - {\normalfont\sffamily\normalsize\bfseries\color{sectioncolor}}{\thesubsection}{1em}{} -\titlespacing*{\subsection}{0pt}{*1}{*.5} +\titleformat{\subsection}[display] + {\normalfont\sffamily\large\bfseries\color{sectioncolor}}{\thesubsection}{1em}{} +\titlespacing*{\subsection}{0pt}{*3}{*.5} \titleformat{\subsubsection} - {\normalfont\sffamily\normalsize\itshape\color{sectioncolor}}{\thesubsubsection}{1em}{} -\titlespacing*{\subsubsection}{0pt}{*1}{*.5} + {\normalfont\sffamily\bfseries\normalsize\itshape\color{sectioncolor}}{\thesubsubsection}{1em}{} +\titlespacing*{\subsubsection}{0pt}{*2}{*.5} @@ -560,6 +1506,7 @@ \renewcommand{\slash}{/\penalty\exhyphenpenalty\hspace{0pt}} \newcommand{\spslash}{\unskip\kern.085em/\hspace{.085em}\penalty\exhyphenpenalty\hspace{0pt}} +\DeclareRobustCommand{\filenm}[1]{\texttt{#1}} \let\texttub\textsl % redefined in other situations % \DeclareRobustCommand{\AllTeX}{(\La\kern-.075em)\kern-.075em\TeX} @@ -602,13 +1549,15 @@ % \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\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\HTML{\acro{HTML}} +\def\EPUB{\acro{EPUB}} +\def\ODT{\acro{ODT}} % \def\HTTP{\acro{HTTP}} % \def\IDE{\acro{IDE}} % \def\IEEE{\acro{IEEE}} @@ -770,6 +1719,54 @@ Subject={LaTeX programming documentation},% Keywords={LaTeX, programming, documentation, BD Tech Concepts LLC}% }} +\pdfstringdefDisableCommands{% + \def\quad{ }% + \def\\{ }% + \def\pkg#1{#1}% + \def\ctr#1{#1}% + \def\bool#1{#1}% + \def\optn#1{#1}% + \def\env#1{#1}% + \def\cs#1{\textbackslash#1}% + \def\,{ }% + \def\LuaLaTeX{LuaLaTeX}% + \def\XeLaTeX{XeLaTeX}% + \def\TeX{TeX}% + \def\LaTeX{LaTeX}% + \def\LaTeXe{LaTeX2e}% + \def\LuaTeX{LuaTeX}% + \def\LuaLaTeX{LuaLaTeX}% + \def\XeTeX{XeTeX}% + \def\AmS{AMS}% + \def\Dash{ --- }% + \def\dash{ -- }% + \def\Slash{/}% + \def\prog#1{\detokenize{#1}}% + \def\progcode#1{#1}% + \def\filenm#1{\detokenize{#1}}% + \def\brand#1{#1}% + \def\acro#1{#1}% + \def\HTML{HTML}% + \def\ODT{ODT}% + \def\SVG{SVG}% + \def\PNG{PNG}% + \def\GIF{GIF}% + \def\JPG{JPG}% + \def\EPS{EPS}% + \def\PDF{PDF}% + \def\DVI{DVI}% + \def\UTF{UTF}% + \def\URL{URL}% + \def\element#1{#1}% + \def\attribute#1{#1}% + \def\HTMLfive{HTML5}% + \def\CSS{CSS}% + \def\CSSthree{CSS3}% + \def\EPUB{EPUB}% + \def\TOC{TOC}% + \def\LOF{LOF}% + \def\LOT{LOT}% +} \usepackage{enumitem} \setlist[description]{style=nextline,font=\small} @@ -787,7 +1784,6 @@ Keywords={LaTeX, programming, documentation, BD Tech Concepts LLC}% \newrobustcmd*{\prog}[1]{\texttt{#1}} \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*{\hfciteurl}[1]{\hspace*{\fill}\mbox{(\citeurl{#1})}} @@ -810,7 +1806,7 @@ Keywords={LaTeX, programming, documentation, BD Tech Concepts LLC}% \author{Brian Dunn \\ \small \href{mailto:bd@BDTechConcepts.com}{bd@BDTechConcepts.com} \\ - \small Copyright 2017--2020 Brian Dunn\thanks{ + \small Copyright 2017--2021 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. @@ -822,24 +1818,29 @@ Keywords={LaTeX, programming, documentation, BD Tech Concepts LLC}% } +\setcounter{secnumdepth}{0} + \begin{document} \maketitle + \thispagestyle{empty} \begin{abstract} \noindent A survey of 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, +symbol lists, \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. @@ -850,13 +1851,19 @@ 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. +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.) +In some cases the same document may be listed in several categories. +For example, a graphics \FAQ\ also available in French may be listed under +graphics, \FAQ{}s, and also French documents. + +Many older documents are not included. + +(The latest version of this document is available as the \LaTeX\ \pkg{docsurvey} package.) + \section{Printed books} @@ -867,30 +1874,13 @@ 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} - \hfciteurl{TeX:FAQ} -\end{description} +\printbibliography[ + heading=none, + category=printedbooks, +] -\section{Electronic books and documentation} +\section{Books and documentation by category} Most of these are provided with the \TeX\ distribution, and may be updated with each release. @@ -899,69 +1889,21 @@ 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} +For a list of older books, see \url{https://www.texfaq.org/FAQ-tex-books}. + +\printbibliography[ + heading=none, + category=TeX, +] + \subsection{\LaTeX} -\begin{description} -\item[Getting something out of \LaTeX:] - Create your first document in \LaTeX.~\cite{hefferon:first} - \hfciteurl{hefferon:first} - -\item[The very short guide to typesetting with \LaTeX:] - A four-page introduction.~\cite{flynn:veryshort} - \hfciteurl{flynn:veryshort} - -\item[Formatting Information:] - A beginner’s introduction to typesetting with \LaTeX.~\cite{flynn:formatting} - \hfciteurl{flynn:formatting} - -\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[Getting Started with \LaTeXe:] - A beginner's bare-bones overview.~\cite{morris:gettingstarted} - \texdoc{startlatex2e} - -\item[Writing Scientific Documents Using \LaTeX:] - An introduction to typesetting scientific documents.~\cite{Bennieston:scientific} - \newline - \hfciteurl{Bennieston: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} - \hfciteurl{oetiker:introduction} - -\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} - \hfciteurl{greenwade:reference} - -\item[LaTeX WikiBook:] An online book, includes information about - creating \LaTeX\ packages and classes.~\cite{latexwikibook} - \hfciteurl{latexwikibook} - -\item[\LaTeXe\ for authors:] - An overview of the new features of \LaTeXe\ compared to \LaTeX 2.09. - ~\cite{latex:authors} - \texdoc{usrguide} -\end{description} +\printbibliography[ + heading=none, + category=LaTeX, +] + \subsection{Lua\LaTeX} @@ -970,6 +1912,7 @@ program. \item [Lua\TeX\ Reference:] The full manual. \texdoc{luatex.pdf} \end{description} + \subsection{\XeLaTeX} \begin{description} @@ -979,6 +1922,7 @@ program. \texdoc{font-change-xetex} \end{description} + \subsection{\LaTeX3 and \pkg{expl3}} \begin{description} @@ -987,225 +1931,185 @@ program. \end{description} -\subsection{Math typesetting} +\subsection{Bibliography} + +\printbibliography[ + heading=none, + category=bibliography, +] + + +\subsection{Math} \label{sec:math} -\begin{description} -\item [User’s Guide for the amsmath Package:] - How to use \pkg{amsmath}.~\cite{amsmath} \texdoc{amsmath} \\ - Also see \nameref{sec:international} for the Italian, Japanese, - and Vietnamese translations. - -\item[Short Math Guide for \LaTeX:] - A summary of features in \LaTeX\ and packages for writing - math formulas.~\cite{downes:shortmath} - \texdoc{short-math-guide} - -\item[Farbige Mathematik:] - Math in color. In German, but with easy-to-use examples.~\cite{voss:farbige} - \texdoc{voss-mathcol} -\end{description} +\printbibliography[ + heading=none, + category=math, +] -\subsection{Music typesetting} +\subsection{Tables} -\begin{description} -\item [\LaTeX\ for Musicians:] - Packages and programs for music symbols, lyrics, chord sheets, sheet music, - and guitar tablature.~\cite{Gonzato:musicians} - \texdoc{latex4musicians} -\end{description} +Also see the \TeX\ FAQ\ Floats section: \url{https://www.texfaq.org/#floats} +\printbibliography[ + heading=none, + category=tables, +] -\subsection{Symbol references} -These are lists of the \LaTeX\ commands which produce symbols. +\subsection{Graphics} -\begin{description} -\item[Comprehensive \LaTeX\ Symbol List:] -More than 14,000 symbols and \LaTeX\ commands.~\cite{pakin:list} -\texdoc{symbols-letter} \texdoc{symbols-a4} +Also see the \TeX\ FAQ\ Graphics section: \url{https://www.texfaq.org/#graphics} -\item[Every symbol (most symbols) defined by unicode-math:] -Unicode math symbols.~\cite{robertson:mathsymbols} -\texdoc{unimath-symbols} -\end{description} +\printbibliography[ + heading=none, + category=graphics, +] -\subsection{Source code} +\subsection{Music} -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 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} +\printbibliography[ + heading=none, + category=music, +] +\subsection{Fonts} -\subsection{FAQs} +Also see the \TeX\ FAQ\ Fonts section: \url{https://www.texfaq.org/#fonts} -%Frequently-Asked Questions +\printbibliography[ + heading=none, + category=font, +] -\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{\FAQ{}s, symbol references, cheat sheets} + +\printbibliography[ + heading=none, + category=FAQ, +] + + +\subsection{Source code} + +The source code for \LaTeXe\ itself is also included in the distribution. + +\printbibliography[ + heading=none, + category=source, +] \subsection{International languages} \label{sec:international} -\begin{description}[style=standard] - \item [Multiple languages:] The following are available in several languages. - \begin{description} - \item[The Not So Short Introduction to \LaTeXe:] - Covers introductory material, customizations, - and a simple package.~\cite{oetiker:introduction} - \texdoc{-l lshort} - \hfciteurl{oetiker:introduction} - - \item[\LaTeXe: An unofficial reference manual:] - A thorough but concise reference manual - for \LaTeXe.~\cite{greenwade:reference} - \texdoc{-l latex2e-help} - \hfciteurl{greenwade:reference} - - \item [Ebook Foundation — Free Programming Books:] A variety - of \TeX-related and other programming books - and documents.~\cite{ebookfoundation:free} - \hfciteurl{ebookfoundation:free} - \end{description} - \item[Brazilian Portuguese:] \ - \begin{description} - \item[\LaTeXe\ Via Exemplos:] A study course.~\cite{massago:exemplos} - \hfciteurl{massago:exemplos} - \end{description} - \item[French:] \ +\subsubsection{Multiple languages} + + The following are available in several languages. + Also see CTAN's topic for each language for additional translations of + package and other documentation. + \printbibliography[ + heading=none, + category=langmultiple, + ] + +\subsubsection{Brazilian Portuguese} + \printbibliography[ + heading=none, + category=brazilian, + ] + +\subsubsection{Chinese} + \printbibliography[ + heading=none, + category=chinese, + ] + +\subsubsection{French} Also see \nameref{sec:online}. - \begin{description} - \item[TeXniques:] - A collection of resources.~\cite{gutenberg:TeXniques} - \hfciteurl{gutenberg:TeXniques} - \item[% - Tout Ce Que Vous Avez Toujours Voulu Savoir - Sur \LaTeX\ Sans Jamais Os Er Le Demander:% + \printbibliography[ + heading=none, + category=french, ] - A book for beginners.~\cite{lozano:everythingLaTeX} - \hfciteurl{lozano:everythingLaTeX} - \item[Apprends \LaTeX!:] A full textbook written for - École Nationale Supérieure de Techniques Avancées.~\cite{baudoin:learnLaTeX} - \hfciteurl{baudoin:learnLaTeX} - \item[Initiation à LATEX:] A guide on \LaTeX\ — for beginners - or advanced users.~\cite{bouzigues:guide} - \hfciteurl{bouzigues:guide} - \item[Rédaction avec \LaTeX:] - An introductory course prepared for - Université Laval, Québec, Canada.~\cite{Goulet:Redaction} - \texdoc{formation-latex-ul} - \texdoc{formation-latex-ul-diapos} - \end{description} - \item[German:] \ - See \nameref{sec:math}, \nameref{sec:groups}, and \nameref{sec:online}. - \item[Indian:] \ - \begin{description} - \item [A practical guide to \LaTeX\ and polyglossia for Indian Languages:] - \LaTeX\ and \pkg{polyglossia} for Indian languages.~\cite{Holkar:polyglossia} - \texdoc{latex-mr} - \end{description} - \item[Italian:] \ - \begin{description} - \item [Manuale utente per il pacchetto amsmath:] Manual for \pkg{amsmath}. - \cite{amsmath-it} - \texdoc{amsldoc-it} - \end{description} - \item[Japanese:] \ - \begin{description} - \item [\LaTeX2e for authors:] \cite{latex2e-japanese} - \hfciteurl{latex2e-japanese} - \item [User’s Guide for the amsmath Package:] \cite{amsmath-jp} - \hfciteurl{amsmath-jp} - \item [Short Math Guide for LaTeX:] \cite{shortmath-jp} - \hfciteurl{shortmath-jp} - \end{description} - \item[Portuguese:] \ - \begin{description} - \item [Introdução ao Uso do Preparador de Documentos \LaTeX:] - A tutorial as \acro{PDF} slides.~\cite{campani:tutorial} - \texdoc{cursolatex} - \end{description} - \item[Vietnamese:] \ - \begin{description} - \item [% - {\setmainfont{Latin Modern Roman} \textbf{Hướng dẫn sử dụng gói}} - amsmath:% - ] Manual for \pkg{amsmath}.~\cite{amsmath-vn} - \texdoc{amsldoc-vn} - \end{description} -\end{description} -\subsection{General typesetting theory} +\subsubsection{German} -Discussion about general typesetting theory, -presented by various \TeX-related authors. + Also see \nameref{sec:groups}, and \nameref{sec:online}. + \printbibliography[ + heading=none, + category=german, + ] -\begin{description} -\item[A Few Notes on Book Design:] - Discussion about book design and typography. - 100+ pages.~\cite{wilson:design} - \texdoc{memdesign} +\subsubsection{Indian} + \printbibliography[ + heading=none, + category=indian, + ] -\item[KOMA-Script — The Guide --- Calculating the Page Layout with typearea:] - Discussion about the page layout of a book.~\cite{kohm:typearea} - \texdoc{typearea} +\subsubsection{Italian} + \printbibliography[ + heading=none, + category=italian, + ] -\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} +\subsubsection{Japanese} + \printbibliography[ + heading=none, + category=japanese, + ] -\item[The Octavo Package:] - Design principles and guidelines emulating books - from the Renaissance.~\cite{revets:octavo} - \texdoc{octavo} +\subsubsection{Portuguese} + \printbibliography[ + heading=none, + category=portuguese, + ] + +\subsubsection{Spanish} + \printbibliography[ + heading=none, + category=spanish, + ] -\item[Package canoniclayout:] - Ideas regarding text-block proportions.~\cite{beccari:canoniclayout} - \texdoc{canoniclayout} +\subsubsection{Vietnamese} + \printbibliography[ + heading=none, + category=vietnamese, + ] -\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} +\subsection{General typesetting theory} + +Discussion about general typesetting theory, +presented by various \TeX-related authors. + +For a list of non-\LaTeX-specific books, see \url{https://www.texfaq.org/FAQ-type-books}. + +\printbibliography[ + heading=none, + category=typesetting, +] -\end{description} \section{Accessing embedded information} -\subsection{\pkg{texdoc}} +\subsection{\prog{texdoc} and \prog{mthelp}} A large amount of documentation is included in a \TeX\ distribution. -Most can be accessed with the \prog{texdoc} program. +For TeXLive distributions, package documentation +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. \hfciteurl{texdocnet} +\prog{texdoc} is also available online, +with popular packages sorted by category. \hfurl{http://www.texdoc.net/} + +For MikTeX, the \prog{mthelp} program accesses package documentation. +Enter ``\prog{mthelp <name>}''. \subsection{\prog{kpsewhich}} @@ -1264,20 +2168,191 @@ 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} +topics then shows you related packages.\hfurl{https://ctan.org/} \needspace{7\baselineskip} -\section{Useful packages} -\subsection{General use} +\section{Useful classes, packages, and programs} + +Use \prog{texdoc} or \prog{mthelp} to access information about each of the following. + +\subsection{General-use packages and classes} + +\begin{multicols}{2} + +\begin{description} + +\item[Classes:] \pkg{memoir}, \pkg{koma-script} + +\item[Page layout:] \pkg{fancyhdr}, \pkg{geometry}, \pkg{microtype}, \pkg{nowidow} + +\item[Fonts:] \pkg{fontspec}, \pkg{mathspec}, \pkg{unicode-math} + +\item[Sectioning:] \pkg{titlesec} + +\item[Table of contents:] \pkg{etoc}, \pkg{minitoc}, \pkg{multitoc}, \pkg{shorttoc}, + \pkg{titletoc}, \pkg{tocbibind}, \pkg{tocdata}, \pkg{tocloft}, \pkg{tocvsec2} + +\item[Title page:] \pkg{authblk}, \pkg{titling} + +\item[Front and back matter:] \pkg{abstract}, \pkg{appendix} + +\item[Indexing:] \prog{makeindex}, \prog{xindy}, \prog{xindex}, \pkg{gindex}, + \pkg{hvindex}, \pkg{idxlayout}, \pkg{imakeidx}, \pkg{index}, \pkg{makeidx}, + \pkg{splitidx}, \pkg{varindex}, \pkg{xindex} + +\item[Glossary:] \pkg{glossaries}, \pkg{nomencl} + +\item[Bibliography:] \prog{bibtex}, \pkg{biblatex} + +\item[Cross-referencing:] \pkg{cleveref}, \pkg{hyperref}, \pkg{url}, \pkg{xr-hyper}, + \pkg{xurl}, \pkg{zref} + +\item[Foot notes, margin notes, page notes:] + \pkg{bigfoot}, \pkg{endheads}, \pkg{endnotes}, \pkg{footmisc}, + \pkg{manyfoot}, \pkg{marginfit}, \pkg{marginfix}, \pkg{marginnote}, + \pkg{pagenote}, \pkg{parnotes}, \pkg{sidenotes} + +\item[Math:] \pkg{amsmath}, \pkg{amssymb}, \pkg{breqn}, \pkg{mathtools}, + \pkg{resizegather}, \pkg{nicematrix}, \pkg{scalerel}, \pkg{stackrel} + +\item[Theorems:] + \pkg{amsthm}, \pkg{apxproof}, \pkg{ntheorem}, \pkg{shadethm}, + \pkg{theorem}, \pkg{thmbox}, \pkg{thmtools} + +\item[Units and fractions:] \pkg{nicefrac}, \pkg{siunitx}, \pkg{xfrac} + +\item[Floats:] \pkg{caption}, \pkg{dblfloatfix}, \pkg{endfloat}, \pkg{fewerfloatpages}, + \pkg{float}, \pkg{floatrow}, \pkg{hypcap}, \pkg{keyfloat}, \pkg{newfloat}, + \pkg{placeins}, \pkg{rotfloat}, \pkg{stfloats}, \pkg{subcaption}, \pkg{subfig}, + \pkg{subfloat}, \pkg{wrapfig} + +\item[Tabular:] \pkg{array}, \pkg{booktabs}, \pkg{colortbl}, \pkg{longtable}, + \pkg{ltxtable}, \pkg{multirow}, + \pkg{supertabular}, \pkg{tabularx}, \pkg{tabulary}, + \pkg{threeparttable}, \pkg{threeparttablex}, + \pkg{widetable}, \pkg{xltabular}, \pkg{xtab} + +\item[Graphics:] \pkg{asymptote}, \pkg{curves}, \pkg{fitbox}, \pkg{graphicx}, + \pkg{pict2e}, \pkg{pstricks}, \pkg{tikz}, \pkg{xy} + +\item[Color:] \pkg{normalcolor}, \pkg{xcolor} + +\item[Lists:] \pkg{enumerate}, \pkg{enumitem}, \pkg{paralist} + +\item[Minipages:] \pkg{eqparbox}, \pkg{minibox}, \pkg{pbox}, \pkg{shapepar} + +\item[Quotations:] \pkg{csquotes}, \pkg{epigraph}, \pkg{quoting}, \pkg{verse} + +\item[Verbatim:] \pkg{fancyvrb}, \pkg{fvextra}, \pkg{moreverb}, \pkg{shortvrb}, + \pkg{upquote}, \pkg{verbatim} + +\item[Frames:] \pkg{boxedminipage2e}, \pkg{fancybox}, \pkg{fbox}, \pkg{framed}, + \pkg{mdframed}, \pkg{shadow}, \pkg{tcolorbox} + +\item[Multi-columns:] \pkg{adjmulticol}, \pkg{multicol}, \pkg{multicolrule}, \pkg{vwcol} + +\item[Margins:] \pkg{fullwidth}, \pkg{hanging}, \pkg{midpage} + +\item[Line numbering:] \pkg{lineno} + +\item[Algorithms and Listings:] \pkg{algorithm2e}, \pkg{algorithmicx}, + \pkg{listings}, \pkg{listingsutf8}, \pkg{minted} + +\item[Acronyms:] \pkg{acro}, \pkg{acronym} + +\item[Ordinals:] \pkg{engord}, \pkg{fmtcount}, \pkg{nth} + +\item[Direct formatting:] + \pkg{cancel}, \pkg{ellipsis}, \pkg{embrac}, \pkg{enparen}, + \pkg{hyphenat}, \pkg{lettrine}, \pkg{lips}, + \pkg{lua-check-hyphen}, \pkg{luacolor}, + \pkg{pdfcol}, \pkg{pdfcolmk}, + \pkg{pdfrender}, \pkg{realscripts}, \pkg{relsize}, + \pkg{seqsplit}, \pkg{soul}, \pkg{soulpos}, + \pkg{soulutf8}, \pkg{stackengine}, + \pkg{textfit}, \pkg{thinsp}, \pkg{trimclip}, \pkg{truncate}, + \pkg{ulem}, \pkg{umoline}, \pkg{underscore}, \pkg{uspace}, + \pkg{xellipsis} + +\item[Symbols:] \pkg{academicons}, \pkg{amssymb}, \pkg{bbding}, + \pkg{chemgreek}, \pkg{dingbat}, \pkg{euro}, \pkg{eurosym}, + \pkg{fontawesome}, \pkg{fontawesome5}, \pkg{gensymb}, \pkg{latexsym}, + \pkg{marvosym}, \pkg{metalogo}, \pkg{metalogox}, + \pkg{pifont}, \pkg{textalpha}, \pkg{textcomp}, \pkg{textgreek}, + \pkg{typicons}, \pkg{xunicode} + +\item[Files:] + \pkg{attachfile}, \pkg{attachfile2}, \pkg{hyperxmp}, + \pkg{intopdf}, \pkg{pdfpages}, \pkg{pdfx}, \pkg{xmpincl} + +\item[Admonitions:] \pkg{awesomebox}, \pkg{notes} + +\item[Editorial:] \pkg{changebar}, \pkg{changelog}, \pkg{changes}, + \pkg{easy-todo}, \pkg{easyReview}, \pkg{ed}, \pkg{errata}, \pkg{fixme}, + \pkg{fixmetodonotes}, + \pkg{pdfcomment}, \pkg{pdfmarginpar}, + \pkg{todo}, \pkg{todonotes}, \pkg{tram}, \pkg{xechangebar} + +\item[Accessibility:] \pkg{accessibility}, \pkg{accsupp}, + \pkg{axessibility}, + \pkg{pdfcomment}, \pkg{repltext}, \pkg{tagpdf} + +\item[Multi-langauge:] \pkg{babel}, \pkg{bidi}, \pkg{polyglossia} + +\item[Debug:] \pkg{chkfloat}, \pkg{cmdtrack}, \pkg{dprogress}, \pkg{inputtrc}, + \pkg{lua-visual-debug}, \pkg{refcheck} + +\end{description} + +\end{multicols} + +\subsection{Automatic compiling} + +The programs \prog{arara} and \prog{latexmk} automatically recompile as necessary to +resolve all dependencies. + + +\subsection{Converting to \HTML\ and other document formats} \begin{description} -\item [A First Set of \LaTeX\ Packages:] - A list of packages useful for beginners.~\cite{hefferon:firstset} - \texdoc{first-packages} + \item[Using \TeX\ to generate the \HTML:] + The \pkg{lwarp} package and the \prog{tex4ht} program + each use native \LaTeX\ to interpret the document and generate \HTML. + More of \LaTeX\ is supported compared to the translators listed below. + \begin{description} + \item [\pkg{lwarp} package:] Supports hundreds of packages. Generates \HTML, + and provides indirect assistance for \EPUB\ conversion and + copy/paste into a word-processor. + \url{https://ctan.org/pkg/lwarp} + \item [\prog{tex4ht} program:] Generates \HTML, \EPUB, \ODT, and Docbook. + \url{http://tug.org/tex4ht/} + \end{description} + + \item[Translators:] + These systems use external programs to translate a subset of \LaTeX\ syntax + into \HTML. Search for each on \CTAN\ (\url{http:\\ctan.org}). + \begin{description} + \item [H\textsuperscript{E}v\textsuperscript{E}a:] \url{http://hevea.inria.fr/} + \item [T\textsubscript{T}H:] \url{http://hutchinson.belmont.ma.us/tth/} + \item [GELLMU:] \url{http://www.albany.edu/~hammond/gellmu/} + \item [\LaTeX{}ML:] \url{http://dlmf.nist.gov/LaTeXML/} + \item [PlasTeX:] \url{https://github.com/tiarno/plastex} + \item [\LaTeX2HTML:] \url{http://www.latex2html.org/} + and \url{http://ctan.org/pkg/latex2html} + \item [\TeX2page:] \url{http://ds26gte.github.io/tex2page/index.html} + \end{description} + \item[\LaTeX\ math to \HTML:] + \prog{Glad\TeX} takes a \LaTeX\ math expression and generates + the corresponding \HTML. + \begin{description} + \item[\prog{Glad\TeX}:] \url{http://humenda.github.io/GladTeX/} + \end{description} \end{description} + + \subsection{Programming \LaTeX} A number of packages are especially useful for \LaTeX\ programmers: @@ -1315,40 +2390,13 @@ A number of packages are especially useful for \LaTeX\ programmers: \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} +\printbibliography[ + heading=none, + category=creating, +] -\end{description} \section{Users groups} \label{sec:groups} @@ -1395,6 +2443,14 @@ Using \LaTeX\ to keep away from the Dark Side:] An overview of the \end{description} +\section{Online editing and collaboration} + +\begin{description}[style=unboxed] +\item[Overleaf:] Collaborative editing of \LaTeX\ documents online. + \url{https://www.overleaf.com/} +\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 @@ -1404,6 +2460,7 @@ Using \LaTeX\ to keep away from the Dark Side:] An overview of the \end{description} + \section{Change log} \begin{description}[style=standard] @@ -1419,18 +2476,18 @@ Using \LaTeX\ to keep away from the Dark Side:] An overview of the \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 + Updated host and name for \TeX\ 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}. \item[2020/12/14:] Improved bibliography. Added categories for math and music; \pkg{startlatex2e}; items written in French, German, Indian, Italian, Japanese, Portuguese, Vietnamese; Dante users group. +\item[2021/01/02:] Now uses \pkg{biblatex}. + Added \prog{mthelp}, many international documents, + and categories for \FAQ{}s and cheat sheets, graphics, tables, and fonts. + Added lists of packages by category. Added Overleaf. \end{description} -\printbibliography - - - \end{document} |