diff options
Diffstat (limited to 'info/lshort/chinese/src/chap/chap.01.basics.tex')
-rw-r--r-- | info/lshort/chinese/src/chap/chap.01.basics.tex | 57 |
1 files changed, 32 insertions, 25 deletions
diff --git a/info/lshort/chinese/src/chap/chap.01.basics.tex b/info/lshort/chinese/src/chap/chap.01.basics.tex index ef0471b0f6..d2a2b7944d 100644 --- a/info/lshort/chinese/src/chap/chap.01.basics.tex +++ b/info/lshort/chinese/src/chap/chap.01.basics.tex @@ -17,9 +17,9 @@ 为扭转这种状况,他着手开发 \TeX{},发掘当时刚刚用于出版工业的数字印刷设备的潜力。 1982 年,高德纳发布 \TeX{} 排版引擎,而后在 1989 年又为更好地支持 8-bit 字符和多语言排版而予以改进。 \TeX{} 以其卓越的稳定性、跨平台能力和几乎没有 bug 的特性而著称。 -它的版本号不断趋近于 $\pi$,当前为 3.14159265。 +它的版本号不断趋近于 $\pi$,当前为 3.141592653。 -\TeX{} 读作 ``Tech'',与汉字“泰赫”的发音相近,其中 ``ch'' 的发音类似于 ``h''。\TeX{} 的拼写来自希腊词语 +\TeX{} 读作“Tech”,与汉字“泰赫”的发音相近,其中“ch” 的发音类似于“h”。\TeX{} 的拼写来自希腊词语 τεχνική (technique,技术) 开头的几个字母,在 ASCII 字符环境中写作 \texttt{TeX}。 \subsection{\LaTeX}\label{subsec:latex} @@ -28,10 +28,10 @@ \index{LaTeX2e@\LaTeXe} \LaTeX{} 是一种使用 \TeX{} 程序作为排版引擎的格式(format),可以粗略地将它理解成是对 \TeX{} 的一层封装。 \LaTeX{} 最初的设计目标是分离内容与格式,以便作者能够专注于内容创作而非版式设计,并能以此得到高质量排版的作品。 -\LaTeX{} 起初由 Leslie Lamport 博士\cite{manual}开发,目前由 \LaTeX 3 工作组% +\LaTeX{} 起初由 Leslie Lamport 博士\cite{manual}开发,目前由 \LaTeX{} 工作组% \footnote{\url{https://www.latex-project.org}}进行维护。 -\LaTeX{} 读作 ``Lah-tech'' 或者 ``Lay-tech'',与汉字“拉泰赫”或“雷泰赫”的发音相近,在 ASCII 字符环境写作 \texttt{LaTeX}。 +\LaTeX{} 读作“Lah-tech” 或者“Lay-tech”,与汉字“拉泰赫”或“雷泰赫”的发音相近,在 ASCII 字符环境写作 \texttt{LaTeX}。 \LaTeXe{} 是 \LaTeX{} 的当前版本,意思是超出了第二版,但还远未达到第三版,在 ASCII 字符环境写作 \texttt{LaTeX2e}。 \subsection{\LaTeX{} 的优缺点}\label{subec:advs} @@ -48,7 +48,7 @@ \item 绝大多数时候,用户只需专注于一些组织文档结构的基础命令,无需(或很少)操心文档的版面设计。 \item 很容易生成复杂的专业排版元素,如脚注、交叉引用、参考文献、目录等。 \item 强大的可扩展性。世界各地的人开发了数以千计的 \LaTeX{} 宏包用于补充和扩展 \LaTeX{} 的功能。 - 本手册附录中的 \ref{sec:pkg-list} 小节可见一瞥。更多的宏包参考 \textit{The \LaTeX{} companion}\cite{companion}。 + 一些常用宏包列在了本手册附录中的 \ref{sec:pkg-list} 小节。更多的宏包参考 \textit{The \LaTeX{} companion}\cite{companion}。 \item 能够促使用户写出结构良好的文档——而这也是 \LaTeX{} 存在的初衷。 \item \LaTeX{} 和 \TeX{} 及相关软件是跨平台、免费、开源的。 无论用户使用的是 Windows,macOS(OS X),GNU/Linux 还是 FreeBSD 等操作系统,都能轻松获得和使用这一强大的排版工具,并且获得稳定的输出。 @@ -56,13 +56,13 @@ \LaTeX{} 的缺点也是显而易见的: \begin{itemize} - \item 入门门槛高。本手册的副标题叫做 “\pageref{lshort-minutes}~分钟了解 \LaTeXe ”, - 实际上 \pageref{lshort-minutes} 是本手册正文部分(包括附录)的页数。如果你以平均一页一分钟的速度看完了本手册, + \item 入门门槛高。本手册的副标题叫做“\pageref{lshort-minutes}~分钟了解 \LaTeXe”, + 实际上“\pageref{lshort-minutes}”是本手册正文部分(包括附录)的页数。如果真的以平均一页一分钟的速度看完了本手册, 你只是粗窥门径而已,离学会它还很远。 \item 不容易排查错误。\LaTeX{} 作为一个依靠编写代码工作的排版工具,其使用的宏语言比 C++ 或 Python 等程序设计语言在错误排查方面困难得多。 它虽然能够提示错误,但不提供调试的机制,有时错误提示还很难理解。 \item 不容易定制样式。\LaTeX{} 提供了一个基本上良好的样式,为了让用户不去关注样式而专注于文档结构。 - 但如果想要改进 \LaTeX{} 生成的文档样式则是十分困难。 + 但如果想要改进 \LaTeX{} 生成的文档样式则是十分困难的。 \item 相比“所见即所得”的模式有一些不便,为了查看生成文档的效果,用户总要不停地编译。 \end{itemize} @@ -137,7 +137,7 @@ xelatex helloworld \begin{Verbatim} \documentclass{ctexart} \begin{document} - “你好,世界!” 来自 \LaTeX{} 的问候。 + “你好,世界!”来自 \LaTeX{} 的问候。 \end{document} \end{Verbatim} \caption{在\LaTeX{} 中排版中文的最简源代码示例。}\label{code:hello-world-chinese} @@ -209,12 +209,12 @@ or \TeX{} users? \pinyinindex{wendanglei}{文档类} \pinyinindex{hongbao}{宏包} \LaTeX{} 源代码以一个 \cmd{document\-class} 命令作为开头,它指定了文档使用的\textbf{文档类}。 -\env{document} 环境当中的内容是文档正文。 +\env{doc\-u\-ment} 环境当中的内容是文档正文。 \cmdindex{usepackage} \pinyinindex{daoyanqu}{导言区} 在 \cmd{documentclass} 和 \cmd{begin}\marg*{document} 之间的位置称为\textbf{导言区}。 -在导言区中一般会使用 \cmd{use\-package} 命令调用\textbf{宏包},还会进行文档的全局设置。 +在导言区中常会使用 \cmd{use\-package} 命令调用\textbf{宏包},还会进行文档的全局设置。 \begin{verbatim} \documentclass{...} % ... 为某文档类 % 导言区 @@ -237,10 +237,10 @@ or \TeX{} users? \cmd{documentclass}\oarg{options}\marg{class-name} \end{command} -\clsindex{article,book,report} +\clsindex{article,report,book} \clsindex{ctexart,ctexrep,ctexbook} -其中 \Arg{class-name} 为文档类的名称,如 \LaTeX{} 提供的 \cls{article}, \cls{book}, \cls{report}, -在其基础上派生的一些文档类如支持中文排版的 \cls{ctexart} / \cls{ctexbook} / \cls{ctexrep}, +其中 \Arg{class-name} 为文档类的名称,如 \LaTeX{} 提供的 \cls{article}, \cls{report}, \cls{book}, +在其基础上派生的一些文档类如支持中文排版的 \cls{ctexart} / \cls{ctexrep} / \cls{ctexbook}, 或者有其它功能的一些文档类,如 \cls{moderncv} / \cls{beamer} 等。 \LaTeX{} 提供的基础文档类见表 \ref{tbl:ltx-classes},其中前三个习惯上称为“标准文档类”。 @@ -271,8 +271,10 @@ or \TeX{} users? \LaTeX{} 的三个标准文档类可指定的选项包括: \begin{description} \item[\texttt{10pt, 11pt, 12pt}] \quad 指定文档的基本字号。默认为 \texttt{10pt}。 -\item[\texttt{a4paper, letterpaper, \ldots}] \quad 指定纸张大小,默认为美式信纸 \texttt{letterpaper} ($8.5\times11$英寸)。 +\item[\texttt{a4paper, letterpaper, \ldots}] \quad 指定纸张大小,默认为美式信纸 \texttt{letterpaper} +($8.5\,\text{in}\times11\,\text{in}$,大约相当于 $21.6\,\text{cm}\times28.0\,\text{cm}$)。 可指定选项还包括 \texttt{a5paper},\texttt{b5paper},\texttt{executivepaper} 和 \texttt{legalpaper}。 +有关纸张大小的更多细节,请参考 \ref{subsec:geometry} 小节。 \item[\texttt{twoside, oneside}] \quad 指定单面/双面排版。双面排版时,奇偶页的页眉页脚、页边距不同。 \cls{article} 和 \cls{report} 默认为 \texttt{oneside},\cls{book} 默认为 \texttt{twoside}。 \item[\texttt{onecolumn, twocolumn}] \quad 指定单栏/双栏排版。默认为 \texttt{onecolumn}。 @@ -284,7 +286,7 @@ or \TeX{} users? \item[\texttt{fleqn}] \quad 令行间公式左对齐。默认为居中对齐。 \item[\texttt{leqno}] \quad 将公式编号放在左边。默认为右边。 \item[\texttt{draft, final}] \quad 指定草稿/终稿模式。 -草稿模式下,断行不良的地方会在行尾添加一个黑色方块。默认为 \texttt{final}。 +草稿模式下,断行不良(溢出)的地方会在行尾添加一个黑色方块;插图、超链接等功能也会受这一组选项影响,具体见后文。默认为 \texttt{final}。 \end{description} \subsection{宏包}\label{subsec:packages} @@ -360,15 +362,15 @@ or \TeX{} users? \begin{command} \cmd{include}\marg{filename} \end{command} -\Arg{filename} 为文件名,如果和要编译的主文件不在一个目录中,则要加上相对或绝对路径,例如: +\Arg{filename} 为文件名(不带 \texttt{.tex} 扩展名)% +\footnote{\LaTeX{} 2020-10-01 版本之后允许添加扩展名。}, +如果和要编译的主文件不在一个目录中,则要加上相对或绝对路径,例如: \begin{verbatim} -\include{chapters/a.tex} % 相对路径 -\include{/home/Bob/file.tex} % *nix (包含 Linux、macOS(OS X))绝对路径 -\include{D:/file.tex} % Windows 绝对路径,用正斜线 +\include{chapters/file} % 相对路径 +\include{/home/Bob/file} % *nix(包含 Linux、macOS)绝对路径 +\include{D:/file} % Windows 绝对路径,用正斜线 \end{verbatim} -\Arg{filename} 可以不带扩展名,此时默认扩展名为 \texttt{.tex}。 - \cmdindex{input} 值得注意的是 \cmd{include} 在读入 \Arg{filename} 之前会另起一页。有的时候我们并不需要这样,而是用 \cmd{input} 命令,它纯粹是把文件里的内容插入: @@ -376,15 +378,20 @@ or \TeX{} users? \cmd{input}\marg{filename} \end{command} -特别要注意的是,使用 \cmd{include} 和 \cmd{input} 命令载入的文件名\textbf{一定不要加空格},否则通常会出错。 +当导言区内容较多时,常常将其单独放置在一个 \texttt{.tex} 文件中,再用 \cmd{input} 命令插入。 +复杂的图、表、代码等也会用类似的手段处理。 \cmdindex{includeonly} -另外 \LaTeX{} 提供了一个 \cmd{includeonly} 命令来组织文件,用于\textbf{导言区},指定只载入某些文件: +\LaTeX{} 还提供了一个 \cmd{includeonly} 命令来组织文件,用于\textbf{导言区},指定只载入某些文件。 +导言区使用了 \cmd{includeonly} 后,正文中不在其列表范围的 \cmd{include} 命令不会起效: \begin{command} \cmd{includeonly}\marg*{\Arg{filename1},\Arg{filename2},\ldots} \end{command} -导言区使用了 \cmd{includeonly} 后,正文中不在其列表范围的 \cmd{include} 命令不会起效。 +需要注意的是,使用 \cmd{include} 和 \cmd{input} 命令载入的文件名最好不要加空格和特殊字符,也尽量 +避免使用中文名,否则很可能会出错% +\footnote{\LaTeX{} 在 2019 到 2020 年间做出了一系列更新,文件名中包含操作系统所允许的字符时 +均不再出错。但保险起见,仍然建议使用拉丁字母、数字、连字符等较为安全的字符组成文件名。}。 \pkgindex{syntonly} 最后介绍一个实用的工具宏包 \pkg{syntonly}。加载这个宏包后,在导言区使用 \cmd{syntaxonly} 命令, |