diff options
author | Karl Berry <karl@freefriends.org> | 2018-09-01 22:16:36 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2018-09-01 22:16:36 +0000 |
commit | 6680343d25dad119fdee522e6395982d66d24153 (patch) | |
tree | 6f6d3c7bf049fa773a5a10edfcd440d95242bf01 /Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.01.basics.tex | |
parent | 78a6ecd28b5c518a367acbd281a87f04c353a477 (diff) |
lshort-chinese (1sep18)
git-svn-id: svn://tug.org/texlive/trunk@48534 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.01.basics.tex')
-rw-r--r-- | Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.01.basics.tex | 294 |
1 files changed, 138 insertions, 156 deletions
diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.01.basics.tex b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.01.basics.tex index 790dbb64e01..eeea09ecd51 100644 --- a/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.01.basics.tex +++ b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.01.basics.tex @@ -15,10 +15,10 @@ \TeX\ 是高德纳 (Donald E.Knuth)开发的、以排版文字和数学公式为目的的一个计算机软件 \cite{texbook}。 高德纳从 1977 年开始开发 \TeX\ ,以发掘当时开始用于出版工业的数字印刷设备的潜力。 正在编写著作《计算机程序设计艺术》的高德纳,意图扭转排版质量每况愈下的状况,以免影响他的出书。 -我们现在使用的 \TeX\ 排版引擎发布于 1982 年,在 1989 年又稍加改进以更好地支持 8-bit 字符和多语言排版。 +\TeX\ 排版引擎发布于 1982 年,在 1989 年又加以改进以更好地支持 8-bit 字符和多语言排版。 \TeX\ 以其卓越的稳定性、跨平台、几乎没有 Bug 而著称。\TeX\ 的版本号不断趋近于 $\pi$,当前为 3.141592653。 -\TeX\ 读作 ``Tech'' ,其中 ``ch'' 的发音类似于 ``h'' ,与汉字“泰赫”的发音类似。\TeX\ 的拼写来自希腊词语 +\TeX\ 读作 ``Tech'' ,其中 ``ch'' 的发音类似于 ``h'' ,与汉字“泰赫”的发音相近。\TeX\ 的拼写来自希腊词语 {\fontencoding{LGR}\selectfont teqnik'h} (technique,技术) 的开头几个字母。在 ASCII 字符环境,\TeX\ 写作 \texttt{TeX}。 \subsection{\LaTeX}\label{subsec:latex} @@ -27,9 +27,9 @@ \index{LaTeX2e@\LaTeXe} \LaTeX\ 为 \TeX\ 基础上的一套格式,令作者能够使用预定义的专业格式以较高质量排版和印刷他们的作品。 \LaTeX\ 的最初开发者为 Leslie Lamport 博士\cite{manual}。\LaTeX\ 使用 \TeX\ 程序作为自己的排版引擎。 -当下 \LaTeX\ 主要的维护者为 Frank Mittelbach。 +当前 \LaTeX\ 由 \LaTeX 3 工作组\footnote{\url{https://www.latex-project.org}}维护。 -\LaTeX\ 读作 ``Lah-tech'' 或者 ``Lay-tech'' ,近似于汉字“拉泰赫”或“雷泰赫”。\LaTeX\ 在 ASCII 字符环境写作 \texttt{LaTeX}。 +\LaTeX\ 读作 ``Lah-tech'' 或者 ``Lay-tech'' ,与汉字“拉泰赫”或“雷泰赫”的发音相近。\LaTeX\ 在 ASCII 字符环境写作 \texttt{LaTeX}。 当前的 \LaTeX\ 版本为 \LaTeXe ,意思是超出了第二版,接近但没达到第三版,在 ASCII 字符环境写作 \texttt{LaTeX2e}。 \subsection{\LaTeX\ 的优缺点}\label{subec:advs} @@ -72,21 +72,94 @@ \item 相比“所见即所得”的模式有一些不便,为了查看生成的文档,用户总要不停地编译。 \end{itemize} -\section{\LaTeX\ 命令和代码结构}\label{sec:src} +\section{第一次使用 \LaTeX}\label{sec:run} + +我们在此给出一个最小的 \LaTeX\ 源代码示例,见源代码 \ref{code:hello-world}。 + +\begin{sourcecode}[htp] +\begin{Verbatim} +\documentclass{article} +\begin{document} +``Hello world!'' from \LaTeX. +\end{document} +\end{Verbatim} +\caption{\LaTeX\ 的一个最简单的源代码示例。}\label{code:hello-world} +\end{sourcecode} + +假设将源代码 \ref{code:hello-world} 保存成 \texttt{helloworld.txt}。如果使用 \TeX works 或 \TeX studio 等编辑器, +点击编辑器提供的“编译”按钮即可。在此建议将编译命令设为 “XeLaTeX”。编译成功后生成文档 \texttt{helloworld.pdf}。 + +另外也可以使用命令行的方式调用程序进行编译(笔者建议尝试命令行方式,以了解背后的工作原理)。 +打开 Windows 命令提示符或者 Linux / macOS(OS X)的终端,在源代码所在的目录下输入命令: +\begin{verbatim} +xelatex helloworld +\end{verbatim} +此时命令行会闪过许多信息,如果编译成功,可以看到会生成 \texttt{helloworld.pdf} 以及一些其它文件。 + +\subsection{引擎、格式和编译命令}\label{subsec:concepts} + +\pinyinindex{paibanyinqing}{排版引擎} +\index{pdfTeX@\hologo{pdfTeX}} +\index{XeTeX@\hologo{XeTeX}} +在此有必要澄清几个概念: +\begin{description} + \item[引擎] 全称为排版引擎,是编译源代码并生成文档的程序,如 \hologo{pdfTeX}、\hologo{XeTeX} 等。有时也称为编译器。 + \item[格式] 是定义了一组命令的代码集。\LaTeX\ 就是最广泛应用的一个格式,高德纳本人还编写了一个简单的 plain \TeX\ 格式, + 没有定义诸如 \cmd{document\-class} 和 \cmd{section} 等等命令。 + \item[编译命令] 是实际调用的、结合了引擎和格式的命令。如 \texttt{xelatex} 命令是结合 \hologo{XeTeX} + 引擎和 \LaTeX\ 格式的一个编译命令。 +\end{description} +常见的引擎、格式和编译命令的关系总结于表 \ref{tbl:engine-format-command}。 + +\begin{table}[htp] + \centering + \caption{\TeX\ 引擎、格式和编译命令。} + \label{tbl:engine-format-command} + \begin{tabular}{cccc} + \hline + & \textbf{文档格式} & \textbf{plain \TeX\ 格式} & \textbf{\LaTeX\ 格式} \\ + \hline + \TeX\ 引擎 & DVI & \texttt{tex} & N/A \\ + \hologo{pdfTeX} 引擎 & DVI & \texttt{etex} & \texttt{latex} \\ + & PDF & \texttt{pdftex} & \texttt{pdflatex} \\ + \hologo{XeTeX} 引擎 & PDF & \texttt{xetex} & \texttt{xelatex} \\ + \hologo{LuaTeX} 引擎 & PDF & \texttt{luatex} & \texttt{lualatex} \\ + \hline + \end{tabular} +\end{table} + +\texttt{latex} 编译命令和 \LaTeX\ 格式往往容易混淆,在讨论关于 \LaTeX\ 的时候需要明确。 +为避免混淆,本手册中的 \LaTeX\ 一律指的是\textbf{格式},\textbf{编译命令}则用等宽字体 \texttt{latex} 表示。 -\LaTeX\ 的源代码本质上是文本文件。哪怕用 Windows 的记事本或者 Linux 的 gedit 等简单的编辑器, -也可以编写一份 \LaTeX\ 源代码并编译出文档来。专用于编辑 \LaTeX\ 源代码的编辑器如 -TeXworks / TeXstudio / WinEdt 等提供了一些语法高亮、命令补全等功能,以及调用排版引擎的一些按钮。 +在此介绍一下几个编译命令的基本特点: +\begin{description} + \item[\texttt{latex}] + 虽然名为 \texttt{latex} 命令,底层调用的引擎其实是 \hologo{pdfTeX}。 + 该命令生成 \texttt{dvi}(Device Independent)格式的文档, + 用 \texttt{dvipdfmx} 命令可以将其转为 \texttt{pdf}。 + \item[\texttt{pdflatex}] + 底层调用的引擎也是 \hologo{pdfTeX},可以直接生成 \texttt{pdf} 格式的文档。 + \item[\texttt{xelatex}] + 底层调用的引擎是 \hologo{XeTeX},支持 UTF-8 编码和 TrueType / OpenType 字体。 + 当前较为方便的中文排版解决方案基于 \texttt{xelatex},详见 \ref{sec:chinese} 节。 + \item[\texttt{lualatex}] + 底层调用的引擎是 \hologo{LuaTeX},这个引擎在 \hologo{pdfTeX} 引擎基础上发展而来, + 除了支持 UTF-8 编码和 TrueType / OpenType 字体外,还支持通过 Lua 语言扩展 \TeX\ 的功能。 + \texttt{lualatex} 编译命令下的中文排版支持需要借助 \pkg{luatex-ja} 宏包。 +\end{description} + +\section{\LaTeX\ 命令和代码结构}\label{sec:src} -除了文字本身,\LaTeX\ 源代码之中还包括大量的命令,用在排版公式、划分文档结构、控制样式等等不同的地方。 +\LaTeX\ 的源代码为文本文件。这些文本除了文字本身,还包括各种命令, +用在排版公式、划分文档结构、控制样式等等不同的地方。 \subsection{\LaTeX\ 命令和环境}\label{subsec:cmds} \index{LaTeX macro@\LaTeX\ 命令} \LaTeX\ 命令以反斜线 \texttt{\textbackslash} 开头,为以下两种形式之一: \begin{itemize} - \item 反斜线和后面的一串字母,如 \cmd{LaTeX}。它们以任意非字母符号(空格、数字、标点等)作为分隔符。 - \item 反斜线和后面的一个非字母符号,如 \cmd{\$}。它们无需分隔符。 + \item 反斜线和后面的一串字母,如 \cmd{LaTeX}。它们以任意非字母符号(空格、数字、标点等)为界限。 + \item 反斜线和后面的单个非字母符号,如 \cmd{\$}。 \end{itemize} 要注意 \LaTeX\ 命令是\textbf{对大小写敏感}的,比如输入 \cmd{LaTeX} 命令可以生成错落有致的 \LaTeX\ 字母组合, @@ -103,13 +176,14 @@ or \TeX{} users? \end{example} \pinyinindex{canshu}{参数} -大多数的 \LaTeX\ 命令是带一个或多个参数,每个参数用花括号 \texttt\{ 和 \texttt\} 包裹。 -有些命令带一个或多个可选参数,以方括号 \texttt[ 和 \texttt] 包裹。 -还有些命令在命令名称后可以带一个星号 \texttt*,带星号和不带星号的命令效果有一定差异。 +许多 \LaTeX\ 命令需要一个或多个参数,每个参数用花括号 \texttt\{ 和 \texttt\} 包裹。 +有些命令可以带一个或多个可选参数,以方括号 \texttt[ 和 \texttt] 包裹。 +还有些命令在命令名称后可以带一个星号 \texttt*,带星号和不带星号的命令效果有一定差异, +可以把星号看作一种特殊的可选参数。 \index{LaTeX environment@\LaTeX\ 环境} \cmdindex{begin,end} -\LaTeX\ 还引入了\textbf{环境}的用法,用以令一些效果在局部生效,或是生成特定的文档元素。 +\LaTeX\ 还引入了\textbf{环境}的用法,用以令一些效果在局部生效,或是生成特殊的文档元素。 \LaTeX\ 环境的用法为一对命令 \cmd{begin} 和 \cmd{end}: \begin{command} \cmd{begin}\marg{environment name}\marg{arguments} \\ @@ -118,10 +192,10 @@ or \TeX{} users? \end{command} 其中 \Arg{environment name} 为环境名,\cmd{begin} 和 \cmd{end} 中填写的环境名应当一致。 -\cmd{begin} 在 \Arg{environment name} 后可以带一个或多个参数,甚至可选参数。环境允许嵌套使用。 +\Arg{arguments} 为环境所需的参数,可能包括可选参数。环境允许嵌套使用。 \pinyinindex{fenzu}{分组} -除了 \LaTeX\ 环境之外,花括号本身也起到\textbf{分组}的作用,起到类似环境的令效果在局部生效的作用, +除了 \LaTeX\ 环境之外,花括号本身也起到\textbf{分组}的作用,使命令的效果限制在分组内。 例如 \ref{subsec:fontshape} 和 \ref{subsec:fontsize} 小节中介绍的修改字体和字号的命令用法。 \subsection{\LaTeX\ 源代码结构}\label{subsec:struct} @@ -135,118 +209,27 @@ or \TeX{} users? \cmdindex{usepackage} \pinyinindex{hongbao}{宏包} -紧接着我们可以用 \cmd{usepackage} 命令调用\textbf{宏包}: +之后用 \cmd{usepackage} 命令调用\textbf{宏包}: \begin{verbatim} \usepackage{...} \end{verbatim} \envindex{document} -再接着,我们需要用以下一对命令来标记正文内容的开始位置和结束位置,而将正文内容写入其中: +再接着,用 \env{document} 环境来标记正文内容范围: \begin{verbatim} \begin{document} +\section{...} +正文内容…… \end{document} \end{verbatim} \pinyinindex{daoyanqu}{导言区} 在 \cmd{documentclass} 和 \cmd{begin}\marg*{document} 之间的位置称为\textbf{导言区},除了使用 \cmd{use\-package} -调用宏包之外,一些对文档的全局设置命令也在这里使用。当然也可以什么都不写,一个宏包都不调用。一切视自己需求。 - -\section{用命令行操作 \LaTeX}\label{sec:run} - -相信你看到这里已经急不可耐地想要写一个 \LaTeX\ 源代码试一试了。我们这就给一个最小的例子,见源代码 \ref{code:hello-world}。 - -\begin{sourcecode}[htp] -\begin{Verbatim} -\documentclass{article} -\begin{document} -``Hello world!'' from \LaTeX. -\end{document} -\end{Verbatim} -\caption{\LaTeX\ 的一个最简单的源代码示例。}\label{code:hello-world} -\end{sourcecode} - -有相当多的编辑器会提供“编译”按钮,不过笔者仍然觉得有必要了解一下其背后的工作原理。\LaTeX\ 调用的程序都是基于命令行的, -所以建议打开 Windows 命令提示符或者 Linux / macOS(OS X)的终端,按照本手册的范例尝试一下调用命令行程序编译。 +调用宏包之外,一些对文档的全局设置命令也在这里使用。 -\subsection{引擎、格式和命令}\label{subsec:concepts} +\section{\LaTeX\ 宏包和文档类}\label{sec:latex-pkgs} -\pinyinindex{paibanyinqing}{排版引擎} -\index{pdfTeX@\hologo{pdfTeX}} -\index{XeTeX@\hologo{XeTeX}} -在开始示例编译过程之前,有必要澄清几个概念: -\begin{description} - \item[引擎] 全称为排版引擎,是读入源代码并编译生成文档的程序,如 \hologo{pdfTeX}、\hologo{XeTeX} 等。有时也直接称为编译器。 - \item[格式] 是定义了一组命令的代码集。\LaTeX\ 就是最广泛应用的一个格式,高德纳本人还编写了一个简单的 plain \TeX\ 格式, - 没有定义诸如 \cmd{document\-class} 和 \cmd{section} 等等命令。 - \item[命令] 是引擎和格式二者的结合体。如下文要用到的 \texttt{pdflatex} 命令是结合 \hologo{pdfTeX} - 引擎和 \LaTeX\ 格式的一个命令,用于编译类似源代码 \ref{code:hello-world} 的代码并生成文档。 -\end{description} - -\texttt{latex} 命令和 \LaTeX\ 格式往往容易混淆,在同他人讨论关于 \LaTeX\ 的时候需要明确。 -本手册为避免混淆,文中的 \LaTeX\ 一律指的是\textbf{格式},\textbf{命令}则用等宽字体 \texttt{latex} 表示。 - -用一个简单的表格总结一下: -\begin{center} -\begin{tabular}{ccc} - \hline - & \textbf{plain \TeX\ 格式} & \textbf{\LaTeX\ 格式} \\ - \hline -\TeX\ 引擎 & \texttt{tex} & N/A \\ -\hologo{pdfTeX} 引擎 & \texttt{etex} & \texttt{latex}\footnotemark \\ - & \texttt{pdftex} & \texttt{pdflatex} \\ -\hologo{XeTeX} 引擎 & \texttt{xetex} & \texttt{xelatex} \\ - \hline -\end{tabular} -\end{center} -\footnotetext{现今的发行版中 \texttt{latex} 命令也用 \hologo{pdfTeX} 引擎结合 \LaTeX\ 格式,输出扩展名为 DVI 的文档。} - -\subsection{\texttt{latex} 命令}\label{subsec:latex-exe} - -假使你的计算机上已经安装了 \LaTeX\ 依赖的程序和工具(安装方法在附录 \ref{app:install} 有简单介绍)。 -我们将源代码 \ref{code:hello-world} 拷贝到一个文本文件中,保存为 \texttt{helloworld.tex}。然后在命令行输入: -\begin{verbatim} -latex helloworld.tex -\end{verbatim} -(也可以输入不带扩展名的 \texttt{latex helloworld})。 - -此时命令行会闪过许多信息。如果一切正常,在目录中将生成 \texttt{hello\-world.dvi} 以及其它文件。 -这个扩展名为 \texttt{dvi} 的文件就是编译生成的文档。 - -Linux 系统下,可以在命令行调用 \texttt{xdvi} 程序打开这个文档: -\begin{verbatim} -xdvi helloworld.dvi -\end{verbatim} - -Windows 系统下大多预装了 yap 软件(Mik\TeX) 或 dviout 软件(\TeX\ Live),可以双击 \texttt{hello\-world.dvi} 打开它。 - -\index{dvipdfmx@\texttt{dvipdfmx} 命令} -要进一步生成现今流行的 PDF 文档格式,我们还需要用额外的程序将 \texttt{dvi} 转为 \texttt{pdf}: -\begin{verbatim} -dvipdfmx helloworld.dvi -\end{verbatim} - -然后就可以用查看 PDF 的软件 (Adobe Reader / Foxit Reader 等)打开生成的 \texttt{hello\-world.pdf} 查看了。 - -\subsection{\texttt{pdflatex} 和 \texttt{xelatex} 命令}\label{subsec:pdflatex-exe} - -\index{pdflatex@\texttt{pdflatex} 命令} -这两个命令相比于 \texttt{latex} 命令更为方便,我们可以直接生成 PDF: -\begin{verbatim} -pdflatex helloworld.tex -\end{verbatim} - -或者 -\begin{verbatim} -xelatex helloworld.tex -\end{verbatim} - -\index{xelatex@\texttt{xelatex} 命令} -\texttt{xelatex} 命令(有时写作 \hologo{XeLaTeX})有着各种新的特性,如能够直接支持使用系统预装的字体、 -原生支持 UTF-8 编码等。尤其是排版中文,\texttt{xelatex} 命令配合适当的宏包是现在最新、最方便的方式(详见 \ref{sec:chinese} 节)。 - -\section{宏包和文档类}\label{sec:latex-pkgs} - -我们在 \ref{subsec:struct} 小节描述的 \LaTeX\ 源代码架构中已经见识了宏包和文档类。本节将仔细解释它们。 +本节将仔细解释在 \ref{subsec:struct} 小节中出现的宏包和文档类的概念以及详细用法。 \subsection{文档类}\label{subsec:classes} @@ -269,71 +252,68 @@ xelatex helloworld.tex \caption{\LaTeX\ 提供的基础文档类。}\label{tbl:ltx-classes} \begin{tabular}{lp{30em}} \hline - \texttt{article} & 文章格式的文档类,广泛用于科技论文、报告、说明文档等。\\ - \texttt{report} & 长篇报告格式的文档类,具有章节结构,用于综述、长篇论文、简单的书籍等。\\ - \texttt{book} & 书籍文档类,包含章节结构和前言、正文、后记等结构。\\ + \cls{article} & 文章格式的文档类,广泛用于科技论文、报告、说明文档等。\\ + \cls{report} & 长篇报告格式的文档类,具有章节结构,用于综述、长篇论文、简单的书籍等。\\ + \cls{book} & 书籍文档类,包含章节结构和前言、正文、后记等结构。\\ \hline - \texttt{proc} & 基于 \cls{article} 文档类的一个简单的学术文档模板。\\ - \texttt{slides} & 幻灯格式的文档类,使用无衬线字体。\\ - \texttt{minimal} & 一个极其精简的文档类,只设定了纸张大小和基本字号, - 用作代码测试的最小工作示例(Minimal Working Example)。 \\ + \cls{proc} & 基于 \cls{article} 文档类的一个简单的学术文档模板。\\ + \cls{slides} & 幻灯格式的文档类,使用无衬线字体。\\ + \cls{minimal} & 一个极其精简的文档类,只设定了纸张大小和基本字号, + 用作代码测试的最小工作示例(Minimal Working Example)。 \\ \hline \end{tabular} \end{table} \pinyinindex{xuanxiang}{选项(宏包/文档类)} -可选参数 \Arg{options} 为文档类指定选项,以全局地影响文档布局的参数,如字号、纸张大小、单双面等等。 +可选参数 \Arg{options} 为文档类指定选项,以全局地规定一些排版的参数,如字号、纸张大小、单双面等等。 比如调用 \cls{article} 文档类排版文章,指定纸张为 A4 大小,基本字号为 11pt,双面排版: \begin{verbatim} \documentclass[11pt,twoside,a4paper]{article} \end{verbatim} -\LaTeX\ 的三个标准文档类可指定的选项见表 \ref{tbl:ltx-options}。 - -\begin{table}[htp] -\caption{\LaTeX\ 的三个标准文档类可指定的选项。}\label{tbl:ltx-options} -\hrule +\LaTeX\ 的三个标准文档类可指定的选项包括: \begin{description} \item[\texttt{10pt, 11pt, 12pt}] \quad 指定文档的基本字号。缺省为 \texttt{10pt}。 -\item[\texttt{a4paper, letterpaper, \ldots}] \quad 指定纸张大小,默认为美式纸张 \texttt{letterpaper}。 +\item[\texttt{a4paper, letterpaper, \ldots}] \quad 指定纸张大小,缺省为美式信纸 \texttt{letterpaper} ($8.5\times11$英寸)。 可指定选项还包括 \texttt{a5paper},\texttt{b5paper},\texttt{executivepaper} 和 \texttt{legalpaper}。 -\item[\texttt{fleqn}] \quad 令行间公式左对齐(缺省为居中)。 +\item[\texttt{twoside, oneside}] \quad 指定单面/双面排版。双面排版时,奇偶页的页眉页脚、页边距不同。 +\cls{article} 和 \cls{report} 缺省为 \texttt{oneside},\cls{book} 缺省为 \texttt{twoside}。 + +\item[\texttt{onecolumn, twocolumn}] \quad 指定单栏/双栏排版。缺省为 \texttt{onecolumn}。 -\item[\texttt{leqno}] \quad 将公式编号放在左边(缺省为右边)。 +\item[\texttt{openright, openany}] \quad 指定新的一章 \cmd{chapter} 是在奇数页(右侧)开始,还是直接紧跟着上一页开始。 +\cls{report} 缺省为 \texttt{openany},\cls{book} 缺省为 \texttt{openright}。对 \cls{article} 无效。 + +\item[\texttt{landscape}] \quad 指定横向排版。缺省为纵向。 \item[\texttt{titlepage, notitlepage}] 指定标题命令 \cmd{maketitle} 是否生成单独的标题页。 \cls{article} 缺省为 \texttt{notitlepage},\cls{report} 和 \cls{book} 缺省为 \texttt{titlepage}。 -\item[\texttt{onecolumn, twocolumn}] \quad 指定单栏/双栏排版。 +\item[\texttt{fleqn}] \quad 令行间公式左对齐。缺省为居中对齐。 -\item[\texttt{twoside, oneside}] \quad 指定单面/双面排版。双面排版时,奇偶页的页眉页脚、页边距不同。 -\cls{article} 和 \cls{report} 缺省为单面排版,\cls{book} 缺省为双面。 +\item[\texttt{leqno}] \quad 将公式编号放在左边。缺省为右边。 -\item[\texttt{landscape}] \quad 指定横向排版。缺省为纵向。 - -\item[\texttt{openright, openany}] \quad 指定新的一章 \cmd{chapter} 是在奇数页(右侧)开头,还是直接紧跟着上一页开头。 -\cls{report} 缺省为 \texttt{openany},\cls{book} 缺省为 \texttt{openright}。【对 \cls{article} 无效】 +\item[\texttt{draft, final}] \quad 指定草稿/终稿模式。 +草稿模式下,断行不良的地方会在行尾添加一个黑色方块。缺省为 \texttt{final}。 \end{description} -\hrule -\end{table} \subsection{宏包}\label{subsec:packages} \cmdindex{usepackage} \pinyinindex{hongbao}{宏包} \pinyinindex{xuanxiang}{选项(宏包/文档类)} -在编写 \LaTeX\ 源代码时,你时常会发现 \LaTeX\ 的基础功能不能满足你的需求,比如排版复杂的表格、插入图片、增加颜色甚至超链接等等。 -这时你需要依赖一些扩展来增强或补充 \LaTeX\ 的功能。这些扩展称为\textbf{宏包}。调用宏包的方法非常类似调用文档类的方法: +在使用 \LaTeX\ 时,时常需要依赖一些扩展来增强或补充 \LaTeX\ 的功能,比如排版复杂的表格、插入图片、增加颜色甚至超链接等等。 +这些扩展称为\textbf{宏包}。调用宏包的方法非常类似调用文档类的方法: \begin{command} \cmd{usepackage}\oarg{options}\marg{package-name} \end{command} -\cmd{usepackage}的参数里可以使用不止一个宏包,多个宏包用逗号隔开。这种用法一般不要指定选项% -\footnote{使用多个宏包时指定选项,相当于给每个宏包指定同样的选项。如果有某个宏包不能识别某个选项,则会出错。}: +\cmd{usepackage}可以一次性调用多个宏包,在 \Arg{package-name} 中用逗号隔开。这种用法一般不要指定选项% +\footnote{使用多个宏包时指定选项,相当于给每个宏包指定同样的选项。如果有某个宏包不能识别指定的选项,则会出错。}: \begin{verbatim} -% 一次性载入三个排版表格常用的宏包 +% 一次性调用三个排版表格常用的宏包 \usepackage{tabularx,makecell,multirow} \end{verbatim} @@ -343,7 +323,7 @@ xelatex helloworld.tex 详见附录 \ref{sec:pkg-manager}。 每个宏包(包括前面所说的文档类)都定义了许多命令和环境,或者修改了 \LaTeX\ 已有的命令和环境。 -为了明白它们的用法,需要查阅宏包和文档类的帮助手册。使用方法是在 Windows 命令提示符或者 Linux 终端下输入命令: +为了明白它们的用法,需要查阅宏包和文档类的帮助文档。使用方法是在 Windows 命令提示符或者 Linux 终端下输入命令: \begin{command} \texttt{texdoc} \Arg{pkg-name} \end{command} @@ -352,17 +332,19 @@ xelatex helloworld.tex \section{\LaTeX\ 用到的文件一览}\label{sec:latex-files} -除了我们需要编写的源代码 \texttt{.tex} 文件,我们还可能接触到形形色色的文件。本节简单介绍一下这些文件。 +除了源代码文件 \texttt{.tex} 以外,我们在使用 \LaTeX\ 时还可能接触到各种格式的文件。 +本节简单介绍一下在使用 \LaTeX\ 时能够经常见到的文件。 每个宏包和文档类都是带特定扩展名的文件,除此之外也有一些文件出现于 \LaTeX\ 模板中: \begin{description} - \item[\texttt{.sty}] 宏包文件。宏包的名称就是去掉扩展名的文件名。 - \item[\texttt{.cls}] 文档类文件。同样地,文档类名称就是文件名。 + \item[\texttt{.sty}] 宏包文件。宏包的名称与文件名一致。 + \item[\texttt{.cls}] 文档类文件。文档类名称与文件名一致。 \item[\texttt{.bib}] \hologo{BibTeX} 参考文献数据库文件。 \item[\texttt{.bst}] \hologo{BibTeX} 用到的参考文献格式模板。详见 \ref{subsec:bibtex-use} 小节。 \end{description} -\LaTeX\ 在编译过程中生成相当多的辅助文件和日志。一些功能如交叉引用、参考文献、目录、索引等,需要先编译生成辅助文件, +\LaTeX\ 在编译过程中除了生成 \texttt{.dvi} 或 \texttt{.pdf} 格式的文档外,还生成相当多的辅助文件和日志。 +一些功能如交叉引用、参考文献、目录、索引等,需要先通过编译生成辅助文件, 然后再次编译时读入辅助文件得到正确的结果,所以复杂的 \LaTeX\ 源代码可能要编译多次: \begin{description} \item[\texttt{.log}] 排版引擎生成的日志文件,供排查错误使用。 @@ -373,14 +355,14 @@ xelatex helloworld.tex \item[\texttt{.bbl}] \hologo{BibTeX} 生成的参考文献记录文件。 \item[\texttt{.blg}] \hologo{BibTeX} 生成的日志文件。 \item[\texttt{.idx}] \LaTeX\ 生成的供 makeindex 处理的索引记录文件。 - \item[\texttt{.ind}] makeindex 处理 \texttt{.idx} 生成的格式化索引记录文件。 + \item[\texttt{.ind}] makeindex 处理 \texttt{.idx} 生成的用于排版的格式化索引文件。 \item[\texttt{.ilg}] makeindex 生成的日志文件。 \item[\texttt{.out}] \pkg{hyperref} 宏包生成的 PDF 书签记录文件。 \end{description} \section{文件的组织方式}\label{sec:latex-multi-files} -当编写较大规模的 \LaTeX\ 源代码,如书籍、毕业论文等,你有理由将源代码分成若干个文件而不是写到一堆,比如很自然地每章写一个文件, +当编写较大规模的 \LaTeX\ 源代码,如书籍、毕业论文等,有理由将源代码分成若干个文件,比如每章内容为一个文件, 可参考源代码 \ref{code:book-struct} 的写法。 \cmdindex{include} @@ -391,11 +373,11 @@ xelatex helloworld.tex \Arg{filename} 为文件名,如果和要编译的主文件不在一个目录中,则要加上相对或绝对路径,例如: \begin{verbatim} \include{chapters/a.tex} % 相对路径 -\include{/home/Bob/file.tex} % Linux 绝对路径 -\include{D:/file.tex} % Windows 绝对路径 +\include{/home/Bob/file.tex} % Linux/macOS 绝对路径 +\include{D:/file.tex} % Windows 绝对路径,用正斜线 \end{verbatim} -\Arg{filename} 可以不带扩展名,此时默认为 \texttt{.tex};其它文件必须带扩展名。 +\Arg{filename} 可以不带扩展名,此时默认扩展名为 \texttt{.tex}。 \cmdindex{input} 值得注意的是 \cmd{include} 在读入 \Arg{filename} 之前会另起一页。有的时候我们并不需要这样,而是用 \cmd{input} 命令,它纯粹是把文件里的内容插入: @@ -419,6 +401,6 @@ xelatex helloworld.tex \syntaxonly \end{verbatim} -如果想生成文档,则将 \cmd{syntaxonly} 命令那一行用 \texttt\% 注释掉即可。 +如果想生成文档,则用 \texttt\% 注释掉 \cmd{syntaxonly} 命令即可。 \endinput
\ No newline at end of file |