summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-11-12 21:44:40 +0000
committerKarl Berry <karl@freefriends.org>2020-11-12 21:44:40 +0000
commit19ac3843de38fd7f5c133b94da317f4691c4ac13 (patch)
treefeeaf6a733cf32cfcbc7751510c20e19fd2dd814
parenta9c3e5d23faadb1852fb9081aa2bb028eeeeaf21 (diff)
first-packages (12nov20)
git-svn-id: svn://tug.org/texlive/trunk@56919 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/first-packages/LICENSE5
-rw-r--r--Master/texmf-dist/doc/latex/first-packages/README22
-rw-r--r--Master/texmf-dist/doc/latex/first-packages/first-packages.css138
-rw-r--r--Master/texmf-dist/doc/latex/first-packages/first-packages.htmlbin0 -> 18104 bytes
-rw-r--r--Master/texmf-dist/doc/latex/first-packages/first-packages.pdfbin0 -> 135046 bytes
-rw-r--r--Master/texmf-dist/doc/latex/first-packages/first-packages.tex384
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check2
-rw-r--r--Master/tlpkg/tlpsrc/collection-langenglish.tlpsrc1
-rw-r--r--Master/tlpkg/tlpsrc/first-packages.tlpsrc0
9 files changed, 551 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/latex/first-packages/LICENSE b/Master/texmf-dist/doc/latex/first-packages/LICENSE
new file mode 100644
index 00000000000..24862b6eeba
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/first-packages/LICENSE
@@ -0,0 +1,5 @@
+This material is public domain, CC0.
+
+To the extent possible under law, Jim Hefferon has waived all
+copyright and related or neighboring rights to A First Set of LaTeX
+Packages. This work is published from: United States. \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/first-packages/README b/Master/texmf-dist/doc/latex/first-packages/README
new file mode 100644
index 00000000000..d39fa69113b
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/first-packages/README
@@ -0,0 +1,22 @@
+README for A First Set of LaTeX Packages
+
+A short list of go-to LaTeX packages, aimed at a beginner.
+
+INSTALL
+
+The .html file is generated from the .tex file by running this.
+
+ $ make4ht first-packages.tex
+
+I modified it by replacing the missing ligatures, omitting some of the
+shrunken acronymns, fixing XeLaTeX, and omitting the paragraph indents.
+
+
+VIDEO
+
+A video presentation of this document is at https://youtu.be/9dmyqS3DWBc.
+
+
+HISTORY
+2020-Jul-11 Written Jim Hefferon http://hefferon.net
+2020-Nov-11 Version 1.0, upload to CTAN \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/first-packages/first-packages.css b/Master/texmf-dist/doc/latex/first-packages/first-packages.css
new file mode 100644
index 00000000000..137a7b50cb7
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/first-packages/first-packages.css
@@ -0,0 +1,138 @@
+
+/* start css.sty */
+.mdugmr8t-x-x-109{font-size:89%;}
+.mdugmm8t-x-x-144{font-size:117%;}
+.mdugmr8t-x-x-120{}
+.ectt-1095x-x-97{ font-family: monospace;}
+.ectt-1095x-x-97{ font-family: monospace;}
+.mdugmr8t-{font-size:81%;}
+.ectt-1000x-x-97{font-size:88%; font-family: monospace;}
+.ectt-1000x-x-97{ font-family: monospace;}
+.mdugmri8t-x-x-109{font-size:89%;}
+.logo-10x-x-109{}
+.mdugmrfc8t-x-x-109{font-size:89%;}
+p.noindent { text-indent: 0em }
+td p.noindent { text-indent: 0em; margin-top:0em; }
+p.nopar { text-indent: 0em; }
+p.indent{ text-indent: 1.5em }
+@media print {div.crosslinks {visibility:hidden;}}
+a img { border-top: 0; border-left: 0; border-right: 0; }
+center { margin-top:1em; margin-bottom:1em; }
+td center { margin-top:0em; margin-bottom:0em; }
+.Canvas { position:relative; }
+img.math{vertical-align:middle;}
+li p.indent { text-indent: 0em }
+li p:first-child{ margin-top:0em; }
+li p:last-child, li div:last-child { margin-bottom:0.5em; }
+li p~ul:last-child, li p~ol:last-child{ margin-bottom:0.5em; }
+.enumerate1 {list-style-type:decimal;}
+.enumerate2 {list-style-type:lower-alpha;}
+.enumerate3 {list-style-type:lower-roman;}
+.enumerate4 {list-style-type:upper-alpha;}
+div.newtheorem { margin-bottom: 2em; margin-top: 2em;}
+.obeylines-h,.obeylines-v {white-space: nowrap; }
+div.obeylines-v p { margin-top:0; margin-bottom:0; }
+.overline{ text-decoration:overline; }
+.overline img{ border-top: 1px solid black; }
+td.displaylines {text-align:center; white-space:nowrap;}
+.centerline {text-align:center;}
+.rightline {text-align:right;}
+div.verbatim {font-family: monospace; white-space: nowrap; text-align:left; clear:both; }
+.fbox {padding-left:3.58331pt; padding-right:3.58331pt; text-indent:0pt; border:solid black 0.5119pt; }
+div.fbox {display:table}
+div.center div.fbox {text-align:center; clear:both; padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
+div.minipage{width:100%;}
+div.center, div.center div.center {text-align: center; margin-left:1em; margin-right:1em;}
+div.center div {text-align: left;}
+div.flushright, div.flushright div.flushright {text-align: right;}
+div.flushright div {text-align: left;}
+div.flushleft {text-align: left;}
+.underline{ text-decoration:underline; }
+.underline img{ border-bottom: 1px solid black; margin-bottom:1pt; }
+.framebox-c, .framebox-l, .framebox-r { padding-left:3.58331pt; padding-right:3.58331pt; text-indent:0pt; border:solid black 0.5119pt; }
+.framebox-c {text-align:center;}
+.framebox-l {text-align:left;}
+.framebox-r {text-align:right;}
+span.thank-mark{ vertical-align: super }
+span.footnote-mark sup.textsuperscript, span.footnote-mark a sup.textsuperscript{ font-size:80%; }
+div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; margin-bottom:0.5em; }
+table.tabular td p{margin-top:0em;}
+table.tabular {margin-left: auto; margin-right: auto;}
+td p:first-child{ margin-top:0em; }
+td p:last-child{ margin-bottom:0em; }
+div.td00{ margin-left:0pt; margin-right:0pt; }
+div.td01{ margin-left:0pt; margin-right:5pt; }
+div.td10{ margin-left:5pt; margin-right:0pt; }
+div.td11{ margin-left:5pt; margin-right:5pt; }
+table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; }
+td.td00{ padding-left:0pt; padding-right:0pt; }
+td.td01{ padding-left:0pt; padding-right:5pt; }
+td.td10{ padding-left:5pt; padding-right:0pt; }
+td.td11{ padding-left:5pt; padding-right:5pt; }
+table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; }
+.hline hr, .cline hr{ height : 1px; margin:0px; }
+.tabbing-right {text-align:right;}
+span.TEX {letter-spacing: -0.125em; }
+span.TEX span.E{ position:relative;top:0.5ex;left:-0.0417em;}
+a span.TEX span.E {text-decoration: none; }
+span.LATEX span.A{ position:relative; top:-0.5ex; left:-0.4em; font-size:85%;}
+span.LATEX span.TEX{ position:relative; left: -0.4em; }
+div.float, div.figure {margin-left: auto; margin-right: auto;}
+div.float img {text-align:center;}
+div.figure img {text-align:center;}
+.marginpar {width:20%; float:right; text-align:left; margin-left:auto; margin-top:0.5em; font-size:85%; text-decoration:underline;}
+.marginpar p{margin-top:0.4em; margin-bottom:0.4em;}
+table.equation {width:100%;}
+.equation td{text-align:center; }
+td.equation { margin-top:1em; margin-bottom:1em; }
+td.equation-label { width:5%; text-align:center; }
+td.eqnarray4 { width:5%; white-space: normal; }
+td.eqnarray2 { width:5%; }
+table.eqnarray-star, table.eqnarray {width:100%;}
+div.eqnarray{text-align:center;}
+div.array {text-align:center;}
+div.pmatrix {text-align:center;}
+table.pmatrix {width:100%;}
+span.pmatrix img{vertical-align:middle;}
+div.pmatrix {text-align:center;}
+table.pmatrix {width:100%;}
+span.bar-css {text-decoration:overline;}
+table.tabular{border-collapse: collapse; border-spacing: 0;}
+img.cdots{vertical-align:middle;}
+.partToc a, .partToc, .likepartToc a, .likepartToc {line-height: 200%; font-weight:bold; font-size:110%;}
+.index-item, .index-subitem, .index-subsubitem {display:block}
+div.caption {text-indent:-2em; margin-left:3em; margin-right:1em; text-align:left;}
+div.caption span.id{font-weight: bold; white-space: nowrap; }
+h1.partHead{text-align: center}
+p.bibitem { text-indent: -2em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; }
+p.bibitem-p { text-indent: 0em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; }
+.paragraphHead, .likeparagraphHead { margin-top:2em; font-weight: bold;}
+.subparagraphHead, .likesubparagraphHead { font-weight: bold;}
+.quote {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; margin-right:1em; text-align:justify;}
+.verse{white-space:nowrap; margin-left:2em}
+div.maketitle {text-align:center;}
+h2.titleHead{text-align:center;}
+div.maketitle{ margin-bottom: 2em; }
+div.author, div.date {text-align:center;}
+div.thanks{text-align:left; margin-left:10%; font-size:85%; font-style:italic; }
+div.author{white-space: nowrap;}
+.quotation {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; }
+.abstract p {margin-left:5%; margin-right:5%;}
+div.abstract {width:100%;}
+.figure img.graphics {margin-left:10%;}
+.lstlisting .label{margin-right:0.5em; }
+div.lstlisting{font-family: monospace; white-space: nowrap; margin-top:0.5em; margin-bottom:0.5em; }
+div.lstinputlisting{ font-family: monospace; white-space: nowrap; }
+.lstinputlisting .label{margin-right:0.5em;}
+.columns-2 p:first-child { margin-top: 0em; }
+.columns-2{-moz-column-count:2; -webkit-column-count:2; column-count:2; -moz-column-gap: 21.9pt; -webkit-column-gap: 21.9pt; column-gap: 21.9pt; -moz-column-rule-width: 0.0pt; -webkit-column-rule-width: 0.0pt; column-rule-rule-width: 0.0pt; -moz-column-rule-color: #555;; -webkit-column-rule-color: #555;; column-rule-color: #555;; -moz-column-rule-style: outset; -webkit-column-rule-style: outset; column-rule-style: outset; -moz-column-fill: balance; -webkit-column-fill: balance; column-fill: balance; }
+/* end css.sty */
+
+/* added JH */
+p.indent{ text-indent: 0em }
+span.flip_H{ display: inline-block; margin:0em;
+ transform: scale(-1, 1) }
+span.flip_V{ display: inline-block; margin:0em;
+ transform: scale(1, -1) }
+.sectionHead { margin-top:2em; font-weight: bold;}
+h2 { margin-top:2em; font-weight: bold; font-size:117%;}
diff --git a/Master/texmf-dist/doc/latex/first-packages/first-packages.html b/Master/texmf-dist/doc/latex/first-packages/first-packages.html
new file mode 100644
index 00000000000..f09cb1bc5da
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/first-packages/first-packages.html
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/first-packages/first-packages.pdf b/Master/texmf-dist/doc/latex/first-packages/first-packages.pdf
new file mode 100644
index 00000000000..fe7200a836c
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/first-packages/first-packages.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/first-packages/first-packages.tex b/Master/texmf-dist/doc/latex/first-packages/first-packages.tex
new file mode 100644
index 00000000000..47ce64ab1ac
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/first-packages/first-packages.tex
@@ -0,0 +1,384 @@
+\documentclass[11pt]{article}
+% \usepackage[utf8]{inputenc}
+\usepackage[urw-garamond]{mathdesign}
+\usepackage[T1]{fontenc}
+
+\usepackage[margin=1.2in]{geometry}
+\usepackage{multicol}
+\setlength{\columnsep}{2em}
+
+\usepackage{graphicx} % needed for \XeLaTeX command
+\usepackage{listings}
+\lstset{basicstyle = \small\ttfamily,
+ keepspaces=true,
+ columns=fullflexible,
+ xleftmargin=10pt}
+
+% Get ISO dates
+\usepackage[style=iso]{datetime2}
+
+% Color for links
+\usepackage{xcolor}
+% Color theme from Rodryggo Sylva
+% https://color.adobe.com/explore?page=2
+\definecolor{darkblue}{HTML}{023059}
+\definecolor{lightblue}{HTML}{023E73}
+% \definecolor{papyrus}{HTML}{D9D8D7}
+\definecolor{papyrus}{HTML}{E4E4E4}
+\definecolor{darkred}{HTML}{BF1E0F}
+\definecolor{lightred}{HTML}{F24141}
+\pagecolor{papyrus}
+
+\usepackage{microtype}
+\usepackage[breaklinks,hidelinks,pdfa]{hyperref}
+\hypersetup{
+ colorlinks=true,
+ linkcolor=darkred,
+ filecolor=darkred,
+ urlcolor=darkred,
+}
+
+
+% ? This worked for a while and then it didn't, so I wrapped \url{..}
+\newcommand{\pkg}[1]{\href{https://ctan.org/pkg/#1}{\texttt{#1}}}
+
+% Logos and acronyms, some of them to match TUGboat commands
+\RequirePackage{mflogo} % for MetaPost \MP
+
+\newcommand\pdfLaTeX{pdf\LaTeX}
+\newcommand\PDFLaTeX{\pdfLaTeX}
+\newcommand\LuaLaTeX{Lua\LaTeX}
+\newcommand{\Asymptote}{\textit{Asymptote}} % as per the manual
+\newcommand{\TikZ}{Ti{\em k}Z} % from TUB
+
+% Stuff from ltugboat.cls
+\makeatletter
+\def\smc{\sc}
+\def\ninepoint{\small}
+\DeclareRobustCommand{\SMC}{%
+ \ifx\@currsize\normalsize\small\else
+ \ifx\@currsize\small\footnotesize\else
+ \ifx\@currsize\footnotesize\scriptsize\else
+ \ifx\@currsize\large\normalsize\else
+ \ifx\@currsize\Large\large\else
+ \ifx\@currsize\LARGE\Large\else
+ \ifx\@currsize\scriptsize\tiny\else
+ \ifx\@currsize\tiny\tiny\else
+ \ifx\@currsize\huge\LARGE\else
+ \ifx\@currsize\Huge\huge\else
+ \small\SMC@unknown@warning
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+}
+\newcommand{\SMC@unknown@warning}{\TBWarning{\string\SMC: nonstandard
+ text font size command -- using \string\small}}
+\newcommand{\textSMC}[1]{{\SMC #1}}
+\newcommand{\acro}[1]{\textSMC{#1}\@}
+
+\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}}
+\makeatother
+
+\def\Bib{%
+ \ifdim \fontdimen1\font>0pt
+ B{\SMC\SMC IB}%
+ \else
+ B\textsc{ib}%
+ \fi
+}
+\def\BibLaTeX{\Bib\kern.02em \LaTeX}
+\def\BibTeX{\Bib\kern-.08em \TeX}
+
+\newcommand{\PDF}{\acro{PDF}}
+\newcommand{\CTAN}{\acro{CTAN}}
+\newcommand{\URL}{\acro{URL}}
+
+% Style I chopped out of ltugboat.cls
+\usepackage{dash}
+
+% Section title styling
+\usepackage{titlesec}
+\titleformat{\section}[hang]{\color{darkblue}\large\bf}{}{0pt}{}
+% \titlespacing{\section}{0pt}{2ex plus 0.1ex minus 0.05ex}{0.85ex plus 0.05ex}
+\titlespacing{\section}{0pt}{*2.0}{*0.85}
+
+% Give paras just a bit of room
+\setlength{\parskip}{0.45ex}
+
+
+\pagestyle{empty}
+\begin{document}\thispagestyle{empty}
+\begin{center}
+ {\color{darkblue}\Large\bf A First Set of \LaTeX\ Packages} \\[1.5ex]
+ {\color{darkblue}\large Jim Hef{}feron}
+\end{center}
+\vspace{1.5ex}
+
+\begin{multicols*}{2}
+If you are a \LaTeX{} beginner and ask,
+``How do I \ldots{}\,?''
+then often you will be told that there is a package for that.
+You may well next ask,
+``How would I know that?
+And if there is more than one package then which should I use?''
+
+This list covers most of what
+beginners want to do.
+Its goal is to cite one
+package in each area that is capable and reliable, and
+that is in
+% \textsf{Mac}\kern-0.35pt\TeX,
+Mac\kern-0.35pt\TeX,
+MiK\TeX, and \TeX\ Live.
+(There are some extra comments in parentheses that
+often come up along with the recommendations.)
+
+
+
+% ==============================
+\section{Introduction}
+For \LaTeX{} users, the canonical archive is
+the Comprehensive \TeX{} Archive Network,
+\href{https://ctan.org}{\color{darkblue}\CTAN}.
+It has the latest official versions of
+the packages in the distributions,
+with documentation.
+And, \href{https://ctan.org/topics/cloud}{\color{darkblue}searching by topic}
+is very handy.
+
+You can also see the package documentation installed on
+your computer by typing
+\verb!texdoc <packagename>! % space too wide?
+in a terminal window.
+
+Before the list, one more note.
+If you are writing for a journal or
+institution that has its own package then of course you should
+use that.
+Look on their web page and on \CTAN.
+
+
+
+% ===================================
+\section{Every document}
+To change page size, margins, and orientation, use
+\pkg{geometry}.
+Get multiple columns with \pkg{multicol}.
+
+Any document containing significant amounts of mathematics should use
+the American Mathematical Society's packages
+\pkg{amsmath}
+and
+\pkg{amssymb}.
+I also use \pkg{amsthm}
+for producing theorem environments.
+Notes: (1)~\pkg{amssymb} inputs \pkg{amsfonts} so you don't need to load
+the latter,
+(2)~many authors also use the caligraphic characters in \pkg{rfsf},
+(3)~get bold math symbols with \pkg{bm},
+(4)~load \texttt{amsthm} after \texttt{amsmath},
+and (5)~don't load \texttt{amsmath} directly, instead get it by loading
+\pkg{mathtools} for some useful improvements.
+
+You can toss in
+\pkg{microtype}.
+My eye can't spot the improvements but I appreciate that
+it means there are fewer awkward lines.
+
+
+% ===================================
+\section{Inside a document}
+To tweak lists, use \pkg{enumitem}.
+
+Enhance captions with
+\pkg{caption}
+and control floating environments with
+\pkg{float}.
+(In particular, this package provides the option `\texttt{H}'
+to override automatic float placement and put something
+exactly where you ask.)
+
+Get hyperlinks and turn references into links with
+\pkg{hyperref}
+(this should be the last or next to last package
+that you load).
+Make cross-references say `Theorem~1.2' instead of just `1.2'
+with the one-r-ed \pkg{cleveref}
+(load it after \texttt{hyperref}).
+Have \acro{URL}'s and file paths that can linebreak with
+\pkg{url}.
+(If you use \texttt{hyperref} then note that it has its own
+commands for the \texttt{cleveref} and \texttt{url} functions.)
+
+I do code listings with
+\pkg{listings},
+although \pkg{minted} is also great.
+Make single quotes inside verbatim text come out correctly with
+\pkg{upquote}.
+
+(A tangent:~copy and paste for computer code listings would be especially
+convenient.
+This is a start for the \texttt{listings} package.
+\begin{lstlisting}
+\lstset{basicstyle = \ttfamily,
+ keepspaces=true,
+ columns=fullflexible}
+\end{lstlisting}
+But it is not a full solution.
+The results depend on the \PDF{} viewer and
+worse, if your code line begins with
+blank spaces then after copy and paste those spaces are gone.)
+
+If you use Python,
+\pkg{pythontex}
+will show code listings, but it also allows you to execute
+Python and put the results in your output.
+Do the same for
+the \textit{Sage} mathematics software with \pkg{sagetex},
+and similar systems exist for R, Haskell, and Scheme.
+
+There are many package that add table capabilities such as
+multirow entries and breaking across pages.
+I most often use \pkg{array}, which lets you define your own column
+types.
+To handle units,
+use \pkg{siunitx}
+(which also has a table column type for aligning on a decimal point).
+
+Make boxes that are colored or framed, such as boxes for theorems,
+with
+\pkg{tcolorbox}.
+
+% Finally, when developing a document I often want some filler text.
+% I use
+% \pkg{lipsum}.
+
+
+% ===================================
+\section{Graphics and color}
+To include graphics and do simple manipulations such as resizing,
+use \pkg{graphicx}.
+Use the \acro{JPG} format for photos,
+\acro{PNG} for other kinds of raster graphics,
+and \PDF{} for vector graphics.
+If your graphic is in another format then convert it to one of these three.
+(Usually you give the file name without the extension,
+as with \verb!\includegraphics{graph}!.)
+Include parts of a \PDF{} document with
+\pkg{pdfpages}.
+Include video or sound using
+\pkg{media9}.
+
+For colors, use
+\pkg{xcolor}
+(although the documentation can be hard to make out).
+
+To make plots and graphics, I use
+\href{https://asymptote.sourceforge.io/}{\Asymptote{}},
+a development of \MP{} with three dimensional
+constructs.
+However, many people instead draw graphics
+inside the document with
+\href{https://ctan.org/pkg/pgf}{\TikZ}.
+
+
+\section{Front and back matter, headers, footers}
+To style chapter and section titles, use
+\pkg{titlesec}.
+For page headers and footers, reach for
+\pkg{fancyhdr}.
+You can tweak the format of tables of contents, lists of figures, etc.,
+with
+\pkg{tocloft}.
+
+Write exercise answers to an external file so that you can read them in
+later with
+\pkg{answers}.
+I like footnotes at the page bottom so I use
+\pkg{footmisc}
+(but I had to hack to change the space between a footnote mark and
+the footnote).
+Make an index with
+\pkg{makeindex}.
+
+Bibliographies are a thorny area.
+Often you have strict requirements, such as from the
+\pkg{MLA}.
+\CTAN{} is a big help here; check out the many styles for both
+\href{https://ctan.org/topic/bibtex-sty}{\BibTeX}
+and
+\href{https://ctan.org/topic/biblatex}{\BibLaTeX}.
+
+
+
+
+\section{Special documents}
+Make exams and problem sets with the
+\pkg{exam} class.
+
+There are many, many resume and CV packages.
+Start with \acro{CTAN}'s
+\href{https://ctan.org/topic/cv}{\textit{cv}} topic.
+
+To make presentations, use the
+\pkg{beamer} class.
+(But with this package you are entering another world, where many of the
+packages discussed here do not work.
+For example, section title styling happens via a completely
+different mechanism.)
+
+
+
+\section{Fonts and engines}
+To see options besides the default Computer Modern fonts,
+visit the
+\href{https://www.tug.org/FontCatalogue/}{\LaTeX\ Font Catalogue},
+which includes copy and paste code to make each one work.
+
+Beyond that list, you can also use any font that your computer has
+(which usually works well only if your document
+does not have much mathematics).
+To convert \LaTeX{} source to \PDF{} there are
+three programs, called engines.
+Most people use \PDFLaTeX.
+The \XeLaTeX{} engine and the \LuaLaTeX{} engine can leverage
+the \pkg{fontspec}
+package to use your system's fonts.
+(A word about the preprint site \texttt{arXiv.org}.
+If your document was produced with \XeLaTeX{} or \LuaLaTeX{} then
+you can only submit a \PDF, not the document source.)
+
+\LaTeX{} now defaults to UTF-8 encoded input on all three engines.
+Use \pkg{babel} for internationalization, such as changing the
+the title of the abstract or the bibliography.
+
+\vspace*{2ex}
+\noindent{\color{lightblue}\rule{\linewidth}{0.4pt}}
+
+\section{Feedback?}
+Contact me via
+\href{https://hefferon.net}{\color{lightblue}\texttt{hefferon.net}}.
+(This version is from \today.)
+% The source is at
+% \href{https://gitlab.com/jim.hefferon/latexpackages}{\color{lightblue}my GitLab repository}.)
+\end{multicols*}
+
+\end{document}
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index 37ed8cd51c6..d33257501e8 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -304,7 +304,7 @@ my @TLP_working = qw(
fibeamer fifinddo-info fifo-stack fig4latex figbas figbib figflow figsize
filecontents filecontentsdef filedate filehook fileinfo filemod
findhyph fink finstrut fira firamath firamath-otf
- first-latex-doc firstaid fitbox fithesis
+ first-latex-doc first-packages firstaid fitbox fithesis
fix2col fixcmex fixfoot fixjfm fixlatvian fixltxhyph fixme fixmetodonotes
fixpdfmag fiziko
fjodor
diff --git a/Master/tlpkg/tlpsrc/collection-langenglish.tlpsrc b/Master/tlpkg/tlpsrc/collection-langenglish.tlpsrc
index 62c29b88d83..57348fac89f 100644
--- a/Master/tlpkg/tlpsrc/collection-langenglish.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-langenglish.tlpsrc
@@ -20,6 +20,7 @@ depend dickimaw
depend docsurvey
depend dtxtut
depend first-latex-doc
+depend first-packages
depend forest-quickstart
depend gentle
depend guide-to-latex
diff --git a/Master/tlpkg/tlpsrc/first-packages.tlpsrc b/Master/tlpkg/tlpsrc/first-packages.tlpsrc
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/first-packages.tlpsrc