二+ 五十个 LaTeX 基础知识

二+ 五十个 LaTeX 基础知识

我的一个朋友问我为什么我使用LaTeXWord/OpenOffice/LibreOffice 等而不是其他的(不,这不是像“Word 与 LaTeX”这样的问题)

我向他展示了这里的一些示例TeX.SE,还有一些我的个人作品(这里没有展示)。他对需要学习的“大量命令”感到困惑。他想知道为了制作“合理”的文档,他应该学习哪些命令以及多少命令。

我的回答是,这取决于文件的类型和内容,但我无法给出明确的答案。

我知道,这个问题可能会引发基于意见的答案,或者太宽泛,因此我想限制这个问题

对于编写印刷效果良好的日常文档(文章/书籍/投影仪),最有用/最重要的 50 个命令或环境是什么?这些命令/环境可能是最常用的(?)

为了减少可能答案的范围,我将设置更多障碍:

  • 由于许多TeX宏处理数学排版,因此最好在这个问题中排除它们,但环境是“允许的”

  • 没有LaTeX文档可以没有\documentclassand 而“生存” \document,所以这些宏无论如何都是强制性的,可以排除

  • 环境\begin{...}...\end{...} 应该算作一个命令
  • 类/包编写器命令和深层内部结构也应排除,因为它们原则上与日常工作无关。
  • TikZ/pstricks 等都是非常好的软件包,但列出这些软件包中的大量宏是没有用的
  • 结构化命令(如\chapter等)基本相同,因此它们算作一个
  • \blindtext \lipsum在制作日常文件时没有用处,所以它们也不算数
  • 参考书目中可用的各种\cite...命令算作一个

我知道,有一些(不)相关的问题

没有必要列出恰好 50 个宏或环境——我将从答案中收集并生成它们的顶级列表

答案1

请注意,我拒绝排除必要的命令和环境。最重要的列表应该就是这样:任何缺少\documentclassdocument不足的特定宏列表!事实上,这些是如此重要,以至于它们在下面的列表中被编号为零(作为对遵守问题中规定的规则的坚持者的一种让步):

+ 五十个 LaTeX 基础知识

2+50 个命令和环境

请注意,8 和 9 不是错误。具体来说,8 的第一个分离项是空白行,而 9 是注释(对于避免虚假空格至关重要)。

笔记

  • 此处的重点是撰写文章。因此,省略了内容列表、图表列表、章节等命令。(但内容内容对 很有用beamer。见下文。)

    • 显然,有些人的第一个 LaTeX 文档将是多章节的创作。我的就是。但我不认为这是开始的最佳方式,而且我也不会向那些不绝望的人推荐这种方式。(我当时很绝望,所以我会向我自己推荐这种方式。但我希望这不是标准情况。)
  • 我试图强调语义标记,而不是手动格式化。因此\textbf{},、、\itshape\small不适用,而\section等适用。

  • \emph是介于语义标记和手动格式化之间的一种例外。然而,就后者而言,它本质上与内容相关,因此是文档作者而非样式作者的工作。

    • 课程或软件包的作者不知道我希望或应该强调哪些词!
  • 该列表试图说明一些关键概念,但并未提供详尽的列表,详尽的列表不可能用 50 项来完成,而且对于初学者来说无论如何都是没用的。

    • 17 在很大程度上是作为被视为特殊字符并需要转义的示例。当然,它不是这种类型的唯一字符,但我认为它是我最常用的字符。

    • 18 是重音的一个例子。它恰好是我最常需要的。

  • 至于 23,至少在我的学科中,quotation比 更标准quote。实际上,我只会在错误的情况下或出于非设计目的而使用后者。

  • 27 和 28 是分离的,因为我认为,只要你学习某种形式的语义标记,你首先学习用哪个系统来格式化引用和参考文献并不重要。

    • 而且,一次性学习多个系统肯定不是明智之举!因此,这里的分离是必要的:列表不应该分别包含所有三个系统的命令,就好像学习者应该立即尝试同时弄清楚标准环境、BibTeX 和 BibLaTeX/Biber。
  • 我不确定我是否会鼓励初学者使用 LaTeX 排版演示文稿,但无论如何我已包含了一些项目beamer

    • \includegraphics之所以列在这里,是因为我觉得相对于其他类型的文档来说,这不太基础,但在准备幻灯片时,这非常重要。
  • 问题中没有提到字母,但字母是一种极为常见的日常文档,了解一些制作字母的基本命令和环境似乎是合适的。

  • 数学例外环境(而不是命令)是在我消失去处理列表之后添加的,因此我在计划列表时假设要排除数学标记。

    • 对我个人而言,这并不不合理,因为我排版的数学相对较少。

    • 但是,对于标准列表,我建议删减该beamer部分并添加数学内容。

    • 无论如何,我肯定会删掉这里的 2 件物品以腾出空间$...$,而且\[...\]我确实会用到一些。

代码

\documentclass[twocolumn]{article}
\usepackage{textcomp}
\newcommand*\mycommand[2][command]{%
  \def\tempa{command}%
  \def\tempb{env}%
  \def\tempc{#1}%
  \ifx\tempa\tempc \item \texttt{\textbackslash #2}
  \else \item \texttt{\textbackslash begin\{#2\} \dots \textbackslash end\{#2\}}
  \fi}
\pagestyle{empty}
\begin{document}
  \begin{enumerate}\setcounter{enumi}{-1}
    \mycommand{documentclass}\setcounter{enumi}{-1}
    \mycommand[env]{document}
    \mycommand{usepackage}
    \mycommand{author}
    \mycommand{title}
    \mycommand{date}
    \mycommand{maketitle}
    \mycommand{section}
    \mycommand{subsection}
    \item \mbox{}\\\emph{or} \texttt{\textbackslash par}
    \item \texttt{\%}
    \mycommand[env]{enumerate}
    \mycommand[env]{itemize}
    \mycommand{item}
    \mycommand{emph}
    \item \texttt{\textquotesingle}
    \item \texttt{--}
    \item \texttt{---}
    \mycommand{\&}
    \mycommand{\textasciicircum}
    \mycommand{footnote}
    \mycommand{label}
    \mycommand{ref}
    \mycommand{cite}
    \mycommand[env]{quotation}
    \item \texttt{\textasciigrave\dots\textquotesingle}
    \item \texttt{\textasciigrave\textasciigrave\dots\textquotesingle\textquotesingle}
    \mycommand{dots}
    \mycommand[env]{thebibliography}\\\emph{or} \texttt{\textbackslash bibliography}\\\emph{or} \texttt{\textbackslash printbibliography}
    \mycommand{bibitem}\\\emph{or} \texttt{\textbackslash bibliographystyle}\\\emph{or} \texttt{\textbackslash usepackage[]\{biblatex\}}
    \mycommand[env]{abstract}
    \mycommand[env]{figure}
    \mycommand[env]{table}
    \mycommand{caption}
    \mycommand{centering}
    \mycommand[env]{tabular}
    \mycommand{hline}
    \item \texttt{\&}
    \item[\textbullet] \emph{for letters:}
    \mycommand[env]{letter}
    \mycommand{name}
    \mycommand{signature}
    \mycommand{opening}
    \mycommand{closing}
    \mycommand{encl}
    \item[\textbullet] \emph{for beamer:}
    \mycommand[env]{frame}
    \mycommand{titlepage}
    \mycommand{tableofcontents}
    \mycommand[env]{columns}
    \mycommand[env]{column}
    \mycommand[env]{block}
    \mycommand{usetheme}
    \mycommand{includegraphics}
  \end{enumerate}
\end{document}

答案2

我懒得列出 50 个命令,但是LaTeX 表格Winston Chang 的这本书,在一页纸中涵盖了基本命令列表,甚至包括 MWE。对新手非常有帮助。

如果您不完全同意选择,可以使用 LaTeX 源文件,并且您可以根据 CC 许可条款进行修改。

欲查看更长的列表,请参阅AMS-LATEX 参考卡 #1

最后,我认为 Beamer 类可能应该有自己的命令列表以及主题、模板选项等。 Beamer 外观检查表

答案3

因为我是一名数学家,所以我想说:

  1. 分段命令 ( \section \subsection)
  2. equation环境(及其变体,例如align)。
  3. 交叉引用的标签和参考(\label \eqref \cite)。
  4. 图表包 ( xy tikz)

而且当然,

  1. AMS 包/命令(例如amsmath \DeclareMathOperator)。

答案4

“~”对于写一篇像样的论文是必不可少的。这是因为使用波浪号会导致在文档中放置不可中断的空格。因此,我们可以轻松消除与断线相关的排版错误,即所谓的孤儿, 例如:


This is due to the fact that using the tilde 
results in putting non-breakable space in a 
document.

因此,通过输入“a~document”可以消除“a”之后和“document”之前的换行符。

因此,‘~’ 是 (La)TeX 中值得掌握的好东西之一。而且根据 Knuth 本人的说法,通过这个你可以获得很多东西:

一旦您学会了如何插入它们(即“~”),您就从普通技术打字员的行列晋升为杰出技术人员的精英群体。(TeXbook,第 91 页)

相关内容