我对你关于推荐套餐的意见很感兴趣标准技术文档(工程、物理)。我通常使用以下标题:
\documentclass{article}
% Basic Packages for Encoding (Input AND Output) and Langauge Support
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
% Change Layout with a User-Friendly Interface
\usepackage{geometry}
% Include Pictures with a User-Friendly Interface
\usepackage{graphicx}
\usepackage{float}
% Extended Math Support from the Famous 'American Mathematical Society'
\usepackage{amsmath}
% Just for Demonstration Purposes
\usepackage[math]{blindtext}
\begin{document}
\blinddocument
\blindmathpaper
\end{document}
这导致
我想知道这个社区的专家现在还推荐哪些其他软件包。我发现了以下软件包,我认为它们是有争议的候选者:
- 输入X(关联)
- x颜色(关联)
- ragged2e (关联)
- 修复数学(关联)
- fixltx2e (关联)
- 数学工具(关联)
- 标题 (关联)而不是较旧标题2(关联)正如人们所想的那样
- fancyhdr (关联)
- biblatex/biber (关联)当然适用于较大的文档
- 2020 年更新:xurl(https://ctan.org/pkg/xurl)
我特意没有提到tikz
。它很棒,但我不认为它是普通用户的标准软件包。
重要的对我来说,像这样的软件包fixltx2e
通常不需要配置/编码太多或任何东西。这对普通用户来说很重要。
班上memoir
(关联)和koma-script
类 (关联) 当然非常重要。但我想在不使用文档类的情况下讨论这个问题。
我在寻找稳定的好的包- 不是最新的。我想用这里的信息来帮助刚接触 LaTeX 的学生。
当然,这总是一种妥协包裹太多并且不使用适当的包。
我认为,一组好的软件包(你经常使用的)及其简短的描述可以作为这个问题的一个好结果。
你怎么认为?
目前的反应
- 一页纸的 LATEX 软件包详尽指南经过艾伦·芒恩,最后更新:2015 年 4 月 4 日
- 问题可能重复:人们在 LaTeX 中默认加载哪些包?(用户艾伦·芒恩)
amssymb
(关联) 和bm
(在数学模式下访问粗体符号,关联)(用户达莱夫)mathtools
负载amsmath
(用户伯纳德)- 应该使用
utf8
作为输入编码(支持biber
作为输入编码(由和不是经过bibtex
,用户伯纳德) - 使用
titleps
(关联) 从titlesec
分布(关联)而不是 fancyhdr (关联)(用户伯纳德)。 fixltx2e
(关联)将默认包含在下一次 LaTeX 更新中(用户约翰内斯·B)- 不要混合
koma-script
课程(关联) 和fancyhdr
(关联) 和float
(关联)(用户约翰内斯·B) cfr-lm
(增强了对拉丁现代字体的支持,关联) 、赞同fancyhdr
、也许enumitem
、、microtype
和chemformula
。siunitx
xcolor
不一定需要(我同意,成本加运费)
答案1
我刚刚为研究生举办了一场关于 LaTeX 的研讨会。下面是我建议他们在每个文档中加载的软件包列表:
%
我认为这是正确答案。这并不是说我没有告诉他们有关包裹的信息——我告诉了他们。也不是说我没有提出建议——我提出了建议。但我提出了有条件的建议。我希望他们明白软件包以特定的方式扩展了 LaTeX。加载它们如果你需要这些扩展我也做了很少这样的建议。
本次研讨会是入门级的。它假设参与者之前没有使用过 LaTeX。没有参与者之前使用过 LaTeX。(其中一位参与者使用过 Scientific Word,但从未见过 LaTeX 代码。)
当我运行后续操作时,我计划建议定期加载少量软件包。目前,我的计划清单包括以下内容
babel
与british
或welsh
或welsh,british
传递给文档类;inputenc
带选项utf8
;fontenc
带有选项T1
。
我可能还会给他们一份“如果我想要……怎么办?”的列表,其中包含建议的软件包,并且如果我可以管理它或者我可以让人们自愿提供信息,我可能会尝试向他们提供特定于学科的软件包列表。
为什么要这么少?因为人们很容易不加思索地添加软件包,结果会很乱。作为初学者,最好先加载较少的软件包,然后再了解需要哪些软件包。
请注意,这与我始终或几乎始终加载的软件包列表非常不同。即使我清理了我的代码(我应该这样做),该列表也很重要。但我知道我为什么要加载这些软件包,我知道我加载了它们,并且我至少知道它们可能导致的一些问题。我想要自定义页面布局和图表以及对字体和微排版的更细粒度的控制以及花哨的交叉引用和其他繁琐的部分。在我看来,这些不是刚开始使用 LaTeX 的人应该考虑的事情。
我知道这不是你想要的答案。然而,我认为这是正确的答案。我可能错了,但无论如何,这就是我的建议。
也许我还应该说,如果我有一段时间没有在这里回答问题,我的推荐列表会更接近我使用的软件包列表。我认为那将是一件坏事 - 事实上,我确信那将是一件坏事 - 所以我认为我的回答至少是最低限度知情的。
编辑
在我计划于 6 月举办的中级研讨会上,我做计划给学生提供有条件的包裹清单。
我会不在向学生介绍 LaTeX 时,请提供这个。
目前,我的草稿清单如下:
\documentclass[a4paper,welsh,british,twocolumn]{article}
\usepackage{babel}
\usepackage[utf8]{inputenc}
\usepackage[tt=lining]{cfr-lm}
\usepackage{enumitem,geometry,url,fancyref}
\usepackage{csquotes}
\MakeAutoQuote{‘}{’}
\MakeAutoQuote*{“}{”}
\geometry{scale=.9}
\setlength{\columnseprule}{0.4pt}
\urlstyle{sf}
\title{\LaTeX{} Package Recommendations}
\author{cfr}
\date{}
\usepackage{fancyhdr}
\fancyhf{}
\renewcommand*\headrulewidth{0pt}
\fancyhf[cf]{%
Find packages in the Comprehensive \TeX{} Archive Network (CTAN) at \url{ctan.org}.
Browse by topic at \url{ctan.org/topic}.}
\pagestyle{fancy}
\begin{document}
\pdfinfo{%
/Title (LaTeX Package Recommendations)
/Subject (LaTeX)
/Keywords (LaTeX, package)}
\maketitle\thispagestyle{fancy}
\newlist{pkgdescription}{description}{1}
\setlist[pkgdescription]{font=\bfseries\ttfamily}
\newcommand*\lpack[1]{\texttt{\bfseries #1}}
\section{General}
You should almost always use:
\begin{pkgdescription}
\item[babel] Pass \verb|welsh,british| to your class.
\item[inputenc] Load with option \verb|utf8|; \verb|\input{ix-utf8enc.dfu}|.
\item[fontenc] Load with option \verb|T1|.
\item[textcomp]
\item[microtype]
\end{pkgdescription}
\section{Document Layout}
If you are using a standard class (e.g.\ \lpack{article}, \lpack{book} or \lpack{report}):
\begin{pkgdescription}
\item[geometry] to change page dimensions.
\item[fancyhdr] for custom headers/footers.
\item[footmisc] for customised footnotes.
\item[titling] to use document metadata after \verb|\maketitle|.
\end{pkgdescription}
\section{Mathematics}
\begin{pkgdescription}
\item[mathtools] for enhanced \lpack{amsmath}.
\item[amssymb] for more symbols, scripts.
\item[ntheorem] for enhanced theorem environments.
\end{pkgdescription}
\section{Quotes \& Quoting}
\begin{pkgdescription}
\item[csquotes] for context- and language-sensitive quotations and quotation marks. Recommended if using \lpack{biblatex}.
\end{pkgdescription}
\section{Citations \& Bibliographies}
\begin{pkgdescription}
\item[biblatex] Load with option \verb|backend=biber|.
\end{pkgdescription}
\section{Cross-Referencing}
\begin{pkgdescription}
\item[fancyref] for enhanced cross-references.
\item[cleverref] for enhanced cross-references.
\end{pkgdescription}
\section{Lists}
\begin{pkgdescription}
\item[enumitem] for custom lists.
\item[glossaries] for glossaries and lists of acronyms.
\end{pkgdescription}
\section{Tables}
\begin{pkgdescription}
\item[array] for enhanced tabular environments.
\item[booktabs] for professional quality tables.
\item[longtable] for multi-page tables.
\item[tabularx] for tables with specified width.
\item[threeparttable] for tables with notes.
\item[multirow] for cells spanning multiple rows.
\end{pkgdescription}
\section{Floats}
\begin{pkgdescription}
\item[caption] to customise captions.
\item[float] more options for floats.
\item[subcaption] for sub-figures, sub-tables and sub-captions.
\item[floatrow] for aligned sub-figures.
\item[rotating] to rotate floats.
\end{pkgdescription}
\section{Hyperlinks}
\begin{pkgdescription}
\item[hyperref] for hyperlinks.
\item[bookmark] for enhanced bookmarks.
\end{pkgdescription}
\section{Images \& Colour}
\begin{pkgdescription}
\item[graphicx] to load external images.
\item[xcolor] for colour.
\end{pkgdescription}
\section{Diagrams}
\begin{pkgdescription}
\item[tikz] for diagrams.
\emph{Many} specialised extensions available.
\item[pgfplots] for plots.
Includes \lpack{pgfplotstable} for data tables.
\end{pkgdescription}
\section{External Data}
\begin{pkgdescription}
\item[datatool] for data manipulation.
\item[textmerg] for merging text.
\end{pkgdescription}
\section{Version Control}
\begin{pkgdescription}
\item[svn-multi] for use with \verb|subversion|.
\item[gitinfo2] for use with \verb|git|.
\end{pkgdescription}
\end{document}
编辑
我决定添加第二个页面,其中包含特定学科的软件包。因此turnstile
,forest
已从我的通用列表中删除。以上内容现在代表列出通用软件包的第一页。下一页目前是这个问题因此我要从这里删除那部分代码,因为它与这个问题的核心无关。
以下是该讲义的第一页:
谢谢曼努埃尔·库纳添加此答案早期版本的屏幕截图。