diff options
19 files changed, 685 insertions, 523 deletions
diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/README-zh.md b/Master/texmf-dist/doc/latex/lshort-chinese/README-zh.md index 200ab8b2aeb..4f5b53ca017 100644 --- a/Master/texmf-dist/doc/latex/lshort-chinese/README-zh.md +++ b/Master/texmf-dist/doc/latex/lshort-chinese/README-zh.md @@ -1,4 +1,4 @@ -# 中文版 lshort,5.11 版 +# 中文版 lshort,6.0 版 ## 许可证 diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/README.md b/Master/texmf-dist/doc/latex/lshort-chinese/README.md index 6a5974b5bde..d9514a146b1 100644 --- a/Master/texmf-dist/doc/latex/lshort-chinese/README.md +++ b/Master/texmf-dist/doc/latex/lshort-chinese/README.md @@ -1,4 +1,4 @@ -# The Not So Short Introduction To LaTeX (Chinese Edition), v5.11 +# The Not So Short Introduction To LaTeX (Chinese Edition), v6.0 ## License diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/lshort-zh-cn.pdf b/Master/texmf-dist/doc/latex/lshort-chinese/lshort-zh-cn.pdf Binary files differindex 797d29b4b2f..be8ad286006 100644 --- a/Master/texmf-dist/doc/latex/lshort-chinese/lshort-zh-cn.pdf +++ b/Master/texmf-dist/doc/latex/lshort-chinese/lshort-zh-cn.pdf diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/app.A.install.tex b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/app.A.install.tex index ae7d3b11416..0912161a719 100644 --- a/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/app.A.install.tex +++ b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/app.A.install.tex @@ -25,7 +25,7 @@ \end{itemize} \TeX\ Live 和 Mik\TeX\ 都集成了一个简单的 \LaTeX\ 源代码编辑器 \TeX works(Mac\TeX\ 则集成了类似的 \TeX shop)。 -用户在完成发行版的安装后,可直接打开编辑器开始编写 \LaTeX\ 源代码。 +用户在安装完毕,可直接使用 \TeX works 编写和编译 \LaTeX\ 源代码。 \subsection{安装发行版}\label{subsec:install-dists} diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/app.B.error.help.tex b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/app.B.error.help.tex index 612642ae1e0..d96c53ed030 100644 --- a/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/app.B.error.help.tex +++ b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/app.B.error.help.tex @@ -117,7 +117,7 @@ l.3 Test \LaTEx \cmd{re\-new\-command} 或 \cmd{re\-new\-environment} 定义;如果是宏包定义的命令产生了这个错误,则属于隐性的宏包冲突。 相比之前的 ``Option Clash''{},隐性宏包冲突是更难以解决的问题,对各种宏包不熟悉的用户,尤其是使用模板的用户而言,往往难以下手。 -用户可尝试查找引起冲突的宏包的帮助手册。详尽的手册里通常会告知用户这个宏包应当在某个宏包的前面/后面调用,或者不能与某个宏包一起调用。 +用户可尝试查找引起冲突的宏包的帮助文档。详尽的手册里通常会告知用户这个宏包应当在某个宏包的前面/后面调用,或者不能与某个宏包一起调用。 如果是模板调用了大量宏包导致冲突,可联系模板的作者解决。 \item \LaTeXerror{! LaTeX Error: Unknown option `\ldots' for package `\ldots'.} @@ -135,12 +135,12 @@ l.3 Test \LaTEx \index{texdoc@\texttt{texdoc} 工具} 无论是 \TeX\ Live 还是 Mik\TeX\ ,提供了一个命令行模式的程序 \texttt{texdoc}。 比如对 \ref{subsec:fancyhdr} 小节的 \pkg{fancyhdr} 宏包感兴趣,这时在 Windows 命令提示符或者 Linux 终端输入以下命令, -则会弹出宏包的帮助手册 \texttt{fancyhdr.pdf}: +则会弹出宏包的帮助文档 \texttt{fancyhdr.pdf}: \begin{verbatim} texdoc fancyhdr \end{verbatim} -除了宏包的帮助手册外,\TeX\ 发行版还包括了各类有用的文档,有一部分在参考文献中给出。 +除了宏包的帮助文档外,\TeX\ 发行版还包括了各类有用的文档,有一部分在参考文献中给出。 如果不熟悉命令行工具的话,\TeX\ Live 提供了一个图形界面的程序 TeXdoc GUI。打开后,可以看到程序里的许多按钮,分别代表某一类的帮助文档。 除此之外,点击 File Search 弹出搜索框,输入想要搜索的宏包和文件并按回车键,TeXdoc GUI 会弹出它搜索到的所有结果,可点击任意一项来打开文档。 diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/biblio.tex b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/biblio.tex index 53d3b5c5ba1..dd27fdd8aec 100644 --- a/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/biblio.tex +++ b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/biblio.tex @@ -35,7 +35,7 @@ \bibitem{texbytopic} Victor Eijkhout. \newblock \emph{\TeX\ by Topic, A \TeX nician's Reference}. \newblock Addison-Wesley, Reading, Massachusetts, 1992, ISBN~0-201-56882-9. \\ - \CTAN|info/texbotopic/TeXbyTopic.pdf| (\texttt{texdoc texbytopic}) + \CTAN|info/texbytopic/TeXbyTopic.pdf| (\texttt{texdoc texbytopic}) \item[\S] {\bfseries \TeX\ 发行版内置的资源(除宏包帮助手册之外的一些文档), 可以在本地使用 \texttt{texdoc} 命令查找,也可以在 CTAN 上找到:} @@ -89,7 +89,7 @@ \newblock \emph{The \LaTeX\ font catalogue}, a font catalogue of \LaTeX\ font packages.\\ \url{http://www.tug.dk/FontCatalogue/} -\bibitem{ltxprimer} Indian \TeX\ user group. +\bibitem{ltxprimer} Indian \TeX\ users group. \newblock \emph{\LaTeX\ Tutorials: A primer}. \\ \url{http://www.tug.org/twg/mactex/tutorials/ltxprimer-1.0.pdf} 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 diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.02.text.tex b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.02.text.tex index 6fa0c4704f8..69fc3421bd1 100644 --- a/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.02.text.tex +++ b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.02.text.tex @@ -5,8 +5,8 @@ 文字是排版的基础。在介绍 \LaTeX\ 支持的各种文档元素之前,首先应当了解一下如何在 \LaTeX\ 源代码中输入并排版文字, 尤其是(西文中的)标点符号、连字符、重音等一些细节。 -本文的开头首先介绍了中文的支持方式。随着 \LaTeX\ 和底层 \TeX\ 引擎的发展,旧方式(CCT、CJK 宏包等)日渐退出舞台, -xelatex 编译命令配合 \cls{xeCJK} 宏包的方式成为主流。 +本文的开头首先介绍了中文的支持方式。随着 \LaTeX\ 和底层 \TeX\ 引擎的发展,旧方式(CCT、CJK 等)日渐退出舞台, +xelatex 编译命令配合 \cls{xeCJK} 或 \cls{ctex} 宏包的方式成为主流。 \end{intro} \section{语言文字和编码}\label{sec:encoding} @@ -30,20 +30,18 @@ ASCII (美国通用信息交换码)使用 0x00-0x7F 对文字编码,也就 \index{bianma@编码!Latin-1} \pkgindex{inputenc} -现在的 \TeX\ 程序支持 8-bit,能够识别源代码里编码处于 0x80-0xFF 范围的字符。 +\TeX\ 从 3.0 版开始支持 8-bit,能够处理源代码里编码处于 0x80-0xFF 范围的字符。 西欧(拉丁字母)、俄语系(西里尔字母)等语言的编码方案刚好能够利用 0x80-0xFF 这个范围,处理起来较为方便。 \texttt{latex} 命令及 \texttt{pdflatex} 命令下,这些编码的处理由 \pkg{inputenc} 宏包支持。 比如将源代码保存为 Latin-1 编码,并在导言区调用宏包: \begin{verbatim} \usepackage[latin1]{inputenc} \end{verbatim} - 接下来,M\"obius 就直接可以通过(用适当输入法)输入 \texttt{M\"obius} 得到了。 \index{bianma@编码!GBK} GBK 等编码是多字节编码,ASCII 字符为一个字节,汉字等非 ASCII 字符为两个字节,这就需要借助一些宏包进行较为复杂的判断和处理。 \pkg{CJK} 宏包就是用于处理中、日、韩等多字节编码的语言文字的宏包。但 \pkg{CJK} 宏包的使用非常不方便,笔者不再推荐直接使用。 -后一节将简单介绍现在推荐的中文支持方案。 \subsection{UTF-8 编码}\label{subsec:utf8} @@ -52,12 +50,12 @@ Unicode 是一个多国字符的集合,覆盖了几乎全球范围内的语言 一个字符可以由一个到四个字节编码,其中单字节字符兼容 ASCII 编码。 \pkgindex{inputenc} -\texttt{latex} 命令及 \texttt{pdflatex} 命令下可以使用 \pkg{inputenc} 宏包支持 UTF-8: +\texttt{latex} 命令及 \texttt{pdflatex} 命令下可以使用 \pkg{inputenc} 宏包支持 UTF-8 编码: \begin{verbatim} \usepackage[utf8]{inputenc} \end{verbatim} -\texttt{xelatex} 命令原生支持 UTF-8 编码,而且也\textbf{不适用 \pkg{inputenc} 宏包}。将 \texttt{.tex} 源代码保存为 UTF-8 编码, +\texttt{xelatex} 和 \texttt{lualatex} 命令原生支持 UTF-8 编码,而且也\textbf{不适用 \pkg{inputenc} 宏包}。将 \texttt{.tex} 源代码保存为 UTF-8 编码, 并借助 \pkg{fontspec} 宏包(见 \ref{subsec:fontspec} 小节)调用适当的字体,就可以在源代码中输入任意语言的文字。 但各个语言(印地语、阿拉伯语等)的特殊排版要求需要更多的宏包支持,如 \pkg{babel}、 \pkg{polyglossia} 等。 @@ -83,7 +81,7 @@ Unicode 是一个多国字符的集合,覆盖了几乎全球范围内的语言 \usepackage{xeCJK} \setCJKmainfont{SimSun} \begin{document} -中文LaTeX排版。 +中文\LaTeX{}排版。 \end{document} \end{verbatim} @@ -93,16 +91,15 @@ Unicode 是一个多国字符的集合,覆盖了几乎全球范围内的语言 \clsindex{ctexart,ctexbook,ctexrep} \pkg{ctex} 宏包和文档类是对 \pkg{CJK} 和 \pkg{xeCJK} 等宏包的进一步封装。\pkg{ctex} 文档类包括 \cls{ctexart} / \cls{ctexrep} / \cls{ctexbook},是对 \LaTeX\ 的三个标准文档类的封装,对 \LaTeX\ 的排版样式做了许多调整, -以切合中文排版风格。最新版本的 \pkg{ctex} 宏包/文档类甚至支持自动配置字体。比如上述例子可进一步简化为: +以切合中文排版风格。最新版本的 \pkg{ctex} 宏包/文档类甚至能够根据操作系统自动配置字体。比如上述例子可进一步简化为: \begin{verbatim} \documentclass{ctexart} \begin{document} -中文LaTeX排版。 +中文\LaTeX{}排版。 \end{document} \end{verbatim} -\pkg{ctex} 宏包/文档类支持源代码保存为 UTF-8 和 GBK 编码\footnote{使用 GBK 编码时,要为文档类指定 GBK 选项。详见 \pkg{ctex} 宏包手册。}, -用 \texttt{latex} + \texttt{dvipdfmx} 命令、\texttt{pdflatex} 或 \texttt{xelatex} 命令(只支持 UTF-8 编码)都能够编译。 +虽然 \pkg{ctex} 宏包和文档类保留了对 GBK 编码以及 \texttt{latex} + \texttt{dvipdfmx}、\texttt{pdflatex} 等旧的编译命令的支持, 笔者建议在使用 \pkg{ctex} 宏包和文档类时总是将源代码保存为 UTF-8 编码,用 \texttt{xelatex} 命令编译。 \section{\LaTeX\ 中的字符}\label{sec:text-symbols} @@ -114,7 +111,7 @@ Unicode 是一个多国字符的集合,覆盖了几乎全球范围内的语言 \cmdindex{par} 行末的回车视为一个空格;但连续两个回车,也就是空行,会将文字分段。多个空行被视为一个空行。 -也可以在行末使用 \cmd{par} 命令分段: +也可以在行末使用 \cmd{par} 命令分段。 \begin{example} Several spaces equal one. Front spaces are ignored. @@ -127,9 +124,9 @@ starts a new line. \subsection{注释}\label{subsec:comments} -\index{%@\texttt\% (\textit{注释})} +\index{^^e@\texttt\% (\textit{注释})} \LaTeX\ 用 \texttt\% 字符作为注释。在这个字符之后直到行末,所有的字符都被忽略, -行末的回车也不引入空格。见如下示例: +行末的回车也不引入空格。 \begin{example} This is an % short comment % --- @@ -151,8 +148,7 @@ ak a word. 如果想要输入以上符号,需要使用以下带反斜线的形式输入: \begin{example} \# \$ \% \& \{ \} \_ -\^{} \~{} -\textbackslash +\^{} \~{} \textbackslash \end{example} 事实上这些带反斜线的形式就是 \LaTeX\ 命令。\cmd{\textasciicircum} 和 \cmd{\textasciitilde} @@ -210,7 +206,7 @@ one, two, three, \ldots one hundred. \subsubsection{波浪号} 我们在 \ref{subsec:special-chars} 小节中了解了 \cmd{\textasciitilde} 命令,它可以用来输入波浪号, -但位置靠顶端,可能不甚理想(位于顶端的原因是波浪号主要用作重音,参考下一小节)。有的人可能喜欢用数学公式里的 \cmd{sim} 符号来代替: +但位置靠顶端,可能不甚理想(\cmd{\textasciitilde} 命令主要用作重音,参考下一小节)。有的人可能喜欢用数学公式里的 \cmd{sim} 符号来代替: \begin{example} 1\~{}3 \qquad 1$\sim$2 \end{example} @@ -229,13 +225,13 @@ Sch\"onbrunner Schlo\ss{} Stra\ss e \end{example} -更多可用的符号和重音见表 \ref{tbl:accents}。注意这些重音符号不可和与之相似的数学重音混用。 +更多可用的符号和重音见表 \ref{tbl:accents}。注意与 \ref{subsec:math-accents} 小节的数学重音区分开来。 \def\TSYM #1{#1 & \texttt{\string#1}} \def\TACC #1#2{#1{#2} & \texttt{\string#1#2}} % accents using a control character \def\TTACC #1#2{#1{#2} & \texttt{\string#1 #2}} % accents using a control word \def\WTACC #1#2{#1{#2} & \texttt{\string#1\{#2\}}} % multi-letter accents -\begin{table}[htbp] +\begin{table}[htp] \centering \caption{\LaTeX\ 文本中的重音和特殊字符。} \label{tbl:accents} \begin{tabular}{*4{cl}} @@ -251,7 +247,7 @@ Stra\ss e \hline \end{tabular} \begin{quote}\footnotesize% -前四行实际上都是命令带一个参数的写法,实际上 \cmd{\textasciicircum}\texttt{o} 也可以写作 +前四行实际上都是带一个参数的命令。\cmd{\textasciicircum}\texttt{o} 也可以写作 \cmd{\textasciicircum}\marg*{o},以此类推。 \end{quote} \end{table} @@ -290,7 +286,7 @@ Stra\ss e \section{文字强调}\label{sec:emph} -强调文字的方法,要么是添加一些下划线或者装饰物,要么是改变文字的字体。 +强调文字的方法,要么是添加下划线等装饰物,要么是改变文字的字体。 \cmdindex{underline} \LaTeX\ 定义了 \cmd{underline} 命令用来为文字添加下划线: @@ -342,10 +338,12 @@ Donale~E. Knuth \index{\@\crcmd\ (\textit{换行})} \cmdindex{newline} 如果我们确实需要手动断行,可使用如下命令: \begin{command} -\crcmd \quad or \quad \cmd{newline} +\crcmd \oarg{length} \\ +\cmd{newline} \end{command} -\crcmd\ 也在表格、公式等地方用于分行,而 \cmd{newline} 只用于文本段落中。 +它们有两点区别:一是 \crcmd\ 可以带可选参数 \Arg{length},用于在换行的地方增加垂直间距(见 \ref{subsec:vspace} 小节), +而 \cmd{newline} 不带可选参数;二是 \crcmd\ 也在表格、公式等地方用于分行,而 \cmd{newline} 只用于文本段落中。 \cmdindex{newpage,clearpage} 断页的命令有两个: diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.03.elements.tex b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.03.elements.tex index c81a4b4e94e..ba3347fa1ae 100644 --- a/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.03.elements.tex +++ b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.03.elements.tex @@ -12,19 +12,19 @@ \cmdindex{chapter,section,subsection,subsubsection,paragraph,subparagraph} \clsindex{article,book,report} -一篇结构化的、条理清晰文档一定是层次分明的,通过不同的命令分割为章、节、小节。\LaTeX\ 的三个标准文档类 \cls{article}、\cls{report} 和 \cls{book}% +一篇结构化的、条理清晰文档一定是层次分明的,通过不同的命令分割为章、节、小节。三个标准文档类 \cls{article}、\cls{report} 和 \cls{book}% \footnote{千万注意是\textbf{标准文档类},其它文档类,如果不是从标准文档类衍生而来, 很可能没有定义或只定义了一部分命令,如 \cls{beamer} 或 \cls{moderncv} 等。}% -提供了一系列命令,用以划分章节、生成章节标题并自动编号: +提供了划分章节的命令: \begin{command} \cmd{chapter}\marg{title} \quad -\cmd{section}\marg{title} \\ -\cmd{subsection}\marg{title} \quad -\cmd{subsubsection}\marg{title} \\ +\cmd{section}\marg{title} \quad +\cmd{subsection}\marg{title} \\ +\cmd{subsubsection}\marg{title} \quad \cmd{paragraph}\marg{title} \quad \cmd{subparagraph}\marg{title} \end{command} -其中 \cmd{chapter} \textbf{只在 \cls{book} 和 \cls{report} 文档类有定义}。 +其中 \cmd{chapter} \textbf{只在 \cls{book} 和 \cls{report} 文档类有定义}。这些命令生成章节标题,并能够自动编号。 \cmdindex{part} \cmd{part} 命令用以将整个文档分割为大的分块,但不影响 \cmd{chapter} 或 \cmd{section} 等的编号: @@ -48,7 +48,7 @@ 对此的详细解释和调整方法见 \ref{subsec:latex-counts} 小节。 \pkgindex{titlesec} -\LaTeX\ 及标准文档类并未提供为 \cmd{section} 等章节命令定制格式的功能,这一功能由 \pkg{titlesec} 宏包提供。详情请参考宏包的帮助手册。 +\LaTeX\ 及标准文档类并未提供为 \cmd{section} 等章节命令定制格式的功能,这一功能由 \pkg{titlesec} 宏包提供。详情请参考宏包的帮助文档。 \subsection{目录}\label{sec:toc} @@ -92,12 +92,11 @@ 以上三个命令还可和 \cmd{appendix} 命令结合,生成有前言、正文、附录、后记四部分的文档。 源代码 \ref{code:book-struct} 结合 \ref{sec:latex-multi-files} 节的 \cmd{include} 命令和其它一些命令示意了一份完整的文档结构。 -\begin{sourcecode}[hbp] +\begin{sourcecode}[htp] \begin{Verbatim} \documentclass[...]{book} -% 导言区,加载宏包和各项设置 +% 导言区,加载宏包和各项设置,包括参考文献、索引等 \usepackage{...} -% 此处示意对参考文献和索引的设置 \usepackage{makeidx} \makeindex \bibliographystyle{...} @@ -107,7 +106,6 @@ \maketitle % 标题页 \include{preface} % 前言章节 preface.tex \tableofcontents - \mainmatter \include{chapter1} % 第一章 chapter1.tex \include{chapter2} % 第二章 chapter2.tex @@ -115,7 +113,6 @@ \appendix \include{appendixA} % 附录 A appendixA.tex ... - \backmatter \include{prologue} % 后记 prologue.tex \bibliography{...} % 利用 BibTeX 工具生成参考文献 @@ -128,6 +125,7 @@ \section{标题页}\label{sec:titlepage} \cmdindex{title,author,date,today} +\cmdindex{thanks,and} \LaTeX\ 支持生成简单的标题页。首先需要给定标题和作者等信息: \begin{command} \cmd{title}\marg{title} \quad @@ -136,24 +134,53 @@ \end{command} 其中前两个命令是必须的(不用 \cmd{title} 会报错;不用 \cmd{author} 会警告),\cmd{date} 命令可选。 \LaTeX\ 还提供了一个 \cmd{today} 命令自动生成当前日期,\cmd{date} 默认使用 \cmd{today}。 - -\cmdindex{thanks,and} -在 \cmd{title}、\cmd{author} 等命令内可以使用 \cmd{thanks} 命令生成标题页的脚注,用 \cmd{and} 隔开多个人名,如: -\begin{verbatim} -\author{Mary\thanks{E-mail:*****@***.com} - \and Ted\thanks{Corresponding author} - \and Louis} -\end{verbatim} +在 \cmd{title}、\cmd{author} 等命令内可以使用 \cmd{thanks} 命令生成标题页的脚注,用 \cmd{and} 隔开多个人名。 \cmdindex{maketitle} \pinyinindex{biaotiye}{标题页} -在信息给定后,就可以使用 +在信息给定后,就可以使用 \cmd{maketitle} 命令生成一个简单的标题页了: \begin{command} \cmd{maketitle} \end{command} -生成一个简单的标题页了。\cls{article} 文档类的标题默认不单独成页,而 \cls{report} 和 \cls{book} 默认单独成页。 +源代码 \ref{code:titlepage} 给出了一个标题页的示例和大致效果。 +\cls{article} 文档类的标题默认不单独成页,而 \cls{report} 和 \cls{book} 默认单独成页。 可在 \cmd{document\-class} 命令调用文档类时指定 \texttt{titlepage / notitlepage} 选项以修改默认的行为。 +\begin{sourcecode}[htp] +\begin{Verbatim} +\title{Test title} +\author{ Mary\thanks{E-mail:*****@***.com} + \and Ted\thanks{Corresponding author} + \and Louis} +\date{\today} +\end{Verbatim} +\bigskip +\makeatletter +\begin{minipage}{\textwidth} + \centering + \renewcommand\thempfootnote{\@fnsymbol\c@mpfootnote}% + {\LARGE Test title \par}% + \vskip 1.5em% + {\large + \lineskip .5em% + \begin{tabular}[t]{c}% + Mary\footnote{E-mail:*****@***.com} + \end{tabular} + \hskip 1em \@plus.17fil% + \begin{tabular}[t]{c}% + Ted\footnote{Corresponding author} + \end{tabular} + \hskip 1em \@plus.17fil% + \begin{tabular}[t]{c}% + Louis + \end{tabular}\par}% + \vskip 1em% + {\large September 10, 2015}% +\end{minipage} +\makeatother +\caption{\LaTeX\ 默认的标题页示例和效果。}\label{code:titlepage} +\end{sourcecode} + \envindex{titlepage} \LaTeX\ 标准类还提供了一个简单的 \env{titlepage} 环境,生成不带页眉页脚的一页。用户可以在这个环境中使用各种排版元素自由发挥, 生成自定义的标题页以替代 \cmd{maketitle} 命令。甚至可以利用 \env{titlepage} 环境重新定义 \cmd{maketitle}: @@ -167,7 +194,7 @@ 以上是 \LaTeX\ 标准文档类的标题页相关命令用法。在各种文档模板中经常有自定义的标题页, 有可能需要除了 \cmd{title} 和 \cmd{author} 以外的命令给定信息,用法也可能与标准文档类的不一致 -(甚至有些模板可能没有定义 \env{titlepage} 等环境)。使用文档模板前\textbf{一定要仔细阅读文档模板的帮助手册}。 +(甚至有些模板可能没有定义 \env{titlepage} 等环境)。使用文档模板前\textbf{一定要仔细阅读文档模板的帮助文档}。 \section{交叉引用}\label{sec:crossref} @@ -204,7 +231,7 @@ page~\pageref{sec:this}.'' 在使用不记编号的命令形式(\cmd{section*}、\cmd{caption*}、带可选参数的 \cmd{item} 命令等)时不要使用 \cmd{label} 命令, 否则生成的引用编号不正确。 -\section{脚注}\label{sec:footnote} +\section{脚注和边注}\label{sec:footnote-marginpar} \cmdindex{footnote} 使用 \cmd{footnote} 命令可以在页面底部生成一个脚注: @@ -242,6 +269,20 @@ page~\pageref{sec:this}.'' \end{tabular} \footnotetext{表格里的名句出自《千字文》。} +\cmdindex{marginpar} +使用 \cmd{marginpar} 命令可在边栏位置生成边注: +\begin{command} +\cmd{marginpar}\oarg{left-margin}\marg{right-margin} +\end{command} +如果只给定了 \Arg{right-margin},那么边注在奇偶数页文字相同;如果同时给定了 \Arg{left-margin}, +则偶数页使用 \Arg{left-margin} 的文字。 + +例如以下代码: +\begin{verbatim} +\marginpar{\footnotesize 边注较窄,不要写过多文字,最好设置较小的字号。} +\end{verbatim} +其效果见边栏。\marginpar{\footnotesize 边注较窄,不要写过多文字。最好设置较小的字号。} + \section{特殊环境}\label{sec:envs} \subsection{列表}\label{subsec:lists} @@ -262,11 +303,9 @@ page~\pageref{sec:this}.'' \begin{enumerate} \item An item. \begin{enumerate} - \item A nested item. + \item A nested item.\label{itref} \item[*] A starred item. - \item Another item. \label{itref} \end{enumerate} - \item Go back to upper level. \item Reference(\ref{itref}). \end{enumerate} \end{example} @@ -298,8 +337,33 @@ page~\pageref{sec:this}.'' \end{description} \end{example} -默认的列表间距比较宽,\LaTeX\ 本身也未提供方便的定制功能,而要用到 \pkg{enumitem} 宏包定制各种列表间距。 -\pkg{enumitem} 宏包还提供了对列表标签、引用等的定制。有兴趣的读者可参考其帮助手册。 +各级无序列表的符号由命令 \cmd{labelitemi} 到 \cmd{labelitemiv} 定义,可以简单地重新定义它们: +\begin{example} +\renewcommand{\labelitemi}{\ddag} +\renewcommand{\labelitemii}{\dag} +\begin{itemize} + \item First item + \begin{itemize} + \item Subitem + \item Subitem + \end{itemize} + \item Second item +\end{itemize} +\end{example} + +有序列表的符号由命令 \cmd{labelenumi} 到 \cmd{labelenumiv} 定义, +重新定义这些命令需要用到 \ref{sec:counters} 节的计数器相关命令: +\begin{example} +\renewcommand{\labelenumi}% + {\Alph{enumi}>} +\begin{enumerate} + \item First item + \item Second item +\end{enumerate} +\end{example} + +默认的列表间距比较宽,\LaTeX\ 本身也未提供方便的定制功能,可用 \pkg{enumitem} 宏包定制各种列表间距。 +\pkg{enumitem} 宏包还提供了对列表标签、引用等的定制。有兴趣的读者可参考其帮助文档。 \subsection{对齐环境}\label{subsec:flush} @@ -433,7 +497,7 @@ for (int i=0; i<4; ++i) \pkg{verbatim} 宏包优化了 \env{verbatim} 环境的内部命令,并提供了 \cmd{verbatiminput} 命令用来直接读入文件生成代码环境。 \pkg{fancyvrb} 宏包提供了可定制格式的 \env{Verbatim} 环境;\pkg{listings} 宏包更进一步,可生成关键字高亮的代码环境, -支持各种程序设计语言的语法和关键字。详情请参考各自的帮助手册。 +支持各种程序设计语言的语法和关键字。详情请参考各自的帮助文档。 \section{表格}\label{sec:tabular} @@ -543,6 +607,18 @@ for (int i=0; i<4; ++i) \end{tabular} \end{example} +\pkg{array} 宏包还提供了类似 \texttt{p} 格式的 \texttt{m} 格式和 \texttt{b} 格式, +三者分别在垂直方向上靠顶端对齐、居中以及底端对齐。 +\begin{example} +\newcommand\txt + {a b c d e f g h i} +\begin{tabular}{cp{2em}m{2em}b{2em}} + \hline + pos & \txt & \txt & \txt \\ + \hline +\end{tabular} +\end{example} + \subsection{列宽}\label{subsec:colwidth} 在控制列宽方面,\LaTeX\ 表格有着明显的不足:\texttt{l/c/r} 格式的列宽是由文字内容的自然宽度决定的, @@ -795,7 +871,7 @@ for (int i=0; i<4; ++i) \cmd{makebox}\oarg{width}\oarg{align}\marg*{\ldots} \end{command} -\cmd{mbox} 生成一个基本的水平盒子,内容只有一行(除非嵌套下文介绍的垂直盒子,或者其它内容),不允许分段。 +\cmd{mbox} 生成一个基本的水平盒子,内容只有一行,不允许分段(除非嵌套其它盒子,比如后文的垂直盒子)。 外表看上去,\cmd{mbox} 的内容与正常的文本无二,不过断行时文字不会从盒子里断开。 \cmd{makebox} 更进一步,可以加上可选参数用于控制盒子的宽度 \Arg{width},以及内容的对齐方式 \Arg{align}, @@ -954,7 +1030,7 @@ A \rule[-.4pt]{3em}{.4pt} line. \pkgindex{caption} \cmd{caption} 生成的标题形如 ``Figure 1: \ldots''{}(\env{figure} 环境)或 ``Table 1: \ldots''{}(\env{table} 环境)。 可通过修改 \cmd{figurename} 和 \cmd{tablename} 的内容来修改标题的前缀(详见第 \ref{sec:latex-settings} 节)。 -标题样式的定制功能由 \pkg{caption} 宏包提供,详见该宏包的帮助手册,在此不作赘述。 +标题样式的定制功能由 \pkg{caption} 宏包提供,详见该宏包的帮助文档,在此不作赘述。 \cmdindex{listoftables,listoffigures} \env{table} 和 \env{figure} 两种浮动体分别有各自的生成目录的命令: @@ -978,7 +1054,7 @@ A \rule[-.4pt]{3em}{.4pt} line. \end{figure} \end{verbatim} -\begin{figure}[htb] +\begin{figure}[htp] \centering \fcolorbox[gray]{0}{0.96}{\parbox{10em}{\vrule width 0pt height 10ex\hfil}} \qquad @@ -1007,7 +1083,7 @@ A \rule[-.4pt]{3em}{.4pt} line. \end{figure} \end{verbatim} -\begin{figure}[htb] +\begin{figure}[htp] \centering \begin{minipage}{12em} \centering @@ -1046,7 +1122,7 @@ A \rule[-.4pt]{3em}{.4pt} line. \end{figure} \end{verbatim} -\begin{figure}[htb] +\begin{figure}[htp] \centering \subfloat[并排子图1]{% \begin{minipage}{12em} diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.04.math.tex b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.04.math.tex index 959ed307ba3..85f80d3984c 100644 --- a/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.04.math.tex +++ b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.04.math.tex @@ -19,16 +19,16 @@ \section{公式排版基础}\label{sec:math-basics} +\subsection{行内和行间公式}\label{subsec:math-inline-display} + 数学公式有两种排版方式:其一是与文字混排,称为\textbf{行内公式};其二是单独列为一行排版,称为\textbf{行间公式}。 \pinyinindex{hangneigongshi}{行内公式} \index{^^d@\texttt\$ (\textit{数学模式})} 行内公式由一对 \texttt\$ 符号包裹: \begin{example} -Add $a$ squared and $b$ squared -to get $c$ squared. Or, using -a more mathematical approach: -$a^2 + b^2 = c^2$ +The Pythagorean theorem is +$a^2 + b^2 = c^2$. \end{example} \envindex{equation} @@ -40,17 +40,12 @@ $a^2 + b^2 = c^2$ 或者用 \amscmd{notag} 命令取消为公式编号(与之基本等效的命令是 \cmd{nonumber})。 \begin{example} -Add $a$ squared and $b$ squared -to get $c$ squared -\begin{equation} -a^2 + b^2 = c^2 -\end{equation} -Einstein says +The Pythagorean theorem is: \begin{equation} -E = mc^2 \label{clever} +a^2 + b^2 = c^2 \label{pythagorean} \end{equation} -This is a reference to -\eqref{clever}. +Equation \eqref{pythagorean} is +called `Gougu theorem' in Chinese. \end{example} \begin{example} @@ -67,20 +62,18 @@ or \cmdindex{[,]} \envindex{displaymath} \envindex[amsmath]{equation*} -当然你不会愿意为每个公式都手动取消编号。\LaTeX\ 提供了一对命令 \cmd{[} 和 \cmd{]} 用于生成不带编号的行间公式% +如果需要直接使用不带编号的行间公式,则将公式用命令 \cmd{[} 和 \cmd{]} 包裹% \footnote{\TeX\ 原生排版行间公式的方法是用一对 \texttt{\$\$} 符号包裹,不过无法通过指定 \texttt{fleqn} 选项控制左对齐, 与上下文之间的间距也不好调整,故不太推荐使用。}, 与之等效的是 \env{displaymath} 环境。有的人更喜欢 \amsenv{equation*} 环境,体现了带星号和不带星号的环境之间的区别。 \begin{example} -Again\ldots \begin{equation*} a^2 + b^2 = c^2 \end{equation*} -or you can type less for the -same effect: +For short: \[ a^2 + b^2 = c^2 \] -or if you like the long one: +Or if you like the long one: \begin{displaymath} a^2 + b^2 = c^2 \end{displaymath} @@ -105,16 +98,16 @@ In display: 行间公式的对齐、编号位置等性质由文档类选项控制,文档类的 \texttt{fleqn} 选项令行间公式左对齐; \texttt{leqno} 选项令编号放在公式左边。 -\subsection{数学模式和文本}\label{subsec:math-mode} +\subsection{数学模式}\label{subsec:math-mode} \pinyinindex{shuxuemoshi}{数学模式} \cmdindex[amsmath]{text} -当你使用 \texttt\$ 开启行内公式输入,或是使用 \cmd{[} 命令、\env{equation} 环境时,你就进入了所谓的\textbf{数学模式}。 +当你使用 \texttt\$ 开启行内公式输入,或是使用 \cmd{[} 命令、\env{equation} 环境时,\LaTeX\ 就进入了\textbf{数学模式}。 数学模式相比于文本模式有以下特点: \begin{enumerate} - \item 数学模式中输入的空格全部被忽略。数学符号的间隙默认完全由符号的性质(关系符号、运算符等)决定。 - 需要人为引入空隙时,使用 \cmd{quad} 和 \cmd{qquad} 等命令。详见 \ref{sec:math-space} 节。 - \item \textbf{不允许有空行(分段)},公式也无法自动换行或者用 \crcmd\ 换行。排版多行公式需要用到 \ref{sec:multi-eqns} 节介绍的各种环境。 + \item 数学模式中输入的空格被忽略。数学符号的间距默认由符号的性质(关系符号、运算符等)决定。 + 需要人为引入间距时,使用 \cmd{quad} 和 \cmd{qquad} 等命令。详见 \ref{sec:math-space} 节。 + \item \textbf{不允许有空行(分段)}。行间公式中也无法用 \crcmd\ 命令手动换行。排版多行公式需要用到 \ref{sec:multi-eqns} 节介绍的各种环境。 \item 所有的字母被当作数学公式中的变量处理,字母间距与文本模式不一致,也无法生成单词之间的空格。 如果想在数学公式中输入正体的文本,简单情况下可用 \ref{subsec:math-alpha} 小节中提供的 \cmd{mathrm} 命令。 或者用 \pkg{amsmath} 提供的 \amscmd{text} 命令% @@ -180,15 +173,13 @@ $f(x) = x^2 \quad f'(x) \mathindex{frac} \cmdindex[amsmath]{dfrac,tfrac} 分式使用 \cmd{frac}\marg*{分子}\marg*{分母} 来书写。分式的大小在行间公式中是正常大小,而在行内被极度压缩。 -\pkg{amsmath} 提供了方便的命令 \amscmd{dfrac} 和 \amscmd{tfrac},令用户能够在行内使用正常大小的行间公式,或是反过来。 +\pkg{amsmath} 提供了方便的命令 \amscmd{dfrac} 和 \amscmd{tfrac},令用户能够在行内使用正常大小的分式,或是反过来。 \begin{example} In display style: \[ 3/8 \qquad \frac{3}{8} \qquad \tfrac{3}{8} \] -\end{example} -\begin{example} In text style: $1\frac{1}{2}$~hours \qquad $1\dfrac{1}{2}$~hours @@ -308,8 +299,8 @@ In display: \end{example} \mathindex{limits,nolimits} -巨算符的上下标用作其上下限。行间公式中,积分号默认将上下限放在右上角和右下角,求和号默认在上下方;行内公式一律默认在右上角和右下角。 -可以在巨算符后使用 \cmd{limits} 手动令上下限显示在上下方,\cmd{nolimits} 则相反。 +巨算符的上下标位置可由 \cmd{limits} 和 \cmd{nolimits} 控制,前者令巨算符类似 $\lim$ 或求和算符 $\sum$,上下标位于上下方; +后者令巨算符类似积分号,上下标位于右上方和右下方。 \begin{example} In text: $\sum\limits_{i=1}^n \quad @@ -343,8 +334,8 @@ P(i,j) = Q(n) \subsection{数学重音和上下括号}\label{subsec:math-accents} \maccindex{dot,ddot,vec,hat} -数学符号可以像文字一样加重音,比如对时间求导的符号 $\dot{r}$ (\cmd{dot}\marg*{r})、 $\ddot{r}$ (\cmd{ddot}\marg*{r}) -、表示向量的箭头 $\vec{r}$ (\cmd{vec}\marg*{r}) 、表示欧式空间单位向量的 $\hat{\mathbf{e}}$ (\cmd{hat}\marg*{\cmd{mathbf}\marg*{e}}) 等, +数学符号可以像文字一样加重音,比如求导符号 $\dot{r}$ (\cmd{dot}\marg*{r})、 $\ddot{r}$ (\cmd{ddot}\marg*{r})、 +表示向量的箭头 $\vec{r}$ (\cmd{vec}\marg*{r}) 、表示单位向量的符号 $\hat{\mathbf{e}}$ (\cmd{hat}\marg*{\cmd{mathbf}\marg*{e}}) 等, 详见表 \ref{tbl:math-accents}。使用时要注意重音符号的作用区域,一般应当对某个符号而不是“符号加下标”使用重音: \begin{example} $\bar{x_0} \quad \bar{x}_0$\\[5pt] @@ -375,8 +366,12 @@ _\text{meaning of life} = 42$ \subsection{箭头}\label{subsec:math-arrows} +\msymindex{to,rightarrow,leftarrow,uparrow,downarrow} +常用的箭头包括 \cmd{rightarrow} ($\rightarrow$,或 \cmd{to})、\cmd{leftarrow}($\leftarrow$,或 \cmd{gets})等。 +更多箭头详见表 \ref{tbl:math-arrows}。 + \cmdindex[amsmath]{xleftarrow,xrightarrow} -除了作为上下标之外,箭头还用于表示过程。\pkg{amsmath} 的 \amscmd{xleft\-arrow} 和 \amscmd{xright\-arrow} 命令可以为箭头增加上下标: +\pkg{amsmath} 的 \amscmd{xleft\-arrow} 和 \amscmd{xright\-arrow} 命令提供了长度可以伸展的箭头,并且可以为箭头增加上下标: \begin{example} \[ a\xleftarrow{x+y+z} b \] \[ c\xrightarrow[x<y]{a*b*c}d \] @@ -384,8 +379,9 @@ _\text{meaning of life} = 42$ \subsection{括号和定界符}\label{subsec:math-delims} -\LaTeX\ 提供了多种括号和定界符表示公式块的边界。除小括号\texttt{( )}、中括号\texttt{[ ]}之外,其余都是 \LaTeX\ 命令, -包括大括号 \cmd{\{} \cmd{\}}。表 \ref{tbl:math-delims} 和 \ref{tbl:math-large-delims} 给出了更多的括号/定界符命令。 +\LaTeX\ 提供了多种括号和定界符表示公式块的边界,如小括号 $()$、中括号 $[]$、 +大括号 $\{\}$(\cmd{\{} \cmd{\}})、尖括号 $\langle \rangle$ (\cmd{langle} \cmd{rangle})等。 +更多的括号/定界符命令见表 表 \ref{tbl:math-delims} 和 \ref{tbl:math-large-delims}。 \begin{example} ${a,b,c} \neq \{a,b,c\}$ \end{example} @@ -424,7 +420,7 @@ $\bigl( \Bigl( \biggl( \Biggl( \quad \subsection{长公式折行}\label{subsec:multline} -通常来讲应当避免写出超过一行而需要折行的长公式。如果一定要折行的话,优先在等号之前折行,其次在加号、减号之前,再次在乘号、除号之前。 +通常来讲应当避免写出超过一行而需要折行的长公式。如果一定要折行的话,习惯上优先在等号之前折行,其次在加号、减号之前,再次在乘号、除号之前。 其它位置应当避免折行。 \envindex[amsmath]{multline} @@ -750,40 +746,35 @@ $\mu, M \qquad \section{定理环境}\label{sec:theorems} +\subsection{\LaTeX\ 原始的定理环境}\label{subsec:latex-theorems} + \cmdindex{newtheorem} 使用 \LaTeX\ 排版数学和其他科技文档时,会接触到大量的定理、证明等内容。 \LaTeX\ 提供了一个基本的命令 \cmd{newtheorem} 提供定理环境的定义: \begin{command} -\cmd{newtheorem}\marg{type}\marg{title}\oarg{section-name} \\ -\cmd{newtheorem}\marg{type}\oarg{counter}\marg{title} +\cmd{newtheorem}\marg{theorem environment}\marg{title}\oarg{section-level} \\ +\cmd{newtheorem}\marg{theorem environment}\oarg{counter}\marg{title} \end{command} -\Arg{type} 为定理类型的名称,作为一个环境来使用。定理环境都需要定义,\LaTeX\ 里\textbf{没有现成的 \env{theorem} 环境}, -直接使用很可能会出错。\Arg{title} 是定理类型的标签(“定理”,“公理”等),排版在序号之前。 +\Arg{theorem environment} 为定理环境的名称。原始的\LaTeX\ 里\textbf{没有现成的定理环境}, +不加定义而直接使用很可能会出错。\Arg{title} 是定理环境的标题(“定理”,“公理”等)。 定理的序号由两个可选参数之一决定,它们\textbf{不能同时使用}: \begin{itemize} - \item \Arg{section name} 为章节名称,这使定理序号成为章节的下一级序号; + \item \Arg{section level} 为章节级别,如 \texttt{chapter}、\texttt{section} 等,定理序号成为章节的下一级序号; \item \Arg{counter} 为用 \cmd{newcounter} 自定义的计数器名称(详见 \ref{sec:counters} 节),定理序号由这个计数器管理。 \end{itemize} +如果两个可选参数都不用的话,则使用默认的与定理环境同名的计数器。 -如果两个可选参数都不用的话,则使用一个默认的计数器。 - -例如,我们用以下代码定义了一个 \env{mythm} 环境: -\begin{verbatim} -\newtheorem{mythm}{My Theorem}[section] -\end{verbatim} - -\cmdindex{label} -于是我们可以使用 \env{mythm} 环境排版定理。定理带一个可选参数,用于注明定理的名称,如“法拉第定律”等。 -在环境内还可以用 \cmd{label} 声明引用: +在以下示例代码中,我们定义了一个 \env{mythm} 环境,其序号设为 \texttt{section} 的下一级序号。 +注意 \env{mythm} 环境的可选参数以及 \cmd{label} 的用法: \begin{example} \newtheorem{mythm}{My Theorem}[section] \begin{mythm}\label{thm:light} The light speed in vaccum is $299,792,458\,\mathrm{m/s}$. \end{mythm} -\begin{mythm}[Energy] +\begin{mythm}[Energy–momentum relation] The relationship of energy, momentum and mass is \[E^2 = m_0^2 c^4 + p^2 c^2\] @@ -794,7 +785,7 @@ described in theorem \ref{thm:light}. \subsection{\pkg{amsthm} 宏包}\label{subsec:amsthm} -\LaTeX\ 只给了原始的证明环境格式(粗体标签、斜体正文、定理名用小括号包裹)。如果需要修改格式, +\LaTeX\ 默认的定理环境格式为粗体标签、斜体正文、定理名用小括号包裹。如果需要修改格式, 则要依赖其它的宏包,如 \pkg{amsthm}、\pkg{ntheorem} 等等。本小节简单介绍一下 \pkg{amsthm} 的用法。 \pkgindex{amsthm} @@ -830,7 +821,7 @@ statement.\end{jury} \end{example} \pkg{amsthm} 还支持使用 \cmd{new\-theorem\-style} 命令自定义定理格式, -更为方便使用的是 \pkg{ntheorem} 宏包。感兴趣的读者可参阅它们的帮助手册。 +更为方便使用的是 \pkg{ntheorem} 宏包。感兴趣的读者可参阅它们的帮助文档。 \subsection{证明环境和证毕符号}\label{subsec:proof} @@ -871,7 +862,7 @@ p &= \gamma m_0v \qedhere \end{proof} \end{example} -在使用带编号的公式时,建议最好\textbf{不要使用} \cmd{qedhere} 命令,而是让 \env{proof} 环境自动生成。 +在使用带编号的公式时,建议最好\textbf{不要在公式末尾使用} \cmd{qedhere} 命令。 对带编号的公式使用 \cmd{qedhere} 命令会使 \qedsymbol\ 符号放在一个难看的位置,紧贴着公式: \begin{example} \begin{proof} @@ -887,7 +878,7 @@ E=mc^2.\qedhere 证毕符号 \qedsymbol\ 本身被定义在命令 \cmd{qedsymbol} 中,如果有使用实心符号作为证毕符号的需求,需要自行用 \cmd{re\-new\-comm\-and} 命令修改(用法见 \ref{subsec:newcmd} 小节)\footnote{注意,这个改法\textbf{只对 \pkg{amsthm} 宏包适用}。 -其它宏包如 \pkg{ntheorem} 等须参考帮助手册里提供的修改方法。}。 +其它宏包如 \pkg{ntheorem} 等须参考帮助文档里提供的修改方法。}。 我们可以利用在 \ref{subsec:rules} 小节介绍的标尺盒子来生成一个适当大小的“实心矩形”: \begin{example} \renewcommand{\qedsymbol}% diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.05.style.tex b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.05.style.tex index b23b38b2e2b..2d7b06a634d 100644 --- a/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.05.style.tex +++ b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.05.style.tex @@ -18,8 +18,8 @@ {\itshape Italy}.} \end{example} -\LaTeXe\ (相比于早期的 \LaTeX\ 2.09 版本)的一个重要特征是:字体的各种属性是相互独立的, -这意味着用户可以改变字体的大小,而仍然保留字体原有的粗体或者斜体的特性。 +\LaTeXe\ 相比于较早的 \LaTeX\ 版本(2.09版或更早)在字体样式和字号的设定上有很大改进,令字体的各种属性相互独立(“正交”), +用户可以改变字体的大小,而仍然保留字体原有的粗体或者斜体的特性。 \subsection{字体样式}\label{subsec:fontshape} @@ -118,13 +118,9 @@ He likes {\LARGE large and 如果不是在导言区,\cmd{fontsize} 的设定需要 \cmd{selectfont} 命令才能立即生效, 而表 \ref{tbl:sizes} 的字号设定都是立即生效的。 -\LaTeX\ 排版用到的一些老式字体宏包适用表 \ref{tbl:ptsizes} 给出的固定字号% -\footnote{不难看出表 \ref{tbl:ptsizes} 中的许多字号大致呈等比数列,比例为 1.2;而10.95pt实际上是$10\times\sqrt{1.2}$。}, -在使用任意的字号大小时往往会报一些警告。如果可能的话,应当尽量使用表 \ref{tbl:sizes} 中的命令设置字号。 - \subsection{选用字体宏包}\label{subsec:font-pkgs} -尽管到了这里你知道了如何切换粗体、斜体等等,以及如何改变字号, +至此已经介绍了如何改变字体样式如粗体、斜体等等,以及如何改变字号, 但你依然用着 \LaTeX\ 默认的那套、由高德纳设计制作的 Computer Modern 字体。 有的人可能很喜欢 Times、Palatino,或者更好看的字体。这些字体样式的自由设置在 \LaTeX\ 里还不太容易。 @@ -134,30 +130,30 @@ He likes {\LARGE large and \subsection{字体编码}\label{subsec:font-encs} -字体编码对于 \LaTeX\ 用户来讲是一个比较难懂的概念。它指定了一个字体里面包含了哪些符号、符号如何编码等等细节。 +字体编码对于 \LaTeX\ 用户来讲是一个比较晦涩的概念。它指定了一个字体里面包含了哪些符号、用哪些 \LaTeX\ 命令表示符号等细节。 需要明确一点:字体编码并不与我们在 \ref{subsec:ascii} 等小节叙述的 ASCII 编码等一一对应。 -常见的正文字体编码有 \texttt{OT1} 和 \texttt{T1} 等。\LaTeX\ 默认使用对原始 \TeX\ 兼容的 \texttt{OT1} 编码,使用起来有诸多限制: +常见的正文字体编码有 \texttt{OT1} 和 \texttt{T1} 等。\LaTeX\ 默认使用兼容 plain \TeX\ 的 \texttt{OT1} 编码,使用起来有诸多限制: 高德纳在设计 Computer Modern 字体时认为一些符号,如大于号、小于号等,原则上都应该在公式里出现,所以在正文字体(\cmd{rmfamily} 或 \cmd{sffamily})里, -这些符号所在的位置被其它符号所占据(事实上用户输入 \texttt< 和 \texttt> 得到的是\ !` 和\ ?` 两个倒立的标点符号, +这些符号所在的位置被其它符号所占据(在默认的 OT1 字体编码下 \texttt< 和 \texttt> 排版\ !` 和\ ?` 两个倒立的标点符号, 正常的大于号和小于号可用命令 \cmd{textgreater} 和 \cmd{textless} 输入;等宽字体(\cmd{ttfamily})里是正常的大于号和小于号)。 -扩展的 \texttt{T1} 编码则对 ASCII 字符的兼容好得多,不会出现上述的大于号、小于号的问题。 -\texttt{T1} 编码配合一些字体宏包如 \pkg{txfonts}、\pkg{lmodern} 等,还能够令用户使用 \cmd{textasciitilde} 命令 +扩展的 \texttt{T1} 字体编码则更加靠近 ASCII 文本编码,不会出现上述的大于号、小于号的问题。 +\texttt{T1} 字体编码配合一些字体宏包如 \pkg{txfonts}、\pkg{lmodern} 等,还能够令用户使用 \cmd{textasciitilde} 命令 输入位置居中的波浪号,比如表示近似的用法 \textasciitilde 24,相比数学符号 \texttt\$\cmd{sim}\texttt\$ 来得合理一些。 \pkgindex{fontenc} 切换字体编码要用到 \pkg{fontenc} 宏包: -\begin{verbatim} -\usepackage[T1]{fontenc} -\end{verbatim} +\begin{command} +\cmd{usepackage}\oarg*{T1}\marg*{fontenc} +\end{command} -\pkg{fontenc} 宏包是用来配合传统的 \LaTeX\ 字体的,如表 \ref{tbl:font-pkgs} 中的一些传统宏包。如果使用下文的 \pkg{fontspec} -宏包调用 \texttt{ttf} 或 \texttt{otf} 格式字体,就不要再使用 \pkg{fontenc} 宏包。 -使用表 \ref{tbl:font-pkgs} 中的字体宏包之前最好查看一下宏包的帮助手册,了解使用方法和注意事项。 +\pkg{fontenc} 宏包是用来配合传统的 \LaTeX\ 字体的,如表 \ref{tbl:font-pkgs} 中的一些传统字体宏包。如果使用 \texttt{xelatex} 编译方式, +并使用 \pkg{fontspec} 宏包调用 \texttt{ttf} 或 \texttt{otf} 格式字体,就不要再使用 \pkg{fontenc} 宏包。 +使用表 \ref{tbl:font-pkgs} 中的字体宏包之前最好查看一下宏包的帮助文档,了解使用方法和注意事项。 \begin{table}[!p] -\centering +\centering\small \caption{常见的 \LaTeX\ 字体宏包。}\label{tbl:font-pkgs} \begin{tabular}{lp{30em}} \hline @@ -177,11 +173,12 @@ He likes {\LARGE large and \pkg{fourier} & fourier 风格数学字体,配合 Utopia 正文字体 \\ \pkg{fouriernc} & fourier 风格数学字体,配合 New Century Schoolbook 正文字体 \\ \pkg{arev} & Arev 无衬线字体宏包,Vera Sans 风格 \\ - \pkg{mathdesign} & 配合 Charter / Garamond / Utopia 正文字体的数学字体宏包(Garamond 字体可能需要单独安装) \\ + \pkg{mathdesign} & 配合 Charter / Garamond / Utopia 正文字体的数学字体宏包 \\ \hline \multicolumn{2}{c}{\textbf{文本字体宏包}} \\ \multicolumn{2}{l}{\footnotesize 以下字体包括传统的 \LaTeX\ 字体格式以及 TrueType / OpenType 格式。} \\ \hline + \pkg{cm-unicode} & Computer Modern 风格的 Unicode 字体,支持多种西方语言 \\ \pkg{dejavu} & DejaVu 开源字体 \\ \pkg{droid} & Droid 开源字体 \\ \pkg{inconsolata} & Inconsolata 开源等宽字体 \\ @@ -238,7 +235,7 @@ He likes {\LARGE large and \end{command} 由于中文字体少有对应的粗体或斜体,\Arg{font features} 里多用其他字体来配置, -比如习惯上将宋体的 \texttt{BoldFont} 配置为黑体,而 \texttt{ItalicFont} 配置为楷体。 +比如将宋体对应的 \texttt{BoldFont} 配置为黑体,而 \texttt{ItalicFont} 配置为楷体。 \section{段落格式和间距}\label{sec:par-lengths} @@ -291,13 +288,13 @@ He likes {\LARGE large and \pinyinindex{hangju}{行距} \cmdindex{linespread} 前文中我们提到过 \cmd{fontsize} 命令可以为字号设定对应的行距,但我们很少那么用。 -更常用的办法是在导言区使用 \cmd{linespread} 命令, +更常用的办法是在导言区使用 \cmd{linespread} 命令。 \begin{command} \cmd{linespread}\marg{factor} \end{command} -这里的 \Arg{factor} 是在基础行距上而不是字号上乘以一个因子。大部分时候,默认的基础行距是 1.2 倍字号大小(参考 \cmd{fontsize} 命令), -因此设置 1.5 倍行距的命令 \cmd{line\-spread}\marg*{1.5} 意味着最终行距为 1.8 倍的字号大小。 +其中 \Arg{factor} 作用于基础行距而不是字号。缺省的基础行距是 1.2 倍字号大小(参考 \cmd{font\-size} 命令), +因此使用 \cmd{line\-spread}\marg*{1.5} 意味着最终行距为 1.8 倍的字号大小。 \cmdindex{selectfont} 如果不是在导言区全局修改,而想要局部地改变某个段落的行距,需要用 \cmd{select\-font} 命令使 \cmd{line\-spread} 命令的改动立即生效: @@ -315,7 +312,7 @@ everything is back to normal. \cmdindex{par} 字号的改变是即时生效的,而行距的改变直到文字\textbf{分段}时才生效。 -如果你想改变某一部分文字的行距,那么不能简单地将文字包含在花括号内。注意下面两个例子中 \cmd{par} 命令的位置,包括上一个例子的写法 +如果需要改变某一部分文字的行距,那么不能简单地将文字包含在花括号内。注意下面两个例子中 \cmd{par} 命令的位置,包括上一个例子的写法 (\cmd{par} 相当于分段,见 \ref{subsec:spaces} 小节): \begin{example} {\Large Don't read this! @@ -332,15 +329,20 @@ But remember I am a liar.}\par 以下长度分别为段落的左缩进、右缩进和首行缩进: \begin{command} -\cmd{setlength}\marg*{\cmd{leftskip}}\marg*{20pt} \\ -\cmd{setlength}\marg*{\cmd{rightskip}}\marg*{20pt} \\ -\cmd{setlength}\marg*{\cmd{parindent}}\marg*{2em} +\cmd{setlength}\marg*{\cmd{leftskip}}\marg{length} \\ +\cmd{setlength}\marg*{\cmd{rightskip}}\marg{length} \\ +\cmd{setlength}\marg*{\cmd{parindent}}\marg{length} \end{command} 它们和设置行距的命令一样,在分段时生效。 \cmdindex{indent,noindent} -\LaTeX\ 默认在段落开始时缩进,长度为你用上述命令设置的 \cmd{parindent}。如果你在某一段不想使用缩进,可使用某一段开头使用 +\begin{command} +\cmd{indent} \\ +\cmd{noindent} +\end{command} + +\LaTeX\ 默认在段落开始时缩进,长度为用上述命令设置的 \cmd{parindent}。如果你在某一段不想使用缩进,可使用某一段开头使用 \cmd{noindent} 命令。相反地,\cmd{indent} 命令强制开启一段首行缩进的段落。多个 \cmd{indent} 命令可以累加缩进量。 \pkgindex{indentfirst} @@ -350,17 +352,14 @@ But remember I am a liar.}\par \cmdindex{parskip} 段落间的垂直间距为 \cmd{parskip},如设置段落间距在 \texttt{0.8ex} 到 \texttt{1.5ex} 变动: -\begin{command} -\cmd{setlength}\marg*{\cmd{parskip}}\marg*{1ex plus 0.5ex minus 0.2ex} -\end{command} +\begin{verbatim} +\setlength{\parskip}{1ex plus 0.5ex minus 0.2ex} +\end{verbatim} \subsection{水平间距}\label{subsec:hspace} \cmdindex{hspace} -\LaTeX 默认为将单词之间的“空格”转化为水平间距。如果需要在文中手动插入额外的水平间距,可使用如下命令: -\begin{command} -\cmd{hspace}\marg{length} -\end{command} +\LaTeX 默认为将单词之间的“空格”转化为水平间距。如果需要在文中手动插入额外的水平间距,可使用 \cmd{hspace} 命令: \begin{example} This\hspace{1.5cm}is a space of 1.5 cm. @@ -412,11 +411,15 @@ nor\qquad mal\\ \index{\@\crcmd\ (\textit{换行})} 在段落内的两行之间增加垂直间距,一般通过给断行命令 \crcmd\ 加可选参数,如 \crcmd\texttt{[6pt]} 或 \crcmd\texttt{*[6pt]}。 -\cmd{vspace} 也可以在段落内使用: +\cmd{vspace} 也可以在段落内使用,区别在于 \cmd{vspace} 只引入垂直间距而不断行: \begin{example} -Use command \verb|\vspace| to -add \vspace{12pt} some spaces +Use command \verb|\vspace{12pt}| +to add \vspace{12pt} some spaces between lines in a paragraph. + +Or you can use \verb|\\[12pt]| +to \\[12pt] add vertical space, +but it also breaks the paragraph. \end{example} \cmdindex{bigskip,medskip,smallskip} @@ -430,14 +433,14 @@ between lines in a paragraph. \section{页面和分栏}\label{sec:page-columns} -我们不妨回顾一下第一章介绍的文档类属性。\LaTeX\ 允许你通过为文档类指定选项来控制纸张的大小(见表 \ref{tbl:ltx-options}), +我们不妨回顾一下第一章介绍的文档类属性。\LaTeX\ 允许用户通过为文档类指定选项来控制纸张的大小(见 \ref{subsec:classes} 小节), 包括 \texttt{a4paper}、\texttt{letterpaper}等等,并配合字号设置了适合的页边距。 \cmdindex{textheight,textwidth} 控制页边距的参数由图 \ref{fig:layouts} 里给出的各种长度变量控制。 可以用 \cmd{setlength} 命令修改这些长度变量,以达到调节页面尺寸和边距的作用; 反之也可以利用这些长度变量来决定排版内容的尺寸,如在 \env{tabularx} 环境或 \cmd{include\-graphics} 命令的参数里, -设置图片或表格的宽度为 0.8\cmd{textwidth}: +设置图片或表格的宽度为 0.8\cmd{textwidth}。 \begin{figure}[!p] \centering @@ -445,7 +448,7 @@ between lines in a paragraph. \caption{本文档的页面参数示意图(奇数页;由 \pkg{layout} 宏包生成)。} \label{fig:layouts} \end{figure} -但是,如果你想要直接设置页边距等参数,着实是一件麻烦事。我们根据图 \ref{fig:layouts} 将各个方向的页边距计算公式给出(以奇数页为例): +页边距等比较直观的参数则必须间接设置。我们根据图 \ref{fig:layouts} 将各个方向的页边距计算公式给出(以奇数页为例): \begin{align*} \text{\Arg{left-margin}} &= \text{\ttfamily 1in} + \text{\cmd{hoffset}} @@ -462,9 +465,9 @@ between lines in a paragraph. - \text{\Arg{top-margin}} - \text{\cmd{textheight}} \end{align*} -如果我们想设置合适的 \Arg{left-margin} 和 \Arg{right-margin},就要靠上述方程组把 \cmd{odd\-sidemargin} 和 \cmd{text\-width} 等参数解出来! +如果需要设置合适的 \Arg{left-margin} 和 \Arg{right-margin},就要通过上述方程组把 \cmd{odd\-sidemargin} 和 \cmd{text\-width} 等参数解出来! -幸好 \pkg{geometry} 宏包提供了设置页面参数的简便方法,能够帮我们完成背后繁杂的计算。 +幸好 \pkg{geometry} 宏包提供了设置页边距等参数的简便方法,能够帮我们完成背后繁杂的计算。 \subsection{利用 \pkg{geometry} 宏包设置页面参数}\label{subsec:geometry} @@ -479,6 +482,7 @@ between lines in a paragraph. \cmd{usepackage}\marg*{geometry} \\ \cmd{geometry}\marg{geometry-settings} \end{command} + 也可以将参数指定为宏包的选项: \begin{command} \cmd{usepackage}\oarg{geometry-settings}\marg*{geometry} @@ -512,14 +516,13 @@ between lines in a paragraph. \LaTeX\ 默认将页面内容在垂直方向分散对齐。对于有大量图表的文档,许多时候想要做到排版匀称的页面很困难, 垂直分散对齐会造成某些页面的垂直间距过宽,还可能报大量的 \texttt{Underfull} \cmd{vbox} 消息。 -\cmdindex{raggedbottom} +\cmdindex{raggedbottom, flushbottom} \LaTeX\ 还提供了另一种策略:将页面内容向顶部对齐,给底部留出高度不一的空白。在导言区或者适合的位置使用 -以下命令开启顶部对齐的效果: +\cmd{raggedbottom} 开启顶部对齐的效果: \begin{command} \cmd{raggedbottom} \end{command} -\cmdindex{flushbottom} 相反地,\cmd{flushbottom} 命令用于设置成默认的分散对齐。 \subsection{分栏}\label{subsec:columns} @@ -570,7 +573,8 @@ between lines in a paragraph. \begin{command} \cmd{pagestyle}\marg{page-style} \end{command} -另外一个命令只影响当页的页眉页脚样式: + +命令 \cmd{thispagestyle} 只影响当页的页眉页脚样式: \begin{command} \cmd{thispagestyle}\marg{page-style} \end{command} @@ -594,10 +598,10 @@ between lines in a paragraph. \clsindex{article,report,book} 其中 \texttt{headings} 的情况较为复杂: \begin{description} - \item[\cls{article} 文档类,\texttt{twoside} 选项:] 偶数页为页码和节标题,奇数页为小节标题和页码; - \item[\cls{article} 文档类,\texttt{oneside} 选项:] 页眉为节标题和页码; - \item[\cls{book/report} 文档类,\texttt{twoside} 选项:] 偶数页为页码和章标题,奇数页为节标题和页码; - \item[\cls{book/report} 文档类,\texttt{oneside} 选项:] 页眉为章标题和页码。 + \item[\cls{article} 文档类,\texttt{twoside} 选项] 偶数页为页码和节标题,奇数页为小节标题和页码; + \item[\cls{article} 文档类,\texttt{oneside} 选项] 页眉为节标题和页码; + \item[\cls{book/report} 文档类,\texttt{twoside} 选项] 偶数页为页码和章标题,奇数页为节标题和页码; + \item[\cls{book/report} 文档类,\texttt{oneside} 选项] 页眉为章标题和页码。 \end{description} \subsection{手动更改页眉页脚的内容}\label{subsec:marks} @@ -611,8 +615,8 @@ between lines in a paragraph. \end{command} 在双面排版、\texttt{headings / myheadings} 页眉页脚样式下,\Arg{left-mark} 和 \Arg{right-mark} 的内容分别预期出现在左页(偶数页)和右页(奇数页)。 +事实上 \cmd{chapter} 和 \cmd{section} 等章节命令内部也使用 \cmd{mark\-both} 或者 \cmd{mark\-right} 生成页眉。 -事实上 \cmd{chapter}、\cmd{section} 等命令内部也使用 \cmd{mark\-both} 或者 \cmd{mark\-right} 写页眉。 \LaTeX\ 默认将页眉的内容都转为大写字母。如果你不喜欢这样,可以尝试以下代码 (相关命令的用法参照 \ref{subsec:newcmd} 节)% \footnote{但是这不能改变页眉的斜体样式(\cmd{slshape}),斜体是定义在 \texttt{headings} 样式里的。 @@ -633,32 +637,50 @@ between lines in a paragraph. \pkgindex{fancyhdr} \pkg{fancyhdr} 宏包改善了页眉页脚样式的定义方式,允许我们将内容自由安置在页眉和页脚的左、中、右三个位置,还为页眉和页脚各加了一条横线。 +\cmdindex[fancyhdr]{fancyhead,fancyfoot,fancyhf} \pkg{fancyhdr} 自定义了样式名称 fancy。使用 \pkg{fancyhdr} 宏包定义页眉页脚之前,通常先用 \cmd{page\-style}\marg*{fancy} 调用这个样式。 在 \pkg{fancyhdr} 中定义页眉页脚的命令为: \begin{command} +\cmd{fancyhf}\oarg{position}\marg*{\ldots}\\ \cmd{fancyhead}\oarg{position}\marg*{\ldots}\\ \cmd{fancyfoot}\oarg{position}\marg*{\ldots} \end{command} -其中 \Arg{position} 为 L(左)/C(中)/R(右) 以及与 O(奇数页)/E(偶数页)字母的组合。 - -我们用一个示例说明 \pkg{fancyhdr} 的用法,这段代码可以用于导言区,它的效果为将章节标题放在和 headings 一致的位置,但使用加粗格式; -页码都放在页脚正中;修改横线宽度,“去掉”页脚的横线。更多用法请参考 \pkg{fancyhdr} 宏包的帮助文档。 - -\begin{sourcecode}[hbp] -\begin{Verbatim} -% 导言区部分 -\usepackage{fancyhdr} -\pagestyle{fancy} -\renewcommand{\chaptermark}[1]{\markboth{#1}{}} -\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}} -\fancyhf{} % 清空当前的页眉页脚 -\fancyfoot[C]{\bfseries\thepage} -\fancyhead[LO]{\bfseries\rightmark} -\fancyhead[RE]{\bfseries\leftmark} -\renewcommand{\headrulewidth}{0.4pt} % 注意不用 \setlength -\renewcommand{\footrulewidth}{0pt} -\end{Verbatim} -\caption{\pkg{fancyhdr} 宏包的使用方法示例。}\label{code:fancyhdr} +其中 \Arg{position} 为 L(左)/C(中)/R(右) 以及与 O(奇数页)/E(偶数页)字母的组合。\cmd{fancyhf} 用于同时定义页眉和页脚, +习惯上使用 \cmd{fancyhf}\marg*{} 来清空页眉页脚的设置。 + +源代码 \ref{code:fancyhdr} 给出了 \pkg{fancyhdr} 基础用法的一个示例,效果为将章节标题放在和 headings 一致的位置,但使用加粗格式; +页码都放在页脚正中;修改横线宽度,“去掉”页脚的横线。 + +\begin{sourcecode}[htp] + \begin{Verbatim} + % 在导言区使用此代码 + \usepackage{fancyhdr} + \pagestyle{fancy} + \renewcommand{\chaptermark}[1]{\markboth{#1}{}} + \renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}} + \fancyhf{} + \fancyfoot[C]{\bfseries\thepage} + \fancyhead[LO]{\bfseries\rightmark} + \fancyhead[RE]{\bfseries\leftmark} + \renewcommand{\headrulewidth}{0.4pt} % 注意不用 \setlength + \renewcommand{\footrulewidth}{0pt} + \end{Verbatim} + \caption{\pkg{fancyhdr} 宏包的使用方法示例。}\label{code:fancyhdr} \end{sourcecode} + +\cmdindex[fancyhdr]{fancypagestyle} +\pkg{fancyhdr} 还支持用 \cmd{fancy\-page\-style} 为自定义的页眉页脚样式命名,或者重新定义已有的样式如 \texttt{plain} 等: +\begin{verbatim} +% 自定义 myfancy 样式 +\fancypagestyle{myfancy}{% + \fancyhead{...} + \fancyfoot{...} +} +% 使用样式 +\pagestyle{myfancy} +\end{verbatim} + +更多用法请参考 \pkg{fancyhdr} 宏包的帮助文档。 + \endinput
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.06.spec.tex b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.06.spec.tex index 37ded3e5ebc..9913bb993ff 100644 --- a/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.06.spec.tex +++ b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.06.spec.tex @@ -11,8 +11,8 @@ \subsection{基本的参考文献和引用}\label{subsec:bib-basics} \pinyinindex{cankaowenxian}{参考文献} -\LaTeX\ 提供的参考文献和引用方式比较原始,需要用户自行书写参考文献列表。不同学术论文对参考文献列表的格式要求不一样, -自行书写是一件极其头疼的事情。相关的命令我们只作最简单的介绍。 +\LaTeX\ 提供的参考文献和引用方式比较原始,需要用户自行书写参考文献列表(包括格式), +因此较难直接使用。相关的命令我们只作最简单的介绍。 \cmdindex{cite} \LaTeX\ 提供了最基本的 \cmd{cite} 命令用于在正文中引用参考文献: @@ -21,35 +21,33 @@ \end{command} \Arg{citation} 为引用的参考文献的标签,类似 \cmd{ref} 里的参数;\cmd{cite} 带一个可选参数,为引用的编号后加上额外的内容, -如 \cmd{cite}\oarg*{page 22}\marg{pa} 可能得到形如 [13, page 22] 这样的引用。 +如 \cmd{cite}\oarg*{page 22}\marg*{Paper2013} 可能得到形如 [13, page 22] 这样的引用。 \envindex{thebibliography} \cmdindex{bibitem} 参考文献由 \env{thebibliography} 环境包裹。每条参考文献由 \cmd{bibitem} 开头,其后是参考文献本身的内容: \begin{command} -\cmd{bibitem}\oarg{item number}\marg{citation} +\cmd{begin}\marg*{thebibliography}\marg{widest label} \\ +\quad \cmd{bibitem}\oarg{item number}\marg{citation} ...\\ +\cmd{end}\marg*{thebibliography} \end{command} - 其中 \Arg{citation} 是 \cmd{cite} 使用的文献标签, \Arg{item number} 自定义参考文献的序号,如果省略,则按自然排序给定序号。 - -\env{thebibliography} 环境带一个参数,用以设定 \cmd{bibitem} 命令生成的参考文献编号的宽度, -如 99 意味着不超过两位数字。通常设定为与参考文献的数目一致。 +\Arg{widest label} 用以限制参考文献序号的宽度,如 99 意味着不超过两位数字。通常设定为与参考文献的数目一致。 \env{thebibliography} 环境自动生成不带编号的一节(\cls{article} 文档类)或一章(\cls{report} / \cls{book} 文档类)。 在 \cls{article} 文档类的节标题默认为 ``Reference''{},而在 \cls{report / book} 文档类 的章标题默认为 ``Bibliography''{}。用户可通过 \ref{sec:latex-settings} 节给出的方法定制参考文献的标题。 以下为一个使用 \env{the\-biblio\-graphy} 排版参考文献的例子: - \begin{verbatim} \documentclass{article} \begin{document} \section{Introduction} -Partl~\cite{pa} has proposed that \ldots +Partl~\cite{germenTeX} has proposed that \ldots \begin{thebibliography}{99} -\bibitem{pa} H.~Partl: \emph{German \TeX}, +\bibitem{germenTeX} H.~Partl: \emph{German \TeX}, TUGboat Volume~9, Issue~1 (1988) \end{thebibliography} \end{document} @@ -85,8 +83,9 @@ Partl~\cite{pa} has proposed that \ldots \begin{verbatim} @article{Alice13, title = {Demostration of bibliography items}, - author = {A. Alice and B. Bob and C. Charlie and D. Danny}, + author = {Alice Axford and Bob Birkin and Charlie Copper and Danny Dannford}, year = {2013}, + month = {March}, journal = {Journal of \TeX perts}, volume = {36}, number = {7}, @@ -119,30 +118,37 @@ Partl~\cite{pa} has proposed that \ldots \hrule \begin{trivlist}\item\relax \textbf{plain}\\{} -[1] A.~Alice, B.~Bob, C.~Charlie, and D.~Danny. +[1] Alice Axford, Bob Birkin, Charlie Copper, and Danny Dannford. \newblock Demostration of bibliography items. -\newblock {\em Journal of \TeX perts}, 36(7):114--120, 2013. +\newblock {\em Journal of \TeX perts}, 36(7):114--120, March 2013. \medskip \textbf{alpha}\\{} -[ABCD13] A.~Alice, B.~Bob, C.~Charlie, and D.~Danny. +[ABCD13] Alice Axford, Bob Birkin, Charlie Copper, and Danny Dannford. \newblock Demostration of bibliography items. -\newblock {\em Journal of \TeX perts}, 36(7):114--120, 2013. +\newblock {\em Journal of \TeX perts}, 36(7):114--120, March 2013. + +\medskip +\textbf{abbrv}\\{} +[1] A.~Axford, B.~Birkin, C.~Copper, and D.~Dannford. +\newblock Demostration of bibliography items. +\newblock {\em Journal of \TeX perts}, 36(7):114--120, March 2013. \medskip \textbf{amsplain}(\AmS\ 文档类 \textsf{amsart} 等配套的样式)\\{} -[1] A.~Alice, B.~Bob, C.~Charlie, and D.~Danny, \emph{Demostration of bibliography +[1] Alice Axford, Bob Birkin, Charlie Copper, and Danny Dannford, \emph{Demostration of bibliography items}, Journal of \TeX perts \textbf{36} (2013), no.~7, 114--120. \medskip \textbf{elsarticle-num}(Elsevier 提供的 \textsf{elsarticle} 文档类配套的样式)\\{} -[1] A.~Alice, B.~Bob, C.~Charlie, D.~Danny, Demostration of bibliography items, +[1] A.~Axford, B.~Birkin, C.~Copper, D.~Dannford, Demostration of bibliography items, Journal of \TeX perts 36~(7) (2013) 114--120. \medskip \textbf{IEEEtran}(\textsf{IEEEtran} 模板文档类配套的样式)\\{} -[1] A.~Alice, B.~Bob, C.~Charlie, and D.~Danny, ``Demostration of bibliography - items,'' \emph{Journal of \TeX perts}, vol.~36, no.~7, pp. 114--120, 2013. +[1] A.~Axford, B.~Birkin, C.~Copper, and D.~Dannford, ``Demostration of + bibliography items,'' \emph{Journal of \TeX perts}, vol.~36, no.~7, pp. + 114--120, March 2013. \end{trivlist} \hrule \end{table} @@ -152,10 +158,10 @@ Partl~\cite{pa} has proposed that \ldots \index{bibtex@\protect\hologo{BibTeX} 工具} 现在我们来看如何利用 \hologo{BibTeX} 数据库生成参考文献和引用。 -第一步:我们当然需要一份 \hologo{BibTeX} 数据库,假设数据库文件名为 \texttt{books.bib}, +第一步:准备一份 \hologo{BibTeX} 数据库,假设数据库文件名为 \texttt{books.bib}, 和 \LaTeX\ 源代码\textbf{一般位于同一个目录下}。 -第二步:在源代码中添加必要的命令。假设源代码名为 \texttt{demo.tex}(见 \ref{code:bibtex-demo})。 +第二步:在源代码中添加必要的命令。假设源代码名为 \texttt{demo.tex}(见源代码 \ref{code:bibtex-demo})。 \begin{enumerate} \item \cmdindex{bibliographystyle} 首先需要使用命令 \cmd{bibliographystyle} 设定参考文献的格式。 @@ -165,7 +171,7 @@ Partl~\cite{pa} has proposed that \ldots 如果需要列出未被引用的文献,则需要 \cmd{nocite}\marg{citation} 命令;而 \cmd{nocite}\marg*{*} 则让所有未被引用的文献都列出。 \item \cmdindex{bibliography} -再次,在你需要列出参考文献的位置,使用 \cmd{biblio\-graphy} 命令代替 \env{the\-biblio\-graphy} 环境: +再次,在需要列出参考文献的位置,使用 \cmd{biblio\-graphy} 命令代替 \env{the\-biblio\-graphy} 环境: \begin{command} \cmd{bibliography}\marg{bib-name} \end{command} @@ -212,7 +218,7 @@ xelatex demo \subsection{\pkg{natbib} 宏包}\label{subsec:natbib} \pkgindex{natbib} -时下许多学术期刊比较喜欢使用人名——年份的引用方式,形如(\emph{Alice et~al.}, 2013)。 +时下许多学术期刊比较喜欢使用人名——年份的引用方式,形如(\emph{Axford et~al.}, 2013)。 \pkg{natbib} 宏包提供了对这种“自然”引用方式的处理。 \cmdindex[natbib]{citep,citet} @@ -222,7 +228,9 @@ xelatex demo \cmd{citet}\marg{citation} \end{command} -它们分别生成形如(\emph{Alice et~al.}, 2013) 和 \emph{Alice et~al.} (2013) 的人名——年份引用。 +它们分别生成形如(\emph{Axford et~al.}, 2013) 和 \emph{Axford et~al.} (2013) 的人名——年份引用。 +正确排版人名——年份引用还依赖于特定的 \hologo{BibTeX} 样式。\pkg{natbib} 提供了与 \LaTeX\ 预定义样式相对应的几个样式, +包括 \texttt{plainnat}、\texttt{abbrvnat} 和 \texttt{unsrtnat}。学术论文模板是否支持 \pkg{natbib},需要参考其帮助文档。 \pkg{natbib} 宏包同样也支持数字引用,并且支持将引用的序号压缩,例如: \begin{verbatim} @@ -275,7 +283,7 @@ xelatex demo 其中 \Arg{index entry} 为索引项,写法由表 \ref{tbl:index-entry} 汇总。其中 \texttt!、\texttt @ 和 \texttt| 为特殊符号,如果要向索引项直接输出这些符号,需要加前缀 \texttt";而 \texttt" 需要输入两个引号 \texttt{""} 才能输出到索引项。 -\begin{table}[tp] +\begin{table}[htp] \centering \caption{索引项的写法列表。}\label{tbl:index-entry} \begin{tabular}{lll} @@ -323,7 +331,7 @@ Test index. \section{使用颜色}\label{sec:color} \pinyinindex{yanse}{颜色} -\LaTeX\ 原生不支持颜色,它依赖 \pkg{color} 宏包或者 \pkg{xcolor} 宏包,给 PDF 输出生成颜色的特殊指令。 +原始的 \LaTeX\ 不支持使用各种颜色。\pkg{color} 宏包或者 \pkg{xcolor} 宏包提供了对颜色的支持,给 PDF 输出生成颜色的特殊指令。 \subsection{颜色的表达方式}\label{subsec:color-code} @@ -468,7 +476,7 @@ PDF 文档格式是现今最流行的电子文档格式,而电子文档最实 \caption{\pkg{hyperref} 宏包提供的参数设置。}\label{tbl:hyperref-settings} \begin{tabular}{llp{19.5em}} \hline - \textbf{参数} & textbf{默认值} & \textbf{含义} \\ + \textbf{参数} & \textbf{默认值} & \textbf{含义} \\ \hline \texttt{colorlinks=}\Arg{true\textnormal|false} & \textit{false} & 设置为 \textit{true} 为链接文字带颜色,反之加上带颜色的边框 \\ diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.07.graphic.tex b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.07.graphic.tex index 9692245611e..13a07dc1e4d 100644 --- a/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.07.graphic.tex +++ b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.07.graphic.tex @@ -6,7 +6,7 @@ 本章将带你了解一些基本的绘图功能。 一些特殊的绘图,如交换图、树状图甚至分子式和电路图也能够通过代码绘制, -不过其复杂程度已经超出本手册范围,有兴趣的读者可以查阅一些帮助手册,或者在互联网寻求帮助。 +不过其复杂程度已经超出本手册范围,有兴趣的读者可以查阅一些帮助文档,或者在互联网寻求帮助。 \end{intro} \section{绘图语言简介}\label{sec:pict-lang} @@ -14,14 +14,14 @@ \LaTeX\ 提供了原始的 \env{picture} 环境,能够绘制一些基本的图形如点、线、矩形、圆、B\'ezier 曲线等等, 不过受制于 \LaTeX\ 本身,它的绘图功能极为有限,效果也不够美观。 -现在流行的绘图代码有以下几种: +当前较为流行的、用于 \LaTeX\ 的绘图宏包 / 程序主要有: \begin{itemize} \item PSTricks \par - 以 PostSciprt 语言的功能为基础的绘图宏包,具有优秀的绘图能力。它对老式的 \texttt{latex + dvips} 编译命令支持最好, + 以 PostSciprt 语法为基础的绘图宏包,具有优秀的绘图能力。它对老式的 \texttt{latex + dvips} 编译命令支持最好, 而现在的几种编译命令下使用起来都不够方便。 \item \TikZ\ \& \pkg{pgf} \par - 德国的 Till Tantau 在开发著名的 \LaTeX\ 幻灯片文档类 \cls{beamer} 时一并开发了绘图宏包 \pkg{pgf}, + 德国的 Till Tantau 教授在开发著名的 \LaTeX\ 幻灯片文档类 \cls{beamer} 时一并开发了绘图宏包 \pkg{pgf}, 目的是令其能够在 \texttt{pdflatex} 或 \texttt{xelatex} 等不同的编译命令下都能使用。 \TikZ\ 是在 \pkg{pgf} 基础上封装的一个宏包,采用了类似 \hologo{METAPOST} 的语法,提供了方便的绘图命令,绘图能力不输 PSTricks。 @@ -29,12 +29,12 @@ \hologo{METAPOST} 脱胎于高德纳为 \TeX\ 配套开发的字体生成程序 \hologo{METAFONT}, 具有优秀的绘图能力,并能够调用 \TeX\ 引擎向图片中插入文字和公式。 Asymptote 在 \hologo{METAPOST} 的基础上更进一步,具有一定的类似 C 语言的编程能力,支持三维图形的绘制。\par - 它们往往需要把代码写在单独的文件里,用特定的工具去编译,也可以借助特殊的宏包在 \LaTeX\ 代码里直接使用。 + 它们作为独立的程序,通常的用法是将代码写在单独的文件里,编译生成图片供 \LaTeX\ 引用,也可以借助特殊的宏包在 \LaTeX\ 代码里直接使用。 \end{itemize} -本手册将介绍 \TikZ\ 绘图语言里最基本的部分。\TikZ\ 还支持各种自定义的扩展,基于 \TikZ\ 的专门用途的绘图宏包也不胜枚举, +本手册将介绍 \TikZ\ 绘图宏包里最基本的部分。\TikZ\ 还支持各种自定义的扩展,基于 \TikZ\ 的专门用途的绘图宏包也不胜枚举, 其复杂程度已远远超出入门手册的范围(\TikZ\ 的帮助文档有上千页之厚)。 -对此感兴趣的读者需要自行查阅帮助手册,或者到互联网上参考现成的范例。 +对此感兴趣的读者需要自行查阅帮助文档,或者到互联网上参考现成的范例。 \section{\TikZ\ 绘图语言}\label{sec:tikz} @@ -49,7 +49,7 @@ \cmd{tikz}\oarg*{\ldots} \marg*{\Arg{tikz code 1}\texttt{;} \Arg{tikz code 2}\texttt{;} \ldots} \\[1ex] \cmd{begin}\marg*{tikzpicture}\oarg*{\ldots} \\ \Arg{tikz code 1}\texttt{;} \\ -\Arg{tikz code 2}\texttt{;}\ldots \\ +\Arg{tikz code 2}\texttt{;} \\ \ldots \\ \cmd{end}\marg*{tikzpicture} \end{command} @@ -95,8 +95,15 @@ 连续使用连线时,可以使用 \texttt{cycle} 令路径回到起点,生成闭合的路径。 \begin{example} \begin{tikzpicture} -\draw (0,0) -- (1,1) - -- (2,0) -- cycle; +\draw (0,0) -- (1,1) -- (2,0) -- cycle; +\end{tikzpicture} +\end{example} + +多条路径可用于同一条画图命令中,以空格分隔: +\begin{example} +\begin{tikzpicture} +\draw (0,0) -- (0,1) + (1,0) -- (1,1) -- (2,0) -- cycle; \end{tikzpicture} \end{example} @@ -126,14 +133,14 @@ \end{example} \begin{itemize} - \item 正弦、余弦曲线(四分之一个周期): + \item 正弦、余弦曲线(1/4 周期): \end{itemize} \begin{example} \begin{tikzpicture} -\draw (0,0) sin (1.57,1); -\draw (0,1) sin (1.57,0); -\draw (2,1) cos (3.57,0); -\draw (2,0) cos (3.57,1); +\draw (0,0) sin (1,1); +\draw (0,1) sin (1,0); +\draw (2,1) cos (3,0); +\draw (2,0) cos (3,1); \end{tikzpicture} \end{example} @@ -171,11 +178,11 @@ \begin{example} \begin{tikzpicture} \draw[help lines,step=0.5] - (-2,-2) grid (2,2); -\draw[->] (-2.5,0) -- (2.5,0); -\draw[->] (0,-2.5) -- (0,2.5); -\draw[domain=-2:2] - plot(\x,{\x*\x -2}); + (-1,-1) grid (1,1); +\draw[->] (-1.5,0) -- (1.5,0); +\draw[->] (0,-1.5) -- (0,1.5); +\draw[domain=-1:1] + plot(\x,{\x*\x*2 -1}); \end{tikzpicture} \end{example} @@ -185,7 +192,7 @@ 除了 \cmd{draw} 命令之外,\TikZ\ 还提供了 \cmd{fill} 命令用来填充图形,\cmd{filldraw} 命令则同时填充和描边。 除了矩形、圆等现成的闭合图形外,\cmd{fill} 和 \cmd{filldraw} 命令也能够填充人为构造的闭合路径。 \begin{command} -\cmd{draw}\oarg*{\ldots} \Arg{path}; \quad +\cmd{draw}\oarg*{\ldots} \Arg{path}; \\ \cmd{fill}\oarg*{\ldots} \Arg{path}; \\ \cmd{filldraw}\oarg*{\ldots} \Arg{path}; \end{command} @@ -193,65 +200,122 @@ 绘图参数可作为可选参数用在 \env{tikzpiture} 环境或 \cmd{tikz} 命令时,参数会影响到所有具体的绘图命令; 用在单个绘图命令 \cmd{draw}、\cmd{filldraw} 等时,只对这个命令起效。 -\envindex[tikz]{scope} -\TikZ\ 还提供了 \env{scope} 环境,令一些绘图参数在局部起效: +\TikZ\ 有数不清的绘图参数,这些参数令 \TikZ\ 能够绘制丰富多彩的图像,同时也令 \TikZ\ 难以精通。 +以下示例常用的一些绘图参数。 + +\begin{itemize} + \item \texttt{color/draw/fill=\Arg{color}} 为 \cmd{draw} 或 \cmd{fill} 等命令指定颜色。 + \texttt{draw} 和 \texttt{fill} 分别指定填充和描边的颜色,而 \texttt{color} 同时指定, + 可以省略 \texttt{color=} 直接写颜色名称。 +\end{itemize} +\begin{example} +\begin{tikzpicture}[thick] +\draw[blue] (0,0) rectangle (1,1); +\filldraw[fill=yellow,draw=red] + (2,0.5) circle [radius=0.5]; +\end{tikzpicture} +\end{example} + +\begin{itemize} + \item \texttt{thick=\Arg{length}/thin/semithick/\ldots} 指定线条的粗细。 +\end{itemize} \begin{example} \begin{tikzpicture} -\draw (0,0) rectangle (2.5, 2.5); -\begin{scope}[fill=gray,scale=0.5] -\filldraw (0,0) rectangle (2.5, 2.5); -\end{scope} +\draw[ultra thin] (0,0)--(0,2); +\draw[very thin] (0.5,0)--(0.5,2); +\draw[thin] (1,0)--(1,2); +\draw[semithick] (1.5,0)--(1.5,2); +\draw[thick] (2,0)--(2,2); +\draw[very thick] (2.5,0)--(2.5,2); +\draw[ultra thick] (3,0)--(3,2); \end{tikzpicture} \end{example} -\TikZ\ 有数不清的绘图参数,这些参数令 \TikZ\ 能够绘制丰富多彩的图像,同时也令 \TikZ\ 难以精通。 -本手册仅总结常用的一些绘图参数,见表 \ref{tbl:tikz-options}。 - -\begin{table}[htp] -\caption{\TikZ\ 常用的一些绘图参数。}\label{tbl:tikz-options} -\small -\hrule \begin{itemize} - \item \texttt{color=\Arg{color}} \par - 为线条(\cmd{draw})或填充(\cmd{fill})指定颜色,\Arg{color} 使用颜色名或是 \pkg{xcolor} 的混合颜色语法。 - 往往可以不写 \texttt{color=} 直接写颜色名称。 - \item \texttt{fill=\Arg{color} / draw=\Arg{color}} \par - 分别给 \cmd{filldraw} 指定填充和描边的颜色。也可给 \cmd{fill} 和 \cmd{draw} 命令使用。 - 不带参数直接使用 \texttt{fill} 和 \texttt{draw},相当于用默认颜色。 + \item \texttt{solid/dashed/dotted/dash dot/dash dot dot} 指定线条类型(实线、虚线、点划线等)。 + 与 \texttt{dashed} 对应地有 \texttt{densely dashed} 和 \texttt{loosely dashed},后三种类型同理。 \end{itemize} -\hrule +\begin{example} +\begin{tikzpicture} +\draw[dashed] (0,0) -- (0,2); +\draw[dotted] (0.5,0) -- (0.5,2); +\draw[dash dot] (1,0) -- (1,2); +\draw[dash dot dot] (1.5,0) -- (1.5,2); +\draw[densely dotted] + (2,0) -- (3,2) -- (4,0) -- cycle; +\end{tikzpicture} +\end{example} + \begin{itemize} - \item \texttt{line width=\Arg{length}} \par - 指定线条粗细为 \Arg{width}。默认为普通线宽 0.4pt。 - \item \texttt{thin / semithick / thick / \ldots} \par - 指定线条粗细为预定义的某个类型,默认为 \texttt{thin}。总共有七种预定义的类型: - \texttt{ultra thin},\texttt{very thin},\texttt{thin},\texttt{semithick},\texttt{thick}, - \texttt{very thick},\texttt{ultra thick}。 - \item \texttt{help lines} \par - 指定线条为辅助线,相当于 \texttt{line width=0.2pt,gray}。 - \item \texttt{solid / dashed / dotted / dash dot / dash dot dot / \dots} \par - 指定线条类型(实线、虚线等)。 - \item \texttt{rounded corners} \par - 将路径转向处绘制成圆角。可写成 \texttt{rounded corners=\Arg{radius}} 使用给定的半径。 + \item \texttt{\Arg{arrow}-\Arg{arrow}} 指定线条首尾的箭头形式。 + 较为复杂的箭头形式需要使用 \cmd{use\-tikz\-library}\marg*{arrows.meta}。 \end{itemize} -\hrule +\begin{example} +\begin{tikzpicture}[thick] +\draw[->] (0,4) -- (3,4); +\draw[->>] (0,3.5) -- (3,3.5); +\draw[->|] (0,3) -- (3,3); +\draw[<-] (0,2.5) -- (3,2.5); +\draw[<->] (0,2) -- (3,2); +\draw[>->|] (0,1.5) -- (3,1.5); +\draw[-stealth] (0,1) -- (3,1); +\draw[-latex] (0,0.5) -- (3,0.5); +\draw[-to] (0,0) -- (3,0); +\end{tikzpicture} +\end{example} + \begin{itemize} - \item \texttt{-> / -< / -to / -latex / -stealth / \ldots} \par - 指定路径终点的箭头种类。 - \item \texttt{<- / >- / to- / latex- / -stealth / \ldots} \par - 指定路径起点的箭头种类。起点和终点的箭头可以搭配,如 \texttt{<->} 或者 \texttt{latex-to} 等。 + \item \texttt{rounded corners\oarg*{=\Arg{radius}}/sharp corners} 将路径转向处绘制成圆角/直角。可选参数 \Arg{radius} 控制圆角的半径。 + 可以对某一段路径直接使用。 \end{itemize} -\hrule +\begin{example} +\begin{tikzpicture} +\draw[rounded corners] + (0,0) rectangle (1,1); +\draw (2,0) -- (2,1) + [rounded corners=.3cm] + -- (3,1) -- (3.5,0) + [sharp corners] -- cycle; +\end{tikzpicture} +\end{example} + \begin{itemize} - \item \texttt{scale=\Arg{scale}} \par - 指定整个图像或某个路径的缩放比例。 - \item \texttt{xshift=\Arg{length} / yshift=\Arg{length}} \par - 指定整个图像或某个路径相对于原位置的水平/垂直位移。 - \item \texttt{rotate=\Arg{angle}} \par - 指定整个图像或某个路径旋转一定角度。 + \item \texttt{scale/xshift/yshift/xslant/yslant/rotate} 设定图形的缩放、位移和旋转。 \end{itemize} -\hrule -\end{table} +\begin{example} +\begin{tikzpicture} +\draw[help lines](0,0) rectangle (1,1); +\draw[scale=1.5] (0,0) rectangle (1,1); +\draw[rotate=30] (0,0) rectangle (1,1); +\draw[help lines](2,0) rectangle (3,1); +\draw[yshift=4pt](2,0) rectangle (3,1); +\draw[help lines](4,0) rectangle (5,1); +\draw[xslant=0.4](4,0) rectangle (5,1); +\end{tikzpicture} +\end{example} + +为了重复利用绘图参数,减少代码冗余,\TikZ\ 引入了“样式”的概念,可以定义一个样式包含绘图参数, +然后将样式作为一个参数用于绘图: +\begin{example} +\begin{tikzpicture} + [myarrow/.style={blue,thick,->}] +\draw (0,0)--(0,1)--(2,1); +\draw[myarrow] (0,0)--(2,1); +\draw[myarrow,dotted] + (0,0)--(2,0)--(2,1); +\end{tikzpicture} +\end{example} + +\envindex[tikz]{scope} +\TikZ\ 还提供了 \env{scope} 环境,令绘图参数或样式在局部生效: +\begin{example} +\begin{tikzpicture} +\draw (0,0) rectangle (2.5, 2.5); +\begin{scope}[thick,scale=0.5] +\draw (0,0) rectangle (2.5, 2.5); +\end{scope} +\end{tikzpicture} +\end{example} \subsection{\TikZ\ 文字结点}\label{subsec:tikz-node} @@ -271,37 +335,50 @@ \end{tikzpicture} \end{example} -表 \ref{tbl:tikz-options} 中的参数可用于 \cmd{node} 命令的配置。除此之外,\cmd{node} 还有一些特定的参数,见表 \ref{tbl:tikz-node-options}。 +\ref{subsec:tikz-draw} 小节中的参数可用于 \cmd{node} 命令的配置。除此之外,\cmd{node} 还有一些特定的参数: +\begin{itemize} + \item \texttt{anchor=\Arg{position}} 令结点的某个角落 \Arg{position} 与 \Arg{coordinate} 对应。 + \item \texttt{centered / above / below / left / right / above left / \ldots \oarg*{=\Arg{length}}} \\ + 与 \texttt{anchor} 等效的选项。可选的 \Arg{length} 为节点相对于 \Arg{coordinate} 的距离。 +\end{itemize} +\begin{example} +\begin{tikzpicture} +\coordinate (A) at (1,1); +\fill (A) circle[radius=2pt]; +\node[draw,anchor=south] at (A) {a}; +\node[draw,below right=4pt] at (A) {b}; +\end{tikzpicture} +\end{example} -\begin{table}[htp] -\caption{\TikZ\ 结点使用的一些绘图参数。}\label{tbl:tikz-node-options} -\small -\hrule \begin{itemize} - \item \texttt{anchor=\Arg{position}} \par - 指定结点的某个角落 \Arg{position} 位于给定的位置 \Arg{coordinate}。 - 参数 \Arg{position} 用 \texttt{center}、\texttt{north}、\texttt{north west} 等形式表示。 - \item \texttt{centered / above / below / left / right / above left / \ldots} \par - 指定结点相对于 \Arg{coordinate} 的位置,\texttt{anchor=\Arg{position}} 的等效写法。\texttt{above} 相当于 \texttt{anchor=south},以此类推。 - 带参数的形式 \texttt{above=\Arg{length}} 指定节点相对于 \Arg{coordinate} 的距离。 - \item \texttt{shape=\Arg{shape}} \par + \item \texttt{shape=\Arg{shape}} 结点的形状,默认可用 \texttt{rectangle} 和 \texttt{circle},可省略 \texttt{shape=} 直接写。在导言区使用命令 \cmd{use\-tikz\-library}\marg*{shapes.geometric} 可用更多的形状。 - \item \texttt{inner sep=\Arg{length} / outer sep=\Arg{length}} \par - 结点边界向外和向内的额外距离。 - \item \texttt{minimum size=\Arg{length} / minimum height=\Arg{length} / minimum width=\Arg{length}} \par - 结点的最小大小或最小高度/宽度。 - \item \texttt{text=\Arg{color}} \par + \item \texttt{text=\Arg{color}} 结点文字的颜色。 - \item \texttt{node font=\Arg{font command}} \par + \item \texttt{node font=\Arg{font command}} 结点文字的字体,形如 \cmd{bfseries} 或 \cmd{itshape} 等。 \end{itemize} -\hrule -\end{table} +\begin{example} +\begin{tikzpicture} +\node[circle,fill=blue,text=white, + font={\bfseries}] + (A) at (0,0) {A node}; +\node[rectangle,rounded corners, + draw=gray,font={\sffamily\slshape}] + (B) at (2,0) {B node}; +\end{tikzpicture} +\end{example} + +\begin{itemize} + \item \texttt{inner sep=\Arg{length} / outer sep=\Arg{length}} + 结点边界向外和向内的额外距离。 + \item \texttt{minimum size=\Arg{length} / minimum height=\Arg{length} / minimum width=\Arg{length}} \\ + 结点的最小大小或最小高度/宽度。 +\end{itemize} \cmd{node} 命令不仅为文字结点的位置命名,在 \cmd{draw} 等命令中还可以使用某个结点的相对位置, 以“东南西北”的方式命名: - \begin{example} \begin{tikzpicture} \draw (0,0) circle[radius=1]; @@ -311,7 +388,7 @@ \end{tikzpicture} \end{example} -另一种用法是在 \cmd{draw} 等命令的路径中使用 \texttt{node},不仅可以对某个位置标记节点,还能够对线标记: +\cmd{node} 命令的一种等效用法是在 \cmd{draw} 等命令的路径中使用 \texttt{node},不仅可以对某个位置标记节点,还能够对线标记: \begin{example} \begin{tikzpicture} \draw (2,1.5) node[above] {$A$} @@ -324,8 +401,7 @@ \end{tikzpicture} \end{example} -除了 \cmd{node} 命令之外,\cmd{coordinate} 也可以通过参数为某个位置添加文字(label)。 -在此举一个较为复杂的例子,综合前面介绍过的各种路径、形状、文字结点和参数设置。 +在此举一个较为复杂的例子,综合前面介绍过的各种路径、形状、文字结点和参数设置,见源代码 \ref{code:tikz-example}。 \begin{sourcecode}[htp] \begin{Verbatim} @@ -334,8 +410,8 @@ \draw[-stealth,line width=0.2pt] (0,-0.5) -- (0,2.5); \coordinate (a) at (0.5,1.9); \coordinate (b) at (4,1.2); -\coordinate[label=below:$a$] (a0) at (a |- 0,0); -\coordinate[label=below:$b$] (b0) at (b |- 0,0); +\node[below] (a0) at (a |- 0,0) {$a$}; +\node[below] (b0) at (b |- 0,0) {$b$}; \filldraw[fill=gray!20,draw,thick] (a0) -- (a) .. controls (1,2.8) and (2.7,0.4) .. (b) -- (b0) -- cycle; \node[above right,outer sep=0.2cm, rounded corners, diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.08.custom.tex b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.08.custom.tex index 98889ecfb29..bf0954a7073 100644 --- a/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.08.custom.tex +++ b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.08.custom.tex @@ -112,7 +112,7 @@ My humble subjects \ldots 建立一个新的 \LaTeX\ 宏包来存放所有你自己定义的命令和环境, 然后在你的文档中使用 \cmd{use\-package} 命令来调用自定义的宏包。 -\begin{sourcecode}[htbp] +\begin{sourcecode}[htp] \begin{Verbatim} % Demo Package by Tobias Oetiker \ProvidesPackage{demopack} @@ -132,7 +132,7 @@ My humble subjects \ldots \cmd{ProvidesPackage}\marg{package name} \end{command} 这个命令应该放在你的宏包的最前面,并且一定要注意:\textbf{\Arg{package name} 需要和宏包的文件名一致。} -\cmd{Provides\-Package} 让 \LaTeX\ 记录宏包的名称,从而在你尝试再次调用同一个宏包的时候忽略后面的调用% +\cmd{Provides\-Package} 让 \LaTeX\ 记录宏包的名称,从而在 \cmd{usepackage} 命令再次调用同一个宏包的时候忽略之% \footnote{但如果你以\emph{不同的选项}多次引入宏包,则有可能会引起错误,见附录 \ref{sec:errors}。}。 源代码 \ref{code:package} 给出了一个小的宏包示例,其中包含了我们之前定义的一些命令。 @@ -167,14 +167,13 @@ My humble subjects \ldots \section{计数器}\label{sec:counters} \pinyinindex{jishuqi}{计数器} -我们早就见识到了 \LaTeX\ 对文档元素自动计数的能力:章节符号、列表、图表……它们都是依靠 \LaTeX\ 提供的“计数器”完成的。 +我们早就见识到了 \LaTeX\ 对文档元素自动计数的能力:章节符号、列表、图表……它们都是依靠 \LaTeX\ 提供的计数器功能完成的。 \subsection{定义和修改计数器}\label{subsec:count-defs} \cmdindex{newcounter} 定义一个计数器的方法为: \begin{command} -\cmd{newcounter}\marg{counter name} \\ \cmd{newcounter}\marg{counter name}\oarg{parent counter name} \end{command} @@ -203,18 +202,27 @@ My humble subjects \ldots \begin{table}[htp] \centering \caption{计数器输出格式相关命令。}\label{tbl:counter-commands} -\begin{tabular}{lp{12em}l} +\begin{tabular}{lp{22em}l} \hline \textbf{命令} & \textbf{样式} & \textbf{范围} \\ \hline \cmd{arabic} & 阿拉伯数字(默认) & \\ \cmd{alph} & 小写字母 & 限 0-26 \\ \cmd{Alph} & 大写字母 & 限 0-26 \\ - \cmd{roman} & 小写罗马数字 & 限正数 \\ - \cmd{Roman} & 大写罗马数字 & 限正数 \\ + \cmd{roman} & 小写罗马数字 & 限非负整数 \\ + \cmd{Roman} & 大写罗马数字 & 限非负整数 \\ \cmd{fnsymbol} & 一系列符号,用于 \cmd{thanks} 命令生成的脚注 & 限 0-9 \\ \hline \end{tabular} +\begin{quotation} +\small +\makeatletter +注:\cmd{fnsymbol} 使用的符号顺次为: +\@fnsymbol{1} \@fnsymbol{2} \@fnsymbol{3} +\@fnsymbol{4} \@fnsymbol{5} \@fnsymbol{6} +\@fnsymbol{7} \@fnsymbol{8} \@fnsymbol{9} +\makeatother +\end{quotation} \end{table} 计数器的输出格式还可以利用其它字符,甚至其它计数器的输出格式与之组合。如标准文档类里对 \cmd{sub\-section} 相关的计数器的输出格式的定义相当于: @@ -225,9 +233,9 @@ My humble subjects \ldots \subsection{\LaTeX\ 中的计数器}\label{subsec:latex-counts} \begin{itemize} - \item 我们当然早就意识到了,所有章节命令 \cmd{chapter}、\cmd{section} 等分别对应计数器 chapter、section 等等,而且有上下级的关系。 + \item 所有章节命令 \cmd{chapter}、\cmd{section} 等分别对应计数器 chapter、section 等等,而且有上下级的关系。 而计数器 part 是独立的。 - \item 有序列表 \env{enumerate} 的各级计数器为 enumi, enumii, enumiii, enumiv,也是有上下级的关系。 + \item 有序列表 \env{enumerate} 的各级计数器为 enumi, enumii, enumiii, enumiv,也有上下级的关系。 \item 图表浮动体的计数器就是 table 和 figure;公式的计数器为 equation。 这些计数器在 \cls{article} 文档类中是独立的,而在 \cls{book} 和 \cls{report} 中以 chapter 为上级计数器。 \item 页码、脚注的计数器分别是 page 和 footnote。 @@ -286,7 +294,7 @@ tocdepth 计数器控制目录的深度,如果章节的层级大于 tocdepth 大多数控制页面尺寸的长度参数在图 \ref{fig:layouts} 给出,此处不再赘述。 \end{itemize} -\begin{table}[htbp] +\begin{table}[htp] \centering \caption{\LaTeX\ 可定制的标题名称/前后缀。}\label{tbl:latex-settings-names} \small @@ -312,11 +320,11 @@ tocdepth 计数器控制目录的深度,如果章节的层级大于 tocdepth \end{tabular} \begin{quotation}\footnotesize% 注:形如“第 X 章”和“第 X 部分”的中文章节标题不能直接由修改本表的命令得到,需要使用 \pkg{titlesec} 等宏包定制。 -如果使用 \pkg{ctex} 宏包或文档类,那么标题默认被修改成“第 X 章”和“第 X 部分”的形式,本表中的其它标题也修改为中文标题。详见 \pkg{ctex} 宏包的帮助手册。 +如果使用 \pkg{ctex} 宏包或文档类,那么标题默认被修改成“第 X 章”和“第 X 部分”的形式,本表中的其它标题也修改为中文标题。详见 \pkg{ctex} 宏包的帮助文档。 \end{quotation} \end{table} -\begin{table}[htbp] +\begin{table}[htp] \centering \caption{\LaTeX\ 可定制的长度参数。}\label{tbl:latex-settings-lengths} \small diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/preface.overview.tex b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/preface.overview.tex index dc717fb0561..3bf947d2ae9 100644 --- a/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/preface.overview.tex +++ b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/preface.overview.tex @@ -14,7 +14,7 @@ \item[第二章] 讲述在 \LaTeX\ 中如何书写文字,包括中文。% \item[第三章] 讲述文档排版的基本元素——标题、目录、列表、图片、表格等等。结合前一章的内容,你应当能够制作内容较为丰富的文档了。% \item[第四章] \LaTeX\ 排版公式的能力是众人皆知的。本章的内容涉及了一些排版公式经常用到的命令、环境和符号。 - 章节末尾提供了 \LaTeX\ 常见的数学符号。% + 章节末尾列出了 \LaTeX\ 常见的数学符号。% \item[第五章] 介绍了如何修改文档的一些基本样式,包括字体、段落、页面尺寸、页眉页脚等。 \item[第六章] 介绍了 \LaTeX\ 的一些扩展功能:排版参考文献、排版索引、排版带有颜色和超链接的电子文档。 \item[第七章] 介绍了如何在 \LaTeX\ 里使用 \TikZ\ 绘图。作为入门手册,这一部分点到为止。 diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/sec.symbol.table.tex b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/sec.symbol.table.tex index 45f68334f91..cbd06ec9cef 100644 --- a/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/sec.symbol.table.tex +++ b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/sec.symbol.table.tex @@ -53,7 +53,7 @@ \caption{希腊字母。} \label{tbl:math-greek} \begin{quote}\footnotesize% \cmd{Alpha},\cmd{Beta} 等希腊字母符号不存在,因为它们和拉丁字母 A,B 等一模一样; -小写字母里也不存在 \cmd{omicron},直接用 $o$ 代替。 +小写字母里也不存在 \cmd{omicron},直接用拉丁字母 $o$ 代替。 \end{quote} \begin{symbols}{*4{cl}} \hline @@ -67,7 +67,7 @@ \SYM{\eta} & \SYM{\xi} & \SYM{\tau} & \\[1ex] \SYM{\Gamma} & \SYM{\Lambda} & \SYM{\Sigma} & \SYM{\Psi} \\ \SYM{\Delta} & \SYM{\Xi} & \SYM{\Upsilon} & \SYM{\Omega} \\ - \SYM{\Theta} & \SYM{\Pi} & \SYM{\Phi} & \\ + \SYM{\Theta} & \SYM{\Pi} & \SYM{\Phi} & \\[1ex] \AMSM{\varGamma} & \AMSM{\varLambda}& \AMSM{\varSigma} & \AMSM{\varPsi} \\ \AMSM{\varDelta} & \AMSM{\varXi} & \AMSM{\varUpsilon}& \AMSM{\varOmega} \\ \AMSM{\varTheta} & \AMSM{\varPi} & \AMSM{\varPhi} & \\ @@ -126,7 +126,7 @@ \begin{table}[htp] \centering \caption{巨算符。}\label{tbl:math-bigop} -\def\arraystretch{1.8} +\def\arraystretch{2.2} \begin{symbols}{*3{ccl}} \hline \BIGSYM{\sum} & \BIGSYM{\bigcup} & \BIGSYM{\bigvee} \\ diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/titlepage.tex b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/titlepage.tex index f2243a25c51..5e889ce0742 100644 --- a/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/titlepage.tex +++ b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/titlepage.tex @@ -4,7 +4,7 @@ \vspace*{\stretch{1}} \noindent\begin{minipage}{\textwidth} \raggedleft -{\huge \bfseries 一份不太简短的~\LaTeXe{}~介绍} +{\huge \bfseries 一份(不太)简短的~\LaTeXe{}~介绍} \noindent\rule[-1ex]{\textwidth}{5pt}\\[2.5ex] \hfill\emph{\Large 或~\pageref{lshort-minutes}~分钟了解~\LaTeXe} \end{minipage} @@ -13,9 +13,9 @@ \noindent\rlap{% \begin{minipage}{\textwidth} \linespread{1.67}\selectfont\raggedleft - {\bfseries 原版作者:} Tobias Oetiker\\ + {\bfseries 英文作者:} Tobias Oetiker\\ Hubert Partl, Irene Hyna and Elisabeth Schlegl \\ - {\bfseries 原版版本:} Version~\lshortversionoriginal, July 18, 2015\\[4ex] + {\bfseries 英文版本:} Version~\lshortversionoriginal, \lshortdateoriginal\\[4ex] {\bfseries 中文翻译:} C\TeX\ 开发小组 \\ {\bfseries 中文版本:} 版本~\lshortversioncn,\zhdigits*{\the\year}年\zhnumber{\the\month}月 \end{minipage}% diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/lshort-zh-cn.tex b/Master/texmf-dist/doc/latex/lshort-chinese/src/lshort-zh-cn.tex index 3e29d4646dd..62ba41df20b 100644 --- a/Master/texmf-dist/doc/latex/lshort-chinese/src/lshort-zh-cn.tex +++ b/Master/texmf-dist/doc/latex/lshort-chinese/src/lshort-zh-cn.tex @@ -1,8 +1,9 @@ \documentclass[a4paper]{book} \usepackage{lshort-zh-cn-style} -\def\lshortversionoriginal{5.05} -\def\lshortversioncn{5.11} +\def\lshortversionoriginal{6.2} +\def\lshortdateoriginal{Februrary 28, 2018} +\def\lshortversioncn{6.0} \hypersetup{% pdftitle={The Not So Short Introduction to LaTeX2e(Chinese Simplified)},% diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/make.bat b/Master/texmf-dist/doc/latex/lshort-chinese/src/make.bat index 21385a1a06b..f7a9f29f0a0 100755 --- a/Master/texmf-dist/doc/latex/lshort-chinese/src/make.bat +++ b/Master/texmf-dist/doc/latex/lshort-chinese/src/make.bat @@ -1,31 +1,31 @@ -@echo off
-set LSHORT=lshort-zh-cn
-set PDF=%LSHORT%.pdf
-set TEMP=%LSHORT%.aux %LSHORT%.log %LSHORT%.idx %LSHORT%.ind %LSHORT%.ilg %LSHORT%.out %LSHORT%.toc %LSHORT%.los %LSHORT%-example.aux %LSHORT%.synctex.gz
-
-if "%1"=="clean" goto clean
-
-set TEX=xelatex
-set MODE=-interaction=nonstopmode -synctex=1
-set MAKEINDEX=makeindex
-
-%TEX% %MODE% %LSHORT%
-%MAKEINDEX% -s %LSHORT%.ist %LSHORT%
-%TEX% %MODE% %LSHORT%
-%TEX% %MODE% %LSHORT%
-
-if exist %PDF% (
-copy %PDF% ..
-)
-exit
-
-:clean
-del %TEMP%
-del %PDF%
-exit
-
-:distclean
-del %TEMP%
-del %PDF%
-del ..\%PDF%
-exit
+@echo off +set LSHORT=lshort-zh-cn +set PDF=%LSHORT%.pdf +set TEMP=%LSHORT%.aux %LSHORT%.log %LSHORT%.idx %LSHORT%.ind %LSHORT%.ilg %LSHORT%.out %LSHORT%.toc %LSHORT%.los %LSHORT%-example.aux %LSHORT%.synctex.gz + +if "%1"=="clean" goto clean + +set TEX=xelatex +set MODE=-interaction=nonstopmode -synctex=1 +set MAKEINDEX=makeindex + +%TEX% %MODE% %LSHORT% +%MAKEINDEX% -s %LSHORT%.ist %LSHORT% +%TEX% %MODE% %LSHORT% +%TEX% %MODE% %LSHORT% + +if exist %PDF% ( +copy %PDF% .. +) +exit + +:clean +del %TEMP% +del %PDF% +exit + +:distclean +del %TEMP% +del %PDF% +del ..\%PDF% +exit |