summaryrefslogtreecommitdiff
path: root/info/lshort/chinese/src/chap/chap.01.basics.tex
diff options
context:
space:
mode:
Diffstat (limited to 'info/lshort/chinese/src/chap/chap.01.basics.tex')
-rw-r--r--info/lshort/chinese/src/chap/chap.01.basics.tex57
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} 命令,