From b83975898f215bee88eaab83fff19b6ff60dd9ae Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 12 Jun 2016 16:10:24 +0000 Subject: lshort-chinese (24may16) git-svn-id: svn://tug.org/texlive/trunk@41405 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/lshort-chinese/README | 5 - .../texmf-dist/doc/latex/lshort-chinese/README.md | 72 + .../doc/latex/lshort-chinese/lshort-zh-cn.pdf | Bin 1580122 -> 1377340 bytes .../doc/latex/lshort-chinese/src/INSTRUCTIONS.md | 99 + .../doc/latex/lshort-chinese/src/Makefile | 29 + .../doc/latex/lshort-chinese/src/biblio.tex | 99 - .../lshort-chinese/src/chap/app.A.install.tex | 127 + .../lshort-chinese/src/chap/app.B.error.help.tex | 233 ++ .../doc/latex/lshort-chinese/src/chap/biblio.tex | 103 + .../lshort-chinese/src/chap/chap.01.basics.tex | 424 +++ .../latex/lshort-chinese/src/chap/chap.02.text.tex | 384 +++ .../lshort-chinese/src/chap/chap.03.elements.tex | 1021 +++++++ .../latex/lshort-chinese/src/chap/chap.04.math.tex | 872 ++++++ .../lshort-chinese/src/chap/chap.05.style.tex | 650 +++++ .../latex/lshort-chinese/src/chap/chap.06.spec.tex | 534 ++++ .../lshort-chinese/src/chap/chap.07.graphic.tex | 309 +++ .../lshort-chinese/src/chap/chap.08.custom.tex | 265 ++ .../doc/latex/lshort-chinese/src/chap/fdl.tex | 490 ++++ .../lshort-chinese/src/chap/preface.contrib.tex | 238 ++ .../lshort-chinese/src/chap/preface.overview.tex | 58 + .../lshort-chinese/src/chap/sec.symbol.table.tex | 379 +++ .../latex/lshort-chinese/src/chap/titlepage.tex | 35 + .../doc/latex/lshort-chinese/src/contrib.tex | 214 -- .../doc/latex/lshort-chinese/src/custom.tex | 1168 -------- .../doc/latex/lshort-chinese/src/fancyhea.sty | 129 - .../doc/latex/lshort-chinese/src/graphic.tex | 825 ------ .../doc/latex/lshort-chinese/src/lshort-a5.tex | 10 - .../doc/latex/lshort-chinese/src/lshort-base.tex | 123 - .../lshort-chinese/src/lshort-zh-cn-layout.tex | 212 ++ .../lshort-chinese/src/lshort-zh-cn-style.sty | 248 ++ .../doc/latex/lshort-chinese/src/lshort-zh-cn.ist | 8 + .../doc/latex/lshort-chinese/src/lshort-zh-cn.tex | 50 + .../doc/latex/lshort-chinese/src/lshort.sty | 285 -- .../doc/latex/lshort-chinese/src/lshort.tex | 8 - .../doc/latex/lshort-chinese/src/lssym.tex | 361 --- .../doc/latex/lshort-chinese/src/make.bat | 24 + .../doc/latex/lshort-chinese/src/math.tex | 967 ------- .../doc/latex/lshort-chinese/src/myclass.sty | 150 -- .../doc/latex/lshort-chinese/src/mylayout.sty | 355 --- .../doc/latex/lshort-chinese/src/overview.tex | 168 -- .../doc/latex/lshort-chinese/src/spec.tex | 1782 ------------- .../doc/latex/lshort-chinese/src/test.tex | 5 - .../doc/latex/lshort-chinese/src/things.tex | 1197 --------- .../doc/latex/lshort-chinese/src/title.tex | 84 - .../doc/latex/lshort-chinese/src/typeset.tex | 2785 -------------------- .../doc/latex/lshort-chinese/src/usefulmacros.sty | 105 - .../doc/latex/lshort-chinese/src/zhfont.sty | 143 - .../doc/latex/lshort-chinese/src/zhmath.sty | 156 -- .../doc/latex/lshort-chinese/src/zhspacing.sty | 816 ------ .../doc/latex/lshort-chinese/src/zhulem.sty | 18 - 50 files changed, 6864 insertions(+), 11958 deletions(-) delete mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/README create mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/README.md create mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/INSTRUCTIONS.md create mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/Makefile delete mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/biblio.tex create mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/chap/app.A.install.tex create mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/chap/app.B.error.help.tex create mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/chap/biblio.tex create mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.01.basics.tex create mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.02.text.tex create mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.03.elements.tex create mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.04.math.tex create mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.05.style.tex create mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.06.spec.tex create mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.07.graphic.tex create mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.08.custom.tex create mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/chap/fdl.tex create mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/chap/preface.contrib.tex create mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/chap/preface.overview.tex create mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/chap/sec.symbol.table.tex create mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/chap/titlepage.tex delete mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/contrib.tex delete mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/custom.tex delete mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/fancyhea.sty delete mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/graphic.tex delete mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/lshort-a5.tex delete mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/lshort-base.tex create mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/lshort-zh-cn-layout.tex create mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/lshort-zh-cn-style.sty create mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/lshort-zh-cn.ist create mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/lshort-zh-cn.tex delete mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/lshort.sty delete mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/lshort.tex delete mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/lssym.tex create mode 100755 Master/texmf-dist/doc/latex/lshort-chinese/src/make.bat delete mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/math.tex delete mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/myclass.sty delete mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/mylayout.sty delete mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/overview.tex delete mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/spec.tex delete mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/test.tex delete mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/things.tex delete mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/title.tex delete mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/typeset.tex delete mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/usefulmacros.sty delete mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/zhfont.sty delete mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/zhmath.sty delete mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/zhspacing.sty delete mode 100644 Master/texmf-dist/doc/latex/lshort-chinese/src/zhulem.sty diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/README b/Master/texmf-dist/doc/latex/lshort-chinese/README deleted file mode 100644 index 3406cc082e6..00000000000 --- a/Master/texmf-dist/doc/latex/lshort-chinese/README +++ /dev/null @@ -1,5 +0,0 @@ -In order to compile this document for yourself, XeTeX and Adobe Song Std, Adobe Hei Std, -Adobe Kaiti Std fonts are needed to be able embeding. - -We have employed zhspacing for better Chinese output. To adapt xelatex with zhspacing, -the fonts, simsun, simkai, simhei and simfang, are also reqired in your system. diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/README.md b/Master/texmf-dist/doc/latex/lshort-chinese/README.md new file mode 100644 index 00000000000..3d2b57a5933 --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-chinese/README.md @@ -0,0 +1,72 @@ +# The Not So Short Introduction To LaTeX, v5.05 + +## License + +This document is distributed under the **GNU Free Documentation License, version 1.3**. +For detailed information, see the section entitled 'GNU Free Documentation License' in the document, or the source code file `fdl.tex`. + +## Preparation for typesetting +Update `ctex` and `xeCJK` (and all the packages they rely on) in your TeX distritusion. And make sure you've installed +all the other packages used in `lshort-zh-cn-style.sty` and updated them to the newest version. + +This document uses `fandol` font package. You may receive a warning like 'script-not-exist' made by 'fontspec' package. Just leave it alone. + +## Typesetting + +### Manually typesetting + +In 'src' directory, typeset the source code in the following order: +``` +xelatex lshort-zh-cn +makeindex -s lshort-zh-cn.ist lshort-zh-cn +xelatex lshort-zh-cn +``` + +If typesetting succeeds and the target PDF document is made correctly, then move it to the root directory. + +### Using scripts and Makefile + +For GNU/Linux and OS/X users, we provide Makefile in the 'src' directory. Use GNU make tool in the following order: +``` +make +make install +``` + +For Windows users, we also provide a batch file `make.bat` in the 'src' directory, which you can double-click to do the typesetting. + +--- + +# 中文版 lshort,5.05 版 + +## 许可证 + +本文档以**GNU 自由文档许可证(1.3 版)**发布。详见文档中题为“GNU Free Documentation License”的章节,或者源代码文件“fdl.tex”。 + +## 编译之前的准备 + +将发行版内的 `ctex` 宏包、`xeCJK` 宏包更新到最新(包括它们依赖的所有宏包),并确认 `lshort-zh-cn-style.sty` 调用的其它宏包都已正确安装并更新到最新。 + +本文档使用 Fandol 字体包。fontspec 宏包会对此字体报 script-not-exist 的警告,可以无视。 + +## 编译方式 + +### 手动编译 + +在 src 目录下按照以下顺序编译: +``` +xelatex lshort-zh-cn +makeindex -s lshort-zh-cn.ist lshort-zh-cn +xelatex lshort-zh-cn +``` + +如果编译正确生成 PDF,之后将 PDF 移动到根目录。 + +### 使用脚本和 Makefile 编译 + +Linux 下提供了 GNU make 可用的 Makefile,使用 GNU make 的顺序为: +``` +make +make install +``` + +Windows 下在 src 目录提供批处理脚本 `make.bat`,双击执行编译。 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 index e97a60954a7..069ba487e11 100644 Binary files a/Master/texmf-dist/doc/latex/lshort-chinese/lshort-zh-cn.pdf and b/Master/texmf-dist/doc/latex/lshort-chinese/lshort-zh-cn.pdf differ diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/INSTRUCTIONS.md b/Master/texmf-dist/doc/latex/lshort-chinese/src/INSTRUCTIONS.md new file mode 100644 index 00000000000..09f30c5029e --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-chinese/src/INSTRUCTIONS.md @@ -0,0 +1,99 @@ +# 中文版 lshort 代码用到的命令 + +### 约定俗成的习惯 + +1. 命令后面用 `\␣` 加空格,如 `\LaTeX\␣`,不用 `\LaTeX{}␣`。 +2. 每章的 `\chapter` 命令后手动给 `.los` 目录写间距: + +``` +\addtocontents{los}{\protect\addvspace{10pt}} +``` + +### 命令和环境 + +``` +\cmd{cmdname} +\env{envname} +``` +生成命令名 \cmdname / 环境 envname,等宽字体。cmdname 参数不要带斜杠。 + +``` +\pkg{pkgname} +\cls{clsname} +``` +生成宏包和文档类的名称(无衬线字体)。 + +``` +\marg{argument} +\marg*{argument} +\oarg{argument} +\oarg*{argument} +``` +命令的必选参数/可选参数,分别为参数自动包裹大括号和中括号。不带星号的版本生成 meta 形式的 <*argument*>。 + +``` +\Arg{argument} +``` +独立的 meta 形式 <*argument*>。结合 `\marg*` 和 `\oarg*` 可排版较复杂的参数形式如 key-value。比如 + +> \usepackage[<*key1*>=<*value1*>,...]{<*pkgname*>} + +使用如下命令排版: + +> `\cmd{usepackage}\oarg*{\Arg{key1}=\Arg{value1},\ldots}\marg{pkgname}` + +``` +\CTAN|link| +``` +生成 CTAN 资源的链接。参数 link 为链接的子目录名称,如 systems/win32/miktex,macros/contrib/... 等。 + +### 索引 + +``` +\cmdindex{cmdname} +\cmdindex[pkgname]{cmdname} +\envindex{envname} +\envindex[pkgname]{envname} +``` +命令和环境的索引项。LaTeX 基本命令用不带可选参数的形式;宏包/文档类的命令在可选参数里指定宏包名称。 +cmdname 和 envname 可写多个命令和环境名,以逗号分隔(唯一例外的是 `\,` 命令)。 + +``` +\pkgindex{pkgname} +\clsindex{clsname} +``` +宏包和文档类的索引项。可写多个宏包和文档类名称,以逗号分隔。 + +``` +\symindex{textsym} +``` +文本符号索引项。可写多个命令,以逗号分隔。 + +``` +\mathindex{mathcmd} +\msymindex{mathsym} +\maccindex{mathacc} +\waccindex{wideacc} +``` +数学命令/符号/重音的索引项。可写多个命令,以逗号分隔。 + +``` +\pinyinindex{hanzi}{汉字} +``` +汉字索引项,通过拼音参与排序。 + +### 排版元素 + +``` +\demowidth{length} +``` +用 `\rule` 命令画的一个宽度示意符号。 + +**command 环境** 用表格生成的一个加框的命令展示环境。多行命令在每行末尾(最后一行除外)加 \\。 + +**intro 环境** 每章开头的一个摘要环境。 + +**example 环境** 示例环境,生成源代码和示例效果。示例环境里不要涉及能分页的命令和浮动体。 + +**sourcecode 环境** 用于排版代码的浮动体,内部使用 `fancyvrb` 宏包的 Verbatim 环境。 + diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/Makefile b/Master/texmf-dist/doc/latex/lshort-chinese/src/Makefile new file mode 100644 index 00000000000..dd65a174672 --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-chinese/src/Makefile @@ -0,0 +1,29 @@ +LSHORT = lshort-zh-cn +PDF = $(LSHORT).pdf +REQUIRE = $(LSHORT).tex $(LSHORT)-style.sty $(LSHORT)-layout.tex $(LSHORT).ist +TEMP = $(LSHORT).{aux,log,idx,ind,ilg,out,toc,los} $(LSHORT)-example.aux + +TEX = xelatex +MODE = -interaction=nonstopmode +MAKEIDX = makeindex + +RM = rm -f +INSTALL = mv + +all: $(PDF) + +$(PDF): $(REQUIRE) + $(TEX) $(MODE) $(LSHORT) + $(MAKEIDX) -s $(LSHORT).ist $(LSHORT) + $(TEX) $(MODE) $(LSHORT) + +install: all + $(INSTALL) $(LSHORT).pdf .. + +clean: + $(RM) $(TEMP) + +distclean: clean + $(RM) ../$(LSHORT).pdf + +.PHONY: all install clean distclean \ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/biblio.tex b/Master/texmf-dist/doc/latex/lshort-chinese/src/biblio.tex deleted file mode 100644 index 52cf8f55963..00000000000 --- a/Master/texmf-dist/doc/latex/lshort-chinese/src/biblio.tex +++ /dev/null @@ -1,99 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Contents: The Bibliography -% File: biblio.tex (lshort2e.tex) -% $Id: biblio.tex,v 1.2 2003/03/19 20:57:44 oetiker Exp $ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\begin{thebibliography}{99} -\addcontentsline{toc}{chapter}{\bibname} -\bibitem{manual} Leslie Lamport. \newblock \emph{{\LaTeX:} A Document - Preparation System}. \newblock Addison-Wesley, Reading, - Massachusetts, second edition, 1994, ISBN~0-201-52983-1. - -\bibitem{texbook} Donald~E. Knuth. \newblock \textit{The \TeX{}book,} - Volume~A of \textit{Computers and Typesetting}, Addison-Wesley, - Reading, Massachusetts, second edition, 1984, ISBN~0-201-13448-9. - -\bibitem{companion} Frank Mittelbach, Michel Goossens, Johannes Braams, - David Carlisle, Chris Rowley. \newblock \emph{The {\LaTeX} Companion, (2nd Edition)}. \newblock - Addison-Wesley, Reading, Massachusetts, 2004, ISBN~0-201-36299-6. - -\bibitem{graphicscompanion} Michel Goossens, Sebastian Rahtz and Frank - Mittelbach. \newblock \emph{The {\LaTeX} Graphics Companion}. \newblock - Addison-Wesley, Reading, Massachusetts, 1997, ISBN~0-201-85469-4. - -\bibitem{local} Each \LaTeX{} installation should provide a so-called - \emph{\LaTeX{} Local Guide}, which explains the things that are - special to the local system. It should be contained in a file called - \texttt{local.tex}. Unfortunately, some lazy sysops do not provide such a - document. In this case, go and ask your local \LaTeX{} guru for help. - -\bibitem{usrguide} \LaTeX3 Project Team. \newblock \emph{\LaTeXe~for - authors}. \newblock Comes with the \LaTeXe{} distribution as - \texttt{usrguide.tex}. - -\bibitem{clsguide} \LaTeX3 Project Team. \newblock \emph{\LaTeXe~for - Class and Package writers}. \newblock Comes with the \LaTeXe{} - distribution as \texttt{clsguide.tex}. - -\bibitem{fntguide} \LaTeX3 Project Team. \newblock \emph{\LaTeXe~Font - selection}. \newblock Comes with the \LaTeXe{} distribution as - \texttt{fntguide.tex}. - -\bibitem{graphics} D.~P.~Carlisle. \newblock \emph{Packages in the - `graphics' bundle}. \newblock Comes with the `graphics' bundle as - \texttt{grfguide.tex}, available from the same source your \LaTeX{} - distribution came from. - -\bibitem{verbatim} Rainer~Sch\"opf, Bernd~Raichle, Chris~Rowley. -\newblock \emph{A New Implementation of \LaTeX's verbatim - Environments}. - \newblock Comes with the `tools' bundle as - \texttt{verbatim.dtx}, available from the same source your \LaTeX{} - distribution came from. - -\bibitem{cyrguide} Vladimir Volovich, Werner Lemberg and \LaTeX3 Project Team. - \newblock \emph{Cyrillic languages support in \LaTeX}. - \newblock Comes with the \LaTeXe{} distribution as - \texttt{cyrguide.tex}. - -\bibitem{catalogue} Graham~Williams. \newblock \emph{The TeX - Catalogue} is a very complete listing of many \TeX{} and \LaTeX{} - related packages. - \newblock Available online from \CTAN|help/Catalogue/catalogue.html| - -\bibitem{eps} Keith~Reckdahl. \newblock \emph{Using EPS Graphics in - \LaTeXe{} Documents}, which explains everything and much more than - you ever wanted to know about EPS files and their use in \LaTeX{} - documents. \newblock Available online from - \CTAN|info/epslatex.ps| - -\bibitem{xy-pic} Kristoffer H. Rose. - \newblock \emph{\Xy-pic User's Guide}. \newblock - Downloadable from CTAN with \Xy-pic distribution - -\bibitem{metapost} John D. Hobby. - \newblock \emph{A User's Manual for MetaPost}. \newblock - Downloadable from \url{http://cm.bell-labs.com/who/hobby/} - -\bibitem{unbound} Alan Hoenig. - \newblock \emph{\TeX{} Unbound}. \newblock Oxford University Press, 1998, - ISBN 0-19-509685-1; 0-19-509686-X (pbk.) - -\bibitem{ursoswald} Urs Oswald. - \newblock \emph{Graphics in \LaTeXe{}}, containing some Java source files for - generating arbitrary circles and ellipses within the \texttt{picture} environment, - and \emph{MetaPost - A Tutorial}. - \newblock Both downloadable from \url{http://www.ursoswald.ch} - - - -\end{thebibliography} - - -% - -% Local Variables: -% TeX-master: "lshort2e" -% mode: latex -% mode: flyspell -% End: 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 new file mode 100644 index 00000000000..8e9a82e1016 --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/app.A.install.tex @@ -0,0 +1,127 @@ +\chapter{安装 \protect\TeX\ 发行版}\label{app:install} + +\begin{intro} +高德纳的 \TeX\ 程序开发于 20 世纪 80 年代,那时候电子计算机的运算能力有限,\TeX\ 还是大型服务器上的玩物。 +而如今个人计算机完全能够胜任排版的工作,并催生了用于个人计算机的工具集合—— \TeX\ 发行版的发展。 + +本章会简单介绍如何安装 \TeX\ 发行版,以及保持发行版的内容紧跟最新。后者非常重要, +因为 \LaTeX\ 宏包是不断更新换代的。 +\end{intro} + +\section{\protect\TeX\ 发行版简介}\label{sec:dists} + +一个\textbf{\TeX\ 发行版}是 \TeX\ 排版引擎、支持排版的文件(基本格式、\LaTeX\ 宏包、字体等)以及一些辅助工具的集合。 +各式各样的 \TeX\ 发行版经过十多年的发展,大浪淘沙,最终形成两个成熟的分支: +\begin{itemize} + \item \textbf{\TeX\ Live}\par + \TeX\ Live 由类 Unix 系统上的 te\TeX\ 发展并取而代之,最终成为跨平台的 \TeX\ 发行版。 + \TeX\ Live 自 2011 年起以年份作为发行版的版本号,保持了一年一更的频率。 + + Mac\TeX\ 是 OS X 系统下的一个定制化的 \TeX\ Live 版本,与 \TeX\ Live 同步更新。 + + \item \textbf{Mik\TeX}\par + Mik\TeX\ 是主要用于 Windows 平台的一个稳定发展的 \TeX\ 发行版。 + 中国的 \LaTeX\ 用户应该对“C\TeX\ 套装”比较熟悉,它是一个经过本地化配置的 Mik\TeX 。 +\end{itemize} + +\TeX\ Live 和 Mik\TeX\ 都集成了一个简单的 \LaTeX\ 源代码编辑器 \TeX works(Mac\TeX\ 则集成了类似的 \TeX shop)。 +用户在完成发行版的安装后,可直接打开编辑器开始编写 \LaTeX\ 源代码。 + +\subsection{安装发行版}\label{subsec:install-dists} + +\subsubsection{\TeX\ Live} + +\TeX\ Live 在 \url{http://www.tug.org/texlive/} 上提供 ISO 光盘镜像% +\footnote{Linux 发行版的软件源也提供 \TeX\ Live 的安装,不过不够完整,更新也不是很及时。建议直接从镜像安装。}。 +下载镜像到本地,挂载到虚拟光驱,或者用压缩工具解压后,在其根目录有几个用于安装的脚本: +\begin{itemize} + \item 用于 Windows 的批处理文件: + \begin{itemize} + \item \texttt{install-tl-windows.bat} 双击启动图形界面安装程序(简单安装); + \item \texttt{install-tl-advanced.bat} 双击启动图形界面安装程序(定制安装); + \item 在命令提示符中输入 \texttt{install-tl-windows.bat -no-gui} 启动文本界面安装程序。 + \end{itemize} + \item 用于 Linux 的 Perl 脚本 \texttt{install-tl} : + \begin{itemize} + \item \texttt{install-tl} 启动文本界面安装程序; + \item \texttt{install-tl -gui=wizard} 启动图形界面安装程序(简单安装); + \item \texttt{install-tl -gui=peritk} 启动图形界面安装程序(定制安装)。 + \end{itemize} +\end{itemize} + +Linux 下 \TeX\ Live 安装完毕后,还需要在 root 权限下进行以下操作,使得 \texttt{xelatex} 命令能正确通过 \pkg{fontspec} +等宏包使用字体\footnote{\url{http://www.tug.org/texlive/doc/texlive-zh-cn/texlive-zh-cn.pdf},% +可用 \texttt{texdoc texlive-zh-cn} 在本地打开。}: +\begin{enumerate} + \item 将 \texttt{texlive-fontconfig.conf} 文件复制到 \texttt{/etc/fonts/conf.d/09-texlive.conf}。 + \item 运行 \texttt{fc-cache -fsv}。 +\end{enumerate} + +\subsubsection{Mik\TeX} +从 Mik\TeX\ 官网 \url{http://www.miktex.org/} 下载名为 \texttt{basic-miktex-***.exe} 的 Windows 安装程序包。 +下载后直接双击打开,按照程序的提示进行安装即可。 + +\section{安装和更新宏包}\label{sec:pkg-manager} + +\TeX\ Live 提供了图形界面的宏包管理器 \TeX\ Live Manager 用于安装和更新宏包,而 Mik\-\TeX\ 也提供了管理器 +Mik\-\TeX\ Package Manager。用户可直接打开程序,进行宏包的安装和更新 +(Mik\TeX\ Package Manager 有普通权限和管理员权限的版本,建议总是打开管理员权限的程序)。 + +两者也可以通过各自的命令行工具安装更新宏包: +\begin{verbatim} +% TeX Live 命令行工具 tlmgr 的使用示例 +tlmgr install % 安装某个宏包 +tlmgr remove % 卸载某个宏包 +tlmgr update --all --self % 更新所有宏包(包括 tlmgr 本身) +tlmgr update --list % 列出所有可更新的宏包 +tlmgr repository set http://.../CTAN/systems/texlive/tlnet + % 指定更新源(CTAN)地址 +tlmgr info % 查看宏包信息 + % 加 --list 选项可列出宏包的所有文件 +\end{verbatim} + +\begin{verbatim} +% MikTeX 命令行工具 mpm 的使用示例 +% 建议始终加 --admin 选项使用 +mpm --admin --install % 安装某个宏包 +mpm --admin --uninstall % 卸载某个宏包 +mpm --admin --update % 更新所有宏包 +mpm --admin --set-repository=http://.../CTAN/systems/win32/miktex/tm/packages + % 指定更新源(CTAN)地址 +mpm --admin --print-package-info + % 查看宏包信息 +\end{verbatim} + +\TeX\ Live 默认安装所有宏包,而 Mik\TeX\ 的安装程序只包含了若干用于 \LaTeX\ 的基本宏包。从 \TeX\ Live 的光盘镜像和 Mik\-\TeX\ 的安装包体积可见一斑。 +默认情况下,编译过程中如果遇到宏包未安装而报错的情况下,Mik\TeX\ 会弹出一个对话框,让用户可以选择临时安装宏包,安装成功后继续编译。 + +\subsection{手动安装宏包}\label{sec:pkg-manual-install} + +\textbf{\textcolor{red}{如非万不得已,尽量不要手动安装宏包}}。绝大多数宏包都已打包到 \TeX\ Live 和 Mik\TeX\ 两大发行版的安装源, +可用宏包管理器安装。如果你知道某个宏包的名称,但不确定是否在发行版中已打包,可在 CTAN 中搜索。 + +如果确实有手动安装宏包的需要,本小节的内容将有所帮助。在手动安装之前,有必要了解一下 \TeX\ 目录结构(\TeX\ Directory Structure, TDS)。 +它是 \TeX\ 发行版中宏包、字体、帮助文档等文件的组织结构。TDS 有时也称为 TEXMF 树,取 \TeX$+$\hologo{METAFONT} 之意。 + +以 \TeX\ Live 为例,系统的 TEXMF 树根目录为 \nolinkurl{C:\\texlive\\2015\\texmf-dist},其下有很多子目录,仅举几例: +\begin{description} + \item[\texttt{tex/latex}] \LaTeX\ 宏包。 + \item[\texttt{doc/latex}] \LaTeX\ 宏包的帮助文档。 + \item[\texttt{source/latex}] \LaTeX\ 宏包的源代码。 + \item[\texttt{fonts/tfm}] \TeX\ 使用的字体文件,TFM 格式。 + \item[\texttt{fonts/type1}] PostScript 字体文件(Type1),PFB 格式。 + \item[\texttt{fonts/opentype}] OpenType 格式的字体文件。 +\end{description} + +需要手动安装的宏包,一般已经按照上述目录结构打包完成。手动安装时,尽量不要拷贝到系统的 TEXMF 树,而是拷贝到发行版提供的用户 TEXMF 树,如 +\TeX Live 的 \nolinkurl{C:\\texlive\\texmf-local}。安装完成后,还需\textbf{刷新 \TeX\ 发行版的文件名数据库},令新安装的宏包文件能够被系统找到。 +\TeX\ Live 用户须在 Windows 命令行或者 Linux 终端执行命令: +\begin{verbatim} +mktexlsr +\end{verbatim} +Mik\TeX\ 用户的命令为: +\begin{verbatim} +initexmf --update-fndb +\end{verbatim} + +\endinput \ No newline at end of file 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 new file mode 100644 index 00000000000..679db7fa376 --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/app.B.error.help.tex @@ -0,0 +1,233 @@ +\chapter{排除错误、寻求帮助}\label{chap:error-helps} + +\begin{intro} +\LaTeX\ 入门用户总会为两大问题头疼:我写的代码到底哪里出错了?如果想要实现某种用法该怎么办? +本章首先总结了常见的 \LaTeX\ 错误及应对的办法。 +\end{intro} + +\section{\LaTeX\ 错误}\label{sec:errors} + +当我们用排版引擎编译 \LaTeX\ 代码时,命令行的窗口(终端)会显示大量信息(\TeX works 等编辑器会有一个区域显示这些信息)。 +当编译过程中出现错误时,信息将会停止在出错的地方,等待我们接下来的操作。 + +比如说我们有一个明显出错的例子: +\begin{verbatim} +\documentclass{article} +\begin{document} +Test \LaTEx{} and it's friends. +\end{document} +\end{verbatim} + +编译过程中遇到这个错误将会停顿下来,提示错误,并等待用户输入指令: +\begin{verbatim} +! Undefined control sequence. +l.3 Test \LaTEx + {} and it's friends. +\end{verbatim} + +这种错误信息分两部分,前一部分(一行或多行)提示了错误的原因,后一部分指出了错误发生的行号, +以及通过错落的文字告知发生错误的命令所在位置。如上错误显示 \cmd{LaTEx} 位置发生了错误,错误提示是“未定义的控制序列”, +意思是 \cmd{LaTEx} 是 \TeX\ 程序无法识别的一个命令,很显然是我们把 \cmd{LaTeX} 的大小写写错了。 + +\subsubsection{处理方式} + +出现错误时,编译过程将暂停,等待用户输入命令。用户可以直接敲回车跳过当前的错误,继续编译,相当于丢掉了写错的命令, +将``Test and it's friends.''编译出来。但这个例子过于简单,有些复杂的代码中,有可能会由于一个小问题导致一连串的错误。 +此时可以选择按 \textbf{S/R/Q} 选择跳过接下来的所有错误,或者按 \textbf{X} 直接退出编译。 + +\subsubsection{常见的 \LaTeX\ 错误信息} + +笔者在此总结一些经常发生、问题比较明确的 \LaTeX\ 错误: + +\long\def\LaTeXerror#1{\begingroup\color{red}\bfseries\ttfamily{}#1\endgroup} + +\begin{itemize} +\item \LaTeXerror{! Undefined control sequences.} + +使用了未定义的命令。拼写错误是原因之一,如把 \cmd{LaTeX} 写作 \cmd{Latex} 这样。 +也有可能是没有调用某个宏包,但用了该宏包定义的命令。 + +\item \LaTeXerror{! Missing \$ inserted.} + +缺少数学环境的符号 \texttt\$。多由于将数学符号用在公式之外而导致。 + +\item \LaTeXerror{Runaway argument? \\ + ! Paragraph ended before \ldots\ was complete.} + +\item \LaTeXerror{! File ended while scanning use of \ldots}. + +两个错误都是主要由于漏写了包裹命令参数的花括号,导致识别参数时出现错误。 + +\item \LaTeXerror{! Extra alignment tab has been changed to \cmd{cr}.} + +\item \LaTeXerror{! Misplaced \cmd{noalign}.} + +两个错误都与表格有关。 +\begin{itemize} + \item 前者的字面意义是“一行中使用的列分隔符 \texttt\& 太多”,有的时候可能确实是 \texttt\& 的个数和列格式不匹配, + 但多数情况是漏了行尾的 \crcmd。 + \item 后者常出现于漏掉了行尾的 \crcmd\ 而接着使用 \cmd{hline} 画横线的时候。 +\end{itemize} + +\item \LaTeXerror{! LaTeX Error: Lonely \cmd{item}--perhaps a missing list environment.} + +\item \LaTeXerror{! LaTeX Error: Something's wrong--perhaps a missing \cmd{item}.} + +两个错误信息都与列表环境和 \cmd{item} 命令有关。前者意味着在没有使用列表环境的情况下用了 \cmd{item}; +后者则相反,是在列表环境中漏了 \cmd{item}。 + +\item \LaTeXerror{! I can't find file `\ldots'.} + +\item \LaTeXerror{! LaTeX Error: File `\ldots' not found.} + +两个错误都意味着缺少文件。 +\begin{itemize} + \item 如果使用 \cmd{input} 或者 \cmd{include} 命令添加文件,文件不存在,文件名或路径不正确,将会出现上述错误; + \item 如果错误提示里的文件名带 \texttt{.cls} 或者 \texttt{.sty} 扩展名,那么很显然,是因为\textbf{没有安装所需的宏包或文档类}。 +\end{itemize} + +\item \LaTeXerror{! LaTeX Error: Missing \cmd{begin}\marg*{document}.} + +字面上是缺少 \cmd{begin}\marg*{docu\-ment},实际上往往是由于在 \cmd{begin}\marg*{docu\-ment} 之前(导言区)输入了文字。 + +\item \LaTeXerror{! LaTeX Error: Cam be used only in preamble.} + +与上一条相反,由于将必须用于导言区的命令放到了 \cmd{begin}\marg*{docu\-ment} 之后使用而产生。 + +\item \LaTeXerror{! LaTeX Error: \cmd{begin}\marg*{\ldots} on input line \ldots ended by \cmd{end}\marg*{\ldots}.} + +环境首尾不匹配。比如 \cmd{begin}\marg*{enumerate} 用了 \cmd{end}\marg*{itemize} 结尾。往往是由于漏写了 \cmd{begin} +或者 \cmd{end} 命令。 + +\item \LaTeXerror{! LaTeX Error: Option clash for package `\ldots'.} + +以\textbf{不同选项}重复调用宏包造成冲突。有可能是因为其它宏包内部事先调用了这个宏包,用户再次带选项调用而导致冲突。 +可尝试去掉重复调用的宏包避免冲突。如果宏包允许的话,尽量使用其定义的命令改变设置,避免将设置作为宏包选项。 + +\item \LaTeXerror{! LaTeX Error: Command \ldots already defined, \\ + or name \cmd{end}\ldots illegal \ldots} + +使用 \cmd{newcommand} 或 \cmd{newenvironment} 定义已有的命令/环境时产生的错误。如果自己确实使用了前述命令,可考虑改成 +\cmd{re\-new\-command} 或 \cmd{re\-new\-environment};如果是宏包定义的命令产生了这个错误,则属于隐性的宏包冲突。 + +相比之前的 ``Option Clash'',隐性宏包冲突是更难以解决的问题,对各种宏包不熟悉的用户,尤其是使用模板的用户而言,往往难以下手。 +用户可尝试查找冲突的命令所在宏包的帮助手册。详尽的手册里通常会告知用户这个宏包应当用在某个宏包的前面/后面。 +如果是模板调用了大量宏包导致冲突,可联系模板的作者解决。 + +\item \LaTeXerror{! LaTeX Error: Unknown option `\ldots' for package `\ldots'.} + +调用宏包时使用了不能被其识别的选项。此时应该查找宏包的帮助文档来解决问题。 + +\item \LaTeXerror{! Package `\ldots' error: \ldots} + +宏包或文档类自定义的错误,由于不正确地使用宏包里的命令而导致。 +此时应该查找宏包的帮助文档来解决问题。 + +\end{itemize} + +\section{查看帮助文档}\label{sec:texdoc} + +\index{texdoc@\texttt{texdoc} 工具} +无论是 \TeX\ Live 还是 Mik\TeX\ ,提供了一个命令行模式的程序 \texttt{texdoc}。 +比如对 \ref{subsec:fancyhdr} 小节的 \pkg{fancyhdr} 宏包感兴趣,这时在 Windows 命令提示符或者 Linux 终端输入以下命令, +则会弹出宏包的帮助手册 \texttt{fancyhdr.pdf}: +\begin{verbatim} +texdoc fancyhdr +\end{verbatim} + +除了宏包的帮助手册外,\TeX\ 发行版还包括了各类有用的文档,有一部分在参考文献中给出。 + +如果不熟悉命令行工具的话,\TeX\ Live 提供了一个图形界面的程序 TeXdoc GUI。打开后,可以看到程序里的许多按钮,分别代表某一类的帮助文档。 +除此之外,点击 File Search 弹出搜索框,输入想要搜索的宏包和文件并按回车键,TeXdoc GUI 会弹出它搜索到的所有结果,可点击任意一项来打开文档。 + +当然对于初学者,有一个现实而棘手的问题:\textbf{某个命令到底是 \LaTeX\ 自有的,还是哪个宏包提供的?} +很遗憾地说,除了通过慢慢积累、熟悉较多宏包之外,没有很方便的办法解决这个问题,因为 \LaTeX\ 的宏包实在太丰富了。 +本手册末尾的索引给出了所有在本手册见到的命令和环境,其中哪些命令和环境需要调用哪个宏包才能使用,一目了然。但是这个索引远远不够。 + +解决这个问题有几点可行的办法: +\begin{enumerate} + \item 查询一些综述性的资料,如总结所有 \LaTeX\ 自带命令的文档 \cite{latex2e}、\LaTeX\ 符号大全 \cite{symbols} 等; + \item 在互联网上搜索自己不清楚的命令; + \item 在论坛上提问求助有经验的人。 +\end{enumerate} + +\section{常用宏包简介}\label{sec:pkg-list} + +\def\pkglabel#1{\makebox[60pt][l]{\pkg{#1}}} +\newenvironment{pkglist}% + {\list{}{% + \labelwidth=60pt + \itemindent=0pt + \leftmargin=60pt + \labelsep=0pt + \let\makelabel\pkglabel}}% + {\endlist} + +此处不包含设置字体或数学符号的宏包,它们已经在表 \ref{tbl:font-pkgs} 中列出。 + +\subsection{文字、公式和符号}\label{subsec:text-math-symbols} + +\begin{pkglist} + \item[amsmath] \AmS\ 数学公式扩展。 + \item[mathtools] 数学公式扩展宏包,提供了公式编号定制和更多的符号、矩阵等。 + \item[amsfonts] \AmS\ 扩展符号的基础字体支持。 + \item[amssymb] 在 \pkg{amsfonts} 基础上将 \AmS\ 扩展符号定义成命令。 + \item[bm] 提供将符号加粗的命令 \cmd{bm}。 + \item[siunitx] 以国际单位规范排版物理量的单位。 + \item[mhchem] 排版化学公式。 + \item[tipa] 排版国际音标。 +\end{pkglist} + +\subsection{排版元素}\label{subsec:pkg-elements} + +\begin{pkglist} + \item[ulem] 提供排版可断行下划线的命令 \cmd{uline} 以及其它装饰文字的命令。 + \item[endnote] 排版尾注。 + \item[multicol] 提供将内容自由分栏的 \env{multicols} 环境。 + \item[multitoc] 生成多栏排版的目录。 + \item[minitoc] 为章节生成独立的小目录。 + \item[glossaries] 生成词汇表。 + \item[verbatim] 对原始的 \env{verbatim} 环境的改善。提供了命令 \cmd{verbatim\-input} 调用源文件。 + \item[fancyvrb] 提供了代码排版环境 \env{Verbatim} 以及对版式的自定义。 + \item[listings] 提供了排版关键字高亮的代码环境 \env{lst\-listing} 以及对版式的自定义。类似宏包有 \pkg{minted}。 + \item[algorithm2e] 排版算法。 + \item[ntheorem] 定制定理环境。类似宏包包括 \pkg{theorem}、\pkg{thmtools}、\pkg{amsthm} 等。 +\end{pkglist} + +\subsection{图表和浮动体}\label{subsec:pkg-tab-fig} + +\begin{pkglist} + \item[booktabs] 制作三线表。 + \item[array] 对表格列格式的扩展。 + \item[tabularx] 提供 \env{tabularx} 环境排版定宽表格,支持自动计算宽度的 X 列格式。 + \item[colortbl] 支持修改表格的行、列、单元格的颜色。 + \item[multirow] 支持合并多行单元格。 + \item[makecell] 支持在单元格里排版多行内容(嵌套一个单列的小表格)。 + \item[diagbox] 制作斜线表头。 + \item[longtable] 提供排版跨页长表格的 \env{longtable} 环境。 + \item[ltxtable] 跨页长表格可使用 \env{tabularx} 的 X 列格式。 + \item[tabu] 提供排版复杂格式表格的 \env{tabu} 环境。与 \pkg{longtable} 一同调用时,提供排版复杂格式跨页长表格的 \env{longtabu} 环境。 + \item[graphicx] 支持插图。 + \item[bmpsize] \texttt{latex} + \texttt{dvipdfmx} 命令下支持 BMP/JPG/PNG 等格式的位图。 + \item[epstopdf] \texttt{pdflatex} 命令下支持 EPS 格式的矢量图。 + \item[wrapfig] 支持简单的文字在图片周围的绕排。 + \item[subfig] 提供子图表和子标题的排版。类似宏包有 \pkg{subfigure} 和 \pkg{subcaption} 等。 + \item[caption] 控制图表标题的格式。 + \item[float] 为浮动体提供不浮动的 H 模式;提供自定义的浮动体结构。 +\end{pkglist} + +\subsection{修改版式}\label{subsec:pkg-layout} + +\begin{pkglist} + \item[geometry] 修改页面尺寸、页边距、页眉页脚等参数。 + \item[fancyhdr] 修改页眉页脚格式,令页眉页脚可以左对齐、居中、右对齐。 + \item[titlesec] 修改章节标题 \cmd{chapter}、\cmd{section} 等的格式。 + \item[titletoc] 修改目录中各条目的格式。 + \item[tocloft] 类似 \pkg{titletoc} 的修改目录条目格式的宏包。 + \item[tocbibind] 支持将目录、参考文献、索引本身写入目录项。 + \item[footmisc] 修改脚注 \cmd{footnote} 的格式。 + \item[indentfirst] 令章节标题后的第一段首行缩进。 + \item[enumitem] 修改列表环境 \env{enumerate} 和 \env{itemize} 等的格式。 +\end{pkglist} + +\endinput \ No newline at end of file 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 new file mode 100644 index 00000000000..a0dcd5d0613 --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/biblio.tex @@ -0,0 +1,103 @@ +\begin{thebibliography}{20} + +\item[\S] {\bfseries \LaTeX\ 经典书籍:} + +\bibitem{manual} Leslie Lamport. + \newblock \emph{\LaTeX: A Document Preparation System}, 2nd edition. + \newblock Addison-Wesley, Reading, Massachusetts, 1994, ISBN~0-201-52983-1. + +\bibitem{companion} Frank Mittelbach, Michel Goossens, Johannes Braams, David Carlisle, Chris Rowley. + \newblock \emph{The \LaTeX\ Companion}, 2nd edition. + \newblock Addison-Wesley, Reading, Massachusetts, 2004, ISBN~0-201-36299-6. + +\bibitem{graphicscompanion} Michel Goossens, Sebastian Rahtz and Frank Mittelbach. + \newblock \emph{The \LaTeX\ Graphics Companion}, 2nd edition. + \newblock Addison-Wesley, Reading, Massachusetts, 1997, ISBN~0-301-50892-0. + +\bibitem{guide2latex} Helmut Kopka and Patrick~W. Daly, + \newblock \emph{Guide to \LaTeX}, 4th edition. + \newblock Addison-Wesley, Reading, Massachusetts, 2004, ISBN~0-321-17385-6. + +\bibitem{leoliu} 刘海洋. + \newblock \emph{\LaTeX\ 入门}. + \newblock 电子工业出版社, 北京, 2013, ISBN~978-7-121-20208-7. + +\item[\S] {\bfseries \TeX\ 经典书籍,介绍底层的命令和排版方式,有志深入学习 \LaTeX\ 或参与宏包开发者必读。有一些书籍已经开放网络资源:} +\bibitem{texbook} Donald~E. Knuth. + \newblock \emph{The \TeX book}, Volume~A of \textit{Computers and Typesetting}, 2nd edition. + \newblock Addison-Wesley, Reading, Massachusetts, 1984, ISBN~0-201-13448-9. + +\bibitem{impatient} Paul Abrahams, Kathryn A. Hargreaves, Karl Berry. + \newblock \emph{\TeX\ for the impatient}, 2nd edition. + \newblock Addison-Wesley, Reading, Massachusetts, 1984, ISBN~0-201-51375-7. \\ + \CTAN|info/impatient/book.pdf| (\texttt{texdoc impatient}) + +\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}) + +\item[\S] {\bfseries \TeX\ 发行版内置的资源(除宏包帮助手册之外的一些文档), + 可以在本地使用 \texttt{texdoc} 命令查找,也可以在 CTAN 上找到:} + +\bibitem{usrguide} \LaTeX3 Project Team. + \newblock \emph{\LaTeXe\ for authors}.\\ + \CTAN|macros/latex/doc/usrguide.pdf| (\texttt{texdoc usrguide}) + +\bibitem{clsguide} \LaTeX3 Project Team. + \newblock \emph{\LaTeXe\ for class and package writers}. \\ + \CTAN|macros/latex/doc/clsguide.pdf| (\texttt{texdoc clsguide}) + +\bibitem{fntguide} \LaTeX3 Project Team. + \newblock \emph{\LaTeXe\ font selection}. \\ + \CTAN|macros/latex/doc/fntguide.pdf| (\texttt{texdoc fntguide}) + +\bibitem{latex2e} Karl Berry, Jim Hefferon, Vincent Bela\"{\i}che. + \newblock \emph{\LaTeXe: An unofficial reference manual}. \\ + \CTAN|info/latex2e-help-texinfo/latex2e.pdf| (\texttt{texdoc latex2e}) + +\bibitem{uk-tex-faq} The UK TeX users group (TUG). + \newblock \emph{The UK TeX FAQ}. + \newblock HTML version on \url{http://www.tex.ac.uk/faq/}. \\ + \CTAN|help/uk-tex-faq/newfaq.pdf| (\texttt{texdoc faq}) + +\bibitem{l2tabu} J\"{u}rgen Fenn. + \newblock \emph{An essential guide to \LaTeXe\ usage: Obsolete commands and packages} (English translation). \\ + \CTAN|info/l2tabu/english/l2tabuen.pdf| (\texttt{texdoc l2tabuen}) + +\bibitem{symbols} Scott Pakin. + \newblock \emph{The Comprehensive \LaTeX\ Symbol List}. \\ + \CTAN|info/symbols/comprehensive/symbols-a4.pdf| (\texttt{texdoc symbols-a4}) + +\bibitem{cheatsheet} Winston Chang. + \newblock \emph{\LaTeXe\ Cheat Sheet}. \\ + \CTAN|info/latexcheat/latexcheat/latexsheet.pdf| (\texttt{texdoc latexcheat}) + +\item[\S] {\bfseries CTAN 上的其它网络资源:} + +\bibitem{catalogue} Graham Williams. + \newblock \emph{The \TeX\ Catalogue (Preface CTAN Edition)}.\\ + \CTAN|help/Catalogue/catalogue.html| + +\bibitem{survey} Stephen~G. Hartke. + \newblock \emph{A Survey of Free Math Fonts for \TeX\ and \LaTeX}.\\ + \CTAN|info/Free_Math_Font_Survey/survey.pdf| + +\item[\S] {\bfseries 其它网络渠道可获得的资源:} + +\bibitem{fontcatalogue} Palle J{\o}rgensen. + \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. + \newblock \emph{\LaTeX\ Tutorials: A primer}. \\ + \url{http://www.tug.org/twg/mactex/tutorials/ltxprimer-1.0.pdf} + +\bibitem{lnotes} 黄新刚. + \newblock \emph{雷太赫排版系统简介(\LaTeX\ Notes)}, 第二版. \\ + \url{http://dralpha.altervista.org/zh/tech/lnotes2.pdf} \\ + (旧版可用 \texttt{texdoc latex-notes-zh-cn}) + +\end{thebibliography} + +\endinput \ No newline at end of file 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 new file mode 100644 index 00000000000..d0364ffc0ed --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.01.basics.tex @@ -0,0 +1,424 @@ +\chapter{\LaTeX\ 须知}\label{chap:basics} +\addtocontents{los}{\protect\addvspace{10pt}} + +\begin{intro} +欢迎加入 \LaTeX\ 使用者的队伍!本章开头用简短的篇幅介绍了 \LaTeX\ 的来源, +然后介绍了 \LaTeX\ 源代码的写法,如何编译 \LaTeX\ 源代码生成文档,以及理解接下来的章节所必须的一些知识。 +\end{intro} + +\section{概述}\label{sec:intro} + +\subsection{\protect\TeX}\label{subsec:tex} + +\index{Knuth@Knuth, Donald E. (\textit{高德纳})} +\index{TeX@\TeX} +\TeX\ 是高德纳 (Donald E.Knuth)开发的、以排版文字和数学公式为目的的一个计算机软件 \cite{texbook}。 +高德纳从 1977 年开始开发 \TeX\ ,以发掘当时开始用于出版工业的数字印刷设备的潜力。 +正在编写著作《计算机程序设计艺术》的高德纳,意图扭转排版质量每况愈下的状况,以免影响他的出书。 +我们现在使用的 \TeX\ 排版引擎发布于 1982 年,在 1989 年又稍加改进以更好地支持 8-bit 字符和多语言排版。 +\TeX\ 以其卓越的稳定性、跨平台、几乎没有 Bug 而著称。\TeX\ 的版本号不断趋近于 $\pi$,当前为 3.141592653。 + +\TeX\ 读作 ``Tech'' ,其中 ``ch'' 的发音类似于 ``h'' ,与汉字“泰赫”的发音类似。\TeX\ 的拼写来自希腊词语 +{\fontencoding{LGR}\selectfont teqnik'h} (technique,技术) 的开头几个字母。在 ASCII 字符环境,\TeX\ 写作 \texttt{TeX}。 + +\subsection{\LaTeX}\label{subsec:latex} + +\index{LaTeX@\LaTeX} +\index{LaTeX2e@\LaTeXe} +\LaTeX\ 为 \TeX\ 基础上的一套格式,令作者能够使用预定义的专业格式以较高质量排版和印刷他们的作品。 +\LaTeX\ 的最初开发者为 Leslie Lamport 博士\cite{manual}。\LaTeX\ 使用 \TeX\ 程序作为自己的排版引擎。 +当下 \LaTeX\ 主要的维护者为 Frank Mittelbach。 + +\LaTeX\ 读作 ``Lah-tech'' 或者 ``Lay-tech'' ,近似于汉字“拉泰赫”或“雷泰赫”。\LaTeX\ 在 ASCII 字符环境写作 \texttt{LaTeX}。 +当前的 \LaTeX\ 版本为 \LaTeXe\ ,意思是超出了第二版,接近但没达到第三版,在 ASCII 字符环境写作 \texttt{LaTeX2e}。 + +\subsection{\LaTeX 的优缺点}\label{subec:advs} + +\LaTeX\ 总会拿来和一些“所见即所得”(What You See Is What You Get)的文字处理和排版工具比较优缺点。 +笔者认为这种比较并不值得提倡,毕竟所有工具都有自己值得使用的原因。 + +当然笔者还是会总结一些 \LaTeX\ 的优点: + +\begin{itemize} + \item 专业的排版输出,产生的文档看上去就像“印刷品”一样。 + + \item 方便而强大的数学公式排版能力,无出其右。 + + \item 绝大多数时候,用户只需掌握一些简单易懂的命令来组织文档结构,无需(或很少)操心文档的版面设计。 + + \item 很容易生成复杂的专业排版元素,如脚注、交叉引用、参考文献、目录等。 + + \item 强大的扩展性。世界各地的人开发了数以千计的 \LaTeX\ 宏包用于补充和扩展 \LaTeX\ 的功能。 + 本手册附录中的 \ref{sec:pkg-list} 小节可见一瞥。更多的宏包参考 \textit{The \LaTeX\ companion}\cite{companion}。 + + \item \LaTeX\ 促使用户写出结构良好的文档——而这也是 \LaTeX\ 存在的初衷。 + + \item \LaTeX\ 依赖的 \TeX\ 排版引擎和其它软件是跨平台、免费、开源的。 + 无论用户使用的是 Windows,OS X,GNU/Linux 还是 FreeBSD 等系统,都能轻松获得并使用这一强大的排版工具。 +\end{itemize} + +\LaTeX\ 的缺点也是显而易见的: +\begin{itemize} + \item 入门门槛高。本手册的副标题叫做 “\pageref{lshort-minutes}~分钟了解 \LaTeXe ”, + 实际上 \pageref{lshort-minutes} 是本手册正文部分的页数。如果你以平均一页一分钟的速度看完了本手册, + 你只是粗窥门径而已,离学会它还很远。 + + \item 排查错误困难。\LaTeX\ 作为一个依靠编写代码工作的排版工具,其使用的宏语言比 C++ 或 Python 等程序设计语言在错误排查方面困难得多。 + 它虽然能够提示错误,但不提供调试的机制,有时错误提示还很难理解。 + + \item 样式定制困难。\LaTeX\ 提供了一个基本上良好的样式,为了让用户不去关注样式而专注于文档结构。 + 但如果想要改进 \LaTeX\ 生成的文档样式则是十分困难。 + + \item 相比“所见即所得”的模式有一些不便,为了查看生成的文档,用户总要不停地编译。 +\end{itemize} + +\section{\LaTeX\ 命令和代码结构}\label{sec:src} + +\LaTeX\ 的源代码本质上是文本文件。哪怕用 Windows 的记事本或者 Linux 的 gedit 等简单的编辑器, +也可以编写一份 \LaTeX\ 源代码并编译出文档来。专用于编辑 \LaTeX\ 源代码的编辑器如 +TeXworks / TeXstudio / WinEdt 等提供了一些语法高亮、命令补全等功能,以及调用排版引擎的一些按钮。 + +除了文字本身,\LaTeX\ 源代码之中还包括大量的命令,用在排版公式、划分文档结构、控制样式等等不同的地方。 + +\subsection{\LaTeX\ 命令和环境}\label{subsec:cmds} + +\index{LaTeX macro@\LaTeX\ 命令} +\LaTeX\ 命令以反斜线 \texttt\textbackslash 开头,为以下两种形式之一: +\begin{itemize} + \item 反斜线和后面的一串字母,如 \cmd{LaTeX}。它们以任意非字母符号(空格、数字、标点等)作为分隔符。 + \item 反斜线和后面的一个非字母符号,如 \cmd{\$}。它们无需分隔符。 +\end{itemize} + +要注意 \LaTeX\ 命令是\textbf{对大小写敏感}的,比如输入 \cmd{LaTeX} 命令可以生成错落有致的 \LaTeX\ 字母组合, +但输入 \cmd{Latex} 或者 \cmd{LaTex} 什么都得不到,还会报错。 + +字母形式的 \LaTeX\ 命令忽略其后的所有空格。如果要人为引入空格,需要在命令后面加一对括号阻止其忽略空格% +\footnote{另外也可以在命令后面紧跟一个 \cmd{\textvisiblespace} 命令(反斜线加空格),代表插入一个间距。 +比如 \cmd{TeX}\cmd{\textvisiblespace}\texttt{user} 的输出效果就是 \TeX\ user。}: +\begin{example} +Shall we call ourselves +\TeX users + +or \TeX{} users? +\end{example} + +\pinyinindex{canshu}{参数} +大多数的 \LaTeX\ 命令是带一个或多个参数,每个参数用花括号 \texttt\{ 和 \texttt\} 包裹。 +有些命令带一个或多个可选参数,以方括号 \texttt[ 和 \texttt] 包裹。 +还有些命令在命令名称后可以带一个星号 \texttt*,带星号和不带星号的命令效果有一定差异。 + +\pinyinindex{fenzu}{分组} +\LaTeX\ 的花括号本身也起到\textbf{分组}的作用,可以将字体、格式等的更改限制在大括号范围之内。 + +\index{LaTeX environment@\LaTeX\ 环境} +\cmdindex{begin,end} +\LaTeX\ 还引入了\textbf{环境}的用法,用以令一些效果在局部生效,或是生成特定的文档元素。 +\LaTeX\ 环境的用法为一对命令 \cmd{begin} 和 \cmd{end}: +\begin{command} +\cmd{begin}\marg{environment name}\marg{arguments} \\ +\ldots \\ +\cmd{end}\marg{environment name} +\end{command} + +其中 \Arg{environment name} 为环境名,\cmd{begin} 和 \cmd{end} 中填写的环境名应当一致。 +\cmd{begin} 在 \Arg{environment name} 后可以带一个或多个参数,甚至可选参数。环境允许嵌套使用。 + +\subsection{\LaTeX\ 源代码结构}\label{subsec:struct} + +\cmdindex{documentclass} +\pinyinindex{wendanglei}{文档类} +\LaTeX\ 源代码以一个 \cmd{document\-class} 命令作为开头,它规定了文档使用的\textbf{文档类}: +\begin{verbatim} +\documentclass{...} +\end{verbatim} + +\cmdindex{usepackage} +\pinyinindex{hongbao}{宏包} +紧接着我们可以用 \cmd{usepackage} 命令调用\textbf{宏包}: +\begin{verbatim} +\usepackage{...} +\end{verbatim} + +\envindex{document} +再接着,我们需要用以下一对命令来标记正文内容的开始位置和结束位置,而将正文内容写入其中: +\begin{verbatim} +\begin{document} +\end{document} +\end{verbatim} + +\pinyinindex{daoyanqu}{导言区} +在 \cmd{documentclass} 和 \cmd{begin}\marg*{document} 之间的位置称为\textbf{导言区},除了使用 \cmd{use\-package} +调用宏包之外,一些对文档的全局设置命令也在这里使用。当然也可以什么都不写,一个宏包都不调用。一切视自己需求。 + +\section{用命令行操作 \LaTeX} + +相信你看到这里已经急不可耐地想要写一个 \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 / OS X 的终端,按照本手册的范例尝试一下调用命令行程序编译。 + +\subsection{引擎、格式和命令} + +\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} 的代码并输出 PDF。 +\end{description} + +\texttt{latex} 命令和 \LaTeX\ 格式往往容易混淆,在同他人讨论关于 \LaTeX\ 的时候需要明确。 +本手册为避免混淆,文中的 \LaTeX\ 一律指的是\textbf{格式},\textbf{命令}则用等宽字体 \texttt{latex} 表示。 + +用一个简单的表格总结一下: +\begin{center} +\begin{tabular}{ccc} + \hline + & plain \TeX\ 格式 & \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}命令} + +假使你的计算机上已经安装了 \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} 以及其它文件。 +这个扩展名为 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 文档格式,我们还需要用额外的命令将 DVI 转为 PDF: +\begin{verbatim} +dvipdfmx helloworld.dvi +\end{verbatim} + +然后就可以用查看 PDF 的软件 (Adobe Reader / Foxit Reader 等)打开生成的 \texttt{hello\-world.pdf} 查看了。 + +\subsection{\texttt{pdflatex} 和 \texttt{xelatex} 命令} + +\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\ 源代码架构中已经见识了宏包和文档类。本节将仔细解释它们。 + +\subsection{文档类}\label{subsec:classes} + +\pinyinindex{wendanglei}{文档类} +文档类规定了 \LaTeX\ 源代码所要生成的文档的性质——普通文章、书籍、演示文稿、个人简历等等。\LaTeX\ 源代码的开头须用 +\cmd{document\-class}指定文档类: +\begin{command} +\cmd{documentclass}\oarg{options}\marg{class-name} +\end{command} + +\clsindex{article,book,report} +\clsindex{ctexart,ctexrep,ctexbook} +其中 \Arg{class-name} 为文档类的名称,如 \LaTeX\ 提供的 \cls{article}, \cls{book}, \cls{report}, +在其基础上派生的一些文档类如支持中文排版的 \cls{ctexart} / \cls{ctexbook} / \cls{ctexrep}, +或者有其它功能的一些文档类,如 \cls{moderncv} / \cls{beamer} 等。 +\LaTeX\ 提供的基础文档类见表 \ref{tbl:ltx-classes},前三个习惯上称为“标准文档类”。 + +\begin{table}[htp] +\caption{\LaTeX\ 提供的基础文档类}\label{tbl:ltx-classes} +\hrule +\begin{description} + \item [\texttt{article}] 文章格式的文档类,广泛用于科技论文、报告、说明文档等。 + \item [\texttt{report}] 长篇报告格式的文档类,具有章节结构,用于综述、长篇论文、简单的书籍等。 + \item [\texttt{book}] 书籍文档类,包含章节结构和前言、正文、后记等结构。 +\end{description} +\hrule +\begin{description} + \item [\texttt{proc}] 基于 \cls{article} 文档类的一个简单的学术文档模板。 + \item [\texttt{slides}] 幻灯格式的文档类,使用无衬线字体。 + \item [\texttt{minimal}] 一个极其精简的文档类,只设定了纸张大小和字号, + 用作代码测试的最小工作示例(Minimal Working Example)。 +\end{description} +\hrule +\end{table} + +\pinyinindex{xuanxiang}{选项(宏包/文档类)} +可选参数 \Arg{options} 为文档类指定选项,以全局地影响文档布局的参数,如字号、纸张大小、单双面等等。 +\LaTeX\ 的三个标准文档类可指定的选项见表 \ref{tbl:ltx-options}。 + +比如调用 \cls{article} 文档类排版文章,指定纸张为 A4 大小,基本字号为 11pt,双面排版: +\begin{verbatim} +\documentclass[11pt,twoside,a4paper]{article} +\end{verbatim} + +\begin{table}[htp] +\caption{\LaTeX\ 的三个标准文档类可指定的选项}\label{tbl:ltx-options} +\hrule +\begin{description} +\item[\texttt{10pt, 11pt, 12pt}] \quad 指定文档的基本字号。缺省为 \texttt{10pt}。 + +\item[\texttt{a4paper, letterpaper, \ldots}] \quad 指定纸张大小,默认为美式纸张 \texttt{letterpaper}。 +可指定选项还包括 \texttt{a5paper},\texttt{b5paper},\texttt{executivepaper} 和 \texttt{legalpaper}。 + +\item[\texttt{fleqn}] \quad 令行间公式左对齐(缺省为居中)。 + +\item[\texttt{leqno}] \quad 将公式编号放在左边(缺省为右边)。 + +\item[\texttt{titlepage, notitlepage}] 指定标题命令 \cmd{maketitle} 是否生成单独的标题页。 +\cls{article} 缺省为 \texttt{notitlepage},\cls{report} 和 \cls{book} 缺省为 \texttt{titlepage}。 + +\item[\texttt{onecolumn, twocolumn}] \quad 指定单栏/双栏排版。 + +\item[\texttt{twoside, oneside}] \quad 指定单面/双面排版。双面排版时,奇偶页的页眉页脚、页边距不同。 +\cls{article} 和 \cls{report} 缺省为单面排版,\cls{book} 缺省为双面。 + +\item[\texttt{landscape}] \quad 指定横向排版。缺省为纵向。 + +\item[\texttt{openright, openany}] \quad 指定新的一章 \cmd{chapter} 是在奇数页(右侧)开头,还是直接紧跟着上一页开头。 +\cls{report} 缺省为 \texttt{openany},\cls{book} 缺省为 \texttt{openright}。【对 \cls{article} 无效】 +\end{description} +\hrule +\end{table} + +\subsection{宏包}\label{subsec:packages} + +\cmdindex{usepackage} +\pinyinindex{hongbao}{宏包} +\pinyinindex{xuanxiang}{选项(宏包/文档类)} +在编写 \LaTeX\ 源代码时,你时常会发现 \LaTeX\ 的基础功能不能满足你的需求,比如排版复杂的表格、插入图片、增加颜色甚至超链接等等。 +这时你需要依赖一些扩展来增强或补充 \LaTeX\ 的功能。这些扩展称为\textbf{宏包}。调用宏包的方法非常类似调用文档类的方法: +\begin{command} +\cmd{usepackage}\oarg{options}\marg{package-name} +\end{command} + +\cmd{usepackage}的参数里可以使用不止一个宏包,多个宏包用逗号隔开。这种用法一般不要指定选项% +\footnote{使用多个宏包时指定选项,相当于给每个宏包指定同样的选项。如果有某个宏包不能识别某个选项,则会出错。}: +\begin{verbatim} +% 一次性载入三个排版表格常用的宏包 +\usepackage{tabularx,longtable,multirow} +\end{verbatim} + +附录 \ref{sec:pkg-list} 汇总了常用的一些宏包。我们在手册接下来的章节中,也会穿插介绍一些最常用的宏包的使用方法。 + +在使用宏包和文档类之前,一定要首先确认它们是否安装在你的计算机中,否则 \cmd{use\-package} 等命令会报错误。 +详见附录 \ref{sec:pkg-manager} 。 + +每个宏包(包括前面所说的文档类)都定义了许多命令和环境,或者修改了 \LaTeX\ 已有的命令和环境。 +为了明白它们的用法,需要查阅宏包和文档类的帮助手册。使用方法是在 Windows 命令提示符或者 Linux 终端下输入命令: +\begin{command} +\texttt{texdoc} \Arg{pkg-name} +\end{command} + +其中 \Arg{pkg-name} 是宏包或者文档类的名称。更多获得帮助的方法见附录 \ref{sec:texdoc}。 + +\section{\LaTeX\ 用到的文件一览}\label{sec:latex-files} + +除了我们需要编写的源代码 \texttt{.tex} 文件,我们还可能接触到形形色色的文件。本节简单介绍一下这些文件。 + +每个宏包和文档类都是带特定扩展名的文件,除此之外也有一些文件出现于 \LaTeX\ 模板中: +\begin{description} + \item[\texttt{.sty}] 宏包文件。宏包的名称就是去掉扩展名的文件名。 + \item[\texttt{.cls}] 文档类文件。同样地,文档类名称就是文件名。 + \item[\texttt{.bib}] \hologo{BibTeX} 参考文献数据库文件。 + \item[\texttt{.bst}] \hologo{BibTeX} 用到的参考文献格式模板。详见 \ref{subsec:bibtex-use} 小节。 +\end{description} + +\LaTeX\ 在编译过程中生成相当多的辅助文件和日志。一些功能如交叉引用、参考文献、目录、索引等,需要先编译生成辅助文件, +然后再次编译时读入辅助文件得到正确的结果,所以复杂的 \LaTeX\ 源代码可能要编译多次: +\begin{description} + \item[\texttt{.log}] 排版引擎生成的日志文件,供排查错误使用。 + \item[\texttt{.aux}] \LaTeX\ 生成的主辅助文件,记录交叉引用、目录、参考文献的引用等。 + \item[\texttt{.toc}] \LaTeX\ 生成的目录记录文件。 + \item[\texttt{.lof}] \LaTeX\ 生成的图片目录记录文件。 + \item[\texttt{.lot}] \LaTeX\ 生成的表格目录记录文件。 + \item[\texttt{.bbl}] \hologo{BibTeX} 生成的参考文献记录文件。 + \item[\texttt{.blg}] \hologo{BibTeX} 生成的日志文件。 + \item[\texttt{.idx}] \LaTeX\ 生成的供 makeindex 处理的索引记录文件。 + \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\ 源代码,如书籍、毕业论文等,你有理由将源代码分成若干个文件而不是写到一堆,比如很自然地每章写一个文件, +可参考源代码 \ref{code:book-struct} 的写法。 + +\cmdindex{include} +\LaTeX\ 提供了命令 \cmd{include} 用来在源代码里插入文件: +\begin{command} +\cmd{include}\marg{filename} +\end{command} +\Arg{filename} 为文件名,如果和要编译的主文件不在一个目录中,则要加上相对或绝对路径,例如: +\begin{verbatim} +\include{chapters/a.tex} % 相对路径 +\include{/home/Bob/file.tex} % Linux 绝对路径 +\include{D:/file.tex} % Windows 绝对路径 +\end{verbatim} + +\Arg{filename} 可以不带扩展名,此时默认为 \texttt{.tex};其它文件必须带扩展名。 + +\cmdindex{input} +值得注意的是 \cmd{include} 在读入 \Arg{filename} 之前会另起一页。有的时候我们并不需要这样,而是用 \cmd{input} 命令,它纯粹是把文件里的内容插入: +\begin{command} +\cmd{input}\marg{filename} +\end{command} + +\cmdindex{includeonly} +另外 \LaTeX\ 提供了一个 \cmd{includeonly} 命令来组织文件,用于\textbf{导言区},指定只载入某些文件: +\begin{command} +\cmd{includeonly}\marg*{\Arg{filename1},\Arg{filename2},\ldots} +\end{command} + +导言区使用了 \cmd{includeonly} 后,正文中不在其列表范围的 \cmd{include} 命令不会起效。 + +\pkgindex{syntonly} +最后介绍一个实用的工具宏包 \pkg{syntonly}。加载这个宏包后,在导言区使用 \cmd{syntaxonly} 命令, +可令 \LaTeX\ 编译后不生成 DVI 或者 PDF 文档,只排查错误,编译速度会快不少: +\begin{verbatim} +\usepackage{syntonly} +\syntaxonly +\end{verbatim} + +如果想生成文档,则将 \cmd{syntaxonly} 命令那一行用 \texttt\% 注释掉即可。 + +\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 new file mode 100644 index 00000000000..62c0c99bd6d --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.02.text.tex @@ -0,0 +1,384 @@ +\chapter{用 \LaTeX\ 排版文字}\label{chap:text} +\addtocontents{los}{\protect\addvspace{10pt}} + +\begin{intro} +文字是排版的基础。在介绍 \LaTeX\ 支持的各种文档元素之前,首先应当了解一下如何在 \LaTeX\ 源代码中输入并排版文字, +尤其是(西文中的)标点符号、连字符、重音等一些细节。 + +本文的开头首先介绍了中文的支持方式。随着 \LaTeX\ 和底层 \TeX\ 引擎的发展,旧方式(CCT、CJK 宏包等)日渐退出舞台, +xelatex 编译命令配合 \cls{xeCJK} 宏包的方式成为主流。 +\end{intro} + +\section{语言文字和编码}\label{sec:encoding} + +\pinyinindex{bianma}{编码} +\LaTeX\ 源代码为文本文件,而文本文件的一个至关重要的性质是它的编码。在此用尽量短的篇幅介绍一下。 + +\subsection{ASCII 编码}\label{subsec:ascii} + +\index{bianma@编码!ASCII} +计算机的基本存储单位是字节(byte),每个字节为八位(8-bit),范围用十六进制写作 0x00-0xFF。 +ASCII (美国通用信息交换码)使用 0x00-0x7F 对文字编码,也就是 7-bit,能够表示 QWERTY 键盘上能够输入的拉丁字母、数字和符号。 + +由于 \TeX\ 最初面向英语文档的排版,ASCII 编码完全够用,而早期版本的 \TeX\ 也只支持 7-bit 和 ASCII。 +要排版西欧语系中带重音的字符,就必须用到后文所叙述的重音命令,如 M\"obius 必须输入 \texttt{M\char`\\"obius}。 + +\subsection{扩展编码}\label{subsec:ext-encoding} + +在 ASCII 之后,各种语言文字都发展了自己的编码,比如西欧语言的 Latin-1,日本的 Shift-JIS,中国大陆的 GB2312-80 和 GBK 等。 +它们之中的绝大多数都向下兼容 ASCII,因此无论是在哪种编码下,\TeX\ 以及 \LaTeX\ 的命令和符号都能用。 + +\index{bianma@编码!Latin-1} +\pkgindex{inputenc} +现在的 \TeX\ 程序支持 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} 得到了。 +其它一些语言也可以使用 \pkg{inputenc} 宏包配合 \pkg{babel} 宏包排版。 + +\index{bianma@编码!GBK} +GBK 等编码是多字节编码,ASCII 字符为一个字节,汉字等非 ASCII 字符为两个字节,这就需要借助一些宏包进行较为复杂的判断和处理。 +\pkg{CJK} 宏包就是用于处理中、日、韩等多字节编码的语言文字的宏包。但 \pkg{CJK} 宏包的使用非常不方便,笔者不再推荐直接使用。 +后一节将简单介绍现在推荐的中文支持方案。 + +\subsection{UTF-8 编码}\label{subsec:utf8} + +\index{bianma@编码!UTF-8} +Unicode 是一个多国字符的集合,覆盖了几乎全球范围内的语言文字。UTF-8 是 Unicode 的一套编码方案, +一个字符可以由一个到四个字节编码,其中单字节字符兼容 ASCII 编码。 + +\pkgindex{inputenc} +\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 编码, +并借助 \pkg{fontspec} 宏包(见 \ref{subsec:fontspec} 小节)调用适当的字体,就可以在源代码中输入任意语言的文字。 +但各个语言(印地语、阿拉伯语等)的特殊排版要求需要更多的宏包支持,如 \pkg{babel}、 \pkg{polyglossia} 等。 + +\section{排版中文}\label{sec:chinese} + +\subsection{\pkg{xeCJK} 宏包}\label{subsec:xeCJK} + +用 \LaTeX\ 排版中文的一大门槛是中文字体。\TeX\ 使用的字体格式仅支持不超过 256 个字符,要想排版中文,比如旧式的 \pkg{CJK} 宏包, +往往需要复杂的预处理,将中文字体拆分成数百个小字体,非常麻烦% +\footnote{现在的 \texttt{pdflatex} 以及 \texttt{latex} + \texttt{dvipdfmx} 命令通过字体映射的方式支持直接使用中文字体,不需要经过预处理, +但仍然是不方便新手操作的。}。 + +\index{xelatex@\texttt{xelatex} 命令} +\pkgindex{xeCJK} +\texttt{xelatex} 命令支持直接使用系统安装的 TrueType (\texttt{.ttf}) / OpenType(\texttt{.otf}) 等格式的字体,加上对 UTF-8 编码的原生支持, +免去了预处理字体的麻烦。在此基础上的 \pkg{xeCJK} 宏包更进一步完善了排版中文的一些细节,比如中英文之间插入空隙、 +中文行尾的回车不引入空格、标点符号不出现在行首,等等。 + +\pkg{xeCJK} 宏包支持用简单的命令配置中文字体。举一个在 Windows 下使用 \pkg{xeCJK} 的例子(设置字体的命令详见 \ref{subsec:CJKfont} 小节), +源代码须保存为 UTF-8 编码,并使用 \texttt{xelatex} 命令编译: +\begin{verbatim} +\documentclass{article} +\usepackage{xeCJK} +\setCJKmainfont{SimSun} +\begin{document} +中文LaTeX排版。 +\end{document} +\end{verbatim} + +\subsection{\pkg{ctex} 宏包和文档类}\label{subsec:ctex} + +\pkgindex{ctex} +\clsindex{ctexart,ctexbook,ctexrep} +\pkg{ctex} 宏包和文档类是对 \pkg{CJK} 和 \pkg{xeCJK} 等宏包的进一步封装。\pkg{ctex} 文档类包括 +\cls{ctexart} / \cls{ctexrep} / \cls{ctexbook},是对 \LaTeX\ 的三个标准文档类的封装,对 \LaTeX\ 的排版样式做了许多调整, +以切合中文排版风格。最新版本的 \pkg{ctex} 宏包/文档类甚至支持自动配置字体。比如上述例子可进一步简化为: +\begin{verbatim} +\documentclass{ctexart} +\begin{document} +中文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} 宏包和文档类时总是将源代码保存为 UTF-8 编码,用 \texttt{xelatex} 命令编译。 + +\section{\LaTeX\ 中的字符}\label{sec:text-symbols} + +\subsection{空格和分段}\label{subsec:spaces} + +\LaTeX\ 源代码中,空格键和 Tab 键输入的空白字符视为“空格”。 +连续的若干个空白字符视为一个空格。一行开头的空格忽略不计。 + +\cmdindex{par} +行末的回车视为一个空格;但连续两个回车,也就是空行,会将文字分段。多个空行被视为一个空行。 +也可以在行末使用 \cmd{par} 命令分段: +\begin{example} +Several spaces equal one. + Front spaces are ignored. + +An empty line starts a new +paragraph.\par +A \verb|\par| command also +starts a new line. +\end{example} + +\subsection{注释}\label{subsec:comments} + +\index{%@\texttt\% (\textit{注释})} +\LaTeX\ 用 \texttt\% 字符作为注释。在这个字符之后直到行末,所有的字符都被忽略,连同回车引入的空格。 +我们需要注意以下示例中“回车引入的空格被忽略”的效果: +\begin{example} +This is an % short comment +% --- +% Long and organized +% comments +% --- +example: Comments do not bre% +ak a word. +\end{example} + +\subsection{特殊字符}\label{subsec:special-chars} + +以下字符在 \LaTeX\ 里有特殊用途,如 \texttt\% 表示注释, \texttt\$、\texttt\textasciicircum 、\texttt\_ 等用于排版数学公式, +\texttt\& 用于排版表格,等等。直接输入这些字符得不到对应的符号,还往往会出错: +\begin{verbatim} +# $ % & { } _ ^ ~ \ +\end{verbatim} + +如果想要输入以上符号,需要使用以下带反斜线的形式输入: +\begin{example} +\# \$ \% \& \{ \} \_ +\^{} \~{} +\textbackslash +\end{example} + +事实上这些带反斜线的形式就是 \LaTeX\ 命令。\cmd{\textasciicircum} 和 \cmd{\textasciitilde} +两个命令是需要带参数的,如果不加一对花括号(空参数),就将后面的字符作为参数,形成重音效果(详见 \ref{subsec:accents} 节)。 +\crcmd\ 被直接定义成了手动换行的命令,输入反斜杠就只好用 \cmd{text\-back\-slash}。 + +\subsection{连字}\label{subsec:ligatures} + +西文排版中经常会出现连字(Ligatures),常见的有 ff / fi / fl / ffi / ffl。 +\begin{example} +It's difficult to find \ldots .\\ +It's dif{}f{}icult to f{}ind \ldots . +\end{example} + +\subsection{标点符号}\label{subsec:punct} + +中文的标点符号(都是全角的非 ASCII 字符)一般来讲不用特别操心,只要使用中文输入法输入即可。 +而在英文标点的输入上,有许多需要留意的地方。 + +\subsubsection{引号} + +\index{biaodianfuhao@标点符号!`@\protect\verb+`+ (\textit{前引号} `)} +\index{biaodianfuhao@标点符号!``@\protect\verb+'+ (\textit{后引号} ')} +\index{biaodianfuhao@标点符号!'@\protect\verb+``+ (\textit{前双引号} ``)} +\index{biaodianfuhao@标点符号!''@\protect\verb+''+ (\textit{后双引号} '')} +\LaTeX\ 的单引号 ` ' 用 \texttt` 和 \texttt' 输入;双引号 `` '' 用 \verb|``| 和 \verb|''| 输入 +(虽然 \texttt" 也能表示双引号,但没有合适的单个符号用来表示前双引号,所以不常用在正文)。 +\begin{example} +``Please press the `x' key.'' +\end{example} + +\subsubsection{连字号和破折号} + +\index{biaodianfuhao@标点符号!-@\protect\verb+-+ (\textit{连字号} -)} +\index{biaodianfuhao@标点符号!--@\protect\verb+--+ (\textit{短破折号} --)} +\index{biaodianfuhao@标点符号!---@\protect\verb+---+ (\textit{长破折号} ---)} +\LaTeX\ 中有三种长度的“横线”可用:连字号、短破折号(en-dash)和长破折号(em-dash)。 +它们分别有不同的用途:连字号 - 用来组成复合词;短破折号 -- 将数字连接表示范围;长破折号 --- 作为破折号使用。 +\begin{example} +daughter-in-law, X-rated\\ +pages 13--67\\ +yes---or no? +\end{example} + +\subsubsection{省略号} + +\index{biaodianfuhao@标点符号!ldots@\cmd{ldots} (\textit{省略号} \ldots)} +\index{biaodianfuhao@标点符号!dots@\cmd{dots} (\textit{省略号} \dots)|see{\cmd{ldots}}} +\LaTeX\ 提供了命令 \cmd{ldots} 来生成省略号,相对于直接输入三个点的方式更为合理。 +\cmd{ldots} 和 \cmd{dots} 是两个等效的命令。 +\begin{example} +one, two, three, \ldots one hundred. +\end{example} + +\subsubsection{波浪号} + +我们在 \ref{subsec:special-chars} 小节中了解了 \cmd{\textasciitilde} 命令,它可以用来输入波浪号, +但位置靠顶端,可能不甚理想。有的人可能喜欢用数学公式里的 \cmd{sim} 符号来代替: +\begin{example} +a\~{}z \qquad a$\sim$z +\end{example} + +更合理的波浪号请参考 \ref{subsec:font-encs} 小节讨论的内容。 +有的时候,使用中文的全角波浪号也不失为一个办法(西文中使用波浪号的情形较少见)。 + +\subsection{特殊西文符号与重音}\label{subsec:accents} + +\pinyinindex{zhongyin}{重音} +\LaTeX\ 支持用命令输入各种西欧语言的特殊符号和重音: +\begin{example} +H\^otel, na\"\i ve, \'el\`eve,\\ +sm\o rrebr\o d, !`Se\ norita!,\\ +Sch\"onbrunner Schlo\ss{} +Stra\ss e +\end{example} + +更多可用的符号和重音见表 \ref{tbl: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] +\centering +\caption{\LaTeX\ 文本中的重音和特殊字符。} \label{tbl:accents} +\begin{tabular}{*4{cl}} + \hline + \TACC{\`}{o} & \TACC{\'}{o} & \TACC{\^}{o} & \TACC{\~}{o} \\ + \TACC{\=}{o} & \TACC{\.}{o} & \TACC{\"}{o} & \TTACC{\c}{c}\\ + \TTACC{\u}{o} & \TTACC{\v}{o} & \TTACC{\H}{o} & \TTACC{\c}{o} \\ + \TTACC{\d}{o} & \TTACC{\b}{o} & \WTACC{\t}{oo} \\[6pt] + \TSYM{\oe} & \TSYM{\OE} & \TSYM{\ae} & \TSYM{\AE} \\ + \TSYM{\aa} & \TSYM{\AA} \\[6pt] + \TSYM{\o} & \TSYM{\O} & \TSYM{\l} & \TSYM{\L} \\ + \TSYM{\i} & \TSYM{\j} & !` & \verb|!`| & ?` & \verb|?`| \\ + \hline +\end{tabular} +\begin{quote}\footnotesize% +前四行实际上都是命令带一个参数的写法,实际上 \cmd{\textasciicircum}\texttt{o} 也可以写作 +\cmd{\textasciicircum}\marg*{o},以此类推。 +\end{quote} +\end{table} + +\subsection{其它符号}\label{subsec:text-misc} + +\symindex{dag,ddag,P,S,copyright,pounds} +\symindex{textasteriskcentered,textperiodcentered,textbullet,textregistered,texttrademark} +\LaTeX\ 预定义了其它一些文本模式的符号,部分符号可参考表 \ref{tbl:general-syms}。 +\begin{example} +\P{} \S{} \dag{} \ddag{} +\copyright{} \pounds{} + +\textasteriskcentered +\textperiodcentered +\textbullet + +\textregistered{} \texttrademark +\end{example} + +更多的符号多由特定的宏包支持。参考文献 \cite{symbols} 搜集了所有在 \TeX\ 发行版中可用的符号,使用时要留意每个符号所依赖的宏包。 + +\subsection{\LaTeX\ 标志}\label{subsec:latex-mark} + +\cmdindex{TeX,LaTeX,LaTeXe} +我们见到的所有错落有致的 \LaTeX\ 标志都是由以下命令输入的: +\begin{center} +\begin{tabular}{*{6}{l}} + \hline + \TeX & \cmd{TeX} & \LaTeX & \cmd{LaTeX} & \LaTeXe & \cmd{LaTeXe} \\ + \hline +\end{tabular} +\end{center} + +\section{文字强调}\label{sec:emph} + +强调文字的方法,要么是添加一些下划线或者装饰物,要么是改变文字的字体。 + +\cmdindex{underline} +\LaTeX\ 定义了 \cmd{underline} 命令用来为文字添加下划线: +\begin{example} +An \underline{underlined} text. +\end{example} + +\pkgindex{ulem} +\cmdindex[ulem]{uline} +\cmd{underline} 命令生成下划线的样式比较机械,不同的单词可能生成高低各异的下划线,并且无法换行。 +\pkg{ulem} 宏包解决了这一问题,它提供的 \cmd{uline} 命令能够轻松生成自动换行的下划线: +\begin{example} +An example of \uline{some +long and underlined words.} +\end{example} + +\cmdindex{emph} +\cmd{emph} 命令用来将文字变为斜体以示强调。如果在本身已经用 \cmd{emph} 命令强调的文字内部嵌套使用 \cmd{emph}, +内部则使用正常字体的文字: +\begin{example} +Some \emph{emphasized words, +including \emph{double-emphasized} +words}, are shown here. +\end{example} + +如果需要用其它字体表示强调,可参考后文的 \ref{subsec:fontshape} 小节。 + +\section{断行和断页}\label{sec:break} + +\LaTeX\ 将一个段落的文档在合适的位置进行断行,尽可能做到每行的宽度一致,并且单词间距匀称。 +文字段落和公式、图表等内容顺序排布,并在合适的位置断页,分割成匀称的页面。 +在绝大多数时候,我们无需自己操心断行和断页。但偶尔会遇到需要手工调整的地方。 + +\subsection{单词间距和断行}\label{subsec:interword} + +通常情况下,断行的位置尽可能选取在两个单词之间,也就是你输入到源文件中的“空格”。 +没有断开的单词间位置则插入一小段间距,间距是根据行宽和文字自动调整的,文字密一些的地方,单词间距就略窄,反之略宽。 + +\index{~@\texttt\textasciitilde\ (\textit{不断行空格})} +我们可以使用字符 \texttt\textasciitilde 在合适的位置插入一个空格,并且这个空格不能被断开,通常用在英文人名、图表名称等场景: +\begin{example} +Fig.~2a \\ +Donale~E. Knuth +\end{example} + +\subsection{手动断行和断页}\label{subsec:manual-break} + +\index{\@\crcmd\ (\textit{换行})} \cmdindex{newline} +如果我们确实需要手动断行,可使用如下命令: +\begin{command} +\crcmd \quad or \quad \cmd{newline} +\end{command} + +\crcmd\ 也在表格、公式等地方用于分行,而 \cmd{newline} 只用于文本段落中。 + +\cmdindex{newpage,clearpage} +断页的命令有两个: +\begin{command} +\cmd{newpage} \quad or \quad \cmd{clearpage} +\end{command} + +通常情况下两个命令都能起到另起一页的作用,但有一些区别:一是在双栏排版中 \cmd{newpage} 只起到另起一栏的作用;二是涉及到浮动体的排版上行为不同。 +后文的 \ref{sec:float} 节以及 \ref{subsec:columns} 小节会更详细地介绍相关内容。 + +\cmdindex{linebreak,nolinebreak} +有时候我们不满足于 \LaTeX\ 默认的断行和断页位置,需要进行微调,就要用以下命令告诉 \LaTeX\ 哪些地方适合断页,哪些地方不适合: +\begin{command} +\cmd{linebreak}\oarg{n} \quad \cmd{nolinebreak}\oarg{n} \\ +\cmd{pagebreak}\oarg{n} \quad \cmd{nopagebreak}\oarg{n} +\end{command} + +以上命令都带一个可选参数,用数字 \Arg{n} 代表适合/不适合的程度,取值范围为 0-4,不带可选参数时,缺省为 4。 +比如 \cmd{linebreak}\texttt{[3]} 意味着此处在断行时优先考虑;\cmd{nopagebreak} 或 \cmd{nopagebreak}\texttt{[4]} +意味着禁止在此处断页。 + +以上命令适合给出优先考虑断行断页/禁止断行断页的位置,但不适合直接拿来断行或断页,使用 \cmd{newline} 或 \cmd{newpage} 等是更好的选择% +\footnote{\cmd{newline} 和 \cmd{newpage} 会在断行/断页位置正确添加空白,但 \cmd{linebreak} 和 \cmd{pagebreak} 不能, +它们的强行断行/断页会导致 \LaTeX\ 报 \texttt{Underfull \cmd{hbox}} 等警告。}。 + +\subsection{断词}\label{subsec:hyphen} + +如果 \LaTeX\ 遇到了很长的英文单词,仅在单词之间的位置断行无法生成宽度匀称的行时,就要考虑从单词中间断开。 +对于绝大部分单词,\LaTeX\ 能够找到合适的断词位置,在断开的行尾加上连字符 -。 + +\index{-@\cmd{-} (\textit{断词})} +如果一些单词没能自动断词,我们可以在单词内手动使用 \cmd{-} 命令指定断词的位置: +\begin{example} +I think this is: su\-per\-cal\-% +i\-frag\-i\-lis\-tic\-ex\-pi\-% +al\-i\-do\-cious. +\end{example} + +\endinput \ No newline at end of file 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 new file mode 100644 index 00000000000..6e37adb5b73 --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.03.elements.tex @@ -0,0 +1,1021 @@ +\chapter{文档元素}\label{chap:elements} +\addtocontents{los}{\protect\addvspace{10pt}} + +\begin{intro} +在知道了如何输入文字后,我们将在本章了解一个结构化的文档所依赖的各种元素——章节、目录、列表、图表、交叉引用、脚注等等。 +\end{intro} + +\section{章节和目录}\label{sec:secs} + +\subsection{章节标题}\label{subsec:secs} + +\cmdindex{section,subsection,subsubsection,paragraph,subparagraph} +一篇结构化的、条理清晰文档一定是层次分明的,通过不同的命令分割为章、节、小节。\LaTeX\ 的三个标准文档类 \cls{article}、\cls{report} 和 \cls{book}% +\footnote{千万注意是\textbf{标准文档类},其它文档类可能没有定义或只定义了一部分,如 \cls{beamer} 或 \cls{moderncv} 等。}% +提供了一系列命令,用以划分章节、生成章节标题并自动编号: +\begin{command} +\cmd{section}\marg{title} \quad +\cmd{subsection}\marg{title} \quad +\cmd{subsubsection}\marg{title} \\ +\cmd{paragraph}\marg{title} \quad +\cmd{subparagraph}\marg{title} +\end{command} + +\cmdindex{part} +\cmd{part} 命令用以将整个文档分割为大的分块,但不影响 \cmd{section} 等的编号: +\begin{command} +\cmd{part}\marg{title} +\end{command} + +\cmdindex{chapter} +\clsindex{book,report} +\cls{book} 和 \cls{report} 提供了章一级的结构: +\begin{command} +\cmd{chapter}\marg{title} +\end{command} + +上述命令除了生成带编号的标题之外,还向目录中添加条目,并影响页眉页脚的内容(详见 \ref{sec:pagestyle} 节)。每个命令有两种变体: +\begin{itemize} + \item 带可选参数的变体:\cmd{section}\oarg{short title}\marg{title}\par + 标题使用 \Arg{title} 参数,在目录和页眉页脚中使用 \Arg{short title} 参数; + \item 带星号的变体:\cmd{section*}\marg{title}\par + 标题不带编号,也不生成目录项和页眉页脚。 +\end{itemize} + +\pkgindex{titlesec} +\LaTeX\ 并未提供为 \cmd{section} 等章节命令定制格式的功能,这一功能由 \pkg{titlesec} 宏包提供。详情请参考宏包的帮助手册。 + +\subsection{目录}\label{sec:toc} + +\cmdindex{tableofcontents} +在 \LaTeX\ 中生成目录非常容易,只需在合适的地方使用命令: +\begin{command} +\cmd{tableofcontents} +\end{command} + +正确生成目录项,一般需要多次编译源代码。 + +\cmdindex{addcontentsline} +有时我们使用了 \cmd{chapter*} 或 \cmd{section*} 这样不生成目录项的命令,而又想手动生成该章节的目录,可以在标题命令后面使用: +\begin{command} +\cmd{addcontentsline}\marg*{toc}\marg{level}\marg{title} +\end{command} + +其中 \Arg{level} 为章节层次 \texttt{chapter} 或 \texttt{section} 等,\Arg{title} 为需要生成目录项的章节标题。 + +\subsection{文档结构的划分}\label{sec:matters} + +\cmdindex{appendix} +所有标准文档类都提供了一个 \cmd{appendix} 命令将正文和附录分开% +\footnote{有的地方可能写作 \cmd{begin} \marg*{appendix} \ldots \cmd{end} \marg*{appendix} 这样, +虽然有效,但并不规范,只要使用 \cmd{appendix} 命令就够了。}, +使用 \cmd{appendix} 后,最高一级章节改为使用拉丁字母编号,从 A 开始。 + +\clsindex{book} +\cmdindex{frontmatter,mainmatter,backmatter} +\cls{book} 文档类还提供了前言、正文、后记结构的划分命令: +\begin{description} + \item[\cmd{frontmatter}] 前言部分,页码为小写罗马字母格式;其后的章节不编号(但生成页眉页脚和目录项)。 + \item[\cmd{mainmatter}] 正文部分,页码改回数字格式,并从 1 开始计数;其后的章节正常编号。 + \item[\cmd{backmatter}] 后记部分,页码继续正常计数,格式不变;其后的章节不编号,类似 \cmd{frontmatter} 命令。 +\end{description} + +\cmdindex{include} +以上三个命令还可和 \cmd{appendix} 命令结合,生成有前言、正文、附录、后记四部分的文档。 +源代码 \ref{code:book-struct} 结合 \ref{sec:latex-multi-files} 节的 \cmd{include} 命令和其它一些命令示意了一份完整的文档结构。 + +\begin{sourcecode}[hbp] +\begin{Verbatim} +\documentclass[...]{book} +% 导言区,加载宏包和各项设置 +\usepackage{...} +% 此处示意对参考文献和索引的设置 +\usepackage{makeidx} +\makeindex +\bibliographystyle{...} + +\begin{document} +\frontmatter +\maketitle % 标题页 +\include{preface} % 前言章节 preface.tex +\tableofcontents + +\mainmatter +\include{chapter1} % 第一章 chapter1.tex +\include{chapter2} % 第二章 chapter2.tex +... +\appendix +\include{appendixA} % 附录 A appendixA.tex +... + +\backmatter +\include{prologue} % 后记 prologue.tex +\bibliography{...} % 利用 BibTeX 工具生成参考文献 +\printindex % 利用 makeindex 工具生成索引 +\end{document} +\end{Verbatim} +\caption{\cls{book} 文档类的文档结构示例。}\label{code:book-struct} +\end{sourcecode} + +\section{标题页}\label{sec:titlepage} + +\cmdindex{title,author,date,today} +\LaTeX\ 支持生成简单的标题页。首先需要给定标题和作者等信息: +\begin{command} +\cmd{title}\marg{title} \quad +\cmd{author}\marg{author} \quad +\cmd{date}\marg{date} +\end{command} +其中前两个命令是必须的,\cmd{date} 命令可选。\LaTeX\ 还提供了一个 \cmd{today} 命令自动生成当前日期, +可用在 \cmd{date} 的参数里,或者别的地方。 + +\cmdindex{thanks} +在 \cmd{title}、\cmd{author} 等命令内可以使用 \cmd{thanks} 命令生成标题页的脚注,如: +\begin{verbatim} +\author{Mary\thanks{E-mail:*****@***.com}} +\end{verbatim} + +\cmdindex{maketitle} +\pinyinindex{biaotiye}{标题页} +在信息给定后,就可以使用 +\begin{command} +\cmd{maketitle} +\end{command} +生成一个简单的标题页了。\cls{article} 文档类的标题默认不单独成页,而 \cls{report} 和 \cls{book} 默认单独成页。 +可在 \cmd{document\-class} 命令中指定 \texttt{titlepage / notitlepage} 选项修改。 + +\section{交叉引用}\label{sec:crossref} + +\cmdindex{label} +交叉引用是 \LaTeX\ 强大的自动排版功能的体现之一。在能够被交叉引用的地方,如章节、公式、图表、定理等位置使用 \cmd{label} 命令: +\begin{command} +\cmd{label}\marg{label-name} +\end{command} + +\cmdindex{ref,pageref} +之后可以在别处使用 \cmd{ref} 或 \cmd{pageref} 命令,分别生成交叉引用的编号和页码: +\begin{command} +\cmd{ref}\marg{label-name} \quad +\cmd{pageref}\marg{label-name} +\end{command} +\begin{example} +A reference to this subsection +\label{sec:this} looks like: +``see section~\ref{sec:this} on +page~\pageref{sec:this}.'' +\end{example} + +为了生成正确的交叉引用,一般也需要多次编译源代码。 + +\cmd{label} 命令可用于记录各种类型的交叉引用,使用位置分别为: +\begin{description} + \item[章节标题] 在章节标题命令 \cmd{section} 等之后紧接着使用。 + \item[行间公式] 单行公式在公式内任意位置使用;多行公式在每一行公式的任意位置使用。 + \item[有序列表] 在 \env{enumerate} 环境的每个 \cmd{item} 命令之后、下一个 \cmd{item} 命令之前任意位置使用。 + \item[图表标题] 在图表标题命令 \cmd{caption} 之后紧接着使用。 + \item[定理环境] 在定理环境内部任意位置使用。 +\end{description} + +在使用不记编号的命令形式(\cmd{section*}、\cmd{caption*}、带可选参数的 \cmd{item} 命令等)时不要使用 \cmd{label} 命令, +否则生成的引用编号不正确。 + +\section{脚注}\label{sec:footnote} + +\cmdindex{footnote} +使用 \cmd{footnote} 命令可以在页面底部生成一个脚注: +\begin{command} +\cmd{footnote}\marg{footnote} +\end{command} + +假如我们输入以下文字和命令: +\begin{verbatim} +“天地玄黄,宇宙洪荒。日月盈昃,辰宿列张。”\footnote{出自《千字文》。} +\end{verbatim} + +在正文中则为:% +“天地玄黄,宇宙洪荒。日月盈昃,辰宿列张。”\footnote{出自《千字文》。} + +\cmdindex{footnotemark,footnotetext} +有些情况下(比如在表格环境、盒子内)使用 \cmd{footnote} 并不能正确生成脚注。我们可以分两步进行, +先使用 \cmd{foot\-note\-mark} 为脚注计数,再在合适的位置用 \cmd{foot\-note\-text} 生成脚注。 + +比如: +\begin{verbatim} +\begin{tabular}{l} +\hline +“天地玄黄,宇宙洪荒。日月盈昃,辰宿列张。”\footnotemark \\ +\hline +\end{tabular} +\footnotetext{表格里的名句出自《千字文》。} +\end{verbatim} + +效果为: + +\leavevmode\begin{tabular}{l} +\hline +“天地玄黄,宇宙洪荒。日月盈昃,辰宿列张。”\footnotemark \\ +\hline +\end{tabular} +\footnotetext{表格里的名句出自《千字文》。} + +\section{特殊环境}\label{sec:envs} + +\subsection{列表}\label{subsec:lists} + +\envindex{enumerate,itemize} +\cmdindex{item} +\LaTeX\ 提供了基本的有序和无序列表环境 \env{enumerate} 和 \env{itemize},两者的用法很类似,都用 \cmd{item} 标明每个列表项。 +\env{enumerate} 环境会自动对列表项编号。 +\begin{command} +\cmd{begin}\marg*{enumerate} \\ +\cmd{item} \ldots \\ +\cmd{end}\marg*{enumerate} +\end{command} + +其中 \cmd{item} 可带一个可选参数,将有序列表的计数或者无序列表的符号替换成自定义的符号。 +列表可以嵌套使用,最多嵌套四层。 +\begin{example} +\begin{enumerate} + \item An item. + \begin{enumerate} + \item A nested item. + \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} + +\begin{example} +\begin{itemize} + \item An item. + \begin{itemize} + \item A nested item. + \item[+] A `plus' item. + \item Another item. + \end{itemize} + \item Go back to upper level. +\end{itemize} +\end{example} + +\envindex{description} +关键字环境 \env{description} 的用法与以上两者类似,不同的是 \cmd{item} 后的可选参数用来写关键字,以粗体显示,一般是必填的: +\begin{command} +\cmd{begin}\marg*{description} \\ + \cmd{item}\oarg{item title} \ldots \\ +\cmd{end}\marg*{description} +\end{command} + +\begin{example} +\begin{description} + \item[Enumerate] Numbered list. + \item[Itemize] Non-numbered list. +\end{description} +\end{example} + +默认的列表间距比较宽,\LaTeX\ 本身也未提供方便的定制功能,而要用到 \pkg{enumitem} 宏包。有兴趣的读者可参考其帮助手册。 + +\subsection{对齐环境}\label{subsec:flush} + +\envindex{center,flushleft,flushright} +\env{center}、\env{flush\-left} 和 \env{flush\-right} 环境分别用于生成居中、左对齐和右对齐的文本环境。 +\begin{command} +\cmd{begin}\marg*{center} +\ldots +\cmd{end}\marg*{center} +\end{command} + +\begin{example} +\begin{center} +Centered text using a +\verb|center| environment. +\end{center} +\begin{flushleft} +Left-aligned text using a +\verb|flushleft| environment. +\end{flushleft} +\begin{flushright} +Right-aligned text using a +\verb|flushright| environment. +\end{flushright} +\end{example} + +\cmdindex{centering,raggedleft,raggedright} +除此之外,还可以用以下命令直接改变文字的对齐方式: +\begin{command} +\cmd{centering} \quad +\cmd{raggedright} \quad +\cmd{raggedleft} +\end{command} + +\begin{example} +\centering +Centered text paragraph. + +\raggedright +Left-aligned text paragraph. + +\raggedleft +Right-aligned text paragraph. +\end{example} + +三个命令和对应的环境经常被误用,有直接用所谓 \cmd{flushleft} 命令或者 \env{raggedright} 环境的,都是不合理的用法(即使它们可能有效)。 +有一点可以将两者区分开来:\env{center} 等环境会在上下文产生一个额外间距,而 \cmd{centering} 等命令不产生,只是改变对齐方式。 +比如在浮动体环境 \env{table} 或 \env{figure} 内实现居中对齐,用 \cmd{centering} 命令即可,没必要再用 \env{center} 环境。 + +\subsection{引用环境}\label{subsec:quote} + +\envindex{quote,quotation} +\LaTeX\ 提供了两种引用的环境:\env{quote} 用于引用较短的文字,首行不缩进;\env{quotation} 用于引用若干段文字,首行缩进。 +引用环境较一般文字有额外的左右缩进。 +\begin{example} +Francis Bacon says: +\begin{quote} +Knowledge is power. +\end{quote} +\end{example} + +\begin{example} +《木兰诗》: +\begin{quotation} +万里赴戎机,关山度若飞。 +朔气传金柝,寒光照铁衣。 +将军百战死,壮士十年归。 + +归来见天子,天子坐明堂。 +策勋十二转,赏赐百千强。…… +\end{quotation} +\end{example} + +\envindex{verse} +\env{verse} 用于排版诗歌,与 \env{quotation} 恰好相反,\env{verse} 是首行悬挂缩进的。 +\begin{example} +Rabindranath Tagore's short poem: +\begin{verse} +Beauty is truth’s smile +when she beholds her own face in +a perfect mirror. +\end{verse} +\end{example} + +\subsection{摘要环境}\label{subsec:abstract} + +\envindex{abstract} +摘要环境 \env{abstract} 只在 \cls{article} 和 \cls{report} 文档类可用,一般用于紧跟 \cmd{maketitle} 命令之后介绍文档的摘要。 +如果文档类给定了 \texttt{titlepage} 选项,则单独成页;反之相当于一个小标题加一个 \env{quotation} 环境% +(双栏下相当于 \cmd{section*} 定义的一节)。 + +\subsection{代码环境}\label{subsec:verbatim} + +\envindex{verbatim} +有时我们需要将一段代码原样转义输出,这就要用到代码环境 \env{verbatim},它以等宽字体排版代码,回车和空格也分别起到换行和空位的作用; +带星号的版本更进一步将空格显示成 \textvisiblespace 。 +\begin{example} +\begin{verbatim} +#include +int main() +{ + std::cout << "Hello, world!" + << std::endl; + return 0; +} +\end{verbatim} +\end{example} + +\begin{example} +\begin{verbatim*} +for (int i=0; i<4; ++i) + printf("Number %d\n",i); +\end{verbatim*} +\end{example} + +\cmdindex{verb} +要排版简短的代码或关键字,可使用 \cmd{verb} 命令: +\begin{command} +\cmd{verb}\Arg{delim}\Arg{code}\Arg{delim} +\end{command} + +\Arg{delim} 标明代码的分界位置,不能是字母、空格或星号,前后必须一致,可任意选择使得不与代码本身冲突,习惯上使用 \texttt| 符号。 + +同 \env{verbatim} 环境,\cmd{verb} 后也可以带一个星号,以显示空格: +\begin{example} +\verb|\LaTeX| \\ +\verb+(a || b)+ \verb*+(a || b)+ +\end{example} + +\cmd{verb} 命令对符号的处理比较复杂,一般\textbf{不能用在其它命令的参数里},否则多半会出错。 + +\pkg{verbatim} 宏包优化了 \env{verbatim} 环境的内部命令,并提供了 \cmd{verbatiminput} 命令用来直接读入文件生成代码环境。 +\pkg{fancyvrb} 宏包提供了可定制格式的 \env{Verbatim} 环境;\pkg{listings} 宏包更进一步,可生成关键字高亮的代码环境, +支持各种程序设计语言的语法和关键字。详情请参考各自的帮助手册。 + +\section{表格}\label{sec:tabular} + +\pinyinindex{biaoge}{表格|(} +\LaTeX\ 里排版表格不如 Word 等所见即所得的工具简便和自由,不过对于不太复杂的表格来讲,完全能够胜任。 + +\envindex{tabular} +\cmdindex{hline} +\index{&@\texttt\& (\textit{单元格/对齐})} +\index{\@\crcmd\ (\textit{换行})} +排版表格最基本的 \env{tabular} 环境用法为: +\begin{command} +\cmd{begin}\marg*{tabular}\marg{column-spec}\\ + \Arg{item1} \texttt\& \Arg{item2} \texttt\& \ldots\ \crcmd \\ + \cmd{hline} \\ + \Arg{item1} \texttt\& \Arg{item2} \texttt\& \ldots\ \crcmd \\ +\cmd{end}\marg*{tabular} +\end{command} +其中 \Arg{column-spec} 是列格式标记,在接下来的内容将仔细介绍;\texttt\& 用来分隔单元格; +\crcmd\ 用来换行;\cmd{hline} 用来在行与行之间绘制横线。 + +直接使用 \env{tabular} 环境的话,会\textbf{和周围的文字混排}。\env{tabular} 环境可带一个可选参数控制垂直对齐(默认是垂直居中): +\begin{example} +\begin{tabular}{|c|} + center-\\ aligned \\ +\end{tabular}, +\begin{tabular}[t]{|c|} + top-\\ aligned \\ +\end{tabular}, +\begin{tabular}[b]{|c|} + bottom-\\ aligned\\ +\end{tabular} tabulars. +\end{example} + +但是通常情况下我们不这么用,\env{tabular} 环境一般会放置在 \env{table} 浮动体环境中,并用 \cmd{caption} 命令加标题。 + +\subsection{列格式}\label{subsec:tabular-cols} + +\LaTeX\ 表格中基本的列格式如下表: +\begin{center} +\begin{tabular}{lp{24em}} + \hline + 列格式 & 说明 \\ + \hline + \ttfamily l/c/r & 单元格内容左对齐/居中/右对齐,不折行 \\ + \ttfamily p\marg{width} & 单元格宽度固定为 \Arg{width},可自动折行 \\ + \ttfamily | & 绘制竖线 \\ + \ttfamily @\marg{string} & 自定义内容 \Arg{string} \\ + \hline +\end{tabular} +\end{center} + +\begin{example} +\begin{tabular}{lcr|p{6em}} + \hline + left & center & right + & par box with fixed width\\ + L & C & R & P \\ + \hline +\end{tabular} +\end{example} + +\texttt{@} 格式可在单元格前后插入任意的文本,但同时它也消除了单元格前后额外添加的间距。 +\texttt{@} 格式可以适当使用以充当“竖线”。特别地,\texttt{@}\marg*{} 可直接用来消除单元格前后的间距: +\begin{example} +\begin{tabular}{@{} r@{:}lr @{}} + \hline + 1 & 1 & one \\ + 11 & 3 & eleven \\ + \hline +\end{tabular} +\end{example} + +另外 \LaTeX\ 还提供了简便的将格式参数重复的写法 \texttt*\marg{n}\marg{column-spec},比如以下两种写法是等效的: +\begin{verbatim} +\begin{tabular}{|c|c|c|c|c|p{4em}|p{4em}|} +\begin{tabular}{|*{5}{c|}*{2}{p{4em}|}} +\end{verbatim} + +\pkgindex{array} +有时需要为整列修饰格式,比如整列改变为粗体,如果每个单元格都加上 \cmd{bfseries} 命令会比较麻烦。 +\pkg{array} 宏包提供了辅助格式 \texttt> 和 \texttt<,用于给列格式前后加上修饰命令: +\begin{example} +\begin{tabular}{>{\itshape}r<{*}l} + \hline + italic & normal \\ + column & column \\ + \hline +\end{tabular} +\end{example} + +辅助格式甚至支持插入 \cmd{centering} 等命令改变 \texttt{p} 列格式的对齐方式,一般还要加额外的命令\cmd{array\-back\-slash} 以免出错% +\footnote{\cmd{centering} 等对齐命令会破坏表格环境里 \crcmd\ 换行命令的定义, +\cmd{array\-back\-slash} 用来恢复之。如果不加 \cmd{array\-back\-slash} 命令, +也可以用 \cmd{tabular\-newline} 命令代替原来的 \crcmd\ 实现表格换行。}: +\begin{example} +\begin{tabular} +{>{\centering\arraybackslash}p{9em}} + \hline + Some center-aligned long text. \\ + \hline +\end{tabular} +\end{example} + +\subsection{列宽}\label{subsec:colwidth} + +在控制列宽方面,\LaTeX\ 表格有着明显的不足:\texttt{l/c/r} 格式的列宽是由文字内容的自然宽度决定的, +而 \texttt{p} 格式给定了列宽却不好控制对齐(需要 \pkg{array} 宏包辅助), +更何况列与列之间通常还有间距,所以直接生成给定总宽度的表格并不容易。 + +\envindex{tabular*} +\LaTeX\ 本身提供了 \env{tabular*} 环境用来排版定宽表格,但是不太方便使用, +比如要用到 \texttt{@} 格式插入额外命令,令单元格之间的间距为 \cmd{fill},但即使这样仍然有瑕疵: +\begin{example} +\begin{tabular*}{14em}% +{@{\extracolsep{\fill}}|c|c|c|c|} + \hline + A & B & C & D \\ \hline + a & b & c & d \\ \hline +\end{tabular*} +\end{example} + +\pkgindex{tabularx} +\envindex[tabularx]{tabularx} +\pkg{tabularx} 宏包为我们提供了方便的解决方案。它引入了一个 \texttt{X} 格式,类似 \texttt{p} 格式, +不过会根据表格宽度自动计算列宽,多个 \texttt{X} 格式平均分配列宽。\texttt{X} 格式也可以用 \pkg{array} 里的辅助格式修饰对齐方式: +\begin{example} +\begin{tabularx}{14em}% +{|*{4}{>{\centering\arraybackslash}X|}} + \hline + A & B & C & D \\ \hline + a & b & c & d \\ \hline +\end{tabularx} +\end{example} + +\subsection{横线}\label{subsec:hline} + +\cmdindex{hline,cline} +我们已经在之前的例子见过许多次绘制表格线的 \cmd{hline} 命令。另外 \cmd{cline}\marg*{\Arg{i}-\Arg{j}} 用来绘制跨越部分单元格的横线: +\begin{example} +\begin{tabular}{|c|c|c|} + \hline + 4 & 9 & 2 \\ \cline{2-3} + 3 & 5 & 7 \\ \cline{1-1} + 8 & 1 & 6 \\ \hline +\end{tabular} +\end{example} + +\pkgindex{booktabs} +\cmdindex[booktabs]{toprule,midrule,bottomrule} +在科技论文排版中广泛应用的表格形式是三线表,形式干净简明。 +三线表由 \pkg{booktabs} 宏包支持,它提供了 \cmd{toprule}、\cmd{midrule} 和 \cmd{bottomrule} 命令用以排版三线表的三条线, +除此之外,最好不要用其它横线以及竖线: +\begin{example} +\begin{tabular}{cccc} + \toprule + & 1 & 2 & 3 \\ + \midrule + Alphabet & A & B & C \\ + Roman & I & II& III \\ + \bottomrule +\end{tabular} +\end{example} + +\subsection{合并单元格}\label{subsec:tabular-multicol} + +\LaTeX\ 是一行一行排版表格的,横向合并单元格较为容易,由 \cmd{multi\-column} 命令实现: +\begin{command} +\cmd{multicolumn}\marg{n}\marg{column-spec}\marg{item} +\end{command} +其中 \Arg{n} 为要合并的列数,\Arg{column-spec} 为合并单元格后的列格式,只允许出现一个 \texttt{l/c/r} 或 \texttt{p} 格式。 +如果合并前的单元格前后带表格线 \texttt|,合并后的列格式也要带 \texttt| 以使得表格的竖线一致。 +\begin{example} +\begin{tabular}{|c|c|c|} + \hline + 1 & 2 & Center \\ \hline + \multicolumn{2}{|c|}{3} & + \multicolumn{1}{r|}{Right} \\ \hline + 4 & \multicolumn{2}{c|}{C} \\ \hline +\end{tabular} +\end{example} + +上面的例子还体现了,形如 \cmd{multicolumn}\marg*{1}\marg{column-spec}\marg{item} 的命令\textbf{可以用来修改某一个单元格的列格式。} + +\pkgindex{multirow} +\cmdindex[multirow]{multirow} +纵向合并单元格需要用到 \pkg{multirow} 宏包提供的 \cmd{multirow} 命令: +\begin{command} +\cmd{multirow}\marg{n}\marg{width}\marg{item} +\end{command} +\Arg{width} 为合并后单元格的宽度,可以填 \texttt{*} 以使用自然宽度。 + +我们看一个结合 \cmd{cline}、\cmd{multi\-column} 和 \cmd{multi\-row} 命令的例子: +\begin{example} +\begin{tabular}{ccc} + \hline + \multirow{2}{*}{Item} & + \multicolumn{2}{c}{Value} \\ + \cline{2-3} + & First & Second \\ \hline + A & 1 & 2 \\ \hline +\end{tabular} +\end{example} + +\subsection{嵌套表格}\label{subsec:tabular-embed} + +相对于合并单元格,拆分单元格对于 \LaTeX\ 来说并非易事。在单元格中嵌套一个小表格可以起到“拆分单元格”的效果。 +在以下的例子中,注意要用 \cmd{multi\-column} 命令配合 \texttt{@\{\}} 格式把单元格的额外边距去掉,使得嵌套的表格线能和外层的表格线正确相连: + +\begin{example} +\begin{tabular}{|c|l|c|} + \hline + a & bbb & c \\ \hline + a & \multicolumn{1}{@{}l@{}|} + {\begin{tabular}{c|c} + a & b \\ \hline + aa & bb \\ + \end{tabular}} + & c \\ \hline + a & b & c \\ \hline +\end{tabular} +\end{example} + +\pkgindex{makecell} +如果不要求画横线,并且只需要在垂直方向“拆分单元格”的话,\pkg{makecell} 宏包提供的 \cmd{make\-cell} 命令是一个简单的解决方案: + +\begin{example} +\begin{tabular}{|c|c|} + \hline + a & \makecell{d1 \\ d2} \\ + \hline + b & c \\ + \hline +\end{tabular} +\end{example} + +\subsection{行距控制}\label{subsec:tabular-colht} + +\cmdindex{arraystretch} +\LaTeX\ 生成的表格看起来通常比较紧凑。修改参数 \cmd{array\-stretch} 可以得到行距更加宽松的表格 +(相关命令参考 \ref{sec:newcommands} 节): +\begin{example} +\renewcommand\arraystretch{1.8} +\begin{tabular}{|c|} + \hline + Really loose \\ \hline + tabular rows.\\ \hline +\end{tabular} +\end{example} + +\index{\@\crcmd\ (\textit{换行})} +另一种增加间距的办法是给换行命令 \crcmd\ 添加可选参数,在这一行下面加额外的间距,适合用于在行间不加横线的表格: +\begin{example} +\begin{tabular}{c} + \hline + Head lines \\[6pt] + tabular lines \\ + tabular lines \\ \hline +\end{tabular} +\end{example} + +但是这种换行方式的存在导致了一个缺陷——\textbf{表格的首个单元格不能直接使用中括号 \texttt{[]}}, +否则 \crcmd\ 往往会将下一行的中括号当作自己的可选参数,因而出错。如果要使用中括号,应当放在花括号 \marg*{} 里面。 +或者也可以选择将换行命令写成 \crcmd\texttt{[0pt]}。 + +\pinyinindex{biaoge}{表格|)} + +\section{图片}\label{sec:figures} + +\pkgindex{graphicx} + +\LaTeX\ 本身不支持插图功能,需要由 \pkg{graphicx} 宏包辅助支持。 + +使用 \texttt{latex + dvipdfmx} 编译命令时,调用 \pkg{graphicx} 宏包时要给定 \texttt{dvipdfmx} 选项% +\footnote{早期常使用 \texttt{latex + dvips} 组合命令,后者将 \texttt{.dvi} 文件转为 \texttt{.ps} 文件(PostScript), +可进一步通过 \texttt{ps2pdf} 工具生成 PDF。\texttt{dvips} 和 \texttt{dvipdfmx} 在图形、颜色、超链接等功能的实现上有差别,而 \LaTeX\ 无法识别 +用户是用 \texttt{dvips} 还是 \texttt{dvipdfmx},所以要给定选项(缺省为 \texttt{dvips})。 +\ref{sec:hyperlinks} 节中的 \pkg{hyperref} 宏包同理。};而使用 \texttt{pdflatex} 或 \texttt{xelatex} 命令编译时不需要。 + +读者可能听说过“\LaTeX\ 只能插入 \texttt{.eps} 格式的图片,需要把 \texttt{.jpg} 转成 \texttt{.eps} 格式”的观点。 +\LaTeX\ 发展到今天,这个观点早已过时。事实上不同的编译命令支持的图片格式范围各异,见表 \ref{tbl:figure-format}。 +这个表格也能解答诸如“为什么 \texttt{.eps} 格式图片在 \texttt{pdflatex} 编译命令下出错”之类的问题。本表格也再一次说明,使用 +\texttt{xelatex} 命令是笔者最推荐的方式。 + +\begin{table}[htp] +\centering +\caption{各种编译方式支持的主流图片格式。}\label{tbl:figure-format} +\begin{tabular}{l>{\ttfamily}l>{\ttfamily}l} + \hline + 格式 & 矢量图 & 位图 \\ + \hline + \texttt{latex + dvipdfmx} & .eps & n/a \\ + \quad $\llcorner$(调用 \pkg{bmpsize} 宏包 ) & .eps .pdf & .jpg .png .bmp \\[.3\baselineskip] + \texttt{pdflatex} & .pdf & .jpg .png \\ + \quad $\llcorner$(调用 \pkg{epstopdf} 宏包) & .pdf .eps & .jpg .png \\[.3\baselineskip] + \texttt{xelatex} & .pdf .eps & .jpg .png .bmp \\ + \hline +\end{tabular} +\begin{quote}\footnotesize +注:在较新的 \TeX\ 发行版中,\texttt{latex + dvipdfmx} 和 \texttt{pdf\-latex} 命令可不依赖宏包,支持原来需要宏包扩展的图片格式 +(但 \texttt{pdf\-latex} 命令仍不支持除 \texttt{.jpg} 和 \texttt{.png} 以外的位图)。 +\end{quote} +\end{table} + +\cmdindex[graphicx]{includegraphics} +在调用了 \pkg{graphicx} 宏包以后,就可以使用 \cmd{include\-graphics} 命令加载图片了: +\begin{command} +\cmd{includegraphics}\oarg{options}\marg{filename} +\end{command} + +\cmdindex[graphicx]{graphicspath} +其中 \Arg{filename} 为图片文件名,与使用 \cmd{include} 命令类似,文件名有时需要使用相对路径或绝对路径(见 \ref{sec:latex-multi-files} 节)。 +图片文件的扩展名可写可不写。 + +另外 \pkg{graphicx} 宏包还提供了 \cmd{graphics\-path} 命令,用于声明一个或多个图片文件存放的目录, +使用这些目录里的图片时可不用写路径: +\begin{verbatim} +% 假设主要的图片放在 figures 子目录下,标志放在 logo 子目录下 +\graphicspath{{figures/}{logo/}} +\end{verbatim} + +\cmd{includegraphics} 命令的可选参数 \Arg{options} 支持 \Arg{key}=\Arg{value} 形式赋值,常用的选项如下: +\begin{center} +\begin{tabular}{lp{18em}} + \hline + 选项 & 含义 \\ + \hline + width=\Arg{width} & 将图片缩放到宽度为 \Arg{width} \\ + height=\Arg{height} & 将图片缩放到高度为 \Arg{height} \\ + scale=\Arg{scale} & 将图片相对于原尺寸缩放 \Arg{scale} 倍 \\ + angle=\Arg{angle} & 令图片逆时针旋转 \Arg{angle} 度 \\ + \hline +\end{tabular} +\end{center} + +\section{盒子}\label{sec:box} + +盒子是 \LaTeX\ 排版的基础单元,虽然解释上去有些抽象:每一行是一个盒子, +里面的文字从左到右依次排列;每一页也是一个盒子,各行文字从上到下依次排布……颇有一些活字印刷术的味道。 + +不管如何,\LaTeX\ 提供了一些实用的命令让我们生成一些有用的盒子。 + +\subsection{水平盒子}\label{subsec:mbox} + +\cmdindex{mbox,makebox} +生成水平盒子的命令如下: +\begin{command} +\cmd{mbox}\marg*{\ldots} \\ +\cmd{makebox}\oarg{width}\oarg{align}\marg*{\ldots} +\end{command} + +\cmd{mbox} 生成一个基本的水平盒子,内容只有一行(除非嵌套下文的垂直盒子),不允许分段。 +外表看上去,\cmd{mbox} 的内容与正常的文本无二,不过断行时文字不会从盒子里断开。 + +\cmd{makebox} 更进一步,可以加上可选参数用于控制盒子的宽度 \Arg{width},以及内容的对齐方式 \Arg{align}, +可选居中 \texttt{c}(默认值)、左对齐 \texttt{l}、右对齐 \texttt{r} 和分散对齐 \texttt{s}% +\footnote{分散对齐方式强行拉开单词的间距,往往会报 \texttt{Underfull} \cmd{hbox} 的消息。}。 +\begin{example} +|\mbox{Test some words.}|\\ +|\makebox[10em]{Test some words.}|\\ +|\makebox[10em][l]{Test some words.}|\\ +|\makebox[10em][r]{Test some words.}|\\ +|\makebox[10em][s]{Test some words.}| +\end{example} + +\subsection{带框的水平盒子}\label{subsec:fbox} + +\cmdindex{fbox,framebox} +\cmd{fbox} 和 \cmd{framebox} 让我们可以为水平盒子添加边框。使用的语法与 \cmd{mbox} 和 \cmd{makebox} 一模一样: +\begin{command} +\cmd{fbox}\marg*{\ldots} \\ +\cmd{framebox}\oarg{width}\oarg{align}\marg*{\ldots} +\end{command} +\begin{example} +\fbox{Test some words.}\\ +\framebox[10em][r]{Test some words.} +\end{example} + +\cmdindex{setlength} +\cmdindex{fboxrule,fboxsep} +可以通过 \cmd{setlength} 命令(见 \ref{subsec:lengths} 小节)调节边框的宽度 \cmd{fbox\-rule} 和内边距 \cmd{fbox\-sep}: +\begin{example} +\framebox[10em][r]{Test box}\\[1ex] +\setlength{\fboxrule}{1.6pt} +\setlength{\fboxsep}{1em} +\framebox[10em][r]{Test box} +\end{example} + +\subsection{垂直盒子}\label{subsec:parbox} + +\cmdindex{parbox} +\envindex{minipage} +如果需要排版一个文字可以换行的盒子,\LaTeX\ 提供了两种方式: +\begin{command} +\cmd{parbox}\oarg{align}\oarg{height}\oarg{inner-align}\marg{width}\marg*{\ldots} \\[0.5ex] +\cmd{begin}\marg*{minipage}\oarg{align}\oarg{height}\oarg{inner-align}\marg{width} \\ +\ldots \\ +\cmd{end}\marg*{minipage} +\end{command} + +其中 \Arg{align} 为盒子和周围文字的对齐情况(类似 \env{tabular} 环境); +\Arg{height} 和 \Arg{inner-align} 设置盒子的高度和内容的对齐方式,类似水平盒子 \cmd{makebox} 的设置, +不过 \Arg{inner-align} 接受的选项是顶部 \texttt{t}、底部 \texttt{b}、居中 \texttt{c} 和分散对齐 \texttt{s}。 + +\begin{example} +三字经:\parbox[t]{3em}% +{人之初 性本善 性相近 习相远} +\quad +千字文: +\begin{minipage}[b][8ex][t]{4em} +天地玄黄 宇宙洪荒 +\end{minipage} +\end{example} + +\cmdindex{footnote,footnotetext,footnotemark} +如果在 \env{minipage} 里使用 \cmd{footnote} 命令,生成的脚注会出现在盒子底部,编号是独立的,并且使用小写字母编号。 +这也是 \env{minipage} 环境之被称为“迷你页”(Mini-page)的原因。 +而在 \cmd{parbox} 里无法正常使用 \cmd{footnote} 命令,只能在盒子里使用 \cmd{foot\-note\-mark},在盒子外使用 \cmd{foot\-note\-text}。 +\begin{example} +\fbox{\begin{minipage}{15em}% + 这是一个垂直盒子的测试。 + \footnote{脚注来自 minipage。} +\end{minipage}} +\end{example} + +\subsection{标尺盒子}\label{subsec:rules} + +\cmdindex{rule} +\cmd{rule} 命令用来画一个实心的矩形盒子,也可适当调整以用来画线(标尺): +\begin{command} +\cmd{rule}\oarg{raise}\marg{width}\marg{height} +\end{command} +\begin{example} +Black \rule{12pt}{4pt} box. + +Upper \rule[4pt]{6pt}{8pt} and +lower \rule[-4pt]{6pt}{8pt} box. + +A \rule[-.4pt]{3em}{.4pt} line. +\end{example} + +\section{浮动体}\label{sec:float} + +内容丰富的文章或者书籍往往包含丰富的图片和表格等内容。这些内容的尺寸往往太大,导致分页困难。 +\LaTeX\ 为此引入了浮动体的机制,令大块的内容可以脱离上下文,放置在合适的位置。 + +\envindex{figure,table} +\LaTeX\ 预定义了两类浮动体环境 \env{figure} 和 \env{table}。习惯上 \env{figure} 里放图片,\env{table} 里放表格, +但并没有严格限制,可以在任何一个浮动体里放置表格、文字、列表等等任意内容。 + +以 \env{table} 环境的用法举例,\env{figure} 同理: +\begin{command} +\cmd{begin}\marg*{table}\oarg{placement} \\ +\ldots \\ +\cmd{end}\marg*{table} +\end{command} + +\Arg{placement} 参数提供了一些符号用来表示浮动体允许排版的位置,如 \texttt{[hbp]} 允许浮动体排版在当前位置、底部或者单独成页。 +\env{table} 和 \env{figure} 浮动体的默认设置为 \texttt{[tbp]}。 +\begin{center} +\begin{tabular}{>{\ttfamily}lp{14em}} + \hline + h & 当前位置(代码所处的上下文) \\ + t & 顶部 \\ + b & 底部 \\ + p & 单独成页 \\[0.5ex] + ! & 在决定位置时忽视限制 \\ + \hline +\end{tabular} +\end{center} +\begin{quote}\footnotesize +注 1:排版位置的选取与参数里符号的顺序无关,\LaTeX\ 总是以 \texttt{h-t-b-p} 的优先级顺序选取位置。 +也就是说 \texttt{[!htp]} 和 \texttt{[ph!t]} 没有区别。\par +注 2:限制包括浮动体个数(除单独成页外,默认每页不超过 3 个浮动体,其中顶部不超过 2 个,底部不超过 1 个) +以及浮动体空间占页面的百分比(默认顶部不超过 70\%,底部不超过 30\%)。 +\end{quote} + +\envindex{table*,figure*} +双栏排版环境下,\LaTeX\ 提供了 \env{table*} 和 \env{figure*} 环境用来排版跨栏的浮动体。 +它们的用法与 \env{table} 和 \env{figure} 一样,不同之处为双栏的 \Arg{placement} 参数只能用 \texttt{tp} 两个位置。 + +\cmdindex{clearpage} +浮动体的位置选取受到先后顺序的限制。如果某个浮动体由于参数限制、空间限制等原因在当前页无法放置,就要推迟到后一页, +并使得之后的同类浮动体一并推迟。\cmd{clearpage} 命令会在另起一页之前,先将所有推迟放置的浮动体排版成页。 + +\pkgindex{float} + +\pkg{float} 宏包为浮动体提供了 \texttt{H} 选项,不与 \texttt{htbp} 及 \texttt{!} 混用。使用 \texttt{H} 选项时, +会取消浮动机制,将浮动体视为一般的盒子插入当前位置。这在一些特殊情况下(如使用 \pkg{multicol} 宏包生成分栏)的时候很有用, +但尺寸过大的浮动体可能影响到分页。 + +\subsection{浮动体的标题}\label{subsec:caption} + +\cmdindex{caption,label} +图表等浮动体提供了 \cmd{caption} 命令加标题,并且自动给浮动体编号: +\begin{command} +\cmd{caption}\marg*{\ldots} +\end{command} +\cmd{caption} 的用法非常类似于 \cmd{section} 等命令,可以用带星号的命令 \cmd{caption*} 生成不带编号的标题, +也可以使用带可选参数的形式 \cmd{caption}\oarg*{\ldots}\marg*{\ldots},使得在目录里使用短标题。 + +\cmd{caption} 之后还可以紧跟 \cmd{label} 命令标记交叉引用。 + +\cmdindex{listoftables,listoffigures} +\env{table} 和 \env{figure} 两种浮动体分别有各自的生成目录的命令: +\begin{command} +\cmd{listoftables} \\ +\cmd{listoffigures} +\end{command} + +\subsection{并排和子图表}\label{subsec:subfig} + +我们时常有在一个浮动体里面放置多张图的用法。最简单的用法就是直接并排放置, +也可以通过分段或者换行命令 \crcmd\ 排版多行多列的图片。以下为示意代码,效果大致如图 \ref{fig:parallel-fig} 所示。 +\begin{verbatim} +\begin{figure}[htbp] + \centering + \includegraphics[width=...]{...} + \qquad + \includegraphics[width=...]{...} \\[..pt] + \includegraphics[width=...]{...} + \caption{...} +\end{figure} +\end{verbatim} + +\begin{figure}[htb] + \centering + \fcolorbox[gray]{0}{0.96}{\parbox{10em}{\vrule width 0pt height 10ex\hfil}} + \qquad + \fcolorbox[gray]{0}{0.96}{\parbox{10em}{\vrule width 0pt height 12ex\hfil}} + \par\bigskip + \fcolorbox[gray]{0}{0.96}{\parbox{20em}{\vrule width 0pt height 12ex\hfil}} + \caption{并排放置图片的示意。}\label{fig:parallel-fig} +\end{figure} + +由于标题是横跨一行的,用 \cmd{caption} 命令为每个图片单独生成标题就需要借助前文提到的 \cmd{parbox} +或者 \env{minipage} 环境,将标题限制在盒子内。效果见图 \ref{fig:parallel-cap1} 和图 \ref{fig:parallel-cap2}。 +\begin{verbatim} +\begin{figure}[htbp] + \centering + \begin{minipage} + \centering + \includegraphics[width=...]{...} + \caption{...} + \end{minipage} + \qquad + \begin{minipage} + \centering + \includegraphics[width=...]{...} + \caption{...} + \end{minipage} +\end{figure} +\end{verbatim} + +\begin{figure}[htb] + \centering + \begin{minipage}{12em} + \centering + \fcolorbox[gray]{0}{0.96}{\parbox{10em}{\vrule width 0pt height 12ex\hfil}} + \caption{并排图1。}\label{fig:parallel-cap1} + \end{minipage} + \qquad + \begin{minipage}{12em} + \centering + \fcolorbox[gray]{0}{0.96}{\parbox{10em}{\vrule width 0pt height 12ex\hfil}} + \caption{并排图2。}\label{fig:parallel-cap2} + \end{minipage} +\end{figure} + +\pkgindex{subfig} +\cmdindex[subfig]{subfloat} +当我们需要更进一步,给每个图片定义小标题时,就要用到 \pkg{subfig} 宏包的功能了。 +这里仅举一例,效果见图 \ref{fig:subfig}。更详细的用法请参考 \pkg{subfig} 宏包的帮助文档。 +\begin{verbatim} +\begin{figure}[htbp] + \centering + \subfloat[...]{\label{sub-fig-1}% 为子图加交叉引用 + \begin{minipage} + \centering + \includegraphics[width=...]{...} + \end{minipage} + } + \qquad + \subfloat[...]{% + \begin{minipage} + \centering + \includegraphics[width=...]{...} + \end{minipage} + } + \caption{...} +\end{figure} +\end{verbatim} + +\begin{figure}[htb] + \centering + \subfloat[并排子图1]{% + \begin{minipage}{12em} + \centering + \fcolorbox[gray]{0}{0.96}{\parbox{10em}{\vrule width 0pt height 12ex\hfil}} + \end{minipage}} + \qquad + \subfloat[并排子图2]{% + \begin{minipage}{12em} + \centering + \fcolorbox[gray]{0}{0.96}{\parbox{10em}{\vrule width 0pt height 12ex\hfil}} + \end{minipage}} + \caption{使用 \pkg{subfig} 宏包的 \cmd{subfloat} 命令排版子图。}\label{fig:subfig} +\end{figure} + +\endinput \ No newline at end of file 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 new file mode 100644 index 00000000000..30de4c04e93 --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.04.math.tex @@ -0,0 +1,872 @@ +\chapter{排版数学公式} +\addtocontents{los}{\protect\addvspace{10pt}} + +\begin{intro} +准备好了!本章将见识到 \LaTeX\ 闻名的强项——排版数学公式。当然你得注意了,本章的内容只是一点皮毛, +虽然对大多数人来说已经够用了,但是如果不能解决你的问题的话也不要大惊小怪,求助于搜索引擎或者有经验的人不失为一个好办法。 +\end{intro} +\DeclareRobustCommand*\amscmd[1]{\textcolor{blue}{\cmd{#1}}} +\DeclareRobustCommand*\amsenv[1]{\textcolor{blue}{\env{#1}}} + +\section{\AmS\ 宏集}\label{sec:ams-bundle} + +\pkgindex{amsmath,amsfonts,amssymb,amsthm} +在介绍数学公式排版之前,简单介绍一下 \AmS\ 宏集。\AmS\ 宏集合是美国数学学会(American Mathematical Society)提供的对 +\LaTeX\ 原生的数学公式排版的扩展,其核心是 \pkg{amsmath} 宏包,对多行公式的排版提供了有力的支持。 +此外,\pkg{amsfonts} 宏包以及基于它的 \pkg{amssymb} 宏包提供了丰富的数学符号;\pkg{amsthm} 宏包扩展了 \LaTeX\ 定理证明格式。 + +本章介绍的许多命令和环境依赖于 \pkg{amsmath} 宏包。这些命令和环境将以\textcolor{blue}{蓝色}示意。 + +\section{公式排版基础}\label{sec:math-basics} + +数学公式有两种排版方式:其一是与文字混排,称为\textbf{行内公式};其二是单独列为一行排版,称为\textbf{行间公式}。 + +\pinyinindex{hangneigongshi}{行内公式} +\index{$@\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$ +\end{example} + +\envindex{equation} +\cmdindex{label,ref,nonumber} +\cmdindex[amsmath]{eqref,tag,notag} +单独成行的\textbf{行间公式}在 \LaTeX\ 里由 \env{equation} 环境包裹。 +\env{equation} 环境为公式自动生成一个编号,这个编号可以用 \cmd{label} 和 \cmd{ref} 生成交叉引用, +\pkg{amsmath} 的 \amscmd{eqref} 命令甚至为引用自动加上圆括号;还可以用 \amscmd{tag} 命令手动修改公式的编号, +或者用 \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 +\begin{equation} +E = mc^2 \label{clever} +\end{equation} +This is a reference to +\eqref{clever}. +\end{example} + +\begin{example} +It's wrong to say +\begin{equation} +1 + 1 = 3 \tag{dumb} +\end{equation} +or +\begin{equation} +1 + 1 = 4 \notag +\end{equation} +\end{example} + +\cmdindex{[,]} +\envindex{displaymath} +\envindex[amsmath]{equation*} +当然你不会愿意为每个公式都手动取消编号。\LaTeX\ 提供了一对命令 \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: +\[ a^2 + b^2 = c^2 \] +or if you like the long one: +\begin{displaymath} +a^2 + b^2 = c^2 +\end{displaymath} +\end{example} + +我们通过一个例子展示行内公式和行间公式的对比。为了与文字相适应,行内公式在排版大的公式元素(分式、巨算符等)时显得很“局促”: + +\begin{example} +In text: +$\lim_{n \to \infty} +\sum_{k=1}^n \frac{1}{k^2} += \frac{\pi^2}{6}$. + +In display: +\[ +\lim_{n \to \infty} +\sum_{k=1}^n \frac{1}{k^2} += \frac{\pi^2}{6} +\] +\end{example} + +行间公式的对齐、编号位置等性质由文档类选项控制,文档类的 \texttt{fleqn} 选项令行间公式左对齐; +\texttt{leqno} 选项令编号放在公式左边。 + +\subsection{数学模式和文本}\label{subsec:math-mode} + +\pinyinindex{shuxuemoshi}{数学模式} +\cmdindex[amsmath]{text} +当你使用 \texttt\$ 开启行内公式输入,或是使用 \cmd{[} 命令、\env{equation} 环境时,你就进入了所谓的\textbf{数学模式}。 +数学模式相比于文本模式有以下特点: +\begin{enumerate} + \item 数学模式中输入的空格全部被忽略。数学符号的间隙默认完全由符号的性质(关系符号、运算符等)决定。 + 需要人为引入空隙时,使用 \cmd{quad} 和 \cmd{qquad} 等命令。详见 \ref{sec:math-space} 节。 + \item \textbf{不允许有空行(分段)。}每个公式(每组多行公式)自成一个段落。 + \item 所有的字母被当作数学公式中的变量处理,字母间距与文本模式不一致,也无法生成单词之间的空格。 + 如果想在数学公式中输入正体的文本,简单情况下可用 \ref{subsec:math-alpha} 小节中提供的 \cmd{mathrm} 命令。 + \pkg{amsmath} 提供了更加方便的 \amscmd{text} 命令% + \footnote{\amscmd{text} 命令仅适合在公式中穿插少量文字。如果你的情况正好相反,需要在许多文字中穿插使用公式, + 则应该像正常的行内公式那样,而不是滥用 \amscmd{text} 命令。}。 +\end{enumerate} +\begin{example} +$x^{2} \geq 0 \qquad +\text{for \textbf{all} } +x\in\mathbb{R}$ +\end{example} + +\section{数学符号}\label{sec:math-symbols} + +\def\msym#1{$\csname #1\endcsname$ (\cmd{#1})} + +\pkgindex{amssymb} +本节我们将接触到形形色色的数学符号,它们是 \LaTeX\ 卓越的数学公式排版能力的基础。\LaTeX\ 默认提供了常用的数学符号, +\pkg{amssymb} 宏包提供了一些次常用的符号。大多数常用的数学符号都能在本章末尾的 \ref{sec:math-tables} 节列出的表格里查到。 + +\subsection{一般符号} + +\pinyinindex{xilazimu}{希腊字母 (数学符号)} +\msymindex{infty} +希腊字母符号的名称就是其英文名称,如 \msym{alpha}、\msym{beta} 等等。 +大写的希腊字母为首字母大写的命令,如 \msym{Gamma}、\msym{Delta} 等等。 +无穷大符号为 \msym{infty} 。详情请参考本章末尾的表 \ref{tbl:math-greek} 和 \ref{tbl:math-misc} 等。 + +\msymindex{dots,ldots,cdots} +省略号有 \msym{dots} 和 \msym{cdots} 两种形式。它们有各自合适的用途: +\begin{example} +$a_1, a_2, \dots, a_n$ \\ +$a_1 + a_2 + \cdots + a_n$ +\end{example} + +\cmd{ldots} 和 \cmd{dots} 是完全等效的,它们既能用在公式中,也用来在文本里作为省略号(详见 \ref{subsec:punct} 小节)。 +除此之外,在矩阵中会用到竖排的 \msym{vdots} 和斜排的 \msym{ddots}。 + +\subsection{指数、上下标和导数}\label{subsec:math-scripts} + +\index{^@\texttt\textasciicircum\ (\textit{数学上标})} +\index{_@\texttt\textunderscore\ (\textit{数学下标})} +在 \LaTeX\ 中用 \texttt\textasciicircum 和 \texttt\textunderscore 标明上下标。注意上下标的内容(子公式)一般需要\textbf{用花括号包裹}, +否则上下标只对后面的一个符号起作用。 +\begin{example} +$p^3_{ij} \qquad +m_\mathrm{Knuth}\qquad +\sum_{k=1}^3 k $\\[5pt] +$a^x+y \neq a^{x+y}\qquad +e^{x^2} \neq {e^x}^2$ +\end{example} + +\pinyinindex{daoshu}{导数符号\texttt' ($a'$)} +导数符号\texttt'(${}'$)是一类特殊的上标,可以适当连用表示多阶导数,也可以在其后连用上标: +\begin{example} +$f(x) = x^2 \quad f'(x) += 2x \quad f''^{2}(x) = 4$ +\end{example} + +\subsection{分式和根式}\label{subsec:frac-sqrt} + +\mathindex{frac} +\cmdindex[amsmath]{dfrac,tfrac} +分式使用 \cmd{frac}\marg*{分子}\marg*{分母} 来书写。分式的大小在行间公式中是正常大小,而在行内被极度压缩。 +\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 +\end{example} + +\mathindex{sqrt} +一般的根式使用 \cmd{sqrt}\marg*{...};表示$n$次方根时写成 \cmd{sqrt}\oarg*{\textit{n}}\marg*{...}。 +\begin{example} +$\sqrt{x} \Leftrightarrow x^{1/2} +\quad \sqrt[3]{2} +\quad \sqrt{x^{2} + \sqrt{y}}$ +\end{example} + +\cmdindex[amsmath]{binom} +特殊的分式形式,如二项式结构,由 \pkg{amsmath} 宏包的 \amscmd{binom} 命令生成: +\begin{example} +Pascal’s rule is +\[ +\binom{n}{k} =\binom{n-1}{k} ++ \binom{n-1}{k-1} +\] +\end{example} + +\subsection{关系符}\label{subsec:math-rel} + +\msymindex{ne,ge,le,approx,equiv,propto,sim} +\LaTeX\ 常见的关系符号除了可以直接输入的 $=$,$>$,$<$,其它符号用命令输入,常用的有不等号 \msym{ne}、 +大于等于号 \msym{ge} 和小于等于号 \msym{le}% +\footnote{倾斜的关系符号 \msym{leqslant} 和 \msym{geqslant} 由 \pkg{amssymb} 提供,见表 \ref{tbl:ams-rel}。}、 +约等号 \msym{approx}、等价 \msym{equiv}、正比 \msym{propto}、相似 \msym{sim} 等等。 +更多符号命令可参考表 \ref{tbl:math-rel} 以及表 \ref{tbl:ams-rel}。 + +\mathindex{stackrel} +\LaTeX\ 还提供了自定义二元关系符的命令 \cmd{stackrel},用于将一个符号叠加在原有的二元关系符之上: +\begin{example} +\[ +f_n(x) \stackrel{*}{\approx} 1 +\] +\end{example} + +\subsection{算符}\label{subsec:math-op} + +\msymindex{times,div,cdot,pm,mp} +\LaTeX\ 中的算符大多数是二元算符,除了直接用键盘可以输入的 $+$、$-$、$*$、$/$,其它符号用命令输入, +常用的有乘号 \msym{times}、 除号 \msym{div}、点乘 \msym{cdot}、加减号 \msym{pm} / \msym{mp} 等等。 +更多符号命令可参考表 \ref{tbl:math-op} 以及表 \ref{tbl:ams-op}。 + +\msymindex{nabla,partial} +\msym{nabla} 和 \msym{partial} 也是常用的算符,虽然它们不属于二元算符。 + +\pinyinindex{shuxuehanshu}{数学函数} +\LaTeX\ 将数学函数的名称作为一个算符排版,字体为直立字体。其中有一部分符号在上下位置可以书写一些内容作为条件, +类似于后文所叙述的巨算符。 + +\begin{table}[htp] +\centering +\caption{\LaTeX\ 作为算符的函数名称一览。}\label{tbl:math-functions} +\begin{tabular}{*{5}{p{5em}}} +\hline +\multicolumn{5}{c}{不带上下限的算符} \\ +\hline +\cmd{sin} & \cmd{arcsin} & \cmd{sinh} & \cmd{exp} & \cmd{dim} \\ +\cmd{cos} & \cmd{arccos} & \cmd{cosh} & \cmd{log} & \cmd{ker} \\ +\cmd{tan} & \cmd{arctan} & \cmd{tanh} & \cmd{lg} & \cmd{hom} \\ +\cmd{cot} & \cmd{arg} & \cmd{coth} & \cmd{ln} & \cmd{deg} \\ +\cmd{sec} & \cmd{csc} & \\ +\hline +\multicolumn{5}{c}{带上下限的算符} \\ +\hline +\cmd{lim} & \cmd{limsup} & \cmd{liminf} & \cmd{sup} & \cmd{inf} \\ +\cmd{min} & \cmd{max} & \cmd{det} & \cmd{Pr} & \cmd{gcd} \\ +\hline +\end{tabular} +\end{table} + +\begin{example} +\[ + \lim_{x \rightarrow 0} + \frac{\sin x}{x}=1 +\] +\end{example} + +\mathindex{pmod,bmod} +对于求模表达式,\LaTeX\ 提供了 \cmd{pmod} 和 \cmd{bmod} 命令,前者相当于一个二元运算符,后者作为同余表达式的后缀: +\begin{example} +$a\bmod b \\ + x\equiv a \pmod{b}$ +\end{example} + +\cmdindex[amsmath]{DeclareMathOperator} +如果表 \ref{tbl:math-functions} 中的算符不够用的话,\pkg{amsmath} 允许用户用 \amscmd{Declare\-Math\-Operator} +定义自己的算符,其中带星号的命令定义带上下限的算符: +\begin{verbatim} +\DeclareMathOperator{\argh}{argh} +\DeclareMathOperator*{\nut}{Nut} +\end{verbatim} + +\begin{example} +\[\argh 3 = \nut_{x=1} 4x\] +\end{example} + +\subsection{巨算符} + +\msymindex{int,oint,sum,prod} +积分号 \msym{int}、求和号 \msym{sum} 等符号称为\textbf{巨算符}。巨算符在行内公式和行间公式的大小和形状有区别。 +\begin{example} +In text: +$\sum_{i=1}^n \quad +\int_0^{\frac{\pi}{2}} \quad +\oint_0^{\frac{\pi}{2}} \quad +\prod_\epsilon $ \\ +In display: +\[\sum_{i=1}^n \quad +\int_0^{\frac{\pi}{2}} \quad +\oint_0^{\frac{\pi}{2}} \quad +\prod_\epsilon \] +\end{example} + +\mathindex{limits,nolimits} +巨算符的上下标用作其上下限。行间公式中,积分号默认将上下限放在右上角和右下角,求和号默认在上下方;行内公式一律默认在右上角和右下角。 +可以在巨算符后使用 \cmd{limits} 手动令上下限显示在上下方,\cmd{nolimits} 则相反。 +\begin{example} +In text: +$\sum\limits_{i=1}^n \quad +\int\limits_0^{\frac{\pi}{2}} \quad +\prod\limits_\epsilon $ \\ +In display: +\[\sum\nolimits_{i=1}^n \quad +\int\limits_0^{\frac{\pi}{2}} \quad +\prod\nolimits_\epsilon \] +\end{example} + +\cmdindex[amsmath]{substack} +\envindex[amsmath]{subarray} +\pkg{amsmath} 宏包还提供了 \amscmd{substack},能够在下限位置书写多行表达式;\amsenv{subarray} +环境更进一步,令多行表达式可选择居中 (c) 或左对齐 (l): +\begin{example} +\[ +\sum_{\substack{0\le i\le n \\ + j\in \mathbb{R}}} +P(i,j) = Q(n) +\] +\[ +\sum_{\begin{subarray}{l} + 0\le i\le n \\ + j\in \mathbb{R} +\end{subarray}} +P(i,j) = Q(n) +\] +\end{example} + +\subsection{数学重音和上下括号} + +\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}}) 等, +详见表 \ref{tbl:math-accents}。使用时要注意重音符号的作用区域,一般应当对某个符号而不是“符号加下标”使用重音: +\begin{example} +$\bar{x_0} \quad \bar{x}_0$\\[5pt] +$\vec{x_0} \quad \vec{x}_0$\\[5pt] +$\hat{\mathbf{e}_x} \quad + \hat{\mathbf{e}}_x$ +\end{example} + +\waccindex{overline,underline} +\waccindex{widehat,overrightarrow} +\LaTeX\ 也能为多个字符加重音,包括直接画线的 \cmd{overline} 和 \cmd{underline} 命令(可叠加使用)、宽重音符号 \cmd{widehat}、 +表示向量的箭头 \cmd{overrightarrow} 等。后两者详见表 \ref{tbl:math-accents} 和 \ref{tbl:math-arrow-accents} 等。 +\begin{example} +$0.\overline{3} = +\underline{\underline{1/3}}$ \\[5pt] +$\hat{XY} \qquad \widehat{XY}$\\[5pt] +$\vec{AB} \qquad +\overrightarrow{AB}$ +\end{example} + +\waccindex{overbrace,underbrace} +\cmd{overbrace} 和 \cmd{underbrace} 命令用来生成上/下括号,各自可带一个上/下标公式。 +\begin{example} +$\underbrace{\overbrace{a+b+c}^6 +\cdot \overbrace{d+e+f}^7} +_\text{meaning of life} = 42$ +\end{example} + +\subsection{箭头} + +\cmdindex[amsmath]{xleftarrow,xrightarrow} +除了作为上下标之外,箭头还用于表示过程。\pkg{amsmath} 的 \amscmd{xleft\-arrow} 和 \amscmd{xright\-arrow} 命令可以为箭头增加上下标: +\begin{example} +\[ a\xleftarrow{x+y+z} b \] +\[ c\xrightarrow[x 0. +\end{array} \right. +\] +\end{example} + +\envindex[amsmath]{cases} +不过上述例子可以用 \pkg{amsmath} 提供的 \amsenv{cases} 环境更轻松地完成: +\begin{example} +\[ +|x| = +\begin{cases} +-x & \text{if } x < 0,\\ +0 & \text{if } x = 0,\\ +x & \text{if } x > 0. +\end{cases} +\] +\end{example} + +\envindex[amsmath]{matrix,pmatrix,bmatrix,Bmatrix,vmatrix,Vmatrix} +我们当然也可以用 \env{array} 环境排版各种矩阵。\pkg{amsmath} 宏包还直接提供了多种排版矩阵的环境,包括不带定界符的 \amsenv{matrix}, +以及带各种定界符的矩阵 \amsenv{pmatrix}($\bigl($)、\amsenv{bmatrix}($\bigl[$)、\amsenv{Bmatrix}($\bigl\{$)、 +\amsenv{vmatrix}($\bigl\vert$)、\amsenv{Vmatrix}($\bigl\Vert$)。 +使用这些环境时,无需给定列格式: +\begin{example} +\[ +\begin{matrix} +1 & 2 \\ +3 & 4 +\end{matrix} \qquad +\begin{bmatrix} +p_{11} & p_{12} & \ldots & p_{1n} \\ +p_{21} & p_{22} & \ldots & p_{2n} \\ +\vdots & \vdots & \ddots & \vdots \\ +p_{m1} & p_{m2} & \ldots & p_{mn} +\end{bmatrix} +\] +\end{example} + +\section{公式中的间距}\label{sec:math-space} + +\cmdindex{quad,qquad} +\index{,@\cmd{,}} % The only one which cannot use \cmdindex, oops.. +\mathindex{:,;,"!} +前文提到过,绝大部分时候,数学公式中各元素的间距是根据符号类型自动生成的,需要我们手动调整的情况极少。 +我们已经认识了两个生成间距的命令 \cmd{quad} 和 \cmd{qquad}。在公式中我们还可能用到的间距包括 \cmd{,}、\cmd{:}、\cmd{;} +以及负间距 \cmd{!},其中 \cmd{quad} 、 \cmd{qquad} 和 \cmd{,} 在文本和数学环境中可用,后三个命令只用于数学环境。 +文本中的 \cmd{\textvisiblespace} 也能使用在数学公式中。 +\begin{center} +\newdimen\testdimen \testdimen=\fontdimen6\textfont2 \divide\testdimen18\relax +\begin{tabularx}{0.9\textwidth}{*{3}{>{\raggedright\arraybackslash}X}|*{3}{>{\raggedright\arraybackslash}X}} + \hline + 无额外间距 & & $a a$ & + \cmd{,} & \demowidth{3\testdimen} & $a\,a$ \\ + \cmd{quad} & \demowidth{18\testdimen} & $a\quad a$ & + \cmd{:} & \demowidth{4\testdimen} & $a\:a$ \\ + \cmd{qquad} & \demowidth{36\testdimen} & $a\qquad a$ & + \cmd{;} & \demowidth{5\testdimen} & $a\;a$ \\ + \cmd{\textvisiblespace} & \demowidth{\fontdimen2\textfont0} & $a\ a$ & + \cmd{!} & $-$\demowidth{3\testdimen} & $a\!a$ \\ + \hline +\end{tabularx} +\end{center} + +一个常见的用途是修正积分的被积函数$f(x)$和微元$\mathrm{d}x$之间的距离。注意微元里的$\mathrm{d}$用的是直立体: +\begin{example} +\[ +\int_a^b f(x)\mathrm{d}x +\qquad +\int_a^b f(x)\,\mathrm{d}x +\] +\end{example} + +另一个用途是生成多重积分号。如果我们直接连写两个 \cmd{int},之间的间距将会过宽,此时可以使用负间距 \cmd{!} 修正之。 +不过 \pkg{amsmath} 提供了更方便的多重积分号,如二重积分 \amscmd{iint}、三重积分 \amscmd{iiint} 等。 +\begin{example} +\newcommand\diff{\,\mathrm{d}} +\begin{gather*} +\int\int f(x)g(y) +\diff x \diff y \\ +\int\!\!\!\int +f(x)g(y) \diff x \diff y \\ +\iint f(x)g(y) \diff x \diff y \\ +\iint\quad \iiint\quad \idotsint +\end{gather*} +\end{example} + +\section{数学符号的字体控制} + +\subsection{数学字母字体}\label{subsec:math-alpha} + +\mathindex{mathrm,mathsf,mathtt,mathit,mathbf,mathcal,mathnormal} +\cmdindex[amssymb]{mathbb,mathfrak} +\cmdindex[mathrsfs]{mathscr} +\LaTeX\ 允许一部分数学符号切换字体,主要是拉丁字母、数字等等。 +表 \ref{tbl:math-fonts} 给出了切换字体的命令。某一些命令需要字体宏包的支持。 +\begin{example} +$\mathcal{R} \quad \mathfrak{R} +\quad \mathbb{R}$ +\[\mathcal{L} += -\frac{1}{4}F_{\mu\nu}F^{\mu\nu}\] +$\mathfrak{su}(2)$ and +$\mathfrak{so}(3)$ Lie algebra +\end{example} + +\begin{table}[htp] +\centering +\caption{数学字母字体。} \label{tbl:math-fonts} +\begin{tabular}{@{}*3l@{}} +\hline +例子 & 命令 & 依赖的宏包\\ +\hline +$\mathnormal{ABCDE abcde 1234}$ & \cmd{mathnormal}\marg*{\ldots}& \\ +$\mathrm{ABCDE abcde 1234}$ & \cmd{mathrm}\marg*{\ldots} & \\ +$\mathit{ABCDE abcde 1234}$ & \cmd{mathit}\marg*{\ldots} & \\ +$\mathbf{ABCDE abcde 1234}$ & \cmd{mathbf}\marg*{\ldots} & \\ +$\mathsf{ABCDE abcde 1234}$ & \cmd{mathsf}\marg*{\ldots} & \\ +$\mathtt{ABCDE abcde 1234}$ & \cmd{mathtt}\marg*{\ldots} & \\ +$\CMcal{ABCDE}$ & \cmd{mathcal}\marg*{\ldots} & 只大写字母 \\ +\hline +$\EuScript{ABCDE}$ & \cmd{mathcal}\marg*{\ldots} & \pkg{eucal},只大写字母 \\ +$\mathscr{ABCDE}$ & \cmd{mathscr}\marg*{\ldots} & \pkg{mathrsfs},只大写字母\\ +$\mathfrak{ABCDE abcde 1234}$ & \cmd{mathfrak}\marg*{\ldots} & \pkg{amssymb} 或 \pkg{eufrak} \\ +$\mathbb{ABCDE}$ & \cmd{mathbb}\marg*{\ldots} & \pkg{amssymb},只大写字母 \\ +\hline +\end{tabular} +\end{table} + +\subsection{数学符号的尺寸} + +\mathindex{displaystyle,textstyle,scriptstyle,scriptscriptstyle} +数学符号按照符号排版的位置规定尺寸,从大到小包括行间公式尺寸、行内公式尺寸、上下标尺寸、次级上下标尺寸。 +除了字号有别之外,行间和行内公式尺寸下的巨算符也使用不一样的大小。\LaTeX\ 为每个数学尺寸指定了一个切换的命令,见 \ref{tbl:math-size}。 +\begin{table}[htp] +\centering +\caption{数学符号尺寸。}\label{tbl:math-size} +\begin{tabular}{lll} + \hline +\cmd{displaystyle} & 行间公式尺寸 & $\displaystyle\sum a $\\ +\cmd{textstyle} & 行内公式尺寸 & $\textstyle\sum a $ \\ +\cmd{scriptstyle} & 上下标尺寸 & $\scriptstyle a$ \\ +\cmd{scriptscriptstyle} & 次级上下标尺寸 & $\scriptscriptstyle a$\\ + \hline +\end{tabular} +\end{table} + +例如行间公式的分式内,分子分母使用行内公式尺寸,巨算符采用行内尺寸的形式。对比一下分子分母使用 \cmd{display\-style} 命令与否的区别: +\begin{example} +\[ +P = \frac + {\sum_{i=1}^n (x_i- x)(y_i- y)} + {\displaystyle \left[ + \sum_{i=1}^n (x_i-x)^2 + \sum_{i=1}^n (y_i-y)^2 + \right]^{1/2} } +\] +\end{example} + +\subsection{加粗的数学符号} + +在 \LaTeX\ 中为符号切换数学字体并不十分自由,只能通过 \cmd{mathbf} 等有限的命令切换字体。比如想得到粗斜体的符号,就没有现成的命令% +\footnote{国内可能还有使用粗斜体表示向量符号的习惯,但这并不是正确的习惯。};再比如 \cmd{mathbf} 只能改变拉丁字母,希腊字母就没有用。 + +\cmdindex{boldmath} +\LaTeX\ 提供了一个命令 \cmd{boldmath} 令用户可以将整套数学字体切换为粗体版本。但这个命令\textbf{只能在公式外使用}: +\begin{example} +$\mu, M \qquad +\mathbf{\mu}, \mathbf{M}$ +\qquad {\boldmath$\mu, M$} +\end{example} + +\cmdindex[amsmath]{boldsymbol} +\pkg{amsmath} 提供了一个 \amscmd{boldsymbol} 命令(由调用的 \pkg{amsbsy} 宏包提供),用于打破 \cmd{boldmath} 的限制, +在公式内部将一部分符号切换为粗体。 +\begin{example} +$\mu, M \qquad +\boldsymbol{\mu}, \boldsymbol{M}$ +\end{example} + +\pkgindex{bm} +\cmdindex[bm]{bm} +然而定界符、巨算符等一些符号本身没有粗体版本,\amscmd{boldsymbol} 也得不到粗体。 +\LaTeX\ 工具宏集之一的 \pkg{bm} 宏包可以用 \cmd{bm} 命令生成“伪粗体”,一定程度上解决了不带粗体版本的符号的问题。这里不做过多介绍, +详情请参考 \pkg{bm} 宏包的帮助文档。 + +\section{定理环境}\label{sec: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} +\end{command} + +\Arg{type} 为定理类型的名称,作为一个环境来使用。定理环境都需要定义,\LaTeX\ 里\textbf{没有现成的 \env{theorem} 环境}, +直接使用很可能会出错。\Arg{title} 是定理类型的标签(“定理”,“公理”等),排版在序号之前。 + +定理的序号由两个可选参数之一决定,它们\textbf{不能同时使用}: +\begin{itemize} + \item \Arg{section name} 为章节名称,这使定理序号成为章节的下一级序号; + \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} 声明引用: +\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] +The relationship of energy, +momentum and mass is +\[E^2 = m_0^2 c^4 + p^2 c^2\] +where $c$ is the light speed +described in theorem \ref{thm:light}. +\end{mythm} +\end{example} + +\subsection{\pkg{amsthm} 宏包}\label{subsec:amsthm} + +\LaTeX\ 只给了原始的证明环境格式(粗体标签、斜体正文、定理名用小括号包裹)。如果需要修改格式, +则要依赖其它的宏包,如 \pkg{amsthm}、\pkg{ntheorem} 等等。本小节简单介绍一下 \pkg{amsthm} 的用法。 + +\pkgindex{amsthm} +\cmdindex[amsthm]{theoremstyle} +\pkg{amsthm} 提供了 \cmd{theo\-rem\-style} 命令支持定理格式的切换, +在用 \cmd{new\-theo\-rem} 命令定义定理环境之前使用。 +\pkg{amsthm} 预定义了三种格式用于 \cmd{theo\-rem\-style}:\texttt{plain} 和 \LaTeX\ 原始的格式一致; +\texttt{defi\-ni\-tion} 使用粗体标签、正体内容;\texttt{remark} 使用斜体标签、正体内容。 + +另外 \pkg{amsthm} 还支持用带星号的 \cmd{new\-theo\-rem*} 定义不带序号的定理环境: +\begin{verbatim} +\theoremstyle{definition} \newtheorem{law}{Law} +\theoremstyle{plain} \newtheorem{jury}[law]{Jury} +\theoremstyle{remark} \newtheorem*{mar}{Margaret} +\end{verbatim} +\theoremstyle{definition} \newtheorem{law}{Law} +\theoremstyle{plain} \newtheorem{jury}[law]{Jury} +\theoremstyle{remark} \newtheorem*{mar}{Margaret} + +以上例子定义的 \env{jury} 环境与 \env{law} 环境共用编号,\env{mar} 环境不编号: +\begin{example} +\begin{law} \label{law:box} +Don’t hide in the witness box +\end{law} +\begin{jury}[The Twelve] +It could be you! So beware and +see law~\ref{law:box}.\end{jury} +\begin{jury} +You will disregard the last +statement.\end{jury} +\begin{mar}No, No, No\end{mar} +\begin{mar}Denis!\end{mar} +\end{example} + +\pkg{amsthm} 还支持使用 \cmd{new\-theorem\-style} 命令自定义定理格式, +更为方便使用的是 \pkg{ntheorem} 宏包。感兴趣的读者可参阅它们的帮助手册。 + +\subsection{证明环境和证毕符号}\label{subsec:proof} + +\envindex[amsthm]{proof} +\pkg{amsthm} 还提供了一个 \env{proof} 环境用于排版定理的证明过程。\env{proof} 环境末尾 +自动加上一个 \qedsymbol\ 证毕符号: +\begin{example} +\begin{proof} +For simplicity, we use +\[ +E=mc^2 +\] +That's it. +\end{proof} +\end{example} + +\cmdindex[amsthm]{qedhere} +如果行末是一个不带编号的公式,\qedsymbol\ 符号会另起一行, +这时可使用 \cmd{qedhere} 命令将 \qedsymbol\ 符号放在公式末尾: +\begin{example} +\begin{proof} +For simplicity, we use +\[ +E=mc^2 \qedhere +\] +\end{proof} +\end{example} + +\cmd{qedhere} 对于 \amsenv{align*} 等命令也有效: +\begin{example} +\begin{proof} +Assuming $\gamma += 1/\sqrt{1-v^2/c^2}$, then +\begin{align*} +E &= \gamma m_0 c^2 \\ +p &= \gamma m_0v \qedhere +\end{align*} +\end{proof} +\end{example} + +在使用带编号的公式时,建议最好\textbf{不要使用} \cmd{qedhere} 命令,而是让 \env{proof} 环境自动生成。 +对带编号的公式使用 \cmd{qedhere} 命令会使 \qedsymbol\ 符号放在一个难看的位置,紧贴着公式: +\begin{example} +\begin{proof} +For simplicity, we use +\begin{equation} +E=mc^2.\qedhere +\end{equation} +\end{proof} +\end{example} + +在 \amsenv{align} 等环境中使用 \cmd{qedhere} 命令会使 \qedsymbol\ 盖掉公式的编号;使用 \env{equation} 嵌套 \amsenv{aligned} 等环境时, +\cmd{qedhere} 命令会将 \qedsymbol\ 直接放在公式后。这些位置都不太正常。 + +\endinput \ No newline at end of file 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 new file mode 100644 index 00000000000..0b6543d629a --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.05.style.tex @@ -0,0 +1,650 @@ +\chapter{排版样式设定}\label{chap:styles} +\addtocontents{los}{\protect\addvspace{10pt}} + +\begin{intro} +至此你已经基本学会排版内容丰富的文档,标题、目录、章节、公式、列表、图片、表格等等应有尽有。但是你可能已经有点不甘心了, +因为似乎你排版出来的文档是千篇一律的模样——\LaTeX\ 默认的字体、单调的页眉页脚、不太令你满意的页边距,等等。 +本章的内容将带你一览如何修改 \LaTeX\ 的排版样式。 +\end{intro} + +\section{字体和字号}\label{sec:font} + +\LaTeX\ 根据文档的逻辑结构(章节、脚注等)来选择默认的字体样式以及字号。 +需要更改字体样式或字号的话,可以使用表 \ref{tbl:fonts} 和表 \ref{tbl:sizes} 中列出的命令。 +\begin{example} +{\small The small and +\textbf{bold} Romans ruled} +{\Large all of great big +{\itshape Italy}.} +\end{example} + +\LaTeXe\ (相比于早期的 \LaTeX\ 2.09 版本)的一个重要特征是:字体的各种属性是相互独立的, +这意味着用户可以改变字体的大小,而仍然保留字体原有的粗体或者斜体的特性。 + +\subsection{字体样式}\label{subsec:fontshape} + +\pinyinindex{ziti}{字体} +\pinyinindex{fenzu}{分组} +\LaTeX\ 提供了两组修改字体的命令,见表 \ref{tbl:fonts}。其中诸如 \cmd{bfseries} 形式的命令将会影响之后所有的字符, +如果想要让它在局部生效,需要用花括号\textbf{分组},也就是写成 \marg*{\cmd{bfseries}\ \Arg{some text}} 这样的形式; +对应的 \cmd{textbf} 形式带一个参数,只改变参数内部的字体,更为常用。 + +在公式中,直接使用 \cmd{textbf} 等命令不会起效,甚至报错。\LaTeX\ 已有修改数学字体的命令,详见 \ref{subsec:math-alpha} 小节。 + +\begin{table}[htp] +\caption{字体命令。} \label{tbl:fonts} +\centering +\begin{tabular}{@{}rrcc@{}} +\hline +\cmd{rmfamily}\cmdindex{rmfamily} & \cmd{textrm}\cmdindex{textrm}\marg*{\ldots} & \textrm{roman} & 衬线字体(罗马体)\\ +\cmd{sffamily}\cmdindex{sffamily} & \cmd{textsf}\cmdindex{textsf}\marg*{\ldots} & \textsf{sans serif} & 无衬线字体 \\ +\cmd{ttfamily}\cmdindex{ttfamily} & \cmd{texttt}\cmdindex{texttt}\marg*{\ldots} & \texttt{typewriter} & 等宽字体 \\[\medskipamount] +\cmd{mdseries}\cmdindex{mdseries} & \cmd{textmd}\cmdindex{textmd}\marg*{\ldots} & \textrm{medium} & 正常粗细(中等) \\ +\cmd{bfseries}\cmdindex{bfseries} & \cmd{textbf}\cmdindex{textbf}\marg*{\ldots} & \textbf{bold face} & 粗体 \\[\medskipamount] +\cmd{upshape}\cmdindex{upshape} & \cmd{textup}\cmdindex{textup}\marg*{\ldots} & \textup{upright} & 直立体 \\ +\cmd{itshape}\cmdindex{itshape} & \cmd{textit}\cmdindex{textit}\marg*{\ldots} & \textit{italic} & 意大利斜体 \\ +\cmd{slshape}\cmdindex{slshape} & \cmd{textsl}\cmdindex{textsl}\marg*{\ldots} & \textsl{slanted} & 倾斜体 \\ +\cmd{scshape}\cmdindex{scshape} & \cmd{textsc}\cmdindex{textsc}\marg*{\ldots} & \textsc{Small Caps} & 小字母大写 \\[\medskipamount] +\cmd{em}\cmdindex{em} & \cmd{emph}\cmdindex{emph}\marg*{\ldots} & \emph{emphasized} & 强调,默认斜体 \\ +\cmd{normalfont}\cmdindex{normalfont} & \cmd{textnormal}\cmdindex{textnormal}\marg*{\ldots} & \textnormal{normal font} & 默认字体 \\ +\hline +\end{tabular} +\end{table} + +\subsection{字号}\label{subsec:fontsize} + +\pinyinindex{zihao}{字号} +字号命令实际大小依赖于所使用的文档类及其选项。表 \ref{tbl:ptsizes} 列出了这些命令在标准文档类中的绝对大小,单位为 pt。 + +\begin{table}[htp] +\centering +\caption{字号。} \label{tbl:sizes} +\begin{tabular}{@{}ll} +\hline +\cmd{tiny}\cmdindex{tiny} & \tiny tiny font \\ +\cmd{scriptsize}\cmdindex{scriptsize} & \scriptsize very small font\\ +\cmd{footnotesize}\cmdindex{footnotesize} & \footnotesize quite small font \\ +\cmd{small}\cmdindex{small} & \small small font \\ +\cmd{normalsize}\cmdindex{normalsize} & \normalsize normal font \\ +\cmd{large}\cmdindex{large} & \large large font \\ +\hline +\end{tabular}% +\qquad\begin{tabular}{ll@{}} +\hline +\cmd{Large}\cmdindex{Large} & \Large larger font \\[5pt] +\cmd{LARGE}\cmdindex{LARGE} & \LARGE very large font \\[5pt] +\cmd{huge}\cmdindex{huge} & \huge huge \\[5pt] +\cmd{Huge}\cmdindex{Huge} & \Huge largest \\ +\hline +\end{tabular} +\end{table} + +\begin{table}[htp] +\centering +\caption{标准文档类中的字号大小。}\label{tbl:ptsizes} +\begin{tabular}{lrrr} +\hline +字号 & 10pt 选项(默认)& 11pt 选项 & 12pt 选项 \\ +\cmd{tiny}\cmdindex{tiny} & 5pt & 6pt & 6pt\\ +\cmd{scriptsize}\cmdindex{scriptsize} & 7pt & 8pt & 8pt\\ +\cmd{footnotesize}\cmdindex{footnotesize} & 8pt & 9pt & 10pt \\ +\cmd{small}\cmdindex{small} & 9pt & 10pt & 10.95pt \\ +\cmd{normalsize}\cmdindex{normalsize} & 10pt & 10.95pt & 12pt \\ +\cmd{large}\cmdindex{large} & 12pt & 12pt & 14.4pt \\ +\cmd{Large}\cmdindex{Large} & 14.4pt & 14.4pt & 17.28pt \\ +\cmd{LARGE}\cmdindex{LARGE} & 17.28pt & 17.28pt & 20.74pt\\ +\cmd{huge}\cmdindex{huge} & 20.74pt & 20.74pt & 24.88pt\\ +\cmd{Huge}\cmdindex{Huge} & 24.88pt & 24.88pt & 24.88pt\\ +\hline +\end{tabular} +\end{table} + +使用字号命令的时候,通常也需要用花括号进行分组,如同 \cmd{rmfamily} 那样。 +\begin{example} +He likes {\LARGE large and +{\small small} letters}. +\end{example} + +\cmdindex{fontsize} +\LaTeX\ 还提供了一个基础的命令 \cmd{fontsize} 用于设定任意大小的字号: +\begin{command} +\cmd{fontsize}\marg{size}\marg{base line-skip} +\end{command} + +\cmdindex{selectfont} +\cmd{fontsize} 用到两个参数,\Arg{size} 为字号,\Arg{base line-skip} 为基础行距。 +表 \ref{tbl:ptsizes} 中的命令也都各自设定了与字号对应的基础行距,大小为字号的 1.2 倍。 +如果不是在导言区,\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\ 里还不太容易。 + +幸好大部分时候,许多字体宏包为我们完成了整套配置,我们可以在调用宏包之后,照常使用 \cmd{bfseries} 或 \cmd{ttfamily} 等我们熟悉的命令。 +表 \ref{tbl:font-pkgs} 列出了较为常用的字体宏包,其中相当多的宏包还配置了数学字体,或者文本、数学字体兼而有之。 +更多的的字体配置参考 \cite{survey,fontcatalogue}。 + +\subsection{字体编码}\label{subsec:font-encs} + +字体编码对于 \LaTeX\ 用户来讲是一个比较难懂的概念。它指定了一个字体里面包含了哪些符号、符号如何编码等等细节。 +需要明确一点:字体编码并不与我们在 \ref{subsec:ascii} 等小节叙述的 ASCII 编码等一一对应。 + +常见的正文字体编码有 \texttt{OT1} 和 \texttt{T1} 等。\LaTeX\ 默认使用对原始 \TeX\ 兼容的 \texttt{OT1} 编码,使用起来有诸多限制: +高德纳在设计 Computer Modern 字体时认为一些符号,如大于号、小于号等,原则上都应该在公式里出现,所以在正文字体(\cmd{rmfamily} 或 \cmd{sffamily})里, +这些符号所在的位置被其它符号所占据(事实上用户输入 \texttt< 和 \texttt> 得到的是\ !` 和\ ?` 两个倒立的标点符号, +正常的大于号和小于号可用命令 \cmd{textgreater} 和 \cmd{textless} 输入;\cmd{ttfamily} 字体下基本上是正常的)。 + +扩展的 \texttt{T1} 编码则对 ASCII 字符的兼容好得多,不会出现上述的大于号、小于号的问题。 +\texttt{T1} 编码配合一些字体宏包如 \pkg{txfonts}、\pkg{lmodern} 等,还能够令用户使用 \cmd{textasciitilde} 命令 +输入位置居中的连字符 a\textasciitilde b,相比数学符号 \texttt\$\cmd{sim}\texttt\$ 来得合理一些。 + +\pkgindex{fontenc} +切换字体编码要用到 \pkg{fontenc} 宏包: +\begin{verbatim} +\usepackage[T1]{fontenc} +\end{verbatim} + +\begin{table}[!p] +\centering +\caption{常见的 \LaTeX\ 字体宏包。}\label{tbl:font-pkgs} +\begin{minipage}{\linewidth} +\begin{tabular*}{\linewidth}{@{\extracolsep{\fill}}cp{0.65\linewidth}@{}} + \hline + \pkg{lmodern} & Latin Modern 字体,对 Computer Modern 字体的扩展 \\ + \pkg{txfonts} & Times 风格的字体宏包 \\ + \pkg{pxfonts} & Palation 风格的字体宏包 \\ + \pkg{stix} & Times 风格的字体宏包 \\ + \pkg{newtxtext},\pkg{newtxmath} & \pkg{txfonts} 的改进版本,分别设置文本和数学字体 \\ + \pkg{newpxtext},\pkg{newpxmath} & \pkg{pxfonts} 的改进版本,分别设置文本和数学字体 \\ + \pkg{mathptmx} & \pkg{psnfss} 组件之一,Times 风格,较为陈旧,不推荐使用 \\ + \pkg{mathpazo} & \pkg{psnfss} 组件之一,Palatino 风格,较为陈旧,不推荐使用 \\ + \pkg{ccfonts} & Concrete 风格字体 \\ + \pkg{euler} & Euler 风格数学字体,也出自于高德纳之手 \\ + \pkg{fourier} & fourier 风格数学字体 \\ + \pkg{arev} & Arev 风格的无衬线字体 \\ + \pkg{cmbright} & 仿 Computer Modern 风格的无衬线字体 \\ + \pkg{libertine} & Linux Libertine 衬线字体 \\ + \pkg{droid} & Droid Serif/Droid Sans 等 \\ + \pkg{inconsolata} & Inconsolata 一款不错的开源等宽字体 \\ + \pkg{sourcesanspro} & Source Sans Pro 开源无衬线字体 \\ + \pkg{sourcecodepro} & Source Code Pro 开源等宽字体 \\ + \pkg{mathabx} & 数学符号宏包之一 \\ + \pkg{MnSymbol} & 数学符号宏包之一 \\ + \pkg{fdsymbol} & 数学符号宏包之一 \\ + \pkg{mathdesign} & 配合 Charter/Garamond/Utopia 正文字体的数学字体宏包(Garamond 字体可能需要单独安装) \\ + \hline +\end{tabular*} +\end{minipage} +\end{table} + +\subsection{\texttt{xelatex} 命令下使用 \pkg{fontspec} 宏包更改字体}\label{subsec:fontspec} + +\index{xelatex@\texttt{xelatex} 命令} +\texttt{xelatex} 编译命令能够支持直接调用系统安装的 \texttt{.ttf} 或 \texttt{.otf} 格式字体% +\footnote{Linux 下的 \TeX\ Live 为了支持系统安装的字体,需要额外的配置。详见附录 \ref{app:install}。}。相比于上一小节,我们有了更多修改字体的余地。 + +\pkgindex{fontspec} +\cmdindex[fontspec]{setmainfont,setsansfont,setmonofont} +\texttt{xelatex} 命令下支持用户调用字体的宏包是 \pkg{fontspec}。宏包提供了几个设置全局字体的命令,设置 \cmd{rmfamily} 等对应命令的默认字体% +\footnote{新版本 \pkg{fontspec} 的命令支持把必选参数 \Arg{font name} 放在可选参数 \Arg{font features} 的前面。}: +\begin{command} +\cmd{setmainfont}\oarg{font features}\marg{font name} \\ +\cmd{setsansfont}\oarg{font features}\marg{font name} \\ +\cmd{setmonofont}\oarg{font features}\marg{font name} +\end{command} +其中 \Arg{font name} 使用字体的文件名(带扩展名)或者字体的英文名称。\Arg{font features} 用来手动配置对应的粗体或斜体 +,比如为 Windows 下的无衬线字体 Arial 配置粗体和斜体(通常情况下自动检测并设置对应的粗体和斜体,无需手动指定): +\begin{verbatim} +\setsansfont[BoldFont={Arial Bold}, ItalicFont={Arial Italic}]{Arial} +\end{verbatim} +\Arg{font features} 还能配置字体本身的各种特性,这里不再赘述,感兴趣的读者请参考 \pkg{fontspec} 宏包的帮助文档。 + +需要注意的是:\pkg{fontspec} 宏包会覆盖数学字体设置。需要调用表 \ref{tbl:font-pkgs} 中列出的一些数学字体宏包时, +应当在调用 \pkg{fontspec} 宏包时指定 \texttt{no-math} 选项。\pkg{fontspec} 宏包可能被其它宏包或文档类(如 \pkg{xeCJK}、\pkg{ctex} 文档类)自动调用时, +则在文档开头的 \cmd{document\-class} 命令里指定 \texttt{no-math} 选项。 + +\subsection{使用 \pkg{xeCJK} 宏包更改中文字体}\label{subsec:CJKfont} + +\pkgindex{xeCJK} +\cmdindex[xeCJK]{setCJKmainfont,setCJKsansfont,setCJKmonofont} +前文已经介绍过的 \pkg{xeCJK} 宏包使用了和 \pkg{fontspec} 宏包非常类似的语法设置中文字体: +\begin{command} +\cmd{setCJKmainfont}\oarg{font features}\marg{font name} \\ +\cmd{setCJKsansfont}\oarg{font features}\marg{font name} \\ +\cmd{setCJKmonofont}\oarg{font features}\marg{font name} +\end{command} + +由于中文字体少有对应的粗体或斜体,\Arg{font features} 里多用其他字体来配置, +比如习惯上将宋体的 \texttt{BoldFont} 配置为黑体,而 \texttt{ItalicFont} 配置为楷体。 + +\section{段落格式和间距}\label{sec:par-lengths} + +\subsection{长度和长度变量}\label{subsec:lengths} + +在前面的一些章节,我们已经见到一些长度和长度变量的用法。本节首先统一介绍长度和长度变量。 + +长度的数值 \Arg{length} 由数字和单位组成。常用的单位如下: + +\def\unitindex#1{\index{#1@\texttt{#1} (\textit{长度单位})}} + +\begin{center} +\begin{tabular}{cl} + \hline + \texttt{pt}\unitindex{pt} & 点阵宽度,1/72.27\texttt{in} \\ + \texttt{bp}\unitindex{bp} & 点阵宽度,1/72\texttt{in} \\ + \texttt{in}\unitindex{in} & 英寸 \\ + \texttt{cm}\unitindex{cm} & 厘米 \\ + \texttt{mm}\unitindex{mm} & 毫米 \\ + \hline + \texttt{em}\unitindex{em} & 当前字号下大写字母 M 的宽度,常用于水平距离的设定 \\ + \texttt{ex}\unitindex{ex} & 当前字号下小写字母 x 的高度,常用于垂直距离的设定 \\ + \hline +\end{tabular} +\end{center} + +在一些情况下还会用到可伸缩的“弹性长度”,如 \texttt{12pt plus 2pt minus 3pt} +表示基础长度为 \texttt{12pt},可以伸展到 \texttt{14pt} ,也可以收缩到 \texttt{9pt}。 +也可只定义 \texttt{plus} 或者 \texttt{minus} 的部分,如 \texttt{0pt plus 5pt}。 + +长度的数值还可以用长度变量的倍数来表达,如 \texttt{2.5}\cmd{parindent} 等。 + +\cmdindex{newlength,setlength,addtolength} +\LaTeX\ 预定义了大量的长度变量用于控制版面格式。如页面宽度和高度、首行缩进、段落间距等。 +如果需要自定义长度变量,需使用如下命令: +\begin{command} +\cmd{newlength}\marg*{\cmd{\Arg{length command}}} +\end{command} + +长度变量可以用 \cmd{setlength} 赋值,或用 \cmd{addtolength} 增加长度: +\begin{command} +\cmd{setlength}\marg*{\cmd{\Arg{length command}}}\marg{length} \\ +\cmd{addtolength}\marg*{\cmd{\Arg{length command}}}\marg{length} +\end{command} + +\subsection{行距}\label{subsec:linespread} + +\pinyinindex{hangju}{行距} +\cmdindex{linespread} +前文中我们提到过 \cmd{fontsize} 命令可以为字号设定对应的行距,但我们很少那么用。 +更常用的办法是在导言区使用 \cmd{linespread} 命令, +\begin{command} +\cmd{linespread}\marg{factor} +\end{command} + +此处的行距,指的是基本行距(相当于 \cmd{fontsize} 命令的第二个参数)而不是字号大小。所以设置 1.5 倍行距的命令 \cmd{line\-spread}\marg*{1.5} +意味着最终行距为 1.8 倍的字号大小。 + +\cmdindex{selectfont} +如果不是在导言区全局修改,而想要局部地改变某个段落的行距,需要用 \cmd{select\-font} 命令使 \cmd{line\-spread} 命令的改动立即生效: +\begin{example} +{\linespread{2.0}\selectfont +The baseline skip is set to twice +the normal baseline skip. +Pay attention to the \verb|\par| +command at the end. \par} + +In comparison, after the +curly brace has been closed, +everything is back to normal. +\end{example} + +\cmdindex{par} +字号的改变是即时生效的,而行距的改变直到文字\textbf{分段}时才生效。 +如果你想改变某一部分文字的行距,那么不能简单地将文字包含在花括号内。注意下面两个例子中 \cmd{par} 命令的位置,包括上一个例子的写法 +(\cmd{par} 相当于分段,见 \ref{subsec:spaces} 小节): +\begin{example} +{\Large Don't read this! + It is not true. + You can believe me!\par} +\end{example} + +\begin{example} +{\Large This is not true either. +But remember I am a liar.}\par +\end{example} + +\subsection{段落格式}\label{subsec:par-shape} + +以下长度分别为段落的左缩进、右缩进和首行缩进: +\begin{command} +\cmd{setlength}\marg*{\cmd{leftskip}}\marg*{20pt} \\ +\cmd{setlength}\marg*{\cmd{rightskip}}\marg*{20pt} \\ +\cmd{setlength}\marg*{\cmd{parindent}}\marg*{2em} +\end{command} + +它们和设置字号的命令一样,在分段时生效。 + +\cmdindex{indent,noindent} +\LaTeX\ 默认在段落开始时缩进,长度为你用上述命令设置的 \cmd{parindent}。如果你在某一段不想使用缩进,可使用某一段开头使用 +\begin{command} +\cmd{noindent} +\end{command} +命令。相反地, +\begin{command} +\cmd{indent} +\end{command} +命令强制开启一段首行缩进的段落。多个 \cmd{indent} 命令的效果可以累加。 + +\pkgindex{indentfirst} +\LaTeX\ 还默认\textbf{在 \cmd{chapter}、\cmd{section} 等章节命令之后的第一段不缩进}% +\footnote{\pkg{ctex} 宏包默认按照中文习惯保持第一段的首行缩进。}。 +如果不习惯这种设定,可以调用 \pkg{indent\-first} 宏包: +\begin{verbatim} +\usepackage{indentfirst} +\end{verbatim} + +\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} + +\subsection{水平间距}\label{subsec:hspace} + +\cmdindex{hspace} +\LaTeX 默认为单词之间增添了水平间距。如果想要手动插入额外的间距,需要用到如下命令: +\begin{command} +\cmd{hspace}\marg{length} +\end{command} +\begin{example} +This\hspace{1.5cm}is a space +of 1.5 cm. +\end{example} + +\cmdindex{hspace*} +\cmd{hspace} 命令生成的间距如果位于一行的开头或末尾,则有可能因为断行而被“吞掉”。可使用 \cmd{hspace*} 命令代替 \cmd{hspace} 命令 +得到不会因断行而消失的水平间距。 + +\cmdindex{stretch,fill} +命令 \cmd{stretch}\marg{n} 生成一个特殊弹性长度,参数 \Arg{n} 为权重。它的基础长度为零,但可以无限延伸,直到占满可用的空间。 +如果同一行内出现多个 \cmd{stretch}\marg{n},这一行的所有可用空间将按每个 \cmd{stretch} 命令给定的权重 \Arg{n} 进行分配。 + +命令 \cmd{fill} 相当于 \cmd{stretch}\marg*{1}。 + +\begin{example} +x\hspace{\stretch{1}} +x\hspace{\stretch{3}} +x\hspace{\fill}x +\end{example} + +\cmdindex{quad,qquad} +在正文中用 \cmd{hspace} 命令生成水平间距时,往往使用 \texttt{em} 作为单位,它会随字号大小而变。 +我们常用 \cmd{quad} 和 \cmd{qquad} 命令方便地生成水平间距,相当于 \cmd{hspace}\marg*{1em} 和 \cmd{hspace}\marg*{2em}: + +\begin{example} +{\Large big\hspace{1em}y}\\ +{\Large big\quad y}\\ +nor\hspace{2em}mal\\ +nor\qquad mal\\ +{\tiny tin\hspace{1em}y}\\ +{\tiny tin\quad y} +\end{example} + +\subsection{垂直间距}\label{subsec:vspace} + +在页面中,段落、章节标题、行间公式、列表、浮动体等元素之间的间距是 \LaTeX\ 预设的。比如 \cmd{parskip} ,默认设置为 \texttt{0pt plus 1pt}。 + +\cmdindex{vspace} +如果我们想要人为地增加段落之间的垂直间距,可以在两个段落之间的位置使用如下命令: +\begin{command} +\cmd{vspace}\marg{length} +\end{command} + +\cmdindex{vspace*} +\cmd{vspace} 的间距在一页的顶端或底端可能被“吞掉”,类似 \cmd{hspace} 在一行的开头和末尾那样。 +对应地,\cmd{vspace*} 命令产生不会因断页而消失的垂直间距。\cmd{vspace} 也可用 \cmd{stretch} 设置无限延伸的垂直长度。 + +\index{\@\crcmd\ (\textit{换行})} +在段落内的两行之间增加垂直间距,一般通过给断行命令 \crcmd\ 加可选参数,如 \crcmd\texttt{[6pt]} 或 \crcmd\texttt{*[6pt]}。 +\cmd{vspace} 也可以在段落内使用: +\begin{example} +Use command \verb|\vspace| to +add \vspace{12pt} some spaces +between lines in a paragraph. +\end{example} + +\cmdindex{bigskip,medskip,smallskip} +另外 \LaTeX\ 还提供了\cmd{bigskip}, \cmd{medskip}, \cmd{smallskip} 来增加预定义长度的垂直间距。 +\begin{example} +\parbox[t]{3em}{TeX\par TeX} +\parbox[t]{3em}{TeX\par\smallskip TeX} +\parbox[t]{3em}{TeX\par\medskip TeX} +\parbox[t]{3em}{TeX\par\bigskip TeX} +\end{example} + +\section{页面和分栏}\label{sec:page-columns} + +我们不妨回顾一下第一章介绍的文档类属性。\LaTeX\ 允许你通过文档类选项控制纸张的大小(见表 \ref{tbl:ltx-options}), +包括 \texttt{a4paper}、\texttt{letterpaper}等等,并配合字号设置了适合的页边距。 + +\cmdindex{textheight,textwidth} +控制页边距的参数由图 \ref{fig:layouts} 里给出的各种长度变量控制。 +可以用 \cmd{setlength} 命令修改这些长度变量,以达到调节页面尺寸和边距的作用; +反之也可以利用这些长度变量来决定排版内容的尺寸,如设置图片或表格的宽度为 0.8\cmd{textwidth}。 + +\begin{figure}[!p] +\centering +\layoutpicture* +\caption{本文档的页面参数示意图(奇数页;由 \pkg{layout} 宏包生成)。} \label{fig:layouts} +\end{figure} + +但是,如果你想要直接设置页边距等参数,着实是一件麻烦事。我们根据图 \ref{fig:layouts} 将各个方向的页边距计算公式给出(以奇数页为例): +\begin{align*} +\text{\Arg{left-margin}} &= \text{\ttfamily 1in} + + \text{\cmd{hoffset}} + + \text{\cmd{oddsidemargin}} \\ +\text{\Arg{right-margin}} &= \text{\cmd{paperwidth}} + - \text{\Arg{left-margin}} + - \text{\cmd{textwidth}} \\ +\text{\Arg{top-margin}} &= \text{\ttfamily 1in} + + \text{\cmd{voffset}} + + \text{\cmd{topmargin}} + + \text{\cmd{headheight}} + + \text{\cmd{headsep}} \\ +\text{\Arg{bottom-margin}} &= \text{\cmd{paperheight}} + - \text{\Arg{top-margin}} + - \text{\cmd{textheight}} +\end{align*} +如果我们想设置合适的 \Arg{left-margin} 和 \Arg{right-margin},就要靠上述方程组把 \cmd{odd\-sidemargin} 和 \cmd{text\-width} 等参数解出来! + +幸好 \pkg{geometry} 宏包提供了设置页面参数的简便方法,能够帮我们完成背后繁杂的计算。 + +\subsection{利用 \pkg{geometry} 宏包设置页面参数}\label{subsec:geometry} + +\pkgindex{geometry} +\pinyinindex{xuanxiang}{选项(宏包/文档类)} +\pkg{geometry} 宏包的调用方式类似于 \pkg{graphicx},在 \texttt{latex} + \texttt{dvipdfmx} 命令下需要指定选项 \texttt{dvipdfm} +(注意这里不是 \texttt{dvipdfmx});\texttt{pdflatex} 和 \texttt{xelatex} 编译命令下不需要。 + +\cmdindex[geometry]{geometry} +你既可以调用 \pkg{geometry} 宏包然后用其提供的 \cmd{geometry} 命令设置页面参数: +\begin{command} +\cmd{usepackage}\marg*{geometry} \\ +\cmd{geometry}\marg{geometry-settings} +\end{command} +也可以将参数指定为宏包的选项: +\begin{command} +\cmd{usepackage}\oarg{geometry-settings}\marg*{geometry} +\end{command} + +其中 \Arg{geometry-settings} 多以 \Arg{key}=\Arg{value} 的形式组织。 + +比如,符合 Microsoft Word 习惯的页面设定是 A4 纸张,上下边距 1 英寸,左右边距 1.25 英寸,于是我们可以通过如下两种等效的方式之一设定页边距: +\begin{verbatim} +\usepackage[left=1.25in,right=1.25in,% + top=1in,bottom=1in]{geometry} +% or like this: +\usepackage[hmargin=1.25in,vmargin=1in]{geometry} +\end{verbatim} + +又比如,需要设定周围的边距一致为1.25英寸,可以用更简单的语法: +\begin{verbatim} +\usepackage[margin=1.25in]{geometry} +\end{verbatim} + +对于书籍等双面文档,习惯上奇数页右边、偶数页左边留出较多的页边距,而书脊一侧的奇数页左边、偶数页右边页边距较少。我们可以这样设定: +\begin{verbatim} +\usepackage[inner=1in,outer=1.25in]{geometry} +\end{verbatim} + +\pkg{geometry} 宏包本身也能够修改纸张大小、页眉页脚高度、边注宽度等等参数。更详细的用法不再赘述, +感兴趣的用户可查阅 \pkg{geometry} 宏包的帮助文档。 + +\subsection{页面内容的垂直对齐}\label{subsec:raggedbottom} + +\LaTeX\ 默认将页面内容在垂直方向分散对齐。对于有大量图表的文档,许多时候想要做到排版匀称的页面很困难, +垂直分散对齐会造成某些页面的垂直间距过宽,还可能报大量的 \texttt{Underfull} \cmd{vbox} 消息。 + +\cmdindex{raggedbottom} +\LaTeX\ 还提供了另一种策略:将页面内容向顶部对齐,给底部留出高度不一的空白。在导言区或者适合的位置使用 +以下命令开启顶部对齐的效果: +\begin{command} +\cmd{raggedbottom} +\end{command} + +\cmdindex{flushbottom} +相反地,\cmd{flushbottom} 命令用于设置成默认的分散对齐。 + +\subsection{分栏}\label{subsec:columns} + +\cmdindex{onecolumn,twocolumn} +\LaTeX\ 支持简单的单栏或双栏排版。标准文档类的全局选项 \texttt{onecolumn}、\texttt{twocolumn} +可控制全文分单栏或双栏排版。\LaTeX\ 也提供了切换单/双栏排版的命令: +\begin{command} +\cmd{onecolumn} \\ +\cmd{twocolumn}\oarg{one-column top material} +\end{command} + +\cmd{twocolumn} 支持带一个可选参数,用于排版双栏之上的一部分单栏内容。 + +\cmdindex{newpage,clearpage} +切换单/双栏排版时总是会另起一页(\cmd{clearpage})。 +在双栏模式下使用 \cmd{newpage} 会换栏而不是换页;\cmd{clearpage} 则能够换页。 + +\pkgindex{multicol} +\envindex[multicol]{multicols} +一个比较好用的分栏解决方案是 \pkg{multicol},它提供了简单的 \env{multicols} 环境 +(注意不要写成 \env{multicol} 环境)自动产生分栏,如以下环境将内容分为 3 栏: +\begin{verbatim} +\begin{multicols}{3} +... +\end{multicols} +\end{verbatim} + +\pinyinindex{fudongti}{浮动体} +\envindex{table,figure} +\pkgindex{float} +\pkg{multicol} 宏包能够在一页之中切换单栏/多栏,也能处理跨页的分栏,且各栏的高度分布平衡。但代价是% +\textbf{在 \env{multicols} 环境中无法正常使用 \env{table} 和 \env{figure} 等浮动体环境},它会直接让浮动体丢失。 +\env{multicols} 环境中只能用跨栏的 \env{table*} 和 \env{figure*} ,或者用 \pkg{float} 宏包提供的 \texttt{H} 选项固定浮动体的位置。 + +\section{页眉页脚}\label{sec:pagestyle} + +\subsection{基本的页眉页脚样式}\label{subsec:basic-pagesyle} + +\cmdindex{pagestyle,thispagestyle} +\pinyinindex{yemei}{页眉} +\pinyinindex{yejiao}{页脚} +\LaTeX\ 中提供了命令 \cmd{pagestyle} 来修改页眉页脚的样式: +\begin{command} +\cmd{pagestyle}\marg{page-style} +\end{command} +另外一个命令只影响当页的页眉页脚样式: +\begin{command} +\cmd{thispagestyle}\marg{page-style} +\end{command} + +\Arg{page-style} 参数为样式的名称,在 \LaTeX\ 里预定义了四类样式,见表 \ref{tbl:pagestyle}。 + +\begin{table}[htp] +\centering +\caption{\LaTeX\ 预定义的页眉页脚样式}\label{tbl:pagestyle} +\begin{tabularx}{0.8\textwidth}{lX} + \hline + \texttt{empty} & 页眉页脚为空 \\ + \texttt{plain} & 页眉为空,页脚为页码。(article 和 report 文档类默认;book 文档类的每章第一页也为 plain 格式) \\ + \hline + \texttt{headings} & 页眉为章节标题和页码,页脚为空。(book 文档类默认) \\ + \texttt{myheadings} & 页眉为页码及 \cmd{markboth} 和 \cmd{markright} 命令手动指定的内容,页脚为空。\\ + \hline +\end{tabularx} +\end{table} + +\clsindex{article,report,book} +其中 \texttt{headings} 的情况较为复杂: +\begin{description} + \item[\cls{article} 文档类,\texttt{twoside} 选项:] 偶数页为页码和节标题,奇数页为小节标题和页码; + \item[\cls{article} 文档类,\texttt{oneside} 选项:] 同 \texttt{twoside} 选项的奇数页页眉; + \item[\cls{book/report} 文档类,\texttt{twoside} 选项:] 偶数页为页码和章标题,奇数页为节标题和页码; + \item[\cls{book/report} 文档类,\texttt{oneside} 选项:] 同 \texttt{twoside} 选项的奇数页页眉。 +\end{description} + +\subsection{手动更改页眉页脚的内容}\label{subsec:marks} + +\cmdindex{markright,markboth} +对于 headings 或者 myheadings 样式,\LaTeX\ 允许用户使用命令手动修改页眉上面的内容, +特别是因为使用了 \cmd{chapter*} 等命令而无法自动生成页眉页脚的情况: +\begin{command} +\cmd{markright}\marg{right-mark}\\ +\cmd{markboth}\marg{left-mark}\marg{right-mark} +\end{command} + +在双面排版、\texttt{headings / myheadings} 页眉页脚样式下,\Arg{left-mark} 和 \Arg{right-mark} 的内容分别预期出现在左页(偶数页)和右页(奇数页)。 + +事实上 \cmd{chapter}、\cmd{section} 等命令内部也使用 \cmd{mark\-both} 或者 \cmd{mark\-right} 写页眉。 +\LaTeX\ 默认将页眉的内容都转为大写字母。如果你不喜欢这样,可以尝试以下代码 +(相关命令的用法参照 \ref{sec:newcommands} 节)% +\footnote{但是这不能改变页眉的斜体样式(\cmd{slshape}),斜体是定义在 \texttt{headings} 样式里的。 +如果不喜欢斜体,可在 \cmd{mark\-both} 等命令的参数里先使用 \cmd{normal\-font} ,再使用想要的字体样式命令, +或直接尝试使用 \pkg{fancyhdr} 宏包。}: +\begin{verbatim} +\renewcommand\chaptermark[1]{% + \markboth{Chapter \thechapter\quad #1}{}} +\renewcommand\sectionmark[1]{% + \markright{\thesection\quad #1}} +\end{verbatim} + +其中 \cmd{thechapter}、\cmd{thesection} 等命令为章节计数器的数值(详见 \ref{sec:counters} 节)。以上代码适用于 \cls{report/book} 文档类。 +对于 \cls{article} 文档类,与两个页眉相关的命令分别为 \cmd{sec\-tion\-mark} 和 \cmd{sub\-sec\-tion\-mark} 。 + +\subsection{\pkg{fancyhdr} 宏包}\label{subsec:fancyhdr} + +\pkgindex{fancyhdr} +\pkg{fancyhdr} 宏包改善了页眉页脚样式的定义方式,允许我们将内容自由安置在页眉和页脚的左、中、右三个位置,还为页眉和页脚各加了一条横线。 + +\pkg{fancyhdr} 自定义了样式名称 fancy。使用 \pkg{fancyhdr} 宏包定义页眉页脚之前,通常先用 \cmd{page\-style}\marg*{fancy} 调用这个样式。 +在 \pkg{fancyhdr} 中定义页眉页脚的命令为: +\begin{command} +\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} +\end{sourcecode} + +\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 new file mode 100644 index 00000000000..f4c5418e2f4 --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.06.spec.tex @@ -0,0 +1,534 @@ +\chapter{特色工具和功能} +\addtocontents{los}{\protect\addvspace{10pt}} + +\begin{intro} +本章介绍一些特色的 \LaTeX\ 辅助功能。前两个功能 \hologo{BibTeX} 和 makeindex 依靠一些辅助程序自动生成参考文献、索引等; +之后的使用颜色、超链接等则令我们生成美观易用的电子文档。 +\end{intro} + +\section{参考文献和 \hologo{BibTeX} 工具} + +\subsection{基本的参考文献和引用} + +\pinyinindex{cankaowenxian}{参考文献} +\LaTeX\ 提供的参考文献和引用方式比较原始,需要用户自行书写参考文献列表。不同学术论文对参考文献列表的格式要求不一样, +自行书写是一件极其头疼的事情。相关的命令我们只作最简单的介绍。 + +\cmdindex{cite} +\LaTeX\ 提供了最基本的 \cmd{cite} 命令用于在正文中引用参考文献: +\begin{command} +\cmd{cite}\marg{citation} +\end{command} + +\cmd{cite} 带一个可选参数,为引用的编号后加上额外的内容,如 \cmd{cite}\oarg*{page 22}\marg{pa} 可能得到形如 [13, page 22] 这样的引用。 + +\envindex{thebibliography} +参考文献由 \env{thebibliography} 环境包裹。每条参考文献由 \cmd{bibitem} 开头,其后是参考文献本身的内容: +\begin{command} +\cmd{bibitem}\oarg{item number}\marg{citation} +\end{command} + +其中 \Arg{citation} 是 \cmd{cite} 用以引用的一个标签,类似交叉引用里的 \cmd{label}。 +\Arg{item number} 自定义参考文献的序号,如果省略,则按自然排序给定序号。 + +\env{thebibliography} 环境带一个参数,用以设定 \cmd{cite} 命令生成的引用编号的最大宽度, +如 99 意味着不超过两位数字。通常设定为与参考文献的数目一致。 +\env{the\-biblio\-graphy} 环境自动生成不带编号的一章(\cls{report} / \cls{book} 文档类)或一节(\cls{article} 文档类)。 + +以下为一个使用 \env{the\-biblio\-graphy} 排版参考文献的例子: + +\begin{verbatim} +\documentclass{article} +\begin{document} +\section{Introduction} +Partl~\cite{pa} has proposed that \ldots + +\begin{thebibliography}{99} +\bibitem{pa} H.~Partl: \emph{German \TeX}, + TUGboat Volume~9, Issue~1 (1988) +\end{thebibliography} +\end{document} +\end{verbatim} + +\subsection{\hologo{BibTeX} 数据库} + +\index{bibtexdb@\protect\hologo{BibTeX} 数据库} +\hologo{BibTeX} 是最为流行的参考文献数据组织格式之一。它的出现让我们摆脱手写参考文献条目的麻烦。我们还可以通过参考文献格式的支持, +让同一份 \hologo{BibTeX} 数据库生成不同格式的参考文献列表。我们首先简单介绍 \hologo{BibTeX} 数据库,之后介绍如何将数据库利用在 \LaTeX\ 中。 + +\hologo{BibTeX} 数据库以 \texttt{.bib} 作为扩展名,其内容是若干个文献条目,每个条目的格式为: +\begin{command} +\texttt @\Arg{type}\texttt\{\Arg{citation}, \\ +\qquad\Arg{key1} = \marg{value1}, \\ +\qquad\Arg{key2} = \marg{value2}, \\ +\qquad\ldots\\ +\texttt\} +\end{command} + +其中 \Arg{type} 为参考文献的类型,如 \texttt{article} 为学术论文,\texttt{book} 为书籍,\texttt{in\-collection} 为论文集中的某一篇,等等。 +\Arg{citation} 为 \cmd{cite} 命令所用的参考文献的标签。在 \Arg{citation} 之后为条目里的各个数据项,以 \Arg{key} = \marg{value} 的形式组织。 + +我们在此简单列举学术论文里使用较多的 \hologo{BibTeX} 文献条目格式。所有条目格式参考 \CTAN|biblio/bibtex/base/btxdoc.pdf|。 +\begin{description} + \item[\texttt{article}] 学术论文,必需数据项有 author, title, journal, year; 可选数据项包括 volumn, issue, number, pages, doi 等; + \item[\texttt{book}] 书籍,必需数据项有 author/editor, title, publisher, year; 可选数据项包括 volumn/number, series, address 等; + \item[\texttt{incollection}] 论文集中的一篇,必需数据项有 author, title, booktitle, publisher, year; 可选数据项包括 editor, volumn/number, chapter, pages, address 等; + \item[\texttt{inbook}] 书中的一章,必需数据项有 author/editor, title, chapter/pages, publisher, year; 可选数据项包括 volumn/number, series, address 等。 +\end{description} + +多数时候,我们无需自己手写 \hologo{BibTeX} 文献条目。从 Google Scholar 或者期刊/数据库的网站上都能够导出 \hologo{BibTeX} 文献条目, +老牌的文献管理软件 EndNote 也支持生成 \hologo{BibTeX} 格式的数据库。开源软件 JabRef 甚至支持 \hologo{BibTeX} 文献条目的导入、导出和管理。 + +\subsection{使用 \hologo{BibTeX} 排版参考文献}\label{subsec:bibtex-use} + +\index{bibtex@\protect\hologo{BibTeX} 工具} +现在我们来看如何利用 \hologo{BibTeX} 数据库生成参考文献和引用。 + +第一步:我们当然需要一份 \hologo{BibTeX} 数据库,假设起名为 \texttt{books.bib} ,和我们的 \LaTeX\ 源代码\textbf{一般位于同一个目录下}。 + +\begin{sourcecode}[htp] +\begin{Verbatim} +@book{Lamport1994, + title = {{\LaTeX}: A Document Preparation System}, + author = {Lamport, L.}, + publisher = {Addison-Wesley}, + address = {Reading, Massachusetts}, + year = {1994}, + edition = {2nd} +} +@book{Mittelbach2004, + title = {The {\LaTeX} Companion}, + author = {Mittelbach, F. and Goossens, M. and + Braams, J. and Carlisle, D. and Rowley, C.}, + publisher = {Addison-Wesley}, + address = {Reading, Massachusetts}, + year = {2004}, + edition = {2nd} +} +\end{Verbatim} +\caption{\hologo{BibTeX} 数据库示例 \texttt{books.bib}。} +\end{sourcecode} + +\cmdindex{bibliographystyle} +第二步:在源代码中添加必要的命令。假设源代码的名称为 \texttt{demo.tex}。首先需要的是在\textbf{导言区}设定参考文献的格式: +\begin{command} +\cmd{bibliographystyle}\marg{bst-name} +\end{command} + +其中 \Arg{bst-name} 为格式文件的名称。\hologo{BibTeX} 提供了几个预定义的格式,如 plain, unsrt, alpha 等。 +一些学术论文的模板会提供自有的格式文件,以 \texttt{.bst} 作为扩展名,同样和 \LaTeX\ 源代码\textbf{放在同一个目录下}。 + +\cmdindex{cite,nocite} +其次就是在正文中引用参考文献了。\hologo{BibTeX} 程序在生成参考文献列表的时候,通常只列出你用 \cmd{cite} 命令引用的那些。 +如果需要列出没有被引用的文献,则需要 \cmd{nocite}\marg{citation} 命令;而 \cmd{nocite}\marg*{*} 则让所有未引用的参考文献都列出。 + +\cmdindex{bibliography} +再次,在你需要列出参考文献的位置,使用 \cmd{biblio\-graphy} 命令代替 \env{the\-biblio\-graphy} 环境: +\begin{command} +\cmd{bibliography}\marg{bib-name} +\end{command} + +其中 \Arg{bib-name} 是 \hologo{BibTeX} 数据库的文件名,\textbf{不要带 \texttt{.bib} 扩展名}。 + +\begin{sourcecode}[htp] +\begin{Verbatim} +\documentclass{article} +\bibliographystyle{plain} +\begin{document} +\section{Some words} +Some excellent books, for example, \cite{Lamport1994} +and \cite{Mittelbach2004} \ldots + +\bibliography{books} +\end{document} +\end{Verbatim} +\caption{利用 \texttt{books.bib} 生成参考文献的源代码 \texttt{demo.tex}。} +\end{sourcecode} + +注意:\cmd{bibliographystyle} 和 \cmd{bibliography} 命令缺一不可,没有这两个命令,使用 \hologo{BibTeX} 生成参考文献列表的时候会报错。 + +第三步:写好了以上两个文件之后,我们就可以开始编译了。 +\begin{enumerate} + \item 首先使用 \texttt{pdflatex} 或 \texttt{xelatex} 等命令编译 \LaTeX\ 源代码 \texttt{demo.tex}; + \item 接下来用 \texttt{bibtex} 命令处理 \texttt{demo.aux} 文件记录的参考文献格式、引用条目等信息。 + \texttt{bibtex} 命令处理完毕后会生成 \texttt{demo.bbl} 文件,内容就是一个 \env{thebibliography} 环境; + \item 再使用 \texttt{pdflatex} 或 \texttt{xelatex} 等命令把源代码 \texttt{demo.tex} 编译\textbf{两遍},读入参考文献并正确生成引用。 +\end{enumerate} + +整个过程使用的命令如下(可以略去扩展名): +\begin{verbatim} +pdflatex demo +bibtex demo +pdflatex demo +pdflatex demo +\end{verbatim} + +使用 \texttt{latex + dvipdfmx} 命令编译时,则 \texttt{dvipdfmx} 命令放在最后,相当于先后使用 +\texttt{latex}, \texttt{bibtex}, \texttt{latex}, \texttt{latex}, \texttt{dvipdfmx}。 + +\subsection{\pkg{natbib} 宏包} + +\pkgindex{natbib} +时下许多学术期刊比较喜欢使用人名——年份的引用方式,形如(\emph{Alice et~al.}, 2005)。 +\pkg{natbib} 宏包提供了对这种“自然”引用方式的处理。 + +\cmdindex[natbib]{citep,citet} +除了 \cmd{cite} 之外,\pkg{natbib} 宏包在正文中支持两种引用方式: +\begin{command} +\cmd{citep}\marg{citation} \\ +\cmd{citet}\marg{citation} +\end{command} + +它们分别生成形如(\emph{Alice et~al.}, 2005) 和 \emph{Alice et~al.}(2005) 的人名——年份引用。 + +\pkg{natbib} 宏包同样也支持数字引用,并且支持将引用的序号压缩,例如: +\begin{verbatim} +\usepackage[numbers,sort&compress]{natbib} +\end{verbatim} +调用 \pkg{natbib} 宏包时指定以上选项后,连续引用多篇文献时,会生成形如 (3-7) 的引用而不是 (3, 4, 5, 6, 7)。 + +\pkg{natbib} 宏包还有更多选项和用法,比如默认的引用是用小括号包裹的,可以为宏包添加 \texttt{square} 选项改为中括号; +再比如 \cmd{citep} 命令也支持可选参数,为引用前后都添加额外内容。这里不再赘述,请参考 \pkg{natbib} 宏包的帮助文档。 + +\section{索引和 makeindex 工具}\label{sec:index} + +\pinyinindex{suoyin}{索引} +\index{makeindex@makeindex 工具} +书籍和大文档通常用索引来归纳关键词,方便用户查阅。\LaTeX\ 借助配套的 makeindex 程序完成对索引的排版。 + +\subsection{使用 makeindex 工具的方法}\label{subsec:makeidx} + +要使用索引,须经过这么几个步骤(仍设源代码名为 \texttt{demo.tex}): + +\pkgindex{makeidx} +\cmdindex[makeidx]{makeindex} +第一步,在 \LaTeX\ 源代码的导言区调用 \pkg{makeidx} 宏包,并使用 \cmd{makeindex} 命令开启索引的收集: +\begin{verbatim} +\usepackage{makeidx} +\makeindex +\end{verbatim} + +\cmdindex{index} +\cmdindex[makeidx]{printindex} +第二步,在正文中需要索引的地方使用 \cmd{index} 命令。\cmd{index} 命令的参数写法详见下一小节; +并在需要输出索引的地方(如所有章节之后)使用 \cmd{printindex} 命令。 + +第三步,编译过程: + +\begin{enumerate} + \item 首先用 \texttt{pdflatex} 等命令编译源代码 \texttt{demo.tex}。编译过程中产生索引记录文件 \texttt{demo.idx}; + \item 用 makeindex 程序处理 \texttt{demo.idx},生成用于排版的索引列表文件 \texttt{demo.ind}; + \item 再次编译源代码 \texttt{demo.tex},正确生成索引列表。 +\end{enumerate} + +\subsection{索引项的写法}\label{subsec:index-entry} + +\cmdindex{index} +添加索引项的命令为: +\begin{command} +\cmd{index}\marg{index entry} +\end{command} + +其中 \Arg{index entry} 为索引项,写法由表 \ref{tbl:index-entry} 汇总。其中 \texttt!、\texttt @ 和 \texttt| +为特殊符号,如果要向索引项直接输出这些符号,需要加前缀 \texttt";而 \texttt" 需要输入两个引号 \texttt{""} 才能输出到索引项。 + +\begin{table}[tp] +\centering +\caption{索引项的写法列表。}\label{tbl:index-entry} +\begin{tabular}{@{}lll@{}} + \hline + \textbf{举例} &\textbf{索引项} &\textbf{备注}\\ + \hline + \multicolumn{3}{@{}l@{}}{普通索引} \\ + \verb+hello+ & hello, 1 & 普通索引 \\ + \hline + \multicolumn{3}{@{}l@{}}{分级索引,以 \texttt! 分隔,最多支持三级} \\ + \verb+hello+ & hello, 1 & 一级索引 \\ + \verb+hello!Peter+ &\quad Peter, 3 & 二级索引 \\ + \verb+hello!Peter!Jack+ &\qquad Jack, 3 & 三级索引 \\ + \hline + \multicolumn{3}{@{}l@{}}{格式化索引,形式为 \Arg{alpha}\texttt @\Arg{format}} \\ + \multicolumn{3}{@{}l@{}}{\Arg{alpha}为纯字母,用来排序} \\ + \multicolumn{3}{@{}l@{}}{\Arg{format}为索引的格式,可以包括 \LaTeX 代码和简单的公式} \\ + \verb+Mobius@M\""obius+ & M\"obius, 2 & 输出重音 \\ + \verb+alpha@$\alpha$+ & $\alpha$, 7 & 输出公式 \\ + \verb+bold@\textbf{bold}+ & \textbf{bold}, 12 & 输出粗体 \\ + \hline + \multicolumn{3}{@{}l@{}}{页码范围} \\ + \verb+morning|(+ & morning, 6-7 & 范围索引的开头 \\ + \verb+morning|)+ & & 范围索引的结尾 \\ + \hline + \multicolumn{3}{@{}l@{}}{格式化索引页码} \\ + \verb+Jenny|textbf+ & Jenny, \textbf{3} & 调用 \cmd{textbf} 加粗页码 \\ + \verb+Joe|see{Jenny}+ & Joe, \textit{see} Jenny & 调用 \cmd{see} 生成特殊形式 \\ + \verb+Joe|seealso{Jenny}+ & Joe, \textit{see also} Jenny & 调用 \cmd{seealso} 生成特殊形式 \\ + \hline +\end{tabular} +\end{table} + +读者可以钻研一下下面给出的一个较为复杂的,结合多级索引、索引格式、页码格式等的示例。但在自己使用时, +最好还是遵循“简单的就是最好的”原则,尽量使用表 \ref{tbl:index-entry} 中的写法。 +\begin{verbatim} +Test index. +\index{Test@\textsf{""Test}|(textbf} +\index{Test@\textsf{""Test}!sub@"|sub"||see{Test}} +\newpage +Test index. +\index{Test@\textsf{""Test}|)textbf} +\end{verbatim} + +\section{使用颜色}\label{sec:color} + +\pinyinindex{yanse}{颜色} +\LaTeX\ 原生不支持颜色,它依赖 \pkg{color} 宏包或者 \pkg{xcolor} 宏包,给 PDF 输出生成颜色的特殊指令。 + +\subsection{颜色的表达方式} + +\pkgindex{color} +\cmdindex[color/xcolor]{color} +调用 \pkg{color} 或 \pkg{xcolor} 宏包后,我们就可以用如下命令切换颜色: +\begin{command} +\cmd{color}\oarg{color-mode}\marg{code} \\ +\cmd{color}\marg{color-name} +\end{command} + +颜色的表达方式有两种,其一是使用色彩模型和色彩代码,代码用 $0\sim1$ 的数字代表成分的比例。 +\pkg{color} 宏包支持 \texttt{rgb}、\texttt{cmyk} 和 \texttt{gray} 模型,\pkg{xcolor} 支持更多的模型如 \texttt{hsb} 等。 +\begin{example} +\large\sffamily +{\color[gray]{0.6} + 60\% 灰色} \\ +{\color[rgb]{0,1,1} + 青色} +\end{example} + +其二是直接使用名称代表颜色,前提是已经定义了颜色名称(没定义的话会报错): +\begin{example} +\large\sffamily +{\color{red} 红色} \\ +{\color{blue} 蓝色} +\end{example} + +\pkgindex{xcolor} +\pkg{color} 宏包仅定义了 8 种颜色名称,\pkg{xcolor} 补充了一些,总共有 19 种,见表 \ref{tbl:colors}。 + +\def\showcolor#1{% + \texttt{#1}\index{yanse@颜色!#1@\texttt{#1}}% + \ \begingroup\fboxsep=0pt\fbox{{\color{#1}\vrule width 1.2em height 1.4ex}}\endgroup} +\def\showxcolor#1{% + \texttt{#1}\index{yanse@颜色!#1@\texttt{#1} (\pkg{xcolor})}% + \ \begingroup\fboxsep=0pt\fbox{{\color{#1}\vrule width 1.2em height 1.4ex}}\endgroup} + +\begin{table}[htp] +\centering +\caption{\pkg{color} 和 \pkg{xcolor} 宏包可用的颜色名称。}\label{tbl:colors} +\renewcommand\arraystretch{1.1} +\begin{tabularx}{0.8\textwidth}{*{4}{>{\raggedleft\arraybackslash}X}} + \hline + \multicolumn{4}{c}{基本的 8 种颜色名称(后三种颜色为 CMYK 模型)} \\ + \showcolor{black} & \showcolor{red} & \showcolor{green} & \showcolor{blue} \\ + \showcolor{white} & \showcolor{cyan} & \showcolor{magenta} & \showcolor{yellow} \\ + \hline + \multicolumn{4}{c}{\pkg{xcolor} 额外可用的颜色名称:} \\ + \showxcolor{darkgray} & \showxcolor{gray} & \showxcolor{lightgray} & \\ + \showxcolor{brown} & \showxcolor{olive} & \showxcolor{orange} & \showxcolor{lime}\\ + \showxcolor{purple} & \showxcolor{teal} & \showxcolor{violet} & \showxcolor{pink} \\ + \hline +\end{tabularx} +\end{table} + +\pkg{xcolor} 还支持将颜色通过表达式混合或互补: +\begin{example} +\large\sffamily +{\color{red!40} 40\% 红色}\\ +{\color{blue}蓝色 +\color{blue!50!black}蓝黑 +\color{black}黑色}\\ +{\color{-red}红色的互补色} +\end{example} + +我们还可以通过命令自定义颜色名称,注意这里的 \Arg{color-mode} 是必选参数: +\begin{command} +\cmd{definecolor}\marg{color-name}\marg{color-mode}\marg{code} +\end{command} + +如果调用 \pkg{color} 或 \pkg{xcolor} 宏包时指定 \texttt{dvipsnames} 选项,就有额外的 68 种颜色名称可用。 +\pkg{xcolor} 宏包还支持通过指定其它选项载入更多颜色名称。限于篇幅不展开介绍,详情请参考 \pkg{xcolor} 宏包的手册。 + +\subsection{带颜色的文本和盒子} + +原始的 \cmd{color} 命令类似于字体命令 \cmd{bfseries},它使之后排版的内容全部变成指定的颜色, +所以直接使用时通常要加花括号分组。\pkg{color} / \pkg{xcolor} 宏包都定义了一些方便用户使用的带颜色元素。 + +\cmdindex[color/xcolor]{textcolor} +输入带颜色的文本可以用类似 \cmd{textbf} 的命令: +\begin{command} +\cmd{textcolor}\oarg{color-mode}\marg{code}\marg{text} \\ +\cmd{textcolor}\marg{color-name}\marg{text} +\end{command} + +\cmdindex[color/xcolor]{colorbox} +以下命令构造一个带背景色的盒子,\Arg{material} 为盒子中的内容: +\begin{command} +\cmd{colorbox}\oarg{color-mode}\marg{code}\marg{material} \\ +\cmd{colorbox}\marg{color-name}\marg{material} +\end{command} + +\cmdindex[color/xcolor]{fcolorbox} +以下命令构造一个带背景色和有色边框的盒子,\Arg{fcode} 或 \Arg{fcolor-name} 用于设置边框颜色: +\begin{command} +\cmd{fcolorbox}\oarg{color-mode}\marg{fcode}\marg{code}\marg{material} \\ +\cmd{fcolorbox}\marg{fcolor-name}\marg{color-name}\marg{material} +\end{command} + +\begin{example} +\sffamily +文字用\textcolor{red}{红色}强调\\ +\colorbox[gray]{0.95}{浅灰色背景} \\ +\fcolorbox{blue}{yellow}{% + \textcolor{blue}{蓝色边框+文字,% + 黄色背景} +} +\end{example} + +\cmdindex{fboxrule,fboxsep} +\cmd{fcolorbox} 也可以像 \ref{subsec:fbox} 小节里的 \cmd{fbox} 那样调节 \cmd{fbox\-rule} 和 \cmd{fbox\-sep};对于 \cmd{color\-box}, +调整 \cmd{fbox\-sep} 是有效的。这里不再给出具体的示例。 + +\section{使用超链接}\label{sec:hyperlinks} + +\pinyinindex{chaolianjie}{超链接} +PDF 文档格式是现今最流行的电子文档格式,而电子文档最实用的需求之一就是链接功能。 +\LaTeX\ 中实现这一功能的是 \pkg{hyperref} 宏包。 + +\subsection{\pkg{hyperref} 宏包}\label{subsec:hyperref} + +\pkgindex{hyperref} +\pkg{hyperref} 宏包涉及到的链接遍布 \LaTeX\ 的每一个角落——目录、引用、脚注、索引、参考文献等等都被封装成链接。 +但这也使得它与其它宏包的冲突机会大大增加,虽然宏包已经尽力解决各方面的兼容性,但仍不能面面俱到。 +为减少冲突的可能性,习惯上将 \pkg{hyperref} 宏包\textbf{放在其它宏包之后调用}。 + +\pinyinindex{xuanxiang}{选项(宏包/文档类)} +与 \pkg{graphicx} 宏包类似,\texttt{latex} + \texttt{dvipdfmx} 命令下调用 \pkg{hyperref} 宏包时,需要指定选项 \texttt{dvipdfmx}; +而 \texttt{pdflatex} 或 \texttt{xelatex} 命令下不需要。 + +\cmdindex[hyperref]{hypersetup} +\pkg{hyperref} 宏包提供了命令 \cmd{hypersetup} 配置各种选项,或者也可以作为宏包选项,在调用宏包时使用: +\begin{command} +\cmd{hypersetup}\marg*{\Arg{option1},\Arg{option2}=\marg*{value},\ldots} \\ +\cmd{usepackage}\oarg*{\Arg{option1},\Arg{option2}=\marg*{value},\ldots}\marg*{hyperref} +\end{command} + +\subsection{超链接}\label{subsec:url-href} + +\cmdindex[hyperref]{url,nolinkurl} +\pkg{hyperref} 宏包提供了直接书写超链接的命令,用于在 PDF 中生成 URL: +\begin{command} +\cmd{url}\marg{url} \\ +\cmd{nolinkurl}\marg{url} +\end{command} + +\cmd{url} 和 \cmd{nolinkurl} 都生成可以点击的 URL,区别是前者有彩色,后者没有。在 \cmd{url} 命令中作为参数的 URL 里, +\textbf{可直接输入如 \texttt\%、\texttt\& 这样的特殊符号}。 + +\cmdindex[hyperref]{href} +我们也可以像网页一样,把一段文字赋予其“超链接”的作用: +\begin{command} +\cmd{href}\marg{url}\marg{text} +\end{command} + +\begin{example} +\url{http://wikipedia.org} \\ +\nolinkurl{http://wikipedia.org} \\ +\href{http://wikipedia.org}{Wiki} +\end{example} + +\cmdindex[hyperref]{hyperref} +使用 \pkg{hyperref} 宏包后,文档中所有的引用、参考文献、索引等等都转换为超链接。 +用户也可对某个 \cmd{label} 命令定义的标签 \Arg{label} 作超链接(注意这里的 \Arg{label} 虽然是可选参数的形式,但通常是\textbf{必填的}% +\footnote{不带可选参数的 \cmd{hyperref} 命令带四个必选参数,前三个组成特殊格式的超链接,最后一个同 \Arg{text}。}): +\begin{command} +\cmd{hyperref}\oarg{label}\marg{text} +\end{command} + +默认的超链接在文字外边加上一个带颜色的方框(在打印 PDF 时边框不会打印),可指定 \texttt{color\-links} 选项修改为将文字本身加上颜色, +或指定 \texttt{pdf\-border} 选项的参数;\texttt{hide\-links} 选项则令超链接既不变色也不加框。 +\begin{verbatim} +\hypersetup{hidelinks} +% or: +\hypersetup{pdfborder={0 0 0}} +\end{verbatim} + +\subsection{PDF 书签}\label{subsec:pdf-bookmark} + +\pinyinindex{PDFshuqian}{PDF 书签} +\pkg{hyperref} 宏包另一个强大的功能是为 PDF 生成书签。对于章节命令 \cmd{chapter}、\cmd{section} 等, +默认情况下会为 PDF 自动生成书签。和交叉引用、索引等类似,生成书签也需要多次编译源代码,第一次编译将书签记录写入 \texttt{.out} 文件, +第二次编译才正确生成书签。 + +书签的一些属性见表 \ref{tbl:hyperref-settings}。 +在 \texttt{latex} + \texttt{dvipdfmx} 或 \texttt{pdflatex} 命令下使用 \pkg{ctex} 宏包或 \pkg{CJK} 宏包时, +为了正确生成中文书签而不出现乱码,需要额外的设置,甚至繁琐的工序(这也是我们推荐使用 \texttt{xelatex} 命令处理中文的原因)。 + +\cmdindex[hyperref]{pdfbookmark} +\pkg{hyperref} 还提供了手动生成书签的命令: +\begin{command} +\cmd{pdfbookmark}\oarg{level}\marg{bookmark}\marg{anchor} +\end{command} +\Arg{bookmark} 为书签名称,\Arg{anchor} 为书签项使用的锚点(类似交叉引用的标签)。可选参数 \Arg{level} 为书签的层级,默认为 0。 + +\cmdindex[hyperref]{texorpdfstring} +章节命令里往往有 \LaTeX\ 命令甚至数学公式,而 PDF 书签是纯文本,对命令和公式的处理很困难,有出错的风险。 +\pkg{hyperref} 宏包已经为我们处理了许多常见命令,如 \cmd{LaTeX} 和字体命令 \cmd{textbf} 等, +对于未被处理的命令或数学公式,就要在章节标题中使用如下命令,分别提供 \LaTeX\ 代码和 PDF 书签可用的纯文本: +\begin{command} +\cmd{texorpdfstring}\marg{\LaTeX\ code}\marg{PDF bookmark text} +\end{command} +比如在章节名称里使用公式 $E=mc^2$,而书签使用字符 \texttt{E=mc\textasciicircum 2}: +\begin{verbatim} +\section{质能公式 \texorpdfstring{$E=mc^2$}{E=mc\textasciicircum 2}} +\end{verbatim} + +\subsection{PDF 文档属性}\label{subsec:pdf-settings} + +\pkg{hyperref} 宏包还提供了一些选项用于改变 PDF 文档的属性,部分见表 \ref{tbl:hyperref-settings}。 + +\begin{table}[htp] +\centering +\caption{\pkg{hyperref} 宏包提供的设置。}\label{tbl:hyperref-settings} +\begin{tabular}{lcp{19.5em}} + \hline + 选项 & 默认值 & \multicolumn{1}{c}{含义} \\ + \hline + \texttt{colorlinks=}\Arg{true\textnormal|false} + & \textit{false} & 设置为 \textit{true} 为链接文字带颜色,反之加上带颜色的边框 \\ + \texttt{hidelinks} & & 取消链接的颜色和边框 \\ + \texttt{pdfborder=}\marg*{\Arg{n} \Arg{n} \Arg{n}} + & 0 0 1 & 超链接边框设置,设为 0 0 0 可取消边框 \\ + \hline + \texttt{bookmarks=}\Arg{true\textnormal|false} + & \textit{true} & 是否生成书签 \\ + \texttt{bookmarksopen=}\Arg{true\textnormal|false} + & \textit{false} & 是否展开书签 \\ + \texttt{bookmarksnumbered=}\Arg{true\textnormal|false} + & \textit{false} & 书签是否带章节编号 \\ + \texttt{CJKbookmarks=}\Arg{true\textnormal|false} + & \textit{false} & 使用 \pkg{CJK} 宏包/ GBK 编码排版中文时必须指定的选项, + 在第一次编译后需要将生成的 \texttt{.out} 文件用工具处理编码 \\ + \texttt{unicode} & & 使用 \pkg{CJKutf8} 宏包/ UTF-8 编码排版中文时必须指定的选项 \\ + \hline + \texttt{pdftitle=}\Arg{string} + & 空 & 标题 \\ + \texttt{pdfauthor=}\Arg{string} + & 空 & 作者 \\ + \texttt{pdfsubject=}\Arg{string} + & 空 & 主题 \\ + \texttt{pdfkeywords=}\Arg{string} + & 空 & 关键词 \\ + \texttt{pdfstartview=}\Arg{Fit\textnormal|FitH\textnormal|FitV} + & \textit{Fit} & 设置 PDF 页面以适合页面/适合宽度/适合高度等方式显示,默认为适合页面 \\ + \hline +\end{tabular} +\end{table} + +\endinput \ No newline at end of file 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 new file mode 100644 index 00000000000..cc711ac878f --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.07.graphic.tex @@ -0,0 +1,309 @@ +\chapter{绘图功能} +\addtocontents{los}{\protect\addvspace{10pt}} + +\begin{intro} +除了排版文字,\LaTeX\ 也支持用代码表示图形。不同的扩展已经极大地丰富了 \LaTeX\ 的图形功能,\TikZ\ 就是其中之一。 +本章将带你了解一些基本的绘图功能。 + +一些特殊的绘图,如交换图、树状图甚至分子式和电路图也能够通过代码绘制, +不过其复杂程度已经超出本手册范围,有兴趣的读者可以查阅一些帮助手册,或者在互联网寻求帮助。 +\end{intro} + +\section{绘图语言简介}\label{sec:pict-lang} + +\LaTeX\ 提供了原始的 \env{picture} 环境,能够绘制一些基本的图形如点、线、矩形、圆、B\'ezier 曲线等等, +不过受制于 \LaTeX\ 本身,它的绘图功能极为有限,效果也往往不够美观。 + +现在流行的绘图代码有以下几种: +\begin{itemize} + \item PSTricks \par + 基于 PostSciprt 绘图方式的宏包,具有优秀的绘图能力。它对老式的 \texttt{latex + dvips} 编译命令支持最好, + 而现在的几种编译命令下使用起来都不够方便。 + + \item \TikZ\ \& \pkg{pgf} \par + 德国的 Till Tantau 在开发著名的 \LaTeX 幻灯片文档类 \cls{beamer} 时一并开发了绘图宏包 \pkg{pgf}, + 以令绘图语言能够在不同的编译方式下使用,如 \texttt{pdflatex} 和 \texttt{xelatex} 等。 + \TikZ\ 是在 \pkg{pgf} 基础上的一个封装,提供了方便的绘图语言,绘图能力不输 PSTricks。 + + \item \hologo{METAPOST} \& Asymptote \par + \hologo{METAPOST} 脱胎于高德纳为 \TeX\ 配套开发的字体生成程序 \hologo{METAFONT}, + 具有优秀的绘图能力,并能够调用 \TeX\ 引擎向图片中插入文字和公式。 + Asymptote 在 \hologo{METAPOST} 的基础上更进一步,具有一定的类似 C 语言的编程能力,支持三维图形的绘制。\par + 它们往往需要把代码写在单独的文件里,用特定的工具去编译,也可以借助特殊的宏包在 \LaTeX\ 代码里直接使用。 +\end{itemize} + +本手册将介绍 \TikZ\ 绘图语言里最基本的部分。\TikZ\ 还支持各种自定义的扩展,基于 \TikZ\ 的专门用途的绘图宏包也不胜枚举, +其复杂程度已远远超出入门手册的范围(\TikZ\ 的帮助文档有上千页之厚)。 +对此感兴趣的读者需要自行查阅帮助手册,或者到互联网上参考现成的范例。 + +\section{\TikZ}\label{sec:tikz} + +\index{TikZ@\TikZ} +\pkgindex{tikz} +\envindex[tikz]{tikzpicture} +\cmdindex[tikz]{tikz} +在导言区调用 \pkg{tikz} 宏包,就可以用以下命令和环境使用 \TikZ\ 的绘图功能了% +\footnote{\texttt{latex + dvipdfmx} 编译方式要在 \pkg{tikz} 宏包之前调用 \pkg{graphicx} 宏包并指定 \texttt{dvipdfmx} 选项。}: +\begin{command} +\cmd{tikz}\oarg*{\ldots} \Arg{tikz code}\texttt{;} \\[1ex] +\cmd{begin}\marg*{tikzpicture}\oarg*{\ldots} \\ +\Arg{tikz code 1}\texttt{;} \\ +\Arg{tikz code 2}\texttt{;} \\ +\ldots \\ +\cmd{end}\marg*{tikzpicture} +\end{command} + +前一种用法为 \cmd{tikz} 带单条绘图命令,以分号结束,一般用于在文字之间插入简单的图形; +后一种用法较为常见,使用多条绘图命令,可以在 \env{figure} 等浮动体中使用。 + +\subsection{\TikZ\ 坐标和路径}\label{subsec:tikz-path} + +\TikZ\ 用直角坐标系或者极坐标系描述点的位置。 +\begin{itemize} + \item 直角坐标下,点的位置写作 \texttt{(\Arg{$x$},\Arg{$y$})},坐标 \Arg{$x$} 和 \Arg{$y$} 可以用 \LaTeX\ 支持的任意单位表示, + 缺省为 \texttt{cm}; + \item 极坐标下,点的位置写作 \texttt{(\Arg{$\theta$}:\Arg{r})}。$\theta$ 为极角,单位是度。 +\end{itemize} + +\cmdindex[tikz]{coordinate} +我们还可以为某个点命名:\cmd{coordinate} \texttt{(A) at (\Arg{coordinate})} +然后就可以使用 \texttt{(A)} 作为点的位置了。 + +\begin{example} +\begin{tikzpicture} +\draw (0,0) -- (30:1); +\draw (1,0) -- (2,1); +\coordinate (S) at (0,1); +\draw (S) -- (1,1); +\end{tikzpicture} +\end{example} + +\TikZ\ 最基本的路径为两点之间连线,如 \texttt{(\Arg{$x_1$},\Arg{$y_1$}) -{}- (\Arg{$x_2$},\Arg{$y_2$})},可以连用表示多个连线(折线)。 +连续使用连线时,可以使用 \texttt{cycle} 令路径回到起点,生成闭合的路径。 +\begin{example} +\begin{tikzpicture} +\draw (0,0) -- (1,1) + -- (2,0) -- cycle; +\end{tikzpicture} +\end{example} + +其它常用的路径还包括: +\begin{itemize} + \item 矩形、圆和椭圆: +\end{itemize} +\begin{example} +\begin{tikzpicture} +\draw (0,0) rectangle (1.5,1); +\draw (2.5,0.5) circle [radius=0.5]; +\draw (4.5,0.5) ellipse + [x radius=1,y radius=0.5]; +\end{tikzpicture} +\end{example} + +\begin{itemize} + \item 直角、圆弧: +\end{itemize} +\begin{example} +\begin{tikzpicture} +\draw (0,0) |- (1,1); +\draw (1,0) -| (2,1); +\draw (4,0) arc (0:135:1); +\end{tikzpicture} +\end{example} + +\begin{itemize} + \item 二次和三次 B\'ezier 曲线,分别使用一个和两个控制点: +\end{itemize} +\begin{example} +\begin{tikzpicture} +\draw (0,0) .. controls + (2,1) and (3,1) .. (3,0); +\draw (4,0) .. controls + (5,1) .. (5,0); +\draw[help lines] (0,0) + -- (2,1) -- (3,1) -- (3,0) + (4,0) -- (5,1) -- (5,0); +\end{tikzpicture} +\end{example} + +\begin{itemize} + \item 网格、函数图像,网格可用 \texttt{step} 选项控制网格大小,函数图像用 \texttt{domain} 选项控制定义域: +\end{itemize} +\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}); +\end{tikzpicture} +\end{example} + +\subsection{\TikZ\ 绘图命令和参数}\label{subsec:tikz-draw} + +\cmdindex[tikz]{draw,fill,filldraw} +除了 \cmd{draw} 命令之外,\TikZ\ 还提供了 \cmd{fill} 命令用来填充图形,\cmd{filldraw} 命令则同时填充和描边。 +除了矩形、圆等现成的闭合图形外,\cmd{fill} 和 \cmd{filldraw} 命令也能够填充人为构造的闭合路径。 +\begin{command} +\cmd{draw}\oarg*{\ldots} \Arg{path}; \quad +\cmd{fill}\oarg*{\ldots} \Arg{path}; \\ +\cmd{filldraw}\oarg*{\ldots} \Arg{path}; +\end{command} + +绘图参数可作为可选参数用在 \env{tikzpiture} 环境或 \cmd{tikz} 命令时,参数会影响到所有具体的绘图命令; +用在单个绘图命令 \cmd{draw}、\cmd{filldraw} 等时,只对这个命令起效。 + +\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},相当于用默认颜色。 +\end{itemize} +\hrule +\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}} 使用给定的半径。 +\end{itemize} +\hrule +\begin{itemize} + \item \texttt{-> / -< / -to / -latex / -stealth / \ldots} \par + 指定路径终点的箭头种类。 + \item \texttt{<- / >- / to- / latex- / -stealth / \ldots} \par + 指定路径起点的箭头种类。起点和终点的箭头可以搭配,如 \texttt{<->} 或者 \texttt{latex-to} 等。 +\end{itemize} +\hrule +\begin{itemize} + \item \texttt{scale=\Arg{scale}} \par + 指定整个图像或某个路径的缩放比例。 + \item \texttt{xshift=\Arg{length} / yshift=\Arg{length}} \par + 指定整个图像或某个路径相对于原位置的水平/垂直位移。 + \item \texttt{rotate=\Arg{angle}} \par + 指定整个图像或某个路径旋转一定角度。 +\end{itemize} +\hrule +\end{table} + +\subsection{\TikZ\ 文字结点}\label{subsec:tikz-node} + +\cmdindex[tikz]{node} +\TikZ\ 用 \cmd{node} 命令绘制文字结点: +\begin{command} +\cmd{node}\oarg{options} \texttt{(\Arg{name})} \texttt{at (\Arg{coordinate})} \marg{text}\texttt{;} +\end{command} +\begin{example} +\begin{tikzpicture} +\node (A) at (0,0) {A}; +\node (B) at (1,0) {B}; +\node (C) at (60:1) {C}; +\draw (A) -- (B) -- (C) -- (A); +\end{tikzpicture} +\end{example} + +表 \ref{tbl:tikz-options} 中的参数可用于 \cmd{node} 命令的配置。除此之外,\cmd{node} 还有一些特定的参数,见表 \ref{tbl:tikz-node-options}。 + +\begin{table}[htp] +\caption{\TikZ\ 结点使用的一些绘图参数。}\label{tbl:tikz-node-options} +\small +\hrule +\begin{itemize} + \item \texttt{anchor=\Arg{position}} \par + 指定结点的某个角落 \Arg{position} 位于给定的位置 \Arg{coordinate}。 + \item \texttt{center/ 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 + 结点的形状,默认可用 \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{node font=\Arg{font command}} \par + 结点文字的字体,形如 \cmd{bfseries} 或 \cmd{itshape} 等。 +\end{itemize} +\hrule +\end{table} + +\cmd{node} 命令不仅为文字结点的位置命名(类似 \cmd{coordinate} 命令),在 \cmd{draw} 等命令中还可以使用某个结点的相对位置, +以“东南西北”的方式命名: + +\begin{example} +\begin{tikzpicture} +\draw (0,0) circle[radius=1]; +\fill (0,0) circle[radius=2pt]; +\node[draw] (P) at (15:2) {center}; +\draw[dotted] (0,0) -- (P.west); +\end{tikzpicture} +\end{example} + +另一种用法是在 \cmd{draw} 等命令的路径中使用 \texttt{node},不仅可以对某个位置标记节点,还能够对线标记: +\begin{example} +\begin{tikzpicture} +\draw (2,1.5) node[above] {$A$} + -- node[above left] {$c$} + (0,0) node[left] {$B$} + -- node[below] {$a$} + (2.5,0) node[right] {$C$} + -- node[above right] {$b$} + cycle; +\end{tikzpicture} +\end{example} + +除了 \cmd{node} 命令之外,\cmd{coordinate} 也可以通过参数为某个位置添加文字。 +我们最后举一个较为复杂的例子,综合前面介绍过的各种路径、形状、文字结点和参数设置。 + +\begin{sourcecode}[htp] +\begin{Verbatim} +\begin{tikzpicture} +\draw[-stealth,line width=0.2pt] (-0.5,0) -- (4.5,0); +\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 (0.5,0); +\coordinate[label=below:$b$] (b0) at (4,0); +\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, + fill=green!20,draw=gray,text=blue!60!black,scale=0.6] + at (b) {$\displaystyle \int_a^b {f(x)\,\mathrm{d}x} = F(b) - F(a)$}; +\end{tikzpicture} +\end{Verbatim} +\begin{center} +\begin{tikzpicture} +\draw[-stealth,line width=0.2pt] (-0.5,0) -- (4.5,0); +\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 (0.5,0); +\coordinate[label=below:$b$] (b0) at (4,0); +\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, + fill=green!20,draw=gray,text=blue!60!black,scale=0.6] + at (b) {$\displaystyle \int_a^b {f(x)\,\mathrm{d}x} = F(b) - F(a)$}; +\end{tikzpicture} +\end{center} +\caption{\TikZ\ 绘图示例源代码和效果。}\label{code:tikz-example} +\end{sourcecode} \ No newline at end of file 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 new file mode 100644 index 00000000000..1990ebf61c4 --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/chap.08.custom.tex @@ -0,0 +1,265 @@ +\chapter{自定义 \LaTeX\ 命令和功能} +\addtocontents{los}{\protect\addvspace{10pt}} + +\begin{intro} +读到这一章之前,如果你确保掌握了前几章的知识并熟练运用,你已经能制作出内容和形式都相当丰富的文档了。 +但你可能还不会满足:我要如何制作一个简单但像样的毕业论文/书籍/简历模板,每次可以直接套用, +而不是再在导言区写一堆代码? + +本章的内容将有助于你实现这一个目标,让你能编写可重复利用的模块——宏包和文档类,并在其中自己定义命令和环境。 +不过作为入门手册,这些知识仍是不全面的。如果你不满足于此,需要参考更多资料,比如 \cite{companion,clsguide}。 +\end{intro} + +\section{自定义命令和环境}\label{sec:newcommands} + +你也许已经意识到了,在本手册中介绍的所有命令都被包含在一个带颜色的矩形背景框中。 +笔者并没有直接使用基础的 \LaTeX\ 命令来实现这个效果,而是创建了一个\textbf{宏包}, +并在其中定义了笔者所需要的命令和环境。现在我只需写成这样简单的形式: + +\begin{example} +\begin{command} +\cmd{dum} +\end{command} +\end{example} + +这个例子中使用了一个新的环境 \env{command}。这个环境负责给命令代码加上一个带颜色的矩形背景框。 +同时还使用了一个命令:\cmd{cmd}, 这个命令负责输出命令的名字,包括前面的反斜杠。 + +一旦笔者想要修改命令代码的央视,比如更换颜色、加边框等等,可以通过改变 \env{command} 环境的定义来很容易地创建新的外观, +而不是挨个修改每个命令示例。 + +\subsection{定义新命令} + +\cmdindex{newcommand} +使用如下命令可以定义你自己的命令: +\begin{command} +\cmd{newcommand}\marg*{\cmd{\Arg{name}}}\oarg{num}\marg{definition} +\end{command} +基本上,这个命令有两个参数,第一个 \Arg{name} 是你想要建立的命令的名称(带反斜杠), +第二个 \Arg{definition} 是命令的定义。方括号里的参数 \Arg{num} 是可选的, +用于指定新命令所需的参数数目(最多 9 个)。如果缺省可选参数,默认就是 0,也就是新建的命令不带任何参数。 + +接下来的两个例子有助你的理解。第一个例子定义了一个新的命令:\cmd{tnss}。 +这个命令是本手册英文名称 ``The Not So Short Introduction to \LaTeXe'' 的简写。 +如果你需要在文档中多次使用本手册的名称,那么使用这个命令是一个非常方便的办法。 + +\begin{example} +\newcommand{\tnss}{The not + so Short Introduction to + \LaTeXe} +This is ``\tnss'' \ldots{} +``\tnss'' +\end{example} + +第二个例子演示了如何定义一个带参数的命令。在命令的定义中,标记 \verb|#1| +代表指定的参数。如果想使用多个参数,可以依次使用 \verb|#2|、……、\verb|#9| 等标记。 + +\begin{example} +\newcommand{\txsit}[1] + {This is the \emph{#1} Short + Introduction to \LaTeXe} +% in the document body: +\begin{itemize} +\item \txsit{not so} +\item \txsit{very} +\end{itemize} +\end{example} + +\cmdindex{renewcommand} +\LaTeX\ 不允许你定义一个与现有命令重名的命令。如果需要修改命令定义的话,使用 \cmd{re\-new\-comm\-and} 命令。它使用与命令 \cmd{new\-comm\-and} +相同的语法。 + +\cmdindex{providecommand} +在某些情况之下,你可能会希望使用 \cmd{pro\-vide\-comm\-and} 命令。在命令不存在时,它相当于 \cmd{new\-comm\-and} +;在命令已经存在时,仍沿用存在的定义。 + +\subsection{定义环境} + +\cmdindex{newenvironment} +与 \cmd{new\-comm\-and} 命令类似,有一个命令用于定义新的环境。这个命令是 \cmd{new\-environ\-ment},它的语法如下所示: + +\begin{command} +\cmd{newenvironment}\marg{name}\oarg{num}\marg{before}\marg{after} +\end{command} + +同样地,\cmd{newenvironment} 命令有一个可选的参数。 +在 \Arg{before} 中的内容将在此环境包含的文本之前处理,而在 \Arg{after} 中的内容将在遇到 \cmd{end\marg{name}} 命令时处理。 + +下面的例子演示了 \cmd{newenvironment} 命令的用法: +\begin{example} +\newenvironment{king} +{\rule{1ex}{1ex}% + \hspace{\stretch{1}}} +{\hspace{\stretch{1}}% + \rule{1ex}{1ex}} + +\begin{king} +My humble subjects \ldots +\end{king} +\end{example} + +\cmdindex{renewenvironment} +参数 \Arg{num} 的使用方式与 \cmd{new\-comm\-and} 命令相同。\LaTeX\ 还同样保证你 +不会不小心新建重名的环境。如果你确实希望改变一个现有的环境,你可以使用命令 + \cmd{re\-new\-environ\-ment},它使用和命令 \cmd{new\-environ\-ment} 相同的语法。 + +\section{编写自己的宏包和文档类} + +\subsection{编写简单的宏包} + +\cmdindex{usepackage} +如果你定义了很多新的环境和命令,你的文档的导言区将变得相当长,在这种情况下,好的方式是 +建立一个新的 \LaTeX\ 宏包来存放所有你自己定义的命令和环境, +然后在你的文档中使用 \cmd{use\-package} 命令来调用自定义的宏包。 + +\begin{sourcecode}[htbp] +\begin{Verbatim} +% Demo Package by Tobias Oetiker +\ProvidesPackage{demopack} +\newcommand{\tnss}{The not so Short Introduction + to \LaTeXe} +\newcommand{\txsit}[1]{The \emph{#1} Short + Introduction to \LaTeXe} +\newenvironment{king}{\begin{quote}}{\end{quote}} +\end{Verbatim} +\caption{宏包的一个最简示例。}\label{code:package} +\end{sourcecode} + +\cmdindex{ProvidesPackage} +写一个宏包的基本工作就是将原本在你的文档导言区里很长的内容拷贝到另一个文件中去, + 这个文件需要以 \texttt{.sty} 作扩展名。你还需要加入一个宏包专用的命令: +\begin{command} +\cmd{ProvidesPackage}\marg{package name} +\end{command} +这个命令应该放在你的宏包的最前面,并且一定要注意:\textbf{\Arg{package name} 需要和宏包的文件名一致。} +\cmd{Provides\-Package} 让 \LaTeX\ 记录宏包的名称,从而在你尝试再次调用同一个宏包的时候忽略后面的引入% +\footnote{但如果你以\emph{不同的选项}多次引入宏包,则有可能会引起错误,见附录 \ref{sec:errors}。}。 +源代码 \ref{code:package} 给出了一个小的宏包示例,其中包含了我们之前定义的一些命令。 + +\subsection{在宏包中调用其它宏包} + +\cmdindex{RequirePackage} +如果你想进一步把各种宏包的功能汇总到一个文件里,而不是在文档的导言区罗列一大堆宏包的话, +\LaTeX\ 允许你在自己编写的宏包中调用其它宏包,命令为 \cmd{RequirePackage},用法和 \cmd{usepackage} +一致: +\begin{command} +\cmd{RequirePackage}\oarg{options}\marg{package name} +\end{command} + +\subsection{编写自己的文档类} + +\cmdindex{ProvidesClass} +当你更进一步,需要编写自己的文档类,如论文模板等,问题就稍稍麻烦了一些。首先,自己的文档类以 \texttt{.cls} 作扩展名,开头使用 +\cmd{ProvidesClass} 命令: +\begin{command} +\cmd{ProvidesClass}\marg{class name} +\end{command} +当然了,\marg{class name}也需要和文档类的文件名一致。 + +\cmdindex{LoadClass} +但是有了上述命令和和你之前学到的 \cmd{newcommand} 等,还并不能完成一个文档类的编写,因为诸如 \cmd{chapter}、 +\cmd{section} 等等许多常用的命令都是在文档类中定义的。事实上,许多时候我们只需要像调用宏包那样调用一个基本的文档类, +省去许多不必要的麻烦。在你的文档类中调用其它文档类的命令是 \cmd{LoadClass} ,用法和 \cmd{documentclass} 十分相像: +\begin{command} +\cmd{LoadClass}\oarg{options}\marg{package name} +\end{command} + +\section{计数器}\label{sec:counters} + +\pinyinindex{jishuqi}{计数器} +我们早就见识到了 \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} + +\Arg{counter name} 为计数器的名称,可选参数 \Arg{parent counter name} 定义为 \Arg{counter name} 的上级计数器。 + +\cmdindex{setcounter,addtocounter,stepcounter} +以下命令修改计数器的数值,\cmd{set\-counter} 将数值设为 \Arg{number};\cmd{add\-to\-counter} 将数值加上 \Arg{number}; +\cmd{step\-counter} 将数值加一,并\textbf{将所有下级计数器归零}。 +\begin{command} +\cmd{setcounter}\marg{counter name}\marg{number} \\ +\cmd{addtocounter}\marg{counter name}\marg{number} \\ +\cmd{stepcounter}\marg{counter name} +\end{command} + +\subsection{计数器的输出格式}\label{subsec:count-value} + +计数器 \Arg{counter} 的输出格式由 \cmd{the\Arg{counter}} 表示,如我们在 \ref{sec:pagestyle} 一节见过的 \cmd{thechapter} 等。 +这个值默认以阿拉伯数字形式输出,如果想改成其它形式,需要重定义 \cmd{the\Arg{counter}},如将 equation 计数器的格式定义为大写字母: +\begin{verbatim} +\renewcommand\theequation{\Alph{equation}} +\end{verbatim} + +\cmdindex{arabic,alph,Alph,roman,Roman,fnsymbol} +命令 \cmd{Alph} 控制计数器 \Arg{counter} 的值以大写字母形式显示。下表列出所有可用于修改计数器格式的命令。 +注意:这些命令\textbf{只能用于计数器,不能直接用于数字},如 \cmd{roman}\marg*{1} 这样的命令会出错。 +\begin{center} +\begin{tabular}{cl} + \hline + \cmd{arabic} & 阿拉伯数字(默认) \\ + \cmd{alph} & 小写字母 \\ + \cmd{Alph} & 大写字母 \\ + \cmd{roman} & 小写罗马数字 \\ + \cmd{Roman} & 大写字母 \\ + \cmd{fnsymbol} & 一系列符号,用于标题页生成的脚注中 \\ + \hline +\end{tabular} +\end{center} + +计数器的值还可以利用其它字符,甚至其它计数器的值与之组合。如标准文档类里对 \cmd{sub\-section} 相关的计数器的输出格式的定义相当于: +\begin{verbatim} +\renewcommand\thesubsection{\thesection.\arabic{subsection}} +\end{verbatim} + +\subsection{\LaTeX\ 中的计数器}\label{subsec:latex-counts} + +\begin{itemize} + \item 我们当然早就意识到了,所有章节命令 \cmd{chapter}、\cmd{section} 等分别对应计数器 chapter、section 等等,而且有上下级的关系。 +而计数器 part 是独立的。 + \item 有序列表 \env{enumerate} 的各级计数器为 enumi, enumii, enumiii, enumiv,也是有上下级的关系。 + \item 图表浮动体的计数器就是 table 和 figure;公式的计数器为 equation。 + 这些计数器在 \cls{article} 文档类中是独立的,而在 \cls{book} 和 \cls{report} 中以 chapter 为上级计数器。 + \item 页码、脚注的计数器分别是 page 和 footnote。 +\end{itemize} + +\cmdindex{pagenumbering} +我们可以利用前面介绍过的命令,修改计数器的样式以达到想要的效果,比如把页码修改成大写罗马字母,或是给脚注加上方括号。 +修改页码的样式有个更方便的命令 \cmd{page\-number\-ing}: +\begin{verbatim} +\pagenumbering{Roman} +\renewcommand\thefootnote{[\arabic{footnote}]} +\end{verbatim} + +最后介绍两个有用的计数器: + +\begin{itemize} + \item secnumdepth \index{secnumdepth@secnumdepth (\textit{计数器})} + + \LaTeX\ 内部对章节规定了层级: + \begin{itemize} + \item 在 \cls{article} 文档类里 part 为 0,section 为 1,依此类推; + \item 在 \cls{report}/\cls{book} 文档类里 part 为 -1,chapter 为 0,section 为 1,等等。 + \end{itemize} + + secnumdepth 计数器控制章节编号的深度,如果章节的层级大于 secnumdepth,那么章节的标题、在目录和页眉页脚的标题都不编号 + (照常生成目录和页眉页脚),章节计数器也不计数。 + + 可以用 \cmd{setcounter} 命令设置 secnumdepth 为较大的数使得层级比较深的章节也编号, + 如设置为 4 令 \cmd{paragraph} 也编号;或者设置一个较小的数以取消编号,如设置为 -1 令 \cmd{chapter} 不编号。 + 后者是生成不编号的章节的一个妙招,免去了手动使用 \cmd{add\-contents\-line} 和 \cmd{mark\-both} 的麻烦。 + + secnumdepth 计数器在 \cls{article} 文档类里默认为 3 (subsubsection 一级);在 \cls{report} 和 \cls{book} 文档类里默认为 2 (subsection 一级)。 + + \item tocdepth \index{tocdepth@tocdepth (\textit{计数器})} + + tocdepth 计数器控制目录的深度,如果章节的层级大于 tocdepth,那么章节将不会自动写入目录项。默认值同 secnumdepth。 +\end{itemize} + +\endinput \ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/fdl.tex b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/fdl.tex new file mode 100644 index 00000000000..820a486b1fb --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/fdl.tex @@ -0,0 +1,490 @@ +\chapter{GNU Free Documentation License} + +\begingroup \small + +\begin{center} +Version 1.3, 3 November 2008 +\end{center} +\bigskip + +Copyright \copyright\ 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. \texttt{} + +Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. + +\begin{flushleft} +{\large\bfseries\sffamily 0. Preamble\par} +\end{flushleft} + +The purpose of this License is to make a manual, textbook, or other +functional and useful document ``free'' in the sense of freedom: to +assure everyone the effective freedom to copy and redistribute it, +with or without modifying it, either commercially or noncommercially. +Secondarily, this License preserves for the author and publisher a way +to get credit for their work, while not being considered responsible +for modifications made by others. + +This License is a kind of ``copyleft'', which means that derivative +works of the document must themselves be free in the same sense. It +complements the GNU General Public License, which is a copyleft +license designed for free software. + +We have designed this License in order to use it for manuals for free +software, because free software needs free documentation: a free +program should come with manuals providing the same freedoms that the +software does. But this License is not limited to software manuals; +it can be used for any textual work, regardless of subject matter or +whether it is published as a printed book. We recommend this License +principally for works whose purpose is instruction or reference. + + +\begin{flushleft} +{\large\bfseries\sffamily 1. APPLICABILITY AND DEFINITIONS\par} +\end{flushleft} + +This License applies to any manual or other work, in any medium, that +contains a notice placed by the copyright holder saying it can be +distributed under the terms of this License. Such a notice grants a +world-wide, royalty-free license, unlimited in duration, to use that +work under the conditions stated herein. The ``\textbf{Document}'', below, +refers to any such manual or work. Any member of the public is a +licensee, and is addressed as ``\textbf{you}''. You accept the license if you +copy, modify or distribute the work in a way requiring permission +under copyright law. + +A ``\textbf{Modified Version}'' of the Document means any work containing the +Document or a portion of it, either copied verbatim, or with +modifications and/or translated into another language. + +A ``\textbf{Secondary Section}'' is a named appendix or a front-matter section of +the Document that deals exclusively with the relationship of the +publishers or authors of the Document to the Document's overall subject +(or to related matters) and contains nothing that could fall directly +within that overall subject. (Thus, if the Document is in part a +textbook of mathematics, a Secondary Section may not explain any +mathematics.) The relationship could be a matter of historical +connection with the subject or with related matters, or of legal, +commercial, philosophical, ethical or political position regarding +them. + +The ``\textbf{Invariant Sections}'' are certain Secondary Sections whose titles +are designated, as being those of Invariant Sections, in the notice +that says that the Document is released under this License. If a +section does not fit the above definition of Secondary then it is not +allowed to be designated as Invariant. The Document may contain zero +Invariant Sections. If the Document does not identify any Invariant +Sections then there are none. + +The ``\textbf{Cover Texts}'' are certain short passages of text that are listed, +as Front-Cover Texts or Back-Cover Texts, in the notice that says that +the Document is released under this License. A Front-Cover Text may +be at most 5 words, and a Back-Cover Text may be at most 25 words. + +A ``\textbf{Transparent}'' copy of the Document means a machine-readable copy, +represented in a format whose specification is available to the +general public, that is suitable for revising the document +straightforwardly with generic text editors or (for images composed of +pixels) generic paint programs or (for drawings) some widely available +drawing editor, and that is suitable for input to text formatters or +for automatic translation to a variety of formats suitable for input +to text formatters. A copy made in an otherwise Transparent file +format whose markup, or absence of markup, has been arranged to thwart +or discourage subsequent modification by readers is not Transparent. +An image format is not Transparent if used for any substantial amount +of text. A copy that is not ``Transparent'' is called ``\textbf{Opaque}''. + +Examples of suitable formats for Transparent copies include plain +ASCII without markup, Texinfo input format, LaTeX input format, SGML +or XML using a publicly available DTD, and standard-conforming simple +HTML, PostScript or PDF designed for human modification. Examples of +transparent image formats include PNG, XCF and JPG. Opaque formats +include proprietary formats that can be read and edited only by +proprietary word processors, SGML or XML for which the DTD and/or +processing tools are not generally available, and the +machine-generated HTML, PostScript or PDF produced by some word +processors for output purposes only. + +The ``\textbf{Title Page}'' means, for a printed book, the title page itself, +plus such following pages as are needed to hold, legibly, the material +this License requires to appear in the title page. For works in +formats which do not have any title page as such, ``Title Page'' means +the text near the most prominent appearance of the work's title, +preceding the beginning of the body of the text. + +The ``\textbf{publisher}'' means any person or entity that distributes +copies of the Document to the public. + +A section ``\textbf{Entitled XYZ}'' means a named subunit of the Document whose +title either is precisely XYZ or contains XYZ in parentheses following +text that translates XYZ in another language. (Here XYZ stands for a +specific section name mentioned below, such as ``\textbf{Acknowledgements}'', +``\textbf{Dedications}'', ``\textbf{Endorsements}'', or ``\textbf{History}''.) +To ``\textbf{Preserve the Title}'' +of such a section when you modify the Document means that it remains a +section ``Entitled XYZ'' according to this definition. + +The Document may include Warranty Disclaimers next to the notice which +states that this License applies to the Document. These Warranty +Disclaimers are considered to be included by reference in this +License, but only as regards disclaiming warranties: any other +implication that these Warranty Disclaimers may have is void and has +no effect on the meaning of this License. + + +\begin{flushleft} +{\large\bfseries\sffamily 2. VERBATIM COPYING\par} +\end{flushleft} + +You may copy and distribute the Document in any medium, either +commercially or noncommercially, provided that this License, the +copyright notices, and the license notice saying this License applies +to the Document are reproduced in all copies, and that you add no other +conditions whatsoever to those of this License. You may not use +technical measures to obstruct or control the reading or further +copying of the copies you make or distribute. However, you may accept +compensation in exchange for copies. If you distribute a large enough +number of copies you must also follow the conditions in section~3. + +You may also lend copies, under the same conditions stated above, and +you may publicly display copies. + + +\begin{flushleft} +{\large\bfseries\sffamily 3. COPYING IN QUANTITY\par} +\end{flushleft} + + +If you publish printed copies (or copies in media that commonly have +printed covers) of the Document, numbering more than 100, and the +Document's license notice requires Cover Texts, you must enclose the +copies in covers that carry, clearly and legibly, all these Cover +Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on +the back cover. Both covers must also clearly and legibly identify +you as the publisher of these copies. The front cover must present +the full title with all words of the title equally prominent and +visible. You may add other material on the covers in addition. +Copying with changes limited to the covers, as long as they preserve +the title of the Document and satisfy these conditions, can be treated +as verbatim copying in other respects. + +If the required texts for either cover are too voluminous to fit +legibly, you should put the first ones listed (as many as fit +reasonably) on the actual cover, and continue the rest onto adjacent +pages. + +If you publish or distribute Opaque copies of the Document numbering +more than 100, you must either include a machine-readable Transparent +copy along with each Opaque copy, or state in or with each Opaque copy +a computer-network location from which the general network-using +public has access to download using public-standard network protocols +a complete Transparent copy of the Document, free of added material. +If you use the latter option, you must take reasonably prudent steps, +when you begin distribution of Opaque copies in quantity, to ensure +that this Transparent copy will remain thus accessible at the stated +location until at least one year after the last time you distribute an +Opaque copy (directly or through your agents or retailers) of that +edition to the public. + +It is requested, but not required, that you contact the authors of the +Document well before redistributing any large number of copies, to give +them a chance to provide you with an updated version of the Document. + + +\begin{flushleft} +{\large\bfseries\sffamily 4. MODIFICATIONS\par} +\end{flushleft} + +You may copy and distribute a Modified Version of the Document under +the conditions of sections 2 and 3 above, provided that you release +the Modified Version under precisely this License, with the Modified +Version filling the role of the Document, thus licensing distribution +and modification of the Modified Version to whoever possesses a copy +of it. In addition, you must do these things in the Modified Version: + +\begin{itemize} +\item[A.] + Use in the Title Page (and on the covers, if any) a title distinct + from that of the Document, and from those of previous versions + (which should, if there were any, be listed in the History section + of the Document). You may use the same title as a previous version + if the original publisher of that version gives permission. + +\item[B.] + List on the Title Page, as authors, one or more persons or entities + responsible for authorship of the modifications in the Modified + Version, together with at least five of the principal authors of the + Document (all of its principal authors, if it has fewer than five), + unless they release you from this requirement. + +\item[C.] + State on the Title page the name of the publisher of the + Modified Version, as the publisher. + +\item[D.] + Preserve all the copyright notices of the Document. + +\item[E.] + Add an appropriate copyright notice for your modifications + adjacent to the other copyright notices. + +\item[F.] + Include, immediately after the copyright notices, a license notice + giving the public permission to use the Modified Version under the + terms of this License, in the form shown in the Addendum below. + +\item[G.] + Preserve in that license notice the full lists of Invariant Sections + and required Cover Texts given in the Document's license notice. + +\item[H.] + Include an unaltered copy of this License. + +\item[I.] + Preserve the section Entitled ``History'', Preserve its Title, and add + to it an item stating at least the title, year, new authors, and + publisher of the Modified Version as given on the Title Page. If + there is no section Entitled ``History'' in the Document, create one + stating the title, year, authors, and publisher of the Document as + given on its Title Page, then add an item describing the Modified + Version as stated in the previous sentence. + +\item[J.] + Preserve the network location, if any, given in the Document for + public access to a Transparent copy of the Document, and likewise + the network locations given in the Document for previous versions + it was based on. These may be placed in the ``History'' section. + You may omit a network location for a work that was published at + least four years before the Document itself, or if the original + publisher of the version it refers to gives permission. + +\item[K.] + For any section Entitled ``Acknowledgements'' or ``Dedications'', + Preserve the Title of the section, and preserve in the section all + the substance and tone of each of the contributor acknowledgements + and/or dedications given therein. + +\item[L.] + Preserve all the Invariant Sections of the Document, + unaltered in their text and in their titles. Section numbers + or the equivalent are not considered part of the section titles. + +\item[M.] + Delete any section Entitled ``Endorsements''. Such a section + may not be included in the Modified Version. + +\item[N.] + Do not retitle any existing section to be Entitled ``Endorsements'' + or to conflict in title with any Invariant Section. + +\item[O.] + Preserve any Warranty Disclaimers. +\end{itemize} + +If the Modified Version includes new front-matter sections or +appendices that qualify as Secondary Sections and contain no material +copied from the Document, you may at your option designate some or all +of these sections as invariant. To do this, add their titles to the +list of Invariant Sections in the Modified Version's license notice. +These titles must be distinct from any other section titles. + +You may add a section Entitled ``Endorsements'', provided it contains +nothing but endorsements of your Modified Version by various +parties---for example, statements of peer review or that the text has +been approved by an organization as the authoritative definition of a +standard. + +You may add a passage of up to five words as a Front-Cover Text, and a +passage of up to 25 words as a Back-Cover Text, to the end of the list +of Cover Texts in the Modified Version. Only one passage of +Front-Cover Text and one of Back-Cover Text may be added by (or +through arrangements made by) any one entity. If the Document already +includes a cover text for the same cover, previously added by you or +by arrangement made by the same entity you are acting on behalf of, +you may not add another; but you may replace the old one, on explicit +permission from the previous publisher that added the old one. + +The author(s) and publisher(s) of the Document do not by this License +give permission to use their names for publicity for or to assert or +imply endorsement of any Modified Version. + + +\begin{flushleft} +{\large\bfseries\sffamily 5. COMBINING DOCUMENTS\par} +\end{flushleft} + + +You may combine the Document with other documents released under this +License, under the terms defined in section~4 above for modified +versions, provided that you include in the combination all of the +Invariant Sections of all of the original documents, unmodified, and +list them all as Invariant Sections of your combined work in its +license notice, and that you preserve all their Warranty Disclaimers. + +The combined work need only contain one copy of this License, and +multiple identical Invariant Sections may be replaced with a single +copy. If there are multiple Invariant Sections with the same name but +different contents, make the title of each such section unique by +adding at the end of it, in parentheses, the name of the original +author or publisher of that section if known, or else a unique number. +Make the same adjustment to the section titles in the list of +Invariant Sections in the license notice of the combined work. + +In the combination, you must combine any sections Entitled ``History'' +in the various original documents, forming one section Entitled +``History''; likewise combine any sections Entitled ``Acknowledgements'', +and any sections Entitled ``Dedications''. You must delete all sections +Entitled ``Endorsements''. + +\begin{flushleft} +{\large\bfseries\sffamily 6. COLLECTIONS OF DOCUMENTS\par} +\end{flushleft} + +You may make a collection consisting of the Document and other documents +released under this License, and replace the individual copies of this +License in the various documents with a single copy that is included in +the collection, provided that you follow the rules of this License for +verbatim copying of each of the documents in all other respects. + +You may extract a single document from such a collection, and distribute +it individually under this License, provided you insert a copy of this +License into the extracted document, and follow this License in all +other respects regarding verbatim copying of that document. + + +\begin{flushleft} +{\large\bfseries\sffamily 7. AGGREGATION WITH INDEPENDENT WORKS\par} +\end{flushleft} + + +A compilation of the Document or its derivatives with other separate +and independent documents or works, in or on a volume of a storage or +distribution medium, is called an ``aggregate'' if the copyright +resulting from the compilation is not used to limit the legal rights +of the compilation's users beyond what the individual works permit. +When the Document is included in an aggregate, this License does not +apply to the other works in the aggregate which are not themselves +derivative works of the Document. + +If the Cover Text requirement of section~3 is applicable to these +copies of the Document, then if the Document is less than one half of +the entire aggregate, the Document's Cover Texts may be placed on +covers that bracket the Document within the aggregate, or the +electronic equivalent of covers if the Document is in electronic form. +Otherwise they must appear on printed covers that bracket the whole +aggregate. + + +\begin{flushleft} +{\large\bfseries\sffamily 8. TRANSLATION\par} +\end{flushleft} + + +Translation is considered a kind of modification, so you may +distribute translations of the Document under the terms of section~4. +Replacing Invariant Sections with translations requires special +permission from their copyright holders, but you may include +translations of some or all Invariant Sections in addition to the +original versions of these Invariant Sections. You may include a +translation of this License, and all the license notices in the +Document, and any Warranty Disclaimers, provided that you also include +the original English version of this License and the original versions +of those notices and disclaimers. In case of a disagreement between +the translation and the original version of this License or a notice +or disclaimer, the original version will prevail. + +If a section in the Document is Entitled ``Acknowledgements'', +``Dedications'', or ``History'', the requirement (section~4) to Preserve +its Title (section~1) will typically require changing the actual +title. + + +\begin{flushleft} +{\large\bfseries\sffamily 9. TERMINATION\par} +\end{flushleft} + + +You may not copy, modify, sublicense, or distribute the Document +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense, or distribute it is void, and +will automatically terminate your rights under this License. + +However, if you cease all violation of this License, then your license +from a particular copyright holder is reinstated (a) provisionally, +unless and until the copyright holder explicitly and finally +terminates your license, and (b) permanently, if the copyright holder +fails to notify you of the violation by some reasonable means prior to +60 days after the cessation. + +Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + +Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, receipt of a copy of some or all of the same material does +not give you any rights to use it. + + +\begin{flushleft} +{\large\bfseries\sffamily 10. FUTURE REVISIONS OF THIS LICENSE\par} +\end{flushleft} + + +The Free Software Foundation may publish new, revised versions +of the GNU Free Documentation License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. See +\texttt{http://www.gnu.org/copyleft/}. + +Each version of the License is given a distinguishing version number. +If the Document specifies that a particular numbered version of this +License ``or any later version'' applies to it, you have the option of +following the terms and conditions either of that specified version or +of any later version that has been published (not as a draft) by the +Free Software Foundation. If the Document does not specify a version +number of this License, you may choose any version ever published (not +as a draft) by the Free Software Foundation. If the Document +specifies that a proxy can decide which future versions of this +License can be used, that proxy's public statement of acceptance of a +version permanently authorizes you to choose that version for the +Document. + + +\begin{flushleft} +{\large\bfseries\sffamily 11. RELICENSING\par} +\end{flushleft} + + +``Massive Multiauthor Collaboration Site'' (or ``MMC Site'') means any +World Wide Web server that publishes copyrightable works and also +provides prominent facilities for anybody to edit those works. A +public wiki that anybody can edit is an example of such a server. A +``Massive Multiauthor Collaboration'' (or ``MMC'') contained in the +site means any set of copyrightable works thus published on the MMC +site. + +``CC-BY-SA'' means the Creative Commons Attribution-Share Alike 3.0 +license published by Creative Commons Corporation, a not-for-profit +corporation with a principal place of business in San Francisco, +California, as well as future copyleft versions of that license +published by that same organization. + +``Incorporate'' means to publish or republish a Document, in whole or +in part, as part of another Document. + +An MMC is ``eligible for relicensing'' if it is licensed under this +License, and if all works that were first published under this License +somewhere other than this MMC, and subsequently incorporated in whole +or in part into the MMC, (1) had no cover texts or invariant sections, +and (2) were thus incorporated prior to November 1, 2008. + +The operator of an MMC Site may republish an MMC contained in the site +under CC-BY-SA on the same site at any time before August 1, 2009, +provided the MMC is eligible for relicensing. + +\endgroup + +\endinput diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/preface.contrib.tex b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/preface.contrib.tex new file mode 100644 index 00000000000..61b6186cdf3 --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/preface.contrib.tex @@ -0,0 +1,238 @@ +\chapter{中文版致谢} + +\section*{5.05 中文版致谢} + +对 lshort-zh-cn 的新一轮修订在 China\TeX\ 交流 QQ 群 (91940767) 的网友支持下完成。 +参与此次修订的朋友包括: + +\begin{center} +\begin{tabular}{lll} + \toprule + 网友 ID & E-mail \\ + \midrule + hello & 312439151@qq.com \\ + $\varepsilon$ & 554502177@qq.com \\ + \bottomrule +\end{tabular} +\end{center} + +\noindent\dotfill + +\section*{4.20 中文版致谢} + +中文 \TeX\ 学会启动的 lshort-zh-cn 修正计划! +本项计划历时八个月,参加的朋友有: + +\begin{center} +\begin{tabular}{ll} +\toprule +\textbf{C\TeX 论坛 ID} & \textbf{翻译章节} \\ +\midrule +zpxing & 前言、第二章、第五章 1-2.4 {\&} 3、第六章 \\ +Frogge & 第一章 \\ +liwenjun & 第三章 \\ +lijian605 & 第四章 \\ +gprsnl & 第五章 2.5-2.11 \\ +\bottomrule +\end{tabular} +\end{center} + +haginile 和 Frogge 通读了全篇,并给出了详细的勘误表。 +blackold 对于第二章亦有所贡献。最后由 zpxing 统筹全书。 + +\noindent\dotfill + +\section*{3.20 中文版致谢} + +本文档的翻译工作由 C\TeX{} 版主“经典问题”倡议,历经近十个月才得以完成。 +期间参与翻译工作的朋友有: + +\begin{center} +\begin{tabular}{lll} +\toprule +\textbf{C\TeX 论坛 ID} & \textbf{翻译章节} & \textbf{源文件名} \\ +\midrule +经典问题 & 前言 & overview.tex \\ +高原之狼 & 第一章 & things.tex \\ +controlong & 第二章 & typeset.tex \\ +cxterm & 第三章 & math.tex, lssym.tex \\ +aloft & 第四章 & spec.tex \\ +ganzhi & 第五章 & custom.tex \\ +\bottomrule +\end{tabular} +\end{center} + +\vspace{20pt} + +\begin{flushright} +\large\textbf{在此特向这些奉献者表示感谢!} +\end{flushright} + +\chapter{英文版致谢} + +\noindent Much of the material used in this introduction comes from an +Austrian introduction to \LaTeX\ 2.09 written in German by: +\begin{verse} +\contrib{Hubert Partl}{partl@mail.boku.ac.at}% +{Zentraler Informatikdienst der Universit\"at f\"ur Bodenkultur Wien} +\contrib{Irene Hyna}{Irene.Hyna@bmwf.ac.at}% + {Bundesministerium f\"ur Wissenschaft und Forschung Wien} +\contrib{Elisabeth Schlegl}{no email}% + {in Graz} +\end{verse} + +If you are interested in the German document, you can find a version +updated for \LaTeXe{} by J\"org Knappen at +\CTAN|info/lshort/german| + +\newpage \noindent +The following individuals helped with corrections, suggestions and +material to improve this paper. They put in a big effort to help me +get this document into its present shape. I would like to +sincerely thank all of them. Naturally, all the mistakes you'll find +in this book are mine. If you ever find a word that is spelled +correctly, it must have been one of the people below dropping me a +line. + +\begin{flushleft}\small +Eric~Abrahamsen, % +Lenimar~Nunes~de~Andrade, % 12 Nov 1999 +Eilinger~August, % +Rosemary~Bailey, % 0.2 +Barbara~Beeton, % +Marc~Bevand, % +Connor~Blakey, % it's Ligatures! +Salvatore~Bonaccorso, % +Pietro~Braione, % +Friedemann~Brauer, % 3.4 +Markus~Br\"uhwiler, % +Jan~Busa, % +David~Carlisle, % GONE 1.0 +Neil~Carter, % +Carl~Cerecke, % +Mike~Chapman, % 3.16 +Pierre~Chardaire, % +Xingyou~Chen, % 5.04 +Christopher~Chin, % 3.1 +Diego~Clavadetscher, % +Wim~van~Dam, % GONE 2.2 +Benjamin~Deschwanden % +Jan~Dittberner, % 3.15 +Michael~John~Downes, % 14 Oct 1999 +Matthias~Dreier, % +David~Dureisseix, % 1.1 +Hans~Ehrbar, % +Elliot, % GONE 1.1 +Rockrush~Engch, % +William~Faulk, % +Robin~Fairbairns, % 0.2 1.0 +Johan~Falk, % 5.0.1 +J\"org~Fischer, % 3.16 +Frank~Fischli, % +Daniel~Flipo, % +Frank, % 11 Feb 2000 +Mic~Milic~Frederickx, % +David~Frey, % 2.2 +Erik~Frisk, % 3.4 +Hans~Fugal, % +Robert~Funnell, % 5.1 +Greg~Gamble, % 2.2 +Andy~Goth, % +Cyril~Goutte, % 2.1 2.2 +Kasper~B.~Graversen, % +Arlo~Griffiths, % +Alexandre~Guimond, % 0.9 +Neil~Hammond, % 0.3 +Christoph~Hamburger, % +Rasmus~Borup~Hansen, % GONE 0.2 0.9 0.91 0.92 1.9.9 +Joseph~Hilferty, % +Daniel~Hirsbrunner, % +Martien~Hulsen, % 1.0 1.1 +Bj\"orn Hvittfeldt, % 3.13 +Morten~H\o gholm, % +Werner~Icking, % 3.1 +Eric~Jacoboni, % GONE 0.1 0.9 +Jakob, % +Alan~Jeffrey, % 0.2 +Martin~Jenkins, % xqp.ltd@gmail.com 5.04 +Byron~Jones, % 1.1 +David~Jones, % GONE 1.1 +Johannes-Maria~Kaltenbach, % 3.01 +Nils~Kanning, % +Andrzej~Kawalec, % GONE 1.9.9 +Christian~Kern, % 2.1 +Alain~Kessi, % 2.2 +Axel~Kielhorn, % +Sander~de~Kievit, % +Kjetil~Kjernsmo, % 3.2 +Tobias~Klauser, % 4.17 +J\"org~Knappen, % 0.1 +Michael~Koundouros, % +Matt~Kraai, % +Tobias~Krewer, % +Flori~Lambrechts, % +Mike~Lee, % +Maik~Lehradt, % 0.1 +R\'emi~Letot, % +Axel~Liljencrantz, % +Jasper~Loy, % +Johan~Lundberg, % +Martin~Maechler, % 2.2 +Alexander~Mai, % 3.8 +Claus~Malten, % GONE 1.1 +Kevin~Van~Maren, % 24 Nov 1999 +Pablo~Markin, +I.~J.~Vera~Mar\'un, % +Hendrik~Maryns, % +Chris~McCormack, % GONE 0.1 +Aleksandar~S.~Milosevic, % +Henrik~Mitsch, % +Stefan~M.~Moser, % +Philipp~Nagele, % +Richard~Nagy, % +Manuel~Oetiker, % +Urs~Oswald, % +Hubert~Partl, % 0.2 1.1 +Marcelo~Pasin, % +Martin~Pfister, % +Lan~Thuy~Pham, % +Breno~Pietracci, % +Demerson~Andre~Polli, % +Maksym~Polyakov, % +Nikos~Pothitos, % +John~Refling, % 0.1 0.9 +Mike~Ressler, % 0.1 0.2 0.9 1.0 1.9.9 +Brian~Ripley, % 2.1 +Kurt~Rosenfeld, % +Bernd~Rosenlecher, % <9rosenle@informatik.uni-hamburg.de> 10 Feb 2000 +Chris~Rowley, % 0.91 +Young~U.~Ryu, % 2.1 +Risto~Saarelma, % +Andr{\'a}s~Salamon, % +Jos\'e~Carlos~Santos, % +Christopher~Sawtell, % 1 Sep 1999 +Gilles~Schintgen, % +Craig~Schlenter, % 0.1 0.2 0.9 +Hanspeter~Schmid, % +Baron~Schwartz, % +Jordi~Serra~i~Solanich, % +Miles~Spielberg, % +Susan~Stewart, +Matthieu~Stigler, +Geoffrey~Swindale, % +Laszlo~Szathmary, % +Boris~Tobotras, % +Josef~Tkadlec, % 2.0 2.2 +Scott~Veirs, % +Didier~Verna, % 2.2 +Carl-Gustav~Werner, % 11 Oct 1999, 3.16 +Fabian~Wernli, % 3.2 +Matthew~Widmann, % +David~Woodhouse, % 3.16 +Chris~York, % 21 Nov 1999 +Rick~Zaccone, % 2.2 +Fritz~Zaucker, % 3.0 +and Mikhail~Zotov. % 3.1 +\end{flushleft} + +\endinput \ No newline at end of file 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 new file mode 100644 index 00000000000..92a0ebaaa66 --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/preface.overview.tex @@ -0,0 +1,58 @@ +\chapter{前言} + +\LaTeX\ \cite{manual} 是一个文档准备系统(Document Preparing System),它非常适用于生成高印刷质量 +的科技类和数学类文档。它也能够生成所有其他种类的文档,小到简单的信件,大到完整的书籍。 +\LaTeX~使用 \TeX\ \cite{texbook} 作为它的排版引擎。% + +这份短小的手册描述了 \LaTeXe\ 的使用,对 \LaTeX 的大多数应用来说应该是足够了。 +参考文献 \cite{manual,companion} 对 \LaTeX\ 系统提供了完整的描述。% + +\bigskip +本手册在英文版 lshort 的基础上进行了适当的重新编排,共有八章和两篇附录:% +\begin{description}% +\item[第一章] 讲述 \LaTeX\ 的来源,源代码的基本结构,以及如何编译源代码生成文档。 +\item[第二章] 讲述在 \LaTeX\ 中如何书写文字,包括中文。% +\item[第三章] 讲述文档排版的基本元素——标题、目录、列表、图片、表格等等。结合前一章的内容,你应当能够制作内容较为丰富的文档了。% +\item[第四章] \LaTeX\ 排版公式的能力是众人皆知的。本章的内容涉及了一些排版公式经常用到的命令、环境和符号。 + 章节末尾提供了 \LaTeX\ 常见的数学符号。% +\item[第五章] 介绍了如何修改文档的一些基本样式,包括字体、段落、页面尺寸、页眉页脚等。 +\item[第六章] 介绍了 \LaTeX\ 的一些扩展功能:排版参考文献、排版索引、排版带有颜色和超链接的电子文档。 +\item[第七章] 介绍了如何在 \LaTeX\ 里使用 \TikZ\ 绘图。作为入门手册,这一部分点到为止。 +\item[第八章] 当你相当熟悉前面几章的内容,需要自己编写命令和宏包扩展 \LaTeX\ 的功能时,本章介绍了一些基本的命令满足你的需求。 +\end{description}% +\begin{description} +\item[附录A] 介绍了如何安装 \TeX\ 发行版和更新宏包。 +\item[附录B] 当新手遇到错误和需要寻求更多帮助时,本章提供了一些基本的参考。 +\end{description} + +\bigskip +这些章节是循序渐进的,建议刚刚熟悉 \LaTeX\ 的读者按顺序阅读。一定要认真阅读例子的源代码,它们贯穿全篇手册,包含了很多的信息。% + +\bigskip +如果你已经对 \LaTeX\ 较为熟练,本手册的资源已不足够解决你的问题时,请访问``Comprehensive +\TeX\ Archive Network'' (\texttt{CTAN}) 站点,主页是 \url{www.ctan.org}。 +所有的宏包也可以从 \url{mirrors.ctan.org} 和遍布全球的各个镜像站点中获得。 + +在本书中你会找到其他引用 \texttt{CTAN} 的地方,形式为 \texttt{CTAN://} 和之后的树状结构。 +引用本身是一个超链接,点击后将打开内容在 \texttt{CTAN} 上相应位置的页面。 + +要在自己的电脑上安装 \TeX\ 发行版,请参考附录 \ref{app:install} 中的内容。 +各个操作系统下的 \TeX\ 发行版位于 \CTAN|systems|。 + +\bigskip +如果你有意在这份文档中增加、删除或者改变一些内容,请通知作者。作者对 \LaTeX\ +初学者的反馈特别感兴趣,尤其是关于这份介绍哪些内容很容易理解,哪些内容可能需要更好地解释, +而哪些内容由于太过难以理解、非常不常用而不适宜放在本手册。 + +\bigskip +\begin{flushright} +鲁尚文 \\ +\mailto|louisstuart96@gmail.com| +\end{flushright} + +\vfill + +\noindent\begingroup\small lshort 的的最新中文版本位于 \CTAN|info/lshort/chinese|。 +如果用户对其他语言的版本感兴趣,请浏览 \CTAN|info/lshort|。\endgroup + +\endinput \ No newline at end of file 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 new file mode 100644 index 00000000000..46528589fd8 --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/sec.symbol.table.tex @@ -0,0 +1,379 @@ +% Definitions +\def\lsym{$\mathsurround=0pt {}^\ell$} +\def\LSYM #1{$#1$ & \texttt{\string#1}\lsym} + +\def\SYM #1{$#1$ & \texttt{\string#1}} +\def\BIGSYM #1{$#1$ & $\displaystyle #1$ & \texttt{\string#1}} +\def\ACC #1#2{$#1{#2}$ & \texttt{\string#1}\marg*{#2}} +\def\DEL #1{$\big#1 \bigg#1$ & \texttt{\string#1}} + +\def\AMSSYM #1{$#1$ & \texttt{\string#1}} +% These symbols rely on `amsmath' package +\def\AMSM #1{$#1$ & \textcolor{blue}{\texttt{\string#1}}} +\def\AMSACC#1#2{$#1{#2}$ & \textcolor{blue}{\texttt{\string#1}}\marg*{#2}} +\def\AMSBIG #1{$#1$ & $\displaystyle #1$ & \textcolor{blue}{\texttt{\string#1}}} + +\def\SC #1{#1 & \texttt{\string#1}} + + +\newsavebox{\symbbox} +\newenvironment{symbols}[1]% + {\def\arraystretch{1.1} + \begin{lrbox}{\symbbox} + \begin{tabular}{@{}#1@{}}}% + {\end{tabular}\end{lrbox}\makebox[\linewidth]{\usebox{\symbbox}}} + +\newcount\savesecdepth + +\clearpage +\section{符号表}\label{sec:math-tables} + +\pkgindex{latexsym} +有几个注意事项: +\begin{enumerate} + \item \textcolor{blue}{蓝色}的命令依赖 \pkg{amsmath} 宏包(非 \pkg{amssymb} 宏包); + \item 带有角标\lsym 的符号命令依赖 \pkg{latexsym} 宏包。 +\end{enumerate} + +\subsection{\LaTeX\ 普通符号} +\symindex{dag,ddag,P,S,copyright,pounds} + +\begin{table}[htp] +\caption{文本/数学模式通用符号}\label{tbl:general-syms} +\begin{quote}\footnotesize% +这些符号可用于文本和数学模式。 +\end{quote} +\begin{symbols}{*4{cl}} +\hline + \SC{\{} & \SC{\}} & \SC{\$} & \SC{\%} \\ + \SC{\dag} & \SC{\S} & \SC{\copyright} & \SC{\dots} \\ + \SC{\ddag} & \SC{\P} & \SC{\pounds} & \\ +\hline +\end{symbols} +\end{table} + +\begin{table}[htp] +\caption{希腊字母。} \label{tbl:math-greek} +\begin{quote}\footnotesize% +\cmd{Alpha},\cmd{Beta} 等希腊字母符号不存在,因为它们和拉丁字母 A,B 等一模一样; +小写字母里也不存在 \cmd{omicron},直接用 $o$ 代替。 +\end{quote} +\begin{symbols}{*4{cl}} +\hline + \SYM{\alpha} & \SYM{\theta} & \SYM{o} & \SYM{\upsilon} \\ + \SYM{\beta} & \SYM{\vartheta} & \SYM{\pi} & \SYM{\phi} \\ + \SYM{\gamma} & \SYM{\iota} & \SYM{\varpi} & \SYM{\varphi} \\ + \SYM{\delta} & \SYM{\kappa} & \SYM{\rho} & \SYM{\chi} \\ + \SYM{\epsilon} & \SYM{\lambda} & \SYM{\varrho} & \SYM{\psi} \\ + \SYM{\varepsilon}& \SYM{\mu} & \SYM{\sigma} & \SYM{\omega} \\ + \SYM{\zeta} & \SYM{\nu} & \SYM{\varsigma} & \\ + \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} & \\ + \AMSM{\varGamma} & \AMSM{\varLambda}& \AMSM{\varSigma} & \AMSM{\varPsi} \\ + \AMSM{\varDelta} & \AMSM{\varXi} & \AMSM{\varUpsilon}& \AMSM{\varOmega} \\ + \AMSM{\varTheta} & \AMSM{\varPi} & \AMSM{\varPhi} & \\ +\hline +\end{symbols} +\end{table} + +\begin{table}[htp] +\caption{二元关系符。} \label{tbl:math-rel} +\begin{quote}\footnotesize% +所有的二元关系符都可以加 \cmd{not} 前缀得到相反意义的关系符,例如 \cmd{not}\texttt{=} 就得到不等号(同 \cmd{ne})。 +\end{quote} +\begin{symbols}{*3{cl}} +\hline + \SYM{<} & \SYM{>} & \SYM{=} \\ + \SYM{\leq} or \cmd{le} & \SYM{\geq} or \cmd{ge} & \SYM{\equiv} \\ + \SYM{\ll} & \SYM{\gg} & \SYM{\doteq} \\ + \SYM{\prec} & \SYM{\succ} & \SYM{\sim} \\ + \SYM{\preceq} & \SYM{\succeq} & \SYM{\simeq} \\ + \SYM{\subset} & \SYM{\supset} & \SYM{\approx} \\ + \SYM{\subseteq} & \SYM{\supseteq} & \SYM{\cong} \\ + \LSYM{\sqsubset} & \LSYM{\sqsupset} & \LSYM{\Join} \\ + \SYM{\sqsubseteq} & \SYM{\sqsupseteq} & \SYM{\bowtie} \\ + \SYM{\in} & \SYM{\ni}, \cmd{owns} & \SYM{\propto} \\ + \SYM{\vdash} & \SYM{\dashv} & \SYM{\models} \\ + \SYM{\mid} & \SYM{\parallel} & \SYM{\perp} \\ + \SYM{\smile} & \SYM{\frown} & \SYM{\asymp} \\ + \SYM{:} & \SYM{\notin} & \SYM{\neq} or \cmd{ne} \\ +\hline +\end{symbols} +\end{table} + +\begin{table}[htp] +\caption{二元运算符。}\label{tbl:math-op} +\begin{symbols}{*3{cl}} +\hline + \SYM{+} & \SYM{-} & \\ + \SYM{\pm} & \SYM{\mp} & \SYM{\triangleleft} \\ + \SYM{\cdot} & \SYM{\div} & \SYM{\triangleright}\\ + \SYM{\times} & \SYM{\setminus} & \SYM{\star} \\ + \SYM{\cup} & \SYM{\cap} & \SYM{\ast} \\ + \SYM{\sqcup} & \SYM{\sqcap} & \SYM{\circ} \\ + \SYM{\vee}, \cmd{lor}& \SYM{\wedge},\cmd{land} & \SYM{\bullet} \\ + \SYM{\oplus} & \SYM{\ominus} & \SYM{\diamond} \\ + \SYM{\odot} & \SYM{\oslash} & \SYM{\uplus} \\ + \SYM{\otimes} & \SYM{\bigcirc} & \SYM{\amalg} \\ + \SYM{\bigtriangleup} &\SYM{\bigtriangledown}& \SYM{\dagger} \\ + \LSYM{\lhd} & \LSYM{\rhd} & \SYM{\ddagger} \\ + \LSYM{\unlhd} & \LSYM{\unrhd} & \SYM{\wr} \\ +\hline +\end{symbols} +\end{table} + +\begin{table}[htp] +\caption{巨算符。}\label{tbl:math-bigop} +\def\arraystretch{1.8} +\begin{symbols}{*3{ccl}} +\hline + \BIGSYM{\sum} & \BIGSYM{\bigcup} & \BIGSYM{\bigvee} \\ + \BIGSYM{\prod} & \BIGSYM{\bigcap} & \BIGSYM{\bigwedge} \\ + \BIGSYM{\coprod} & \BIGSYM{\bigsqcup} & \BIGSYM{\biguplus} \\ + \BIGSYM{\int} & \BIGSYM{\oint} & \BIGSYM{\bigodot} \\ + \BIGSYM{\bigoplus} & \BIGSYM{\bigotimes} & \\ + \AMSBIG{\iint} & \AMSBIG{\iiint} & \AMSBIG{\iiiint} \\ + \AMSBIG{\idotsint} & & \\ +\hline +\end{symbols} +\end{table} + +\begin{table}[htp] +\caption{数学重音符号。}\label{tbl:math-accents} +\begin{quote}\footnotesize% +最后一个 \cmd{wideparen} 依赖 \pkg{yhmath} 宏包。 +\end{quote} +\begin{symbols}{*3{cl}} +\hline +\ACC{\hat}{a} & \ACC{\check}{a} & \ACC{\tilde}{a} \\ +\ACC{\acute}{a} & \ACC{\grave}{a} & \ACC{\breve}{a} \\ +\ACC{\bar}{a} & \ACC{\vec}{a} & \ACC{\mathring}{a} \\ +\ACC{\dot}{a} & \ACC{\ddot}{a} & \AMSACC{\dddot}{a} \\ +\AMSACC{\ddddot}{a} \\[1ex] +\ACC{\widehat}{AAA} & \ACC{\widetilde}{AAA} & \ACC{\wideparen}{AAA} \\ +\hline +\end{symbols} +\end{table} + +\begin{table}[htp] +\caption{箭头。} \label{tbl:math-arrows} +\begin{symbols}{*2{cl}} +\hline + \SYM{\leftarrow} or \cmd{gets} & \SYM{\longleftarrow} \\ + \SYM{\rightarrow} or \cmd{to} & \SYM{\longrightarrow} \\ + \SYM{\leftrightarrow} & \SYM{\longleftrightarrow} \\ + \SYM{\Leftarrow} & \SYM{\Longleftarrow} \\ + \SYM{\Rightarrow} & \SYM{\Longrightarrow} \\ + \SYM{\Leftrightarrow} & \SYM{\Longleftrightarrow}\\ + \SYM{\mapsto} & \SYM{\longmapsto} \\ + \SYM{\hookleftarrow} & \SYM{\hookrightarrow} \\ + \SYM{\leftharpoonup} & \SYM{\rightharpoonup} \\ + \SYM{\leftharpoondown} & \SYM{\rightharpoondown} \\ + \SYM{\rightleftharpoons} & \SYM{\iff} \\ + \SYM{\uparrow} & \SYM{\downarrow} \\ + \SYM{\updownarrow} & \SYM{\Uparrow} \\ + \SYM{\Downarrow} & \SYM{\Updownarrow} \\ + \SYM{\nearrow} & \SYM{\searrow} \\ + \SYM{\swarrow} & \SYM{\nwarrow} \\ + \LSYM{\leadsto} & \\ +\hline +\end{symbols} +\end{table} + +\begin{table}[htp] +\caption{作为重音的箭头符号。} \label{tbl:math-arrow-accents} +\begin{symbols}{*2{cl}} +\hline +\ACC{\overrightarrow}{AB} & \AMSACC{\underrightarrow}{AB} \\ +\ACC{\overleftarrow}{AB} & \AMSACC{\underleftarrow}{AB} \\ +\AMSACC{\overleftrightarrow}{AB} & \AMSACC{\underleftrightarrow}{AB} \\ +\hline +\end{symbols} +\end{table} + +\begin{table}[htp] +\caption{定界符。}\label{tbl:math-delims} +\begin{symbols}{*3{cl}} +\hline + \SYM{(} & \SYM{)} & \SYM{\uparrow} \\ + \SYM{[} or \cmd{lbrack} & \SYM{]} or \cmd{rbrack} & \SYM{\downarrow} \\ + \SYM{\{} or \cmd{lbrace} & \SYM{\}} or \cmd{rbrace} & \SYM{\updownarrow} \\ + \SYM{\langle} & \SYM{\rangle} & \SYM{\Uparrow} \\ + \SYM{|} or \cmd{vert} & \SYM{\|} or \cmd{Vert} & \SYM{\Downarrow} \\ + \SYM{/} & \SYM{\backslash} & \SYM{\Updownarrow} \\ + \SYM{\lfloor} & \SYM{\rfloor} & \\ + \SYM{\rceil} & \SYM{\lceil} & & \\ +\hline +\end{symbols} +\end{table} + +\begin{table}[htp] +\caption{用于行间公式的大定界符。}\label{tbl:math-large-delims} +\def\arraystretch{1.8} +\begin{symbols}{*3{cl}} +\hline + \DEL{\lgroup} & \DEL{\rgroup} & \DEL{\lmoustache} \\ + \DEL{\arrowvert} & \DEL{\Arrowvert} & \DEL{\bracevert} \\ + \DEL{\rmoustache} \\ +\hline +\end{symbols} +\end{table} + +\begin{table}[htp] +\caption{其他符号。}\label{tbl:math-misc} +\begin{symbols}{*4{cl}} +\hline + \SYM{\dots} & \SYM{\cdots} & \SYM{\vdots} & \SYM{\ddots} \\ + \SYM{\hbar} & \SYM{\imath} & \SYM{\jmath} & \SYM{\ell} \\ + \SYM{\Re} & \SYM{\Im} & \SYM{\aleph} & \SYM{\wp} \\ + \SYM{\forall} & \SYM{\exists} & \LSYM{\mho} & \SYM{\partial} \\ + \SYM{'} & \SYM{\prime} & \SYM{\emptyset} & \SYM{\infty} \\ + \SYM{\nabla} & \SYM{\triangle} & \LSYM{\Box} & \LSYM{\Diamond} \\ + \SYM{\bot} & \SYM{\top} & \SYM{\angle} & \SYM{\surd} \\ + \SYM{\diamondsuit} & \SYM{\heartsuit} & \SYM{\clubsuit} & \SYM{\spadesuit} \\ + \SYM{\neg} or \cmd{lnot} & \SYM{\flat} & \SYM{\natural} & \SYM{\sharp} \\ +\hline +\end{symbols} +\end{table} + +\clearpage +\subsection{\AmS\ 符号} + +本小节所有符号依赖 \pkg{amssymb} 宏包。 + +\begin{table}[htp] +\caption{\AmS\ 希腊字母和希伯来字母。} \label{tbl:ams-greek-hebrew} +\begin{symbols}{*5{cl}} +\hline +\AMSSYM{\digamma} &\AMSSYM{\varkappa} & \AMSSYM{\beth} &\AMSSYM{\gimel} & \AMSSYM{\daleth}\\ +\hline +\end{symbols} +\end{table} + +\begin{table}[htp] +\caption{\AmS\ 二元关系符。} \label{tbl:ams-rel} +\begin{symbols}{*3{cl}} +\hline + \AMSSYM{\lessdot} & \AMSSYM{\gtrdot} & \AMSSYM{\doteqdot} \\ + \AMSSYM{\leqslant} & \AMSSYM{\geqslant} & \AMSSYM{\risingdotseq} \\ + \AMSSYM{\eqslantless} & \AMSSYM{\eqslantgtr} & \AMSSYM{\fallingdotseq} \\ + \AMSSYM{\leqq} & \AMSSYM{\geqq} & \AMSSYM{\eqcirc} \\ + \AMSSYM{\lll} or \cmd{llless}& \AMSSYM{\ggg} & \AMSSYM{\circeq} \\ + \AMSSYM{\lesssim} & \AMSSYM{\gtrsim} & \AMSSYM{\triangleq} \\ + \AMSSYM{\lessapprox} & \AMSSYM{\gtrapprox} & \AMSSYM{\bumpeq} \\ + \AMSSYM{\lessgtr} & \AMSSYM{\gtrless} & \AMSSYM{\Bumpeq} \\ + \AMSSYM{\lesseqgtr} & \AMSSYM{\gtreqless} & \AMSSYM{\thicksim} \\ + \AMSSYM{\lesseqqgtr} & \AMSSYM{\gtreqqless} & \AMSSYM{\thickapprox} \\ + \AMSSYM{\preccurlyeq} & \AMSSYM{\succcurlyeq} & \AMSSYM{\approxeq} \\ + \AMSSYM{\curlyeqprec} & \AMSSYM{\curlyeqsucc} & \AMSSYM{\backsim} \\ + \AMSSYM{\precsim} & \AMSSYM{\succsim} & \AMSSYM{\backsimeq} \\ + \AMSSYM{\precapprox} & \AMSSYM{\succapprox} & \AMSSYM{\vDash} \\ + \AMSSYM{\subseteqq} & \AMSSYM{\supseteqq} & \AMSSYM{\Vdash} \\ + \AMSSYM{\shortparallel} & \AMSSYM{\Supset} & \AMSSYM{\Vvdash} \\ + \AMSSYM{\blacktriangleleft} & \AMSSYM{\sqsupset} & \AMSSYM{\backepsilon} \\ + \AMSSYM{\vartriangleright} & \AMSSYM{\because} & \AMSSYM{\varpropto} \\ + \AMSSYM{\blacktriangleright}& \AMSSYM{\Subset} & \AMSSYM{\between} \\ + \AMSSYM{\trianglerighteq} & \AMSSYM{\smallfrown} & \AMSSYM{\pitchfork} \\ + \AMSSYM{\vartriangleleft} & \AMSSYM{\shortmid} & \AMSSYM{\smallsmile} \\ + \AMSSYM{\trianglelefteq} & \AMSSYM{\therefore} & \AMSSYM{\sqsubset} \\ +\hline +\end{symbols} +\end{table} + +\begin{table}[htp] +\caption{\AmS\ 二元运算符。} \label{tbl:ams-op} +\begin{symbols}{*3{cl}} +\hline + \AMSSYM{\dotplus} & \AMSSYM{\centerdot} & \\ + \AMSSYM{\ltimes} & \AMSSYM{\rtimes} & \AMSSYM{\divideontimes} \\ + \AMSSYM{\doublecup} & \AMSSYM{\doublecap} & \AMSSYM{\smallsetminus} \\ + \AMSSYM{\veebar} & \AMSSYM{\barwedge} & \AMSSYM{\doublebarwedge}\\ + \AMSSYM{\boxplus} & \AMSSYM{\boxminus} & \AMSSYM{\circleddash} \\ + \AMSSYM{\boxtimes} & \AMSSYM{\boxdot} & \AMSSYM{\circledcirc} \\ + \AMSSYM{\intercal} & \AMSSYM{\circledast} & \AMSSYM{\rightthreetimes} \\ + \AMSSYM{\curlyvee} & \AMSSYM{\curlywedge} & \AMSSYM{\leftthreetimes} \\ +\hline +\end{symbols} +\end{table} + +\begin{table}[htp] +\caption{\AmS\ 箭头。}\label{tbl:ams-arrows} +\begin{symbols}{*2{cl}} +\hline + \AMSSYM{\dashleftarrow} & \AMSSYM{\dashrightarrow} \\ + \AMSSYM{\leftleftarrows} & \AMSSYM{\rightrightarrows} \\ + \AMSSYM{\leftrightarrows} & \AMSSYM{\rightleftarrows} \\ + \AMSSYM{\Lleftarrow} & \AMSSYM{\Rrightarrow} \\ + \AMSSYM{\twoheadleftarrow} & \AMSSYM{\twoheadrightarrow} \\ + \AMSSYM{\leftarrowtail} & \AMSSYM{\rightarrowtail} \\ + \AMSSYM{\leftrightharpoons} & \AMSSYM{\rightleftharpoons} \\ + \AMSSYM{\Lsh} & \AMSSYM{\Rsh} \\ + \AMSSYM{\looparrowleft} & \AMSSYM{\looparrowright} \\ + \AMSSYM{\curvearrowleft} & \AMSSYM{\curvearrowright} \\ + \AMSSYM{\circlearrowleft} & \AMSSYM{\circlearrowright} \\ + \AMSSYM{\multimap} & \AMSSYM{\upuparrows} \\ + \AMSSYM{\downdownarrows} & \AMSSYM{\upharpoonleft} \\ + \AMSSYM{\upharpoonright} & \AMSSYM{\downharpoonright} \\ + \AMSSYM{\rightsquigarrow} & \AMSSYM{\leftrightsquigarrow}\\ +\hline +\end{symbols} +\end{table} + +\begin{table}[htp] +\caption{\AmS\ 反义二元关系符和箭头。}\label{tbl:ams-negative} +\begin{symbols}{*3{cl}} +\hline + \AMSSYM{\nless} & \AMSSYM{\ngtr} & \AMSSYM{\varsubsetneqq} \\ + \AMSSYM{\lneq} & \AMSSYM{\gneq} & \AMSSYM{\varsupsetneqq} \\ + \AMSSYM{\nleq} & \AMSSYM{\ngeq} & \AMSSYM{\nsubseteqq} \\ + \AMSSYM{\nleqslant} & \AMSSYM{\ngeqslant} & \AMSSYM{\nsupseteqq} \\ + \AMSSYM{\lneqq} & \AMSSYM{\gneqq} & \AMSSYM{\nmid} \\ + \AMSSYM{\lvertneqq} & \AMSSYM{\gvertneqq} & \AMSSYM{\nparallel} \\ + \AMSSYM{\nleqq} & \AMSSYM{\ngeqq} & \AMSSYM{\nshortmid} \\ + \AMSSYM{\lnsim} & \AMSSYM{\gnsim} & \AMSSYM{\nshortparallel} \\ + \AMSSYM{\lnapprox} & \AMSSYM{\gnapprox} & \AMSSYM{\nsim} \\ + \AMSSYM{\nprec} & \AMSSYM{\nsucc} & \AMSSYM{\ncong} \\ + \AMSSYM{\npreceq} & \AMSSYM{\nsucceq} & \AMSSYM{\nvdash} \\ + \AMSSYM{\precneqq} & \AMSSYM{\succneqq} & \AMSSYM{\nvDash} \\ + \AMSSYM{\precnsim} & \AMSSYM{\succnsim} & \AMSSYM{\nVdash} \\ + \AMSSYM{\precnapprox} & \AMSSYM{\succnapprox} & \AMSSYM{\nVDash} \\ + \AMSSYM{\subsetneq} & \AMSSYM{\supsetneq} & \AMSSYM{\ntriangleleft} \\ + \AMSSYM{\varsubsetneq} & \AMSSYM{\varsupsetneq} & \AMSSYM{\ntriangleright} \\ + \AMSSYM{\nsubseteq} & \AMSSYM{\nsupseteq} & \AMSSYM{\ntrianglelefteq}\\ + \AMSSYM{\subsetneqq} & \AMSSYM{\supsetneqq} &\AMSSYM{\ntrianglerighteq}\\[0.5ex] + \AMSSYM{\nleftarrow} & \AMSSYM{\nrightarrow} & \AMSSYM{\nleftrightarrow}\\ + \AMSSYM{\nLeftarrow} & \AMSSYM{\nRightarrow} & \AMSSYM{\nLeftrightarrow} \\ +\hline +\end{symbols} +\end{table} + +\begin{table}[htp] +\caption{\AmS\ 定界符}\label{tbl:ams-delims} +\begin{symbols}{*4{cl}} +\hline +\AMSSYM{\ulcorner}&\AMSSYM{\urcorner}&\AMSSYM{\llcorner}&\AMSSYM{\lrcorner}\\ +\AMSSYM{\lvert} &\AMSSYM{\rvert} &\AMSSYM{\lVert} &\AMSSYM{\rVert}\\ +\hline +\end{symbols} +\end{table} + +\begin{table}[htp] +\caption{\AmS\ 其它符号。}\label{tbl:ams-misc} +\begin{symbols}{*3{cl}} +\hline + \AMSSYM{\hbar} & \AMSSYM{\hslash} & \AMSSYM{\Bbbk} \\ + \AMSSYM{\square} & \AMSSYM{\blacksquare} & \AMSSYM{\circledS} \\ + \AMSSYM{\vartriangle} & \AMSSYM{\blacktriangle} & \AMSSYM{\complement} \\ + \AMSSYM{\triangledown} & \AMSSYM{\blacktriangledown}& \AMSSYM{\Game} \\ + \AMSSYM{\lozenge} & \AMSSYM{\blacklozenge} & \AMSSYM{\bigstar} \\ + \AMSSYM{\angle} & \AMSSYM{\measuredangle} & \\ + \AMSSYM{\diagup} & \AMSSYM{\diagdown} & \AMSSYM{\backprime} \\ + \AMSSYM{\nexists} & \AMSSYM{\Finv} & \AMSSYM{\varnothing} \\ + \AMSSYM{\eth} & \AMSSYM{\sphericalangle} & \AMSSYM{\mho} \\ +\hline +\end{symbols} +\end{table} + +\endinput \ No newline at end of file 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 new file mode 100644 index 00000000000..68223ab13c7 --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-chinese/src/chap/titlepage.tex @@ -0,0 +1,35 @@ +\pdfbookmark{标题页}{title} +\thispagestyle{empty} + +\vspace*{\stretch{1}} +\noindent\begin{minipage}{\textwidth} +\raggedleft +{\huge \bfseries 一份不太简短的~\LaTeXe{}~介绍} +\noindent\rule[-1ex]{\textwidth}{5pt}\\[2.5ex] +\hfill\emph{\Large 或~\pageref{lshort-minutes}~分钟了解~\LaTeXe} +\end{minipage} + +\vspace{\stretch{1}} +\noindent\rlap{% + \begin{minipage}{\textwidth} + \linespread{1.67}\selectfont\raggedleft + {\bfseries 原版作者:} Tobias Oetiker\\ + Hubert Partl, Irene Hyna and Elisabeth Schlegl \\ + {\bfseries 原版版本:} Version~5.05, July 18, 2015\\[4ex] + {\bfseries 中文翻译:} China\TeX\ 论坛\\ + {\bfseries 中文版本:} 版本~5.05,\zhdigits*{\the\year}年\zhnumber{\the\month}月 + \end{minipage}% +} + +\vspace{\stretch{2}} + +\newpage\thispagestyle{empty} +\begin{quote}\footnotesize + Copyright \copyright{} 2016 Louis Stuart. \\ + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.3 + or any later version published by the Free Software Foundation; + with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. + A copy of the license is included in the section entitled ``GNU + Free Documentation License''. +\end{quote} \ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/contrib.tex b/Master/texmf-dist/doc/latex/lshort-chinese/src/contrib.tex deleted file mode 100644 index 9bfbf8f5b35..00000000000 --- a/Master/texmf-dist/doc/latex/lshort-chinese/src/contrib.tex +++ /dev/null @@ -1,214 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Contents: Who contributed to this Document -% $Id: contrib.tex,v 1.2 2003/03/19 20:57:44 oetiker Exp $ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%中文~4.20~翻译:zpxing@bbs.ctex email: zpxing at gmail dot com -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%\chapter{Thank you!} -\chapter{致谢!} -%\noindent Much of the material used in this introduction comes from -%an Austrian introduction to \LaTeX\ 2.09 written in German by: -\noindent 在这份介绍中使用的许多材料来自一个奥地利人使用德语撰写 -的~\LaTeX\ 2.09 介绍: -\begin{verse} -\contrib{Hubert Partl}{partl@mail.boku.ac.at}% -{Zentraler Informatikdienst der Universit\"at f\"ur Bodenkultur Wien} -\contrib{Irene Hyna}{Irene.Hyna@bmwf.ac.at}% - {Bundesministerium f\"ur Wissenschaft und Forschung Wien} -\contrib{Elisabeth Schlegl}{no email}% - {in Graz} -\end{verse} - -%If you are interested in the German document, you can find a version -%updated for \LaTeXe{} by J\"org Knappen at\\ -%\CTAN|info/lshort/german| -如果你对德文文档有兴趣,有一个由 J\"org Knappen 针对 \LaTeXe{} 更新的版本,在 CTAN 的位置是: -\texttt{\CTAN|info/lshort/german|} - -%\newpage \noindent The -%following individuals helped with corrections, suggestions and -%material to improve this paper. They put in a big effort to help me -%get this document into its present shape. I would like to -%sincerely thank all of them. Naturally, all the mistakes you'll find -%in this book are mine. If you ever find a word that is spelled -%correctly, it must have been one of the people below dropping me a -%line. -\newpage -\noindent 下列人士为改进此文提供了校正、建议和素材。 -他们的不懈努力帮助我把这份文档实现为现在这样子。我对他们所有人 -表示诚挚的感谢。当然,你在本书中找到的所有错误都是我的失误。而 -你见到的每一个拼写正确的单词,都一定是由于下面列出的这些人之一通知了我。 - -{ \flushleft\small -Rosemary Bailey, %r.a.bailey@qmw.ac.uk 0.2 -Marc Bevand, % -Friedemann Brauer, %fbrauer@is.dal.ca 3.4 -Jan Busa, % -Markus Br\"uhwiler, % -Pietro Braione, % -David Carlisle, %GONE carlisle@cs.man.ac.uk 1.0 -Jos\'e Carlos Santos, % -Neil Carter, % N.Carter@Swansea.ac.uk -Mike Chapman, %chapman@eeh.ee.ethz.ch 3.16 -Pierre Chardaire, % -Chris McCormack, %GONE chrismc@eecs.umich.edu 0.1 -Wim van Dam, %GONE wimvdam@cs.kun.nl 2.2 -Jan Dittberner, %jan@jan-dittberner.de 3.15 -Michael John Downes, % 14 Oct 1999 -Matthias Dreier, %dreier@ostium.ch -David Dureisseix, %dureisse@lmt.ens-cachan.fr 1.1 -Elliot, %GONE enh-a@minster.york.ac.uk 1.1 -Hans Ehrbar, %ehrbar@econ.utah.edu -Daniel Flipo, %Daniel.Flipo@univ-lille1.fr -David Frey, %david@eos.lugs.ch 2.2 -Hans Fugal, %hans@fugal.net -Robin Fairbairns, %Robin.Fairbairns@cl.cam.ac.uk 0.2 1.0 -J\"org Fischer, %j.fischer@xpoint.at 3.16 -Erik Frisk, %frisk@isy.liu.se 3.4 -Mic Milic Frederickx, % -Frank, %frank@freezone.co.uk 11 Feb 2000 -Kasper B. Graversen, % -Arlo Griffiths, % -Alexandre Guimond, %guimond@IRO.UMontreal.CA 0.9 -Andy Goth, % -Cyril Goutte, %goutte@ei.dtu.dk 2.1 2.2 -Greg Gamble, %gregg@maths.uwa.edu.au 2.2 -Frank Fischli, % -Morten H{\o}gholm, % -Neil Hammond, %nfh@dmu.ac.uk 0.3 -Rasmus Borup Hansen, %GONE rbhfamos@math.ku.dk 0.2 0.9 0.91 0.92 1.9.9 -Joseph Hilferty, % -Bj\"orn Hvittfeldt, %bjorn@hvittfeldt.com 3.13 -Martien Hulsen, %M.A.Hulsen@WbMt.TUDelft.NL 1.0 1.1 -Werner Icking, % 3.1 -Jakob, %diness@get2net.dk -Eric Jacoboni, %GONE jacoboni@enseeiht.fr 0.1 0.9 -Alan Jeffrey, %alanje@cogs.sussex.ac.uk 0.2 -Byron Jones, %bj@dmu.ac.uk 1.1 -David Jones, %GONE djones@CA.McMaster.dcss.insight 1.1 -Johannes-Maria Kaltenbach, % 3.01 -Michael Koundouros, % -Andrzej Kawalec, %GONE akawalec@prz.rzeszow.pl 1.9.9 -Sander de Kievit, %Skievit@ucu.uu.nl -Alain Kessi, %ALAIN_KESSI@HOTMAIL.COM 2.2 -Christian Kern, %ck@unixen.hrz.uni-oldenburg.de 2.1 -Tobias Klauser, %tklauser@access.unizh.ch 4.17 -J\"org Knappen, %knappen@vkpmzd.kph.uni-mainz.de 0.1 -Kjetil Kjernsmo, % 3.2 -Maik Lehradt, %greek@uni-paderborn.de 0.1 -R\'emi Letot, % -Flori Lambrechts, % -Axel Liljencrantz, % -Johan Lundberg, %p99jlu@physto.se -Alexander Mai, %Alexander.Mai@physik.tu-darmstadt.de 3.8 -Hendrik Maryns, %hendrik.maryns@ugent.be -Martin Maechler, % 2.2 -Aleksandar S Milosevic, % -Henrik Mitsch, % -Claus Malten, %GONE 1.1 -Kevin Van Maren, % 24 Nov 1999 -Richard Nagy, % r.nagy@nameshield.net -Philipp Nagele, % Philipp.Nagele@t-systems.com -Lenimar Nunes de Andrade, % Fri, 12 Nov 1999 -Manuel Oetiker, % manuel@oetiker.ch -Urs Oswald, % osurs@bluewin.ch -Martin Pfister, % m@rtinpfister.ch -Demerson Andre Polli, % polli@linux.ime.usp.br -Nikos Pothitos, % -Maksym Polyakov % -Hubert Partl, %partl@mail.boku.ac.at 0.2 1.1 -John Refling, %refling@sierra.lbl.gov 0.1 0.9 -Mike Ressler, %ressler@cougar.jpl.nasa.gov 0.1 0.2 0.9 1.0 1.9.9 -Brian Ripley, %ripley@stats.ox.ac.uk 2.1 -Young U. Ryu, %ryoung@utdallas.edu 2.1 -Bernd Rosenlecher, %9rosenle@informatik.uni-hamburg.de 10 Feb 2000 -Chris Rowley, %C.A.Rowley@open.ac.uk 0.91 -Risto Saarelma, %risto.saarelma@cs.helsinki.fi -Hanspeter Schmid, %schmid@isi.ee.ethz.ch -Craig Schlenter, %cschle@lucy.ee.und.ac.za 0.1 0.2 0.9 -Gilles Schintgen, %gschintgen@internet.lu -Baron Schwartz, % -Christopher Sawtell, % 1 Sep 1999 -Miles Spielberg, %zeibach@hotmail.com -Geoffrey Swindale, % -Laszlo Szathmary, % -Boris Tobotras, % -Josef Tkadlec, %tkadlec@math.feld.cvut.cz 2.0 2.2 -Scott Veirs, %scottv@ocean.washington.edu -Didier Verna, %verna@inf.enst.fr 2.2 -Fabian Wernli, %wernli@iap.fr 3.2 -Carl-Gustav Werner, % 11 Oct 1999,3.16 -David Woodhouse, % 3.16 -Chris York, % 21 Nov 1999 -Fritz Zaucker, %zaucker@ee.ethz.ch 3.0 -Rick Zaccone, %zaccone@bucknell.edu 2.2 -and Mikhail Zotov. %zotov@eas.npi.msu.su 3.1 - -} - -\vspace*{\stretch{1}} - -\pagebreak - -\begin{center} -\Large 4.20 中文版致謝! -\end{center} - -中文 \TeX{} 學會啓動的 lshort-zh-cn 修正計劃已經完工! -本項計劃歷時八個月,參加的朋友有: - -\begin{center} -\begin{tabular}{ll} -\hline -\textbf{C\TeX 論壇 ID} & \textbf{執行章節} \\ -\hline -zpxing & 前言、第二章、第五章 1-2.4 {\&} 3、第六章 \\ -Frogge & 第一章 \\ -liwenjun & 第三章 \\ -lijian605 & 第四章 \\ -gprsnl & 第五章 2.5-2.11 \\ -\hline -\end{tabular} -\end{center} - -haginile 和 Frogge 通讀了全篇,并寫出了詳盡的勘誤表。 -blackold 對于第二章亦有所貢獻。最后由 zpxing 統籌全書。 - -\noindent\dotfill - -\begin{center} -\Large 原 3.20 中文版致謝! -\end{center} - -本文档的翻译工作由 C\TeX{} 版主“经典问题”倡议,历经近十个月才得以完成。 -期间参与翻译工作的朋友有: - -\begin{center} -\begin{tabular}{lll} -\hline -\textbf{C\TeX 论坛 ID} & \textbf{翻译章节} & \textbf{源文件名} \\ -\hline -经典问题 & 前言 & overview.tex \\ -高原之狼 & 第一章 & things.tex \\ -controlong & 第二章 & typeset.tex \\ -cxterm & 第三章 & math.tex, lssym.tex \\ -aloft & 第四章 & spec.tex \\ -ganzhi & 第五章 & custom.tex \\ -\hline -\end{tabular} -\end{center} - -\vspace{20pt} - -\begin{flushright} -\textbf{在此特向这些奉献者表示感谢!} -\end{flushright} - -\endinput -%%% Local Variables: -%%% mode: latex -%%% TeX-master: "lshort" -%%% End: diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/custom.tex b/Master/texmf-dist/doc/latex/lshort-chinese/src/custom.tex deleted file mode 100644 index 8fdf9832f6a..00000000000 --- a/Master/texmf-dist/doc/latex/lshort-chinese/src/custom.tex +++ /dev/null @@ -1,1168 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Contents: Customising LaTeX output -% $Id: custom.tex,v 1.2 2003/03/19 20:57:45 oetiker Exp $ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% 中文~4.20~翻译:zpxing@bbs.ctex email: zpxing at gmail dot com -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%\chapter{Customising \LaTeX} -\chapter{定制 \LaTeX} -\begin{intro} -%Documents produced with the commands you have learned up to this -%point will look acceptable to a large audience. While they are not -%fancy-looking, they obey all the established rules of good -%typesetting, which will make them easy to read and pleasant to look at. -到目前为止,运用你所学过的命令可以制作出能被绝大多数读者接受的文档。 -尽管这些文档看上去不够奇妙,但它们遵循了高质量排版的已有规则, -这些规则可以使得文档易读,同时看起来也非常舒适。 - -%However, there are situations where \LaTeX{} does not provide a -%command or environment that matches your needs, or the output -%produced by some existing command may not meet your requirements. -然而在一些情况下,\LaTeX{} 也许并没有提供适合你需要的命令或者环境, -或者现有的命令产生的输出和你想要的不同。 - -%In this chapter, I will try to give some hints on -%how to teach \LaTeX{} new tricks and how to make it produce output -%that looks different from what is provided by default. -本章中,我将尝试给出一些新的技巧,运用这些技巧可以教会 \LaTeX{} 玩 -一些新的把戏,也可以使得 \LaTeX{} 产生与众不同的输出。 -\end{intro} - - -%\section{New Commands, Environments and Packages} -\section{新建命令、环境和宏包} -%You may have noticed that all the commands I introduce in this -%book are typeset in a box, and that they show up in the index at the end -%of the book. Instead of directly using the necessary \LaTeX{} commands -%to achieve this, I have created a \wi{package} in which I defined new -%commands and environments for this purpose. Now I can simply write: -你也许已经注意到我在这本书中介绍的所有命令都被包含在一个矩形框里, -并且出现在本书最后的索引中。 我并没有直接使用所需的 \LaTeX{} 命令 -来实现这个,而是创建了一个宏包 (\wi{package}),并在其中定义了我 -所需要的命令和环境。 现在我可以简单的写: - -\begin{example} -\begin{lscommand} -\ci{dum} -\end{lscommand} -\end{example} - -%In this example, I am using both a new environment called\\ -%\ei{lscommand}, which is responsible for drawing the box around the -%command, and a new command named \ci{ci}, which typesets the command -%name and makes a corresponding entry in the index. You can check -%this out by looking up the \ci{dum} command in the index at the back -%of this book, where you'll find an entry for \ci{dum}, pointing to -%every page where I mentioned the \ci{dum} command. -在这个例子中,我使用了一个新的环境:\ei{lscommand}。这个环境负责在命令 -的周围画出一个矩形框。同时我还使用了一个命令:\ci{ci}, 这个命令负责输出 -命令的名字,并且在索引中添加相应的条目。你可以在本书最后的索引中查找命令 \ci{dum}, -然后你会发现有一个 \ci{dum} 的条目,这个条目中列出了包含有 \ci{dum} 命令 -的所有页的页码。 - -%If I ever decide that I do not like the commands to be typeset in -%a box any more, I can simply change the definition of the -%\texttt{lscommand} environment to create a new look. This is much -%easier than going through the whole document to hunt down all the -%places where I have used some generic \LaTeX{} commands to draw a -%box around some word. -一旦我不再喜欢在一个矩形框中排版命令,我可以轻松的 -改变 \texttt{lscommand} 环境的定义,来创建新的外观。跟追踪并修改所有 -使用原始的 \LaTeX{} 命令在文字周围画框的地方相比,这种做法容易得多。 - -%\subsection{New Commands} -\subsection{新建命令} - -%To add your own commands, use the -%\begin{lscommand} -%\ci{newcommand}\verb|{|% -% \emph{name}\verb|}[|\emph{num}\verb|]{|\emph{definition}\verb|}| -%\end{lscommand} -%\noindent command. -%Basically, the command requires two arguments: the \emph{name} of the -%command you want to create, and the \emph{definition} of the command. -%The \emph{num} argument in square brackets is optional and specifies the number -%of arguments the new command takes (up to 9 are possible). -%If missing it defaults to 0, i.e. no argument allowed. -为了建立你自己的命令,可以使用如下的命令: -\begin{lscommand} -\ci{newcommand}\verb|{|% - \emph{name}\verb|}[|\emph{num}\verb|]{|\emph{definition}\verb|}| -\end{lscommand} -基本上,这个命令有两个参量,第一个 \emph{name} 是你想要建立的命令 -的名称,第二个 \emph{definition} 是命令的定义。方括号里的参数 \emph{num} 是可选的, -用于指定新命令所需的参量数目(最多 9 个)。如果不给 -出这个参数,默认就是 0,也就是新建的命令不要任何参量。 - -%The following two examples should help you to get the idea. -%The first example defines a new command called \ci{tnss}. This is -%short for ``The Not So Short Introduction to \LaTeXe.'' Such a command -%could come in handy if you had to write the title of this book over -%and over again. -接下来的两个例子有助你的理解。第一个例子定义了一个新的命令:\ci{tnss}。 -这个命令是句子 ``The\ Not\ So\ Short\ Introduction\ to\ \LaTeXe'' 的简写。 -如果你需要在文档中多次使用本书的名称,那么定义这个命令将是非常方便的。 - -\begin{example} -\newcommand{\tnss}{The not - so Short Introduction to - \LaTeXe} -This is ``\tnss'' \ldots{} -``\tnss'' -\end{example} - -%The next example illustrates how to define a new -%command that takes one argument. -%The \verb|#1| tag gets replaced by the argument you specify. -%If you wanted to use more than one argument, use \verb|#2| and -%so on. -下一个例子演示了如何建立一个接受单一参数的命令。在命令的定义中,标记 \verb|#1| -将被你指定的参量所代替。如果你想使用多个参量,那么可以依次使用 \verb|#2|、……、 -\verb|#9| 等标记。 - -\begin{example} -\newcommand{\txsit}[1] - {This is the \emph{#1} Short - Introduction to \LaTeXe} -% in the document body: -\begin{itemize} -\item \txsit{not so} -\item \txsit{very} -\end{itemize} -\end{example} - -%\LaTeX{} will not allow you to create a new command that would -%overwrite an existing one. But there is a special command in case you -%explicitly want this: \ci{renewcommand}. -%It uses the same syntax as the \verb|\newcommand| -%command. -\LaTeX{} 不允许你新建一个与现有命令重名的命令。 如果你确实需要这么做,有一个专门 -的命令用于处理这种情况:\ci{renewcommand}。它使用与命令 \verb|\newcommand| -相同的语法。 - -%In certain cases you might also want to use the \ci{providecommand} -%command. It works like \ci{newcommand}, but if the command is -%already defined, \LaTeXe{} will silently ignore it. -在某些情况之下,你可能会希望使用 \ci{providecommand} 命令。它完成与 \ci{newcommand} -命令相同的工作。但如果命令已经存在,\LaTeXe{} 将会悄悄忽略原有的那个。 - -%There are some points to note about whitespace following \LaTeX{} commands. See -%page \pageref{whitespace} for more information. -处理 \LaTeX{} 命令后尾随的空格有一些要注意的事项,参看第 \pageref{whitespace} 页 -可以获得更多这方面的信息。 - -%\subsection{New Environments} -\subsection{新建环境} - -%Just as with the \verb|\newcommand| command, there is a command -%to create your own environments. The \ci{newenvironment} command uses the -%following syntax: -与 \verb|\newcommand| 命令类似,有一个命令用于建立新的环境。这个命令就是 - \ci{newenvironment},它的语法如下所示: - -\begin{lscommand} -\ci{newenvironment}\verb|{|% - \emph{name}\verb|}[|\emph{num}\verb|]{|% - \emph{before}\verb|}{|\emph{after}\verb|}| -\end{lscommand} - -%Again \ci{newenvironment} can have -%an optional argument. The material specified -%in the \emph{before} argument is processed before the text in the -%environment gets processed. The material in the \emph{after} argument gets -%processed when the \verb|\end{|\emph{name}\verb|}| command is encountered. -同样地,\ci{newenvironment} 命有一个可选的 -参量。在 \emph{before} 中的内容将在此环境包含的文本之前处理,而在 - \emph{after} 中的内容将在遇到 \verb|\end{|\emph{name}\verb|}| 命令时处理。 - -%The example below illustrates the usage of the \ci{newenvironment} -%command. -%\begin{example} -%\newenvironment{king} -% {\rule{1ex}{1ex}% -% \hspace{\stretch{1}}} -% {\hspace{\stretch{1}}% -% \rule{1ex}{1ex}} -% -%\begin{king} -%My humble subjects \ldots -%\end{king} -%\end{example} - -下面的例子演示了 \ci{newenvironment} 命令的用法: -\begin{example} -\newenvironment{king} -{\rule{1ex}{1ex}% - \hspace{\stretch{1}}} -{\hspace{\stretch{1}}% - \rule{1ex}{1ex}} - -\begin{king} -My humble subjects \ldots -\end{king} -\end{example} - -%The \emph{num} argument is used the same way as in the -%\verb|\newcommand| command. \LaTeX{} makes sure that you do not define -%an environment that already exists. If you ever want to change an -%existing command, you can use the \ci{renewenvironment} command. It -%uses the same syntax as the \ci{newenvironment} command. -参量 \emph{num} 的使用方式与 \verb|\newcommand| 命令相同。\LaTeX{} 还同样保证你 -不会不小心新建重名的环境。如果你确实希望改变一个现有的环境,你可以使用命令 - \ci{renewenvironment},它使用和命令 \ci{newenvironment} 相同的语法。 - -%The commands used in this example will be explained later. For the -%\ci{rule} command see page \pageref{sec:rule}, for \ci{stretch} go to -%page \pageref{cmd:stretch}, and more information on \ci{hspace} can be -%found on page \pageref{sec:hspace}. -在这个例子中用到一些命令将在随后解释:\ci{rule} 命令的解释可以参看第 \pageref{sec:rule} 页, -\ci{stretch} 命令的解释可以参看第 \pageref{cmd:stretch} 页,关于 \ci{hspace} 的 -信息可以在第 \pageref{sec:hspace} 页找到。 - -%\subsection{Extra Space} -\subsection{额外的空白间距} - -%When creating a new environment you may easily get bitten by extra spaces -%creaping in, which can potentially have fatal effects. For example when you -%want to create a title environemnt which supresses its own indentation as -%well as the one on the following paragraph. The \ci{ignorespaces} command in -%the begin block of the environment will make it ignore any space after -%executing the begin block. The end block is a bit more tricky as special -%processing occurs at the end of an environment. With the -%\ci{ignorespacesafterend} \LaTeX{} will issue an \ci{ignorespaces} after the -%special `end' processing has occured. -当创建新的环境时,你或许会为遇到额外的空白间距而烦扰,这些间距可能产生严重的后果。比如当你 -建立一个标题环境,既不要自身的缩进也不要紧接着的下一段缩进时,在 begin 中加入 -命令 \ci{ignorespaces} 会使新环境忽略执行 begin 之后遇到的一切空白间距,而 end -就需要耍个小花招,因为我们要等到环境结束后才开始处理。使用 \ci{ignorespacesafterend},\LaTeX{} 会 -在 end 处理完毕后,产生一个 \ci{ignorespaces}。 - -\begin{example} -\newenvironment{simple}% - {\noindent}% - {\par\noindent} - -\begin{simple} -See the space\\to the left. -\end{simple} -Same\\here. -\end{example} - -\begin{example} -\newenvironment{correct}% - {\noindent\ignorespaces}% - {\par\noindent% - \ignorespacesafterend} - -\begin{correct} -No space\\to the left. -\end{correct} -Same\\here. -\end{example} - -%\subsection{Commandline \LaTeX} -\subsection{命令行的 \LaTeX} -%If you work on a Unix like OS, you might be using Makefiles to build your -%\LaTeX{} projects. In that connection it might be interesting to produce -%different versions of the same document by calling \LaTeX{} with commandline -%parameters. If you add the following structure to your document: -如果使用类 Unix 的操作系统工作,你可能会在使用 Makefiles 建立你的 \LaTeX{} 项目。 -那样的话,用命令行参数操控 \LaTeX{} 来创建同一份文档的不同版本可是十分有趣的。如果 -把下列配置写入你的文档: -\begin{verbatim} -\usepackage{ifthen} -\ifthenelse{\equal{\blackandwhite}{true}}{ - % "black and white" mode; do something.. -}{ - % "color" mode; do something different.. -} -\end{verbatim} - -%Now you can call \LaTeX{} like this: -现在,你可以像这样来操作 \LaTeX{}: -\begin{verbatim} -latex '\newcommand{\blackandwhite}{true}\input{test.tex}' -\end{verbatim} - -%First the command \verb|\blackandwhite| gets defined and then the actual file is read with input. -%By setting \verb|\blackandwhite| to false the color version of the document would be produced. -首先,定义命令 \verb|\blackandwhite|,然后使用 input 来读入实际的文档。要创建彩色版本文档,需要 -设定 \verb|\blackandwhite| 为 false。 - -%\subsection{Your Own Package} -\subsection{自建宏包} - -%If you define a lot of new environments and commands, the preamble of -%your document will get quite long. In this situation, it is a good -%idea to create a \LaTeX{} package containing all your command and -%environment definitions. You can then use the \ci{usepackage} -%command to make the package available in your document. -如果你定义了很多新的环境和命令,你的文档的导言部分将变得相当长,在这种情况下, -建立一个新的 \LaTeX{} 宏包来存放所有你自己定义的命令和环境将是一个好的处理方式。 -然后你可以在文档中使用 \ci{usepackage} 命令来引入自定义宏包。 - -\begin{figure}[!htbp] -\begin{lined}{\textwidth} -\begin{verbatim} -% Demo Package by Tobias Oetiker -\ProvidesPackage{demopack} -\newcommand{\tnss}{The not so Short Introduction - to \LaTeXe} -\newcommand{\txsit}[1]{The \emph{#1} Short - Introduction to \LaTeXe} -\newenvironment{king}{\begin{quote}}{\end{quote}} -\end{verbatim} -\end{lined} -\caption{宏包样例。} \label{package} -\end{figure} - -%Writing a package basically consists of copying the contents of -%your document preamble into a separate file with a name ending in -%\texttt{.sty}. There is one special command, -写一个宏包的基本工作就是将你原本很长的文档导言内容拷贝到另外一个的文件中去, - 这个文件需要以 \texttt{.sty} 结尾。你还加入一个专用的命令: -\begin{lscommand} -\ci{ProvidesPackage}\verb|{|\emph{package name}\verb|}| -\end{lscommand} -%\noindent for use at the very beginning of your package -%file. \verb|\ProvidesPackage| tells \LaTeX{} the name of the package -%and will allow it to issue a sensible error message when you try to -%include a package twice. Figure \ref{package} shows a small example -%package that contains the commands defined in the examples above. -\noindent 这个命令应该放在你的宏包的最前面。\verb|\ProvidesPackage| 告诉 \LaTeX{} -宏包的名称从而让 \LaTeX{} 在你尝试两次引入同一个宏包的时候给出一个明显的 -错误信息,图 \ref{package} 给出了一个小的宏包示例,其中包含了我们之前定义的一些命令。 - -%\section{Fonts and Sizes} -\section{字体和字号} - -%\subsection{Font Changing Commands} -\subsection{字体变换命令} -%\index{font}\index{font size} \LaTeX{} chooses the appropriate font -%and font size based on the logical structure of the document -%(sections, footnotes, \ldots). In some cases, one might like to change -%fonts and sizes by hand. To do this, you can use the commands listed in -%Tables \ref{fonts} and \ref{sizes}. The actual size of each font -%is a design issue and depends on the document class and its options. -%Table \ref{tab:pointsizes} shows the absolute point size for these -%commands as implemented in the standard document classes. -\index{font}\index{font size} \LaTeX{} 根据文档的逻辑结构(章节、脚注……) -来选择合适的字体和字体大小。在某些情况下,你可能会想要手动改变文档使用的 -字体及其大小。为了完成这个目的,你可以使用表 \ref{fonts} 和表 \ref{sizes} 中 -列出的那些命令。每个字体的实际大小是一个设计问题,并且它依赖于文档所使用 -的文档类及其选项。表 \ref{tab:pointsizes} 列出了这些命令在标准文档类中的绝对 pt 大小。 - -\begin{example} -{\small The small and -\textbf{bold} Romans ruled} -{\Large all of great big -\textit{Italy}.} -\end{example} - -%One important feature of \LaTeXe{} is that the font attributes are -%independent. This means that you can issue size or even font -%changing commands, and still keep the bold or slant attribute set -%earlier. -\LaTeXe{} 的一个重要特征是字体的各种属性是相互独立的,这意味着你可以改变字体 -的大小而仍然保留字体原有的粗体或者斜体的特性。 - -%In \emph{math mode} you can use the font changing \emph{commands} to -%temporarily exit \emph{math mode} and enter some normal text. If you want to -%switch to another font for math typesetting you need another -%special set of commands; refer to Table \ref{mathfonts}. -在\textbf{数学模式}中你可以使用字体变换命令来暂时退出\textbf{数学模式},然后输入 -一些正常的文字。如果你希望改变数学公式本身所使用的字体,\LaTeX{} 提供了另外一套命令。 -参看表 \ref{mathfonts}。 - -\begin{table}[!bp] -\caption{字体。} \label{fonts} -\begin{lined}{12cm} -% -% Alan suggested not to tell about the other form of the command -% eg \verb|\sffamily| or \verb|\bfseries|. This seems a good thing to me. -% -\begin{tabular}{@{}rl@{\qquad}rl@{}} -\fni{textrm}\verb|{...}| & \textrm{\wi{roman}}& -\fni{textsf}\verb|{...}| & \textsf{\wi{sans serif}}\\ -\fni{texttt}\verb|{...}| & \texttt{typewriter}\\[6pt] -\fni{textmd}\verb|{...}| & \textmd{medium}& -\fni{textbf}\verb|{...}| & \textbf{\wi{bold face}}\\[6pt] -\fni{textup}\verb|{...}| & \textup{\wi{upright}}& -\fni{textit}\verb|{...}| & \textit{\wi{italic}}\\ -\fni{textsl}\verb|{...}| & \textsl{\wi{slanted}}& -\fni{textsc}\verb|{...}| & \textsc{\wi{Small Caps}}\\[6pt] -\ci{emph}\verb|{...}| & \emph{emphasized} & -\fni{textnormal}\verb|{...}| & \textnormal{document} font -\end{tabular} - -\bigskip -\end{lined} -\end{table} - - -\begin{table}[!bp] -\index{font size} \caption{字号。} \label{sizes} -\begin{lined}{12cm} -\begin{tabular}{@{}ll} -\fni{tiny} & \tiny tiny font \\ -\fni{scriptsize} & \scriptsize very small font\\ -\fni{footnotesize} & \footnotesize quite small font \\ -\fni{small} & \small small font \\ -\fni{normalsize} & \normalsize normal font \\ -\fni{large} & \large large font -\end{tabular}% -\qquad\begin{tabular}{ll@{}} -\fni{Large} & \Large larger font \\[5pt] -\fni{LARGE} & \LARGE very large font \\[5pt] -\fni{huge} & \huge huge \\[5pt] -\fni{Huge} & \Huge largest -\end{tabular} - -\bigskip -\end{lined} -\end{table} - -\begin{table}[!tbp] -\caption{标准文档类中的绝对 pt 大小。}\label{tab:pointsizes} -\label{tab:sizes} -\begin{lined}{12cm} -\begin{tabular}{lrrr} -\multicolumn{1}{c}{大小} & -\multicolumn{1}{c}{10pt (默认)} & - \multicolumn{1}{c}{11pt 选项} & - \multicolumn{1}{c}{12pt 选项}\\ -\verb|\tiny| & 5pt & 6pt & 6pt\\ -\verb|\scriptsize| & 7pt & 8pt & 8pt\\ -\verb|\footnotesize| & 8pt & 9pt & 10pt \\ -\verb|\small| & 9pt & 10pt & 11pt \\ -\verb|\normalsize| & 10pt & 11pt & 12pt \\ -\verb|\large| & 12pt & 12pt & 14pt \\ -\verb|\Large| & 14pt & 14pt & 17pt \\ -\verb|\LARGE| & 17pt & 17pt & 20pt\\ -\verb|\huge| & 20pt & 20pt & 25pt\\ -\verb|\Huge| & 25pt & 25pt & 25pt\\ -\end{tabular} - -\bigskip -\end{lined} -\end{table} - - -\begin{table}[!bp] -\caption{数学字体。} \label{mathfonts} -\begin{lined}{0.7\textwidth} -\begin{tabular}{@{}ll@{}} -\fni{mathrm}\verb|{...}|& $\mathrm{Roman\ Font}$\\ -\fni{mathbf}\verb|{...}|& $\mathbf{Boldface\ Font}$\\ -\fni{mathsf}\verb|{...}|& $\mathsf{Sans\ Serif\ Font}$\\ -\fni{mathtt}\verb|{...}|& $\mathtt{Typewriter\ Font}$\\ -\fni{mathit}\verb|{...}|& $\mathit{Italic\ Font}$\\ -\fni{mathcal}\verb|{...}|& $\mathcal{CALLIGRAPHIC\ FONT}$\\ -\fni{mathnormal}\verb|{...}|& $\mathnormal{Normal\ Font}$\\ -\end{tabular} - -%\begin{tabular}{@{}lll@{}} -%\textit{Command}&\textit{Example}& \textit{Output}\\[6pt] -%\fni{mathcal}\verb|{...}|& \verb|$\mathcal{B}=c$|& $\mathcal{B}=c$\\ -%\fni{mathscr}\verb|{...}|& \verb|$\mathscr{B}=c$|& $\mathscr{B}=c$\\ -%\fni{mathrm}\verb|{...}|& \verb|$\mathrm{K}_2$|& $\mathrm{K}_2$\\ -%\fni{mathbf}\verb|{...}|& \verb|$\sum x=\mathbf{v}$|& $\sum x=\mathbf{v}$\\ -%\fni{mathsf}\verb|{...}|& \verb|$\mathsf{G\times R}$|& $\mathsf{G\times R}$\\ -%\fni{mathtt}\verb|{...}|& \verb|$\mathtt{L}(b,c)$|& $\mathtt{L}(b,c)$\\ -%\fni{mathnormal}\verb|{...}|& \verb|$\mathnormal{R_{19}}\neq R_{19}$|& -%$\mathnormal{R_{19}}\neq R_{19}$\\ -%\fni{mathit}\verb|{...}|& \verb|$\mathit{ffi}\neq ffi$|& $\mathit{ffi}\neq ffi$ -%\end{tabular} - -\bigskip -\end{lined} -\end{table} - -%In connection with the font size commands, \wi{curly braces} play a -%significant role. They are used to build \emph{groups}. Groups -%limit the scope of most \LaTeX{} commands.\index{grouping} -使用字体命令的时候,大括号 (\wi{curly braces}) 扮演了一个重要角色。它们被用于 -建立所谓的\textbf{组} (group)。组限制了大多数 \LaTeX{} 命令的作用范围。\index{grouping} - -\begin{example} -He likes {\LARGE large and -{\small small} letters}. -\end{example} - -%The font size commands also change the line spacing, but only if the -%paragraph ends within the scope of the font size command. The closing curly -%brace \verb|}| should therefore not come too early. Note the position of -%the \ci{par} command in the next two examples. \footnote{\texttt{\bs{}par} -%is equivalent to a blank line} -如果段落在字体的作用范围中结束,那么字号命令还将改变段落中行距。因此 -用于分组的反向大括号 \verb|}| 不应该太早出现。注意下面两个例子中 -\ci{par} 命令的位置 -\footnote{\texttt{\bs{}par} 相当于一个空行}。 - -\begin{example} -{\Large Don't read this! - It is not true. - You can believe me!\par} -\end{example} - -\begin{example} -{\Large This is not true either. -But remember I am a liar.}\par -\end{example} - -%If you want to activate a size changing command for a whole paragraph -%of text or even more, you might want to use the environment syntax for -%font changing commands. -如果你希望改变整段甚至更多文本的字体,你可能应该使用字体变换命令的环境语法。 - -\begin{example} -\begin{Large} -This is not true. -But then again, what is these -days \ldots -\end{Large} -\end{example} - -%\noindent This will save you from counting lots of curly braces. -\noindent 这将使你从一堆大括号中解脱出来。 - -%\subsection{Danger, Will Robinson, Danger} -\subsection{战战兢兢,如履薄冰} - -%As noted at the beginning of this chapter, it is dangerous to clutter -%your document with explicit commands like this, because they work in -%opposition to the basic idea of \LaTeX{}, which is to separate the -%logical and visual markup of your document. This means that if you -%use the same font changing command in several places in order to -%typeset a special kind of information, you should use -%\verb|\newcommand| to define a ``logical wrapper command'' for the font -%changing command. -正如本章开头曾经说过的那样,在你的文档中直接运用这些命令来修改格式是非常 -危险的事情,因为这种做法和 \LaTeX{} 的基础理念相反。在编写 \LaTeX{} 文档 -的时候,要始终注意文章逻辑标记和样式标识的分离。也就是如果你在文 -章的多个地方采用某种特殊的格式来排版一类经常使用的内容, -就应该使用 \verb|\newcommand| 来定义一个逻辑封装命令,并通过这个命令来修改相应的表现格式。 - -\begin{example} -\newcommand{\oops}[1]{% - \textbf{#1}} -Do not \oops{enter} this room, -it's occupied by \oops{machines} -of unknown origin and purpose. -\end{example} - -%This approach has the advantage that you can decide at some later -%stage that you want to use some visual representation of danger other -%than \verb|\textbf|, without having to wade through your document, -%identifying all the occurrences of \verb|\textbf| and then figuring out -%for each one whether it was used for pointing out danger or for some other -%reason. -这种方法具有一个明显的优点,你可以在以后决定使用一些不是很有把握实现的特别外观并 -使之不同于 \verb|\textbf|, -那时你就不需要遍历你的整篇文章来找出所有 \verb|\textbf| 的地方, -然后一个一个地确定是不是要改成没有把握的外观。 - -%\subsection{Advice} -\subsection{建议} - -%To conclude this journey into the land of fonts and font sizes, -%here is a little word of advice:\nopagebreak -总结这一章中关于字体和字号的命令,下面是一个简短的建议:\nopagebreak -%\begin{quote} -% \underline{\textbf{Remember\Huge!}} \textit{The} -% \textsf{M\textbf{\LARGE O} \texttt{R}\textsl{E}} fonts \Huge you -% \tiny use \footnotesize \textbf{in} a \small \texttt{document}, -% \large \textit{the} \normalsize more \textsc{readable} and -% \textsl{\textsf{beautiful} it bec\large o\Large m\LARGE e\huge s}. -%\end{quote} -\begin{quote} - \underline{\textbf{Remember\Huge!}} \textit{The} - \textsf{M\textbf{\LARGE O} \texttt{R}\textsl{E}} fonts \Huge you - \tiny use \footnotesize \textbf{in} a \small \texttt{document}, - \large \textit{the} \normalsize more \textsc{readable} and - \textsl{\textsf{beautiful} it bec\large o\Large m\LARGE e\huge s}.\\ - 记住!你使用的字体越多,文章看起来就越易读越美观。 -\end{quote} - -%\section{Spacing} -\section{间距} - -%\subsection{Line Spacing} -\subsection{行距} -% -%\index{line spacing} If you want to use larger inter-line spacing in a -%document, you can change its value by putting the -\index{line spacing}如果你想在文档中使用更大的行距,你可以在导言中使用 -如下命令进行设定: -\begin{lscommand} -\ci{linespread}\verb|{|\emph{factor}\verb|}| -\end{lscommand} -%\noindent command into the preamble of your document. -%Use \verb|\linespread{1.3}| for ``one and a half'' line -%spacing, and \verb|\linespread{1.6}| for ``double'' line spacing. Normally -%the lines are not spread, so the default line spread factor -%is 1.\index{double line spacing} -如 \verb|\linespread{1.3}| 产生 $1.5$ 倍行距,而 \verb|\linespread{1.6}| -则产生双倍行距。缺省情况下的行距为 $1$。 \index{double line spacing} - -%Note that the effect of the \ci{linespread} command is rather drastic and -%not appropriate for published work. So if you have a good reason for -%changing the line spacing you might want to use the command: -注意 \ci{linespread} 的效果相当夸张而且不适合出版工作。因此如果你很想改变行距 -可能会希望使用如下的命令: -\begin{lscommand} -\verb|\setlength{\baselineskip}{1.5\baselineskip}| -\end{lscommand} - -\begin{example} -{\setlength{\baselineskip}% - {1.5\baselineskip} -This paragraph is typeset with -the baseline skip set to 1.5 of -what it was before. Note the par -command at the end of the -paragraph.\par} - -This paragraph has a clear -purpose, it shows that after the -curly brace has been closed, -everything is back to normal. -\end{example} - -%\subsection{Paragraph Formatting}\label{parsp} -\subsection{段落格式}\label{parsp} - -%In \LaTeX{}, there are two parameters influencing paragraph layout. -%By placing a definition like -在 \LaTeX{} 中,有两个参数可以影响段落的布局。在文档的导言部分,可以通过 -如下的定义来改变段落的布局。 -\begin{code} -\ci{setlength}\verb|{|\ci{parindent}\verb|}{0pt}| \\ -\verb|\setlength{|\ci{parskip}\verb|}{1ex plus 0.5ex minus 0.2ex}| -\end{code} -%in the preamble of the input file, you can change the layout of -%paragraphs. These two commands increase the space between two paragraphs -%while setting the paragraph indent to zero. -这两个命令增加了段落间距,并将首行缩进设置为 $0$。 - -%The \texttt{plus} and \texttt{minus} parts of the length above tell -%\TeX{} that it can compress and expand the inter paragraph skip by the -%amount specified, if this is necessary to properly fit the paragraphs -%onto the page. -例子中,长度设定中的 \texttt{plus} 和 \texttt{minus} 部分将使得 \TeX{} 按照指定大小 -压缩和伸展段落间距。为了使得段落正确的显示在页面之上,\TeX{} 将在 0.8ex -到 1.5ex 之间调整段落间距。 - -%In continental Europe, -%paragraphs are often separated by some space and not indented. But -%beware, this also has its effect on the table of contents. Its lines -%get spaced more loosely now as well. To avoid this, you might want to -%move the two commands from the preamble into your document to some -%place below the command \verb|\tableofcontents| or to not use them at all, -%because you'll find that most professional books use indenting and not -%spacing to separate paragraphs. -在欧洲大陆,段落通常用一些空白分隔并且一般首行不缩进。但是值得注意的是,这也会影响目录。 -目录的行距也会变得非常疏松。为了避免这种情况,你可能需要将上面的两个命令从导言中移到文档 -中 \verb|\tableofcontents| 以下适合的位置,或者根本不要使用这些,因为一般来说专业的书籍都是用缩进并且 -通常不用空白来分离段落。 -% -%If you want to indent a paragraph that is not indented, you can use -%\begin{lscommand} -%\ci{indent} -%\end{lscommand} -%\noindent at the beginning of the paragraph.\footnote{To indent the first paragraph after each section head, use -% the \pai{indentfirst} package in the `tools' bundle.} Obviously, -%this will only have an effect when \verb|\parindent| is not set to -%zero. -如果你想缩进一个本来没有缩进的段落\footnote{为了缩进章节标题之后的第一个 -段落,可以使用 \pai{indentfirst} 包。},可以在段落的开始使用命令: -\begin{lscommand} -\ci{indent} -\end{lscommand} -当然,这个命令只有在 \verb|\parindent| 不为零的情况下才有效果。 - -%To create a non-indented paragraph, you can use -%\begin{lscommand} -%\ci{noindent} -%\end{lscommand} -%\noindent as the first command of the paragraph. This might come in handy when -%you start a document with body text and not with a sectioning command. -为了创建一个不缩进的段落,你可以在段落的开始部分使用命令: -\begin{lscommand} -\ci{noindent} -\end{lscommand} -当文档以正文而不是章节命令开始的时候,这个命令会提供方便。 - -%\subsection{Horizontal Space} -\subsection{水平间距} -\label{sec:hspace} -\LaTeX{} 系统自动决定单词和句子之间的距离。为了增加水平距离, -使用命令:\index{horizontal!space} -\begin{lscommand} -\ci{hspace}\verb|{|\emph{length}\verb|}| -\end{lscommand} -%If such a space should be kept even if it falls at the end or the -%start of a line, use \verb|\hspace*| instead of \verb|\hspace|. The -%\emph{length} in the simplest case is just a number plus a unit. The -%most important units are listed in Table \ref{units}. -%\index{units}\index{dimensions} -如果这个水平间距即使在行首或者行末也应该保持的话,用命令 \verb|\hspace*| 代替 \verb|\hspace|。命令的 \emph{length} 参数在简单的情况下只是一个带有单位 -的数字。最重要的长度单位在表 \ref{units} 中列了出来。 -\index{units}\index{dimensions} - -\begin{example} -This\hspace{1.5cm}is a space -of 1.5 cm. -\end{example} -\suppressfloats -\begin{table}[tbp] -\caption{\TeX{} 单位。} \label{units}\index{units} -\begin{lined}{9.5cm} -\begin{tabular}{@{}ll@{}} -\texttt{mm} & millimetre $\approx 1/25$ inch \quad \demowidth{1mm} \\ -\texttt{cm} & centimetre = 10 mm \quad \demowidth{1cm} \\ -\texttt{in} & inch $=$ 25.4 mm \quad \demowidth{1in} \\ -\texttt{pt} & point $\approx 1/72$ inch $\approx \frac{1}{3}$ mm \quad\demowidth{1pt}\\ -\texttt{em} & approx width of an `M' in the current font \quad \demowidth{1em}\\ -\texttt{ex} & approx height of an `x' in the current font \quad \demowidth{1ex} -\end{tabular} - -\bigskip -\end{lined} -\end{table} - -%\label{cmd:stretch} -%The command -%\begin{lscommand} -%\ci{stretch}\verb|{|\emph{n}\verb|}| -%\end{lscommand} -%\noindent generates a special rubber space. It stretches until all the -%remaining space on a line is filled up. If two -%\verb|\hspace{\stretch{|\emph{n}\verb|}}| commands are issued on the -%same line, they grow according to the stretch factor. -\label{cmd:stretch} -下面的命令 -\begin{lscommand} -\ci{stretch}\verb|{|\emph{n}\verb|}| -\end{lscommand} -\noindent 将产生一个特殊的橡皮长度:一个能把行内剩余所有空隙填满的空白。 -如果两个 \verb|\hspace{\stretch{|\emph{n}\verb|}}| 命令位于同一行,那么它们将根据伸缩因子分配空间。 - -\begin{example} -x\hspace{\stretch{1}} -x\hspace{\stretch{3}}x -\end{example} - -%When using horizontal space together with text, it may make sense to make -%the space adjust its size relative to the size of the current font. -%This can be done by using the text-relative units \texttt{em} and -%\texttt{ex}: -当在正文中使用水平间距的时候,相对于字号来调整间距大小会更有道理。这可以通过使用 -与文本有关的单位 \texttt{em} 和 \texttt{ex} 来实现: -\begin{example} -{\Large{}big\hspace{1em}y}\\ -{\tiny{}tin\hspace{1em}y} -\end{example} - -%\subsection{Vertical Space} -\subsection{垂直间距} -%The space between paragraphs, sections, subsections, \ldots\ is -%determined automatically by \LaTeX. If necessary, additional vertical -%space \emph{between two paragraphs} can be added with the command: -在段落、节、小节…… 之间的距离是由 \LaTeX{} 系统自动决定的。如果必要的话,可以在两段之间 -增加额外的距离,使用的命令如下所示: -\begin{lscommand} -\ci{vspace}\verb|{|\emph{length}\verb|}| -\end{lscommand} - -%This command should normally be used between two empty lines. If the -%space should be preserved at the top or at the bottom of a page, use -%the starred version of the command, \verb|\vspace*|, instead of \verb|\vspace|. -%\index{vertical space} -这个命令通常用于两个空行之间。如果这个额外的行距应该在于页的顶部和末尾也保留下来,那么使用 -这个命令的星号版本 \verb|\vspace*| 来代替 \verb|\vspace|。 -\index{vertical space} - -%The \verb|\stretch| command, in connection with \verb|\pagebreak|, can -%be used to typeset text on the last line of a page, or to centre text -%vertically on a page. -命令 \verb|\stretch| 和 \verb|\pagebreak| 结合使用可以在页的最后一行输出文本,也可以 -用来保证文本在页面上垂直居中。 -\begin{code} -\begin{verbatim} -Some text \ldots - -\vspace{\stretch{1}} -This goes onto the last line of the page.\pagebreak -\end{verbatim} -\end{code} - -%Additional space between two lines of \emph{the same} paragraph or -%within a table is specified with the -\textbf{同一}段或\textbf{同一}个表格中两行之间的距离可以用如下命令来指定: -\begin{lscommand} -\ci{\bs}\verb|[|\emph{length}\verb|]| -\end{lscommand} -%\noindent command. - -%With \ci{bigskip} and \ci{smallskip} you can skip a predefined amount of -%vertical space without having to worry about exact numbers. -使用命令 \ci{bigskip} 和 \ci{smallskip} 你可以获得一个预定义的垂直间距。 - -%\section{Page Layout} -\section{页面布局} - -\begin{figure}[!hp] -\begin{center} -\makeatletter\@mylayout\makeatother -\end{center} -\vspace*{1.8cm} -\caption{页面布局参数。} -\label{fig:layout} -\cih{footskip} -\cih{headheight} -\cih{headsep} -\cih{marginparpush} -\cih{marginparsep} -\cih{marginparwidth} -\cih{oddsidemargin} -\cih{paperheight} -\cih{paperwidth} -\cih{textheight} -\cih{textwidth} -\cih{topmargin} -\end{figure} -%\index{page layout} -%\LaTeXe{} allows you to specify the \wi{paper size} in the -%\verb|\documentclass| command. It then automatically picks the right -%text \wi{margins}, but sometimes you may not be happy with -%the predefined values. Naturally, you can change them. -%%no idea why this is needed here ... -%\thispagestyle{fancyplain} -%Figure \ref{fig:layout} shows all the parameters that can be changed. -%The figure was produced with the \pai{layout} package from the tools bundle.% -%\footnote{\CTANref|macros/latex/required/tools|} -\index{page layout} -\LaTeXe{} 允许你在 \verb|\documentclass| 命令中指定纸张尺寸 (\wi{paper size})。 -然后它将自动的选择合适的页边距。但有些时候你可能不满意 \LaTeX{} 的预设值,这个 -时候你可以自己改变这些参数。 -%no idea why this is needed here ... -\thispagestyle{fancyplain} -图 \ref{fig:layout} 中显示了所有能改变的页面参数。这个图是用 \pai{layout} 宏包 -产生的\footnote{\CTANref|macros/latex/required/tools|}。 - -%\textbf{WAIT!} \ldots before you launch into a ``Let's make that -%narrow page a bit wider'' frenzy, take a few seconds to think. As with -%most things in \LaTeX, there is a good reason for the page layout to -%be as it is. -\textbf{先等等!} ……在你开始幻想“让这个狭窄的页面看起来宽一点”之前,先花一些时间 -想想。和 \LaTeX{} 中的大多数规定一样,缺省的页面布局是有其合理原因的。 - -%Sure, compared to your off-the-shelf MS Word page, it looks awfully -%narrow. But take a look at your favourite book\footnote{I mean a real -% printed book produced by a reputable publisher.} and count the number -%of characters on a standard text line. You will find that there are no -%more than about 66 characters on each line. Now do the same on your -%\LaTeX{} page. You will find that there are also about 66 characters -%per line. Experience shows that the reading gets difficult as soon as -%there are more characters on a single line. This is because it is -%difficult for the eyes to move from the end of one line to the start of the next one. -%This is also why newspapers are typeset in multiple columns. -确实,相对于你的 MS\ Word 页面来说,它看上去非常的狭窄。但是看看你喜欢的书籍 -\footnote{我说的是卓有声誉的出版商正式出版的书籍。}并且统计每个标准文本行的字符数目。 -你会发现每行的字符不超过 66 个。现在你的 \LaTeX{} 页面也正是如此。经验显示,如果在 -一行中塞入更多的字符,阅读将变得困难。这是因为眼睛从行的开始移动到行的结束变得困难了。 -这也是报纸为何要排版成多栏形式的原因。 - -%So if you increase the width of your body text, keep in mind that you -%are making life difficult for the readers of your paper. But enough -%of the cautioning, I promised to tell you how you do it \ldots -因此如果你决定增加版芯的宽度,头脑中要明白你正在使给你的读者制造困难。警告已经 -说的够多了,接下来我将告诉你如何去做…… - -%\LaTeX{} provides two commands to change these parameters. They are -%usually used in the document preamble. -\LaTeX{} 提供了两个命令来改变这些参数。他们通常在文章的导言部分使用。 - -%The first command assigns a fixed value to any of the parameters: -第一个命令给某些参数一个固定的值: -\begin{lscommand} -\ci{setlength}\verb|{|\emph{parameter}\verb|}{|\emph{length}\verb|}| -\end{lscommand} - - -%The second command adds a length to any of the parameters: -第二个命令给某些参数增加一个长度: -\begin{lscommand} -\ci{addtolength}\verb|{|\emph{parameter}\verb|}{|\emph{length}\verb|}| -\end{lscommand} - -%This second command is actually more useful than the \ci{setlength} -%command, because you can now work relative to the existing settings. -%To add one centimetre to the overall text width, I put the -%following commands into the document preamble: -第二个命令实际上比 \ci{setlength} 命令更为实用,因为你可以相对于现有的设置来获得 -所需的结果。为了给文本的宽度增加 1 厘米,我将如下的命令放置到文档导言: -\begin{code} -\verb|\addtolength{\hoffset}{-0.5cm}|\\ -\verb|\addtolength{\textwidth}{1cm}| -\end{code} - -%In this context, you might want to look at the \pai{calc} package. -%It allows you to use arithmetic operations in the argument of \ci{setlength} -%and other places where you can enter numeric values into function -%arguments. -这时候,你可能会想要看看 \pai{calc} 包,它允许你在 \ci{setlength} 的参量 -中进行算术运算。它也可以运用到任何用数值作为函数参量的地方。 - - -%\section{More Fun With Lengths} -\section{更有趣的长度} - -%Whenever possible, I avoid using absolute lengths in -%\LaTeX{} documents. I rather try to base things on the width or height -%of other page elements. For the width of a figure this could -%be \verb|\textwidth| in order to make it fill the page. -只要可能,就应该避免在 \LaTeX{} 文档中使用绝对长度。我更愿意通过页面 -中其他元素的宽度或高度来指定长度。比如一个图形,我指定 \verb|\textwidth| 作为 -它的宽度从而使得图形恰好充满整个页面。 - -%The following 3 commands allow you to determine the width, height and -%depth of a text string. -下面的三个命令允许你获得一个文本串的宽度、高度以及深度。 - -\begin{lscommand} -\ci{settoheight}\verb|{|\emph{variable}\verb|}{|\emph{text}\verb|}|\\ -\ci{settodepth}\verb|{|\emph{variable}\verb|}{|\emph{text}\verb|}|\\ -\ci{settowidth}\verb|{|\emph{variable}\verb|}{|\emph{text}\verb|}| -\end{lscommand} - -%\noindent The example below shows a possible application of these commands. -\noindent 下面的例子显示了如何应用这些命令: -\begin{example} -\flushleft -\newenvironment{vardesc}[1]{% - \settowidth{\parindent}{#1:\ } - \makebox[0pt][r]{#1:\ }}{} - -\begin{displaymath} -a^2+b^2=c^2 -\end{displaymath} - -\begin{vardesc}{Where}$a$, -$b$ -- are adjoin to the right -angle of a right-angled triangle. - -$c$ -- is the hypotenuse of -the triangle and feels lonely. - -$d$ -- finally does not show up -here at all. Isn't that puzzling? -\end{vardesc} -\end{example} - - -%\section{Boxes} -\section{盒子} -%\LaTeX{} builds up its pages by pushing around boxes. At first, each -%letter is a little box, which is then glued to other letters to form -%words. These are again glued to other words, but with special glue, -%which is elastic so that a series of words can be squeezed or -%stretched as to exactly fill a line on the page. -\LaTeX{} 使用盒子来建立页面。首先,每个字符都是一个小的盒子, -这些盒子粘结起来构成单词,单词粘结起来构成一行。值得注意的是,单词 -之间粘结的是一种特殊的“胶水” (glue),它是有弹性的,可以使 \LaTeX{} 压缩或者延伸使得单词将恰好构成页面的一行。 - -%I admit, this is a very simplistic version of what really happens, but -%the point is that \TeX{} operates on glue and boxes. Letters are not the only things that -%can be boxes. You can put virtually everything into a box, including -%other boxes. Each box will then be handled by \LaTeX{} as if it were a -%single letter. -我承认,这里的描述是实际情况一个极度简化了的版本,但关键在于 \TeX{} -对盒子和胶水进行操作。不是只有字母才能成为盒子,你几乎可以把 -任何东西包括其他盒子放到一个盒子中。 然后 \LaTeX{} 将会像处理 -单个字母一样处理这个盒子。 - -%In the past chapters you have already encountered some boxes, although -%I did not tell you. The \ei{tabular} environment and the -%\ci{includegraphics}, for example, both produce a box. This means that you can -%easily arrange two tables or images side by side. You just have to -%make sure that their combined width is not larger than the textwidth. -在过去的章节中,尽管我并没有明确的说出来,你已经遇到了一些盒子。例如 - \ei{tabular} 环境和 \ci{includegraphics} 命令就都产生了一个盒子。这就 -意味着你可以轻松的将两个表格或图像并列。你唯一需要保证的就是它们 -宽度的总和不大于文本宽度。 - -%You can also pack a paragraph of your choice into a box with either -%the -使用如下命令可以把一个段落放置到盒子中: -\begin{lscommand} -\ci{parbox}\verb|[|\emph{pos}\verb|]{|\emph{width}\verb|}{|\emph{text}\verb|}| -\end{lscommand} - -%\noindent command or the -\noindent 或者用下面这个环境完成同样的事情: - -\begin{lscommand} -\verb|\begin{|\ei{minipage}\verb|}[|\emph{pos}\verb|]{|\emph{width}\verb|}| text -\verb|\end{|\ei{minipage}\verb|}| -\end{lscommand} - -%\noindent environment. The \texttt{pos} parameter can take one of the letters -%\texttt{c, t} or \texttt{b} to control the vertical alignment of the box, -%relative to the baseline of the surrounding text. \texttt{width} takes -%a length argument specifying the width of the box. The main difference -%between a \ei{minipage} and a \ci{parbox} is that you cannot use all commands -%and environments inside a \ei{parbox}, while almost anything is possible in -%a \ei{minipage}. -参数 \texttt{pos} 可以取以下字符中的一个 \texttt{c}、\texttt{t} - 或 \texttt{b}, -这个参数用于控制盒子相对周围文本基线的垂直方向对齐。\texttt{width} 是一个长度参量用于 -调整盒子的宽度。\ei{minipage} 和 \ci{parbox} 的区别在于你可能无法在一个 \ei{parbox} 中使用所有的命令或者环境,而几乎任何东西都可以在 \ei{minipage} 中使用。 - -%While \ci{parbox} packs up a whole paragraph doing line breaking and -%everything, there is also a class of boxing commands that operates -%only on horizontally aligned material. We already know one of them; -%it's called \ci{mbox}. It simply packs up a series of boxes into -%another one, and can be used to prevent \LaTeX{} from breaking two -%words. As you can put boxes inside boxes, these horizontal box packers -%give you ultimate flexibility. -虽然\ci{parbox} 可以打包整个段落,完成分行在内的几乎所有事情, -\LaTeX{} 中还存在与此不同的另外一类盒子命令用于处理水平对齐的东西。我们已经知道其中的 -一个 \pozhehao \ci{mbox},它只是简单地将其它盒子包含在一个盒子里,从而防止 - \LaTeX{} 断开两个单词。因为盒子中可以包含盒子,它可以给予作者几乎无限的灵活性。 - -\begin{lscommand} -\ci{makebox}\verb|[|\emph{width}\verb|][|\emph{pos}\verb|]{|\emph{text}\verb|}| -\end{lscommand} - -%\noindent \texttt{width} defines the width of the resulting box as -%seen from the outside.\footnote{This means it can be smaller than the -%material inside the box. You can even set the -%width to 0pt so that the text inside the box will be typeset without -%influencing the surrounding boxes.} Besides the length -%expressions, you can also use \ci{width}, \ci{height}, \ci{depth}, and -%\ci{totalheight} in the width parameter. They are set from values -%obtained by measuring the typeset \emph{text}. The \emph{pos} parameter takes -%a one letter value: \textbf{c}enter, flush\textbf{l}eft, -%flush\textbf{r}ight, or \textbf{s}pread the text to fill the box. -\noindent \texttt{width} 定义了生成的盒子的外部宽度\footnote{这意味着在盒子 -内部看来,盒子的宽度可能会小一些,你甚至可以将盒子的宽度设置为 0\,pt,这样可以 -使得盒子中的内容不影响其外部的布局。}。 除了长度表达式,你也可以传递 - \ci{width}、 \ci{height}、 \ci{depth} 和 \ci{totalheight} 给 \texttt{width}。 -这几个值是测量盒子内部文本来获得的。参数 \emph{pos} 接受一个字符值: -\textbf{c} -- 居中、\textbf{l} -- 靠左、\textbf{r} -- 靠右和 \textbf{s} -- -将文本均匀分布到整个盒子中。 - -%The command \ci{framebox} works exactly the same as \ci{makebox}, but -%it draws a box around the text. -命令 \ci{framebox} 和 \ci{makebox} 完成同样的工作,不同之处在于它在内部文本 -的周围画出一个矩形框。 - -%The following example shows you some things you could do with -%the \ci{makebox} and \ci{framebox} commands. -下面的例子演示了你使用命令 \ci{makebox} 和 \ci{framebox} 能完成的一些工作: - -\begin{example} -\makebox[\textwidth]{% - c e n t r a l}\par -\makebox[\textwidth][s]{% - s p r e a d}\par -\framebox[1.1\width]{Guess I'm - framed now!} \par -\framebox[0.8\width][r]{Bummer, - I am too wide} \par -\framebox[1cm][l]{never - mind, so am I} -Can you read this? -\end{example} - -%Now that we control the horizontal, the obvious next step is to go for -% the vertical.\footnote{Total control is only to be obtained by -% controlling both the horizontal and the vertical \ldots} -% No problem for \LaTeX{}. The -现在我们已经知道怎么控制盒子的水平方向长度了,接下来的步骤是学习如何控制 -垂直方向\footnote{全面控制仅仅是水平方向控制和垂直方向控制的同时运用……}。 -对于 \LaTeX{} 来说,轻而易举。命令 - -\begin{lscommand} -\ci{raisebox}\verb|{|\emph{lift}\verb|}[|\emph{extend-above-baseline}\verb|][|\emph{extend-below-baseline}\verb|]{|\emph{text}\verb|}| -\end{lscommand} - -%\noindent command lets you define the vertical properties of a -%box. You can use \ci{width}, \ci{height}, \ci{depth}, and -% \ci{totalheight} in the first three parameters, in order to act -% upon the size of the box inside the \emph{text} argument. -\noindent 让你能够定义一个盒子在垂直方向的属性。在前面的三个参数中, -你可以使用 \ci{width}、\ci{height}、\ci{depth} -和 \ci{totalheight},这样可以使得盒子的参数能够与盒子内部的文本匹配。 - -\begin{example} -\raisebox{0pt}[0pt][0pt]{\Large% -\textbf{Aaaa\raisebox{-0.3ex}{a}% -\raisebox{-0.7ex}{aa}% -\raisebox{-1.2ex}{r}% -\raisebox{-2.2ex}{g}% -\raisebox{-4.5ex}{h}}} -he shouted but not even the next -one in line noticed that something -terrible had happened to him. -\end{example} - - -%\section{Rules and Struts} -\section{标尺和支撑} -\label{sec:rule} - -%A few pages back you may have noticed the command -很多页之前你可能注意到这样的命令: -\begin{lscommand} -\ci{rule}\verb|[|\emph{lift}\verb|]{|\emph{width}\verb|}{|\emph{height}\verb|}| -\end{lscommand} - -%\noindent In normal use it produces a simple black box. -\noindent 通常它被用来输出一个简单的黑色盒子。 - -\begin{example} -\rule{3mm}{.1pt}% -\rule[-1mm]{5mm}{1cm}% -\rule{3mm}{.1pt}% -\rule[1mm]{1cm}{5mm}% -\rule{3mm}{.1pt} -\end{example} - -%\noindent This is useful for drawing vertical and horizontal -%lines. The line on the title page, for example, has been created with a -%\ci{rule} command. -\noindent 这个命令可以用来产生水平方向和垂直方向的线条。例如标题页上的直线就是用一个 \ci{rule} 命令创建的。 - -%A special case is a rule with no width but a certain height. In -%professional typesetting, this is called a \wi{strut}. It is used to -%guarantee that an element on a page has a certain minimal height. You -%could use it in a \texttt{tabular} environment to make sure a row has -%a certain minimum height. -一种特殊的例子是没有宽度只有高度的标尺。在专业的出版中,这被称为支撑 (\wi{Struts})。 -它被用来保证页面的某个元素具有一个确定的高度最小值。你可以在 \texttt{tabular} 环境中使用支撑 -来使得某行具有一个特定的高度最小值。 - -\begin{example} -\begin{tabular}{|c|} -\hline -\rule{1pt}{4ex}Pitprop \ldots\\ -\hline -\rule{0pt}{4ex}Strut\\ -\hline -\end{tabular} -\end{example} - -\bigskip -%{\flushright The End.\par} -{\flushright 全篇结束。\par} -% - -% Local Variables: -% TeX-master: "lshort2e" -% mode: latex -% mode: flyspell -% End: diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/fancyhea.sty b/Master/texmf-dist/doc/latex/lshort-chinese/src/fancyhea.sty deleted file mode 100644 index 13cfb623ec6..00000000000 --- a/Master/texmf-dist/doc/latex/lshort-chinese/src/fancyhea.sty +++ /dev/null @@ -1,129 +0,0 @@ -% fancyheadings.sty version 1.7 -% Fancy headers and footers. -% Piet van Oostrum, Dept of Computer Science, University of Utrecht -% Padualaan 14, P.O. Box 80.089, 3508 TB Utrecht, The Netherlands -% Telephone: +31-30-531806. piet@cs.ruu.nl (mcvax!sun4nl!ruuinf!piet) -% Sep 16, 1994 -% version 1.4: Correction for use with \reversemargin -% Sep 29, 1994: -% version 1.5: Added the \iftopfloat, \ifbotfloat and \iffloatpage commands -% Oct 4, 1994: -% version 1.6: Reset single spacing in headers/footers for use with -% setspace.sty or doublespace.sty -% Oct 4, 1994: -% version 1.7: changed \let\@mkboth\markboth to -% \def\@mkboth{\protect\markboth} to make it more robust - -\def\lhead{\@ifnextchar[{\@xlhead}{\@ylhead}} -\def\@xlhead[#1]#2{\gdef\@elhead{#1}\gdef\@olhead{#2}} -\def\@ylhead#1{\gdef\@elhead{#1}\gdef\@olhead{#1}} - -\def\chead{\@ifnextchar[{\@xchead}{\@ychead}} -\def\@xchead[#1]#2{\gdef\@echead{#1}\gdef\@ochead{#2}} -\def\@ychead#1{\gdef\@echead{#1}\gdef\@ochead{#1}} - -\def\rhead{\@ifnextchar[{\@xrhead}{\@yrhead}} -\def\@xrhead[#1]#2{\gdef\@erhead{#1}\gdef\@orhead{#2}} -\def\@yrhead#1{\gdef\@erhead{#1}\gdef\@orhead{#1}} - -\def\lfoot{\@ifnextchar[{\@xlfoot}{\@ylfoot}} -\def\@xlfoot[#1]#2{\gdef\@elfoot{#1}\gdef\@olfoot{#2}} -\def\@ylfoot#1{\gdef\@elfoot{#1}\gdef\@olfoot{#1}} - -\def\cfoot{\@ifnextchar[{\@xcfoot}{\@ycfoot}} -\def\@xcfoot[#1]#2{\gdef\@ecfoot{#1}\gdef\@ocfoot{#2}} -\def\@ycfoot#1{\gdef\@ecfoot{#1}\gdef\@ocfoot{#1}} - -\def\rfoot{\@ifnextchar[{\@xrfoot}{\@yrfoot}} -\def\@xrfoot[#1]#2{\gdef\@erfoot{#1}\gdef\@orfoot{#2}} -\def\@yrfoot#1{\gdef\@erfoot{#1}\gdef\@orfoot{#1}} - -\newdimen\headrulewidth -\newdimen\footrulewidth -\newdimen\plainheadrulewidth -\newdimen\plainfootrulewidth -\newdimen\headwidth -\newif\if@fancyplain \@fancyplainfalse -\def\fancyplain#1#2{\if@fancyplain#1\else#2\fi} - -% Command to reset various things in the headers: -% a.o. single spacing (taken from setspace.sty) -% and the catcode of ^^M (so that epsf files in the header work if a -% verbatim crosses a page boundary) -\def\fancy@reset{\restorecr - \def\baselinestretch{1}% - \ifx\undefined\@newbaseline% NFSS not present; 2.09 or 2e - \ifx\@currsize\normalsize\@normalsize\else\@currsize\fi% - \else% NFSS (2.09) present - \@newbaseline% - \fi} - -% Initialization of the head and foot text. - -\headrulewidth 0.4pt -\footrulewidth\z@ -\plainheadrulewidth\z@ -\plainfootrulewidth\z@ - -\lhead[\fancyplain{}{\sl\rightmark}]{\fancyplain{}{\sl\leftmark}} -% i.e. empty on ``plain'' pages \rightmark on even, \leftmark on odd pages -\chead{} -\rhead[\fancyplain{}{\sl\leftmark}]{\fancyplain{}{\sl\rightmark}} -% i.e. empty on ``plain'' pages \leftmark on even, \rightmark on odd pages -\lfoot{} -\cfoot{\rm\thepage} % page number -\rfoot{} - -% Put together a header or footer given the left, center and -% right text, fillers at left and right and a rule. -% The \lap commands put the text into an hbox of zero size, -% so overlapping text does not generate an errormessage. - -\def\@fancyhead#1#2#3#4#5{#1\hbox to\headwidth{\fancy@reset\vbox{\hbox -{\rlap{\parbox[b]{\headwidth}{\raggedright#2\strut}}\hfill -\parbox[b]{\headwidth}{\centering#3\strut}\hfill -\llap{\parbox[b]{\headwidth}{\raggedleft#4\strut}}}\headrule}}#5} - - -\def\@fancyfoot#1#2#3#4#5{#1\hbox to\headwidth{\fancy@reset\vbox{\footrule -\hbox{\rlap{\parbox[t]{\headwidth}{\raggedright#2\strut}}\hfill -\parbox[t]{\headwidth}{\centering#3\strut}\hfill -\llap{\parbox[t]{\headwidth}{\raggedleft#4\strut}}}}}#5} - -\def\headrule{{\if@fancyplain\headrulewidth\plainheadrulewidth\fi -\hrule\@height\headrulewidth\@width\headwidth \vskip-\headrulewidth}} - -\def\footrule{{\if@fancyplain\footrulewidth\plainfootrulewidth\fi -\vskip-0.3\normalbaselineskip\vskip-\footrulewidth -\hrule\@width\headwidth\@height\footrulewidth\vskip0.3\normalbaselineskip}} - -\def\ps@fancy{ -\def\@mkboth{\protect\markboth} -\@ifundefined{chapter}{\def\sectionmark##1{\markboth -{\uppercase{\ifnum \c@secnumdepth>\z@ - \thesection\hskip 1em\relax \fi ##1}}{}} -\def\subsectionmark##1{\markright {\ifnum \c@secnumdepth >\@ne - \thesubsection\hskip 1em\relax \fi ##1}}} -{\def\chaptermark##1{\markboth {\uppercase{\ifnum \c@secnumdepth>\m@ne - \@chapapp\ \thechapter. \ \fi ##1}}{}} -\def\sectionmark##1{\markright{\uppercase{\ifnum \c@secnumdepth >\z@ - \thesection. \ \fi ##1}}}} -\ps@@fancy -\global\let\ps@fancy\ps@@fancy -\headwidth\textwidth} -\def\ps@fancyplain{\ps@fancy \let\ps@plain\ps@plain@fancy} -\def\ps@plain@fancy{\@fancyplaintrue\ps@@fancy} -\def\ps@@fancy{ -\def\@oddhead{\@fancyhead\@lodd\@olhead\@ochead\@orhead\@rodd} -\def\@oddfoot{\@fancyfoot\@lodd\@olfoot\@ocfoot\@orfoot\@rodd} -\def\@evenhead{\@fancyhead\@rodd\@elhead\@echead\@erhead\@lodd} -\def\@evenfoot{\@fancyfoot\@rodd\@elfoot\@ecfoot\@erfoot\@lodd} -} -\def\@lodd{\if@reversemargin\hss\else\relax\fi} -\def\@rodd{\if@reversemargin\relax\else\hss\fi} - -\let\latex@makecol\@makecol -\def\@makecol{\let\topfloat\@toplist\let\botfloat\@botlist\latex@makecol} -\def\iftopfloat#1#2{\ifx\topfloat\empty #2\else #1\fi} -\def\ifbotfloat#1#2{\ifx\botfloat\empty #2\else #1\fi} -\def\iffloatpage#1#2{\if@fcolmade #1\else #2\fi} diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/graphic.tex b/Master/texmf-dist/doc/latex/lshort-chinese/src/graphic.tex deleted file mode 100644 index 34fb16a97e8..00000000000 --- a/Master/texmf-dist/doc/latex/lshort-chinese/src/graphic.tex +++ /dev/null @@ -1,825 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% 中文~4.20~翻译: -% 5.2.5-5.2.11 gprsnl@bbs.ctex -% 其他章节 zpxing@bbs.ctex email: zpxing at gmail dot com -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\setcounter{chapter}{4} -\newcommand{\graphicscompanion}{\emph{The \LaTeX{} Graphics Companion}~\cite{graphicscompanion}} -\newcommand{\hobby}{\emph{A User's Manual for MetaPost}~\cite{metapost}} -\newcommand{\hoenig}{\emph{\TeX{} Unbound}~\cite{unbound}} -\newcommand{\graphicsinlatex}{\emph{Graphics in \LaTeXe{}}~\cite{ursoswald}} - -%\chapter{Producing Mathematical Graphics} -%\label{chap:graphics} -\chapter{数学图形} -\label{chap:graphics} - -%\begin{intro} -%Most people use \LaTeX\ for typesetting their text. But as the non content and -%structure oriented approach to authoring is so convenient, \LaTeX\ also offers a, -%if somewhat restricted, possibility for producing graphical output from textual -%descriptions. Furthermore, quite a number of \LaTeX\ extensions have been created -%in order to overcome these restrictions. In this section, you will learn about a -%few of them. -%\end{intro} -\begin{intro} -大部分人使用 \LaTeX 来排版文本内容。 因其不面向内容和结构的特点给写作提供了巨大的方便, -我们还可以有办法从文本描述生成图形输出。此外,大量的 \LaTeX 扩展 -被开发出来以克服种种限制。 在本节中,我们将学习其中的一些。 -\end{intro} -%\section{Overview} -\section{概述} - -%The \ei{picture} environment allows programming pictures directly in -%\LaTeX. A detailed -%description can be found in the \manual. On the one hand, there are rather -%severe constraints, as the slopes of line segments as well as the radii of -%circles are restricted to a narrow choice of values. On the other hand, the -%\ei{picture} environment of \LaTeXe\ brings with it the \ci{qbezier} -%command, ``\texttt{q}'' meaning ``quadratic''. Many frequently used curves -%such as circles, ellipses, or catenaries can be satisfactorily approximated -%by quadratic B\'ezier curves, although this may require some mathematical -%toil. If, in addition, a programming language like Java is used to generate -%\ci{qbezier} blocks of \LaTeX\ input files, the \ei{picture} environment -%becomes quite powerful. - -\ei{picture} 环境可以在 \LaTeX{} 里直接设计图形。详细的介绍请参考 \manual。 -一方面,这种方法有严重的局限性,比如线段的斜率和圆的半径只能在一个很小的范围内取值。 -另一方面, \LaTeXe 的 \ei{picture} 环境提供了 \ci{qbezier} 命令, -``\texttt{q}'' 表示 ``quadratic''。许多常用的曲线如圆、椭圆、或者悬链线都 -可以用二次 B\'ezier 曲线得到令人满意的近似,虽然这可能需要一些辛苦的数学准备。 -另外,如果有一种编程语言如 Java 能用来生成 \LaTeX 源文档的 \ci{qbezier} 模块, -\ei{picture} 环境会更强大。 - -%Although programming pictures directly in \LaTeX\ is severely -%restricted, and often rather tiresome, there are still reasons for -%doing so. The documents thus produced are ``small'' with respect to -%bytes, and there are no additional graphics files to be dragged -%along. -% -%Packages like \pai{epic} and \pai{eepic} (described, for instance, -%in \companion), or \pai{pstricks} help to eliminate the restrictions -%hampering the original \ei{picture} environment, and greatly -%strengthen the graphical power of \LaTeX. -% -%While the former two packages just enhance the \ei{picture} -%environment, the \pai{pstricks} package has its own drawing -%environment, \ei{pspicture}. The power of \pai{pstricks} stems from -%the fact that this package makes extensive use of \PSi{} -%possibilities. In addition, numerous packages have been written for -%specific purposes. One of them is \texorpdfstring{\Xy}{Xy}-pic, -%described at the end of this chapter. A wide variety of these -%packages is described in detail in \graphicscompanion{} (not to be -%confused with \companion). - -虽然直接在 \LaTeX 里设计图形的方法有严重的局限性而且通常比较繁琐, -但它还是很有用的。这份文档就是用它才变得体积很小,不需要插入额外的图片。 - -一些宏包,如 \pai{epic} 和 \pai{eepic}(\companion 里有介绍),或者 - \pai{pstricks} 可以排除 \ei{picture} 环境的局限,并大大地增强了 \LaTeX 的图形功能。 - -跟前两个宏包只是加强了 \ei{picture} 环境不同,\pai{pstricks} 宏包有自己的绘图环境, -\ei{pspicture}。 \pai{pstricks} 的强大之处在于它广泛应用了 \PSi{}。 -另外,许多宏包可以用来处理专门的问题。其一是 \texorpdfstring{\Xy}{Xy}-pic, -本章最后会讲到它。 -\graphicscompanion{} (勿与 \companion 混淆)里详细介绍了大量的宏包. -% -%Perhaps the most powerful graphical tool related with \LaTeX\ is \texttt{MetaPost}, the twin of -%Donald E. Knuth's \texttt{METAFONT}. \texttt{MetaPost} has the very powerful and -%mathematically sophisticated programming language of \texttt{METAFONT}. Contrary to \texttt{METAFONT}, -%which generates bitmaps, \texttt{MetaPost} generates encapsulated \PSi{} files, -%which can be imported in \LaTeX. For an introduction, see \hobby, or the tutorial on \cite{ursoswald}. - -\LaTeX 最强大的图形工具可能是 \texttt{MetaPost}, Donald E. -Knuth 编写的 \texttt{METAFONT} 的孪生兄弟。 -\texttt{MetaPost} 使用非常强大的数学编程语言: \texttt{METAFONT}。 -与 \texttt{METAFONT} 生成点阵图片不同,\texttt{MetaPost} 生成的是封装的 \PSi{} 文件, -可以导入 \LaTeX 中。其介绍可以看 \hobby,或者 \cite{ursoswald}。 - -% -%A very thorough discussion of \LaTeX{} and \TeX{} strategies for graphics (and fonts) can -%be found in \hoenig. - -关于 \LaTeX{} 和 \TeX{} 图形(以及字体)支持方法的详细讨论请参考 \hoenig。 - -%\section{The \texttt{picture} Environment} -%\secby{Urs Oswald}{osurs@bluewin.ch} -\section{\texttt{picture} 环境} -\secby{Urs Oswald}{osurs@bluewin.ch} - - -%\subsection{Basic Commands} -\subsection{基本命令} - -%A \ei{picture} environment\footnote{Believe it or not, the picture environment works out of the -%box, with standard \LaTeXe{} no package loading necessary.} is created with one of the two commands -一个 \ei{picture} 环境\footnote{信不信由你,picture 环境仅需标准的 \LaTeXe{},“开箱即用”,无需载入宏包。}可以用下面两个命令中的一个来创建 -\begin{lscommand} -\ci{begin}\verb|{picture}(|$x,y$\verb|)|\ldots\ci{end}\verb|{picture}| -\end{lscommand} -\noindent 或者 -\begin{lscommand} -\ci{begin}\verb|{picture}(|$x,y$\verb|)(|$x_0,y_0$\verb|)|\ldots\ci{end}\verb|{picture}| -\end{lscommand} -%The numbers $x,\,y,\,x_0,\,y_0$ refer to \ci{unitlength}, which can be reset any time -%(but not within a \ei{picture} environment) with a command such as -数字 $x,\,y,\,x_0,\,y_0$ 是相对于 \ci{unitlength} 而言的,任何时候(除了在 \ei{picture} 环境之内以外),都可以 -使用命令如 -\begin{lscommand} -\ci{setlength}\verb|{|\ci{unitlength}\verb|}{1.2cm}| -\end{lscommand} -%The default value of \ci{unitlength} is \texttt{1pt}. The first -%pair, $(x,y)$, effects the reservation, within the document, of -%rectangular space for the picture. The optional second pair, -%$(x_0,y_0)$, assigns arbitrary coordinates to the bottom left corner -%of the reserved rectangle. -\noindent -来改变。\ci{unitlength} 的默认值是 \texttt{1 pt}。第一个数对, -$(x,y)$, 在文档中为图形保留一个矩形的区域。可选的第二个数对, -$(x_0,y_0)$,为矩形左下角指派任意的坐标。 - -%Most drawing commands have one of the two forms -大多数的绘图命令是下面两种格式之一 -\begin{lscommand} -\ci{put}\verb|(|$x,y$\verb|){|\emph{object}\verb|}| -\end{lscommand} -\noindent 或者 -\begin{lscommand} -\ci{multiput}\verb|(|$x,y$\verb|)(|$\Delta x,\Delta -y$\verb|){|$n$\verb|}{|\emph{object}\verb|}|\end{lscommand} -%B\'ezier curves are an exception. They are drawn with the command -B\'ezier 曲线是一个例外。 它们需要用命令 -\begin{lscommand} -\ci{qbezier}\verb|(|$x_1,y_1$\verb|)(|$x_2,y_2$\verb|)(|$x_3,y_3$\verb|)| -\end{lscommand} -\noindent 来画。 -\newpage - -%\subsection{Line Segments} -\subsection{线段} -\begin{example} -\setlength{\unitlength}{5cm} -\begin{picture}(1,1) - \put(0,0){\line(0,1){1}} - \put(0,0){\line(1,0){1}} - \put(0,0){\line(1,1){1}} - \put(0,0){\line(1,2){.5}} - \put(0,0){\line(1,3){.3333}} - \put(0,0){\line(1,4){.25}} - \put(0,0){\line(1,5){.2}} - \put(0,0){\line(1,6){.1667}} - \put(0,0){\line(2,1){1}} - \put(0,0){\line(2,3){.6667}} - \put(0,0){\line(2,5){.4}} - \put(0,0){\line(3,1){1}} - \put(0,0){\line(3,2){1}} - \put(0,0){\line(3,4){.75}} - \put(0,0){\line(3,5){.6}} - \put(0,0){\line(4,1){1}} - \put(0,0){\line(4,3){1}} - \put(0,0){\line(4,5){.8}} - \put(0,0){\line(5,1){1}} - \put(0,0){\line(5,2){1}} - \put(0,0){\line(5,3){1}} - \put(0,0){\line(5,4){1}} - \put(0,0){\line(5,6){.8333}} - \put(0,0){\line(6,1){1}} - \put(0,0){\line(6,5){1}} -\end{picture} -\end{example} -%Line segments are drawn with the command -线段用命令 -\begin{lscommand} -\ci{put}\verb|(|$x,y$\verb|){|\ci{line}\verb|(|$x_1,y_1$\verb|){|$length$\verb|}}| -\end{lscommand} -%Line segments are drawn with the command -\noindent 来画。 命令 \ci{line} 有两个参量: -%\begin{enumerate} -% \item a direction vector, -% \item a length. -%\end{enumerate} -\begin{enumerate} - \item 一个方向向量, - \item 一个长度。 -\end{enumerate} -%The components of the direction vector are restricted to the integers -方向向量需由以下整数构成 -\[ - -6,\,-5,\,\ldots,\,5,\,6, -\] -%and they have to be coprime (no common divisor except 1). The figure illustrates all -%25 possible slope values in the first quadrant. The length is relative to \ci{unitlength}. -%The length argument is the vertical coordinate in the case of a vertical line segment, the -%horizontal coordinate in all other cases. -而且它们需要互质(除 1 以外,没有公约数),图形显示了第一象限中所有 25 个可能的斜率值。 -长度是相对于 \ci{unitlength} 来说的。长度的参量当一个垂直线段时是垂直坐标,其他情况都是水平坐标。 - -%\subsection{Arrows} -\subsection{箭头} - -\begin{example} -\setlength{\unitlength}{0.75mm} -\begin{picture}(60,40) - \put(30,20){\vector(1,0){30}} - \put(30,20){\vector(4,1){20}} - \put(30,20){\vector(3,1){25}} - \put(30,20){\vector(2,1){30}} - \put(30,20){\vector(1,2){10}} - \thicklines - \put(30,20){\vector(-4,1){30}} - \put(30,20){\vector(-1,4){5}} - \thinlines - \put(30,20){\vector(-1,-1){5}} - \put(30,20){\vector(-1,-4){5}} -\end{picture} -\end{example} -%Arrows are drawn with the command -画箭头要用命令 -\begin{lscommand} -\ci{put}\verb|(|$x,y$\verb|){|\ci{vector}\verb|(|$x_1,y_1$\verb|){|$length$\verb|}}| -\end{lscommand} -%For arrows, the components of the direction vector are even more narrowly restricted than -%for line segments, namely to the integers -箭头的方向向量元素比线段的限制更严格,需由以下整数构成 -\[ - -4,\,-3,\,\ldots,\,3,\,4. -\] -%Components also have to be coprime (no common divisor except 1). Notice the effect of the -%\ci{thicklines} command on the two arrows pointing to the upper left. -而且需要互质(除 1 以外,没有公约数)。注意命令 \ci{thicklines} 对指向左上方的两个箭头产生的效果。 - -%\subsection{Circles} -\subsection{圆} - -\begin{example} -\setlength{\unitlength}{1mm} -\begin{picture}(60, 40) - \put(20,30){\circle{1}} - \put(20,30){\circle{2}} - \put(20,30){\circle{4}} - \put(20,30){\circle{8}} - \put(20,30){\circle{16}} - \put(20,30){\circle{32}} - - \put(40,30){\circle{1}} - \put(40,30){\circle{2}} - \put(40,30){\circle{3}} - \put(40,30){\circle{4}} - \put(40,30){\circle{5}} - \put(40,30){\circle{6}} - \put(40,30){\circle{7}} - \put(40,30){\circle{8}} - \put(40,30){\circle{9}} - \put(40,30){\circle{10}} - \put(40,30){\circle{11}} - \put(40,30){\circle{12}} - \put(40,30){\circle{13}} - \put(40,30){\circle{14}} - - \put(15,10){\circle*{1}} - \put(20,10){\circle*{2}} - \put(25,10){\circle*{3}} - \put(30,10){\circle*{4}} - \put(35,10){\circle*{5}} -\end{picture} -\end{example} -%The command -命令 -\begin{lscommand} - \ci{put}\verb|(|$x,y$\verb|){|\ci{circle}\verb|{|\emph{diameter}\verb|}}| -\end{lscommand} -%\noindent draws a circle with center $(x,y)$ and diameter (not radius) \emph{diameter}. -%The \ei{picture} environment only admits diameters up to approximately 14\,mm, -%and even below this limit, not all diameters are possible. The \ci{circle*} -%command produces disks (filled circles). -\noindent -画了一个圆心在 $(x,y)$ 直径(不是半径)为 \emph{diameter} 的圆。 -\ei{picture} 环境只允许直径最大是 14\,mm, 而且即使在这个限制之下, -也不是所有的直径都可获得。命令 \ci{circle*} 生成圆盘 (填充的圆形)。 - - -%As in the case of line segments, one may have to resort to additional packages, -%such as \pai{eepic} or \pai{pstricks}. -%For a thorough description of these packages, see \graphicscompanion. - -跟线段的情况一样,你可能需要其他宏包的帮助,比如 \pai{eepic} 或者 \pai{pstricks}。 -这些宏包的详细说明请参考 \graphicscompanion。 - -%There is also a possibility within the -%\ei{picture} environment. If one is not afraid of doing the necessary calculations -%(or leaving them to a program), arbitrary circles and ellipses can be patched -%together from quadratic B\'ezier curves. -%See \graphicsinlatex\ for examples and Java source files. -\ei{picture} 环境还有另外一个可能。如果你不怕麻烦的必要的计算(或者交给一个程序来处理), -任意的圆和矩形都可以由二次 B\'ezier 曲线拼成。请看例子 \graphicsinlatex 以及 Java 源文件。 - - -% \subsection{Text and Formulas} -\subsection{文本与公式} - -\begin{example} -\setlength{\unitlength}{0.8cm} -\begin{picture}(6,5) - \thicklines - \put(1,0.5){\line(2,1){3}} - \put(4,2){\line(-2,1){2}} - \put(2,3){\line(-2,-5){1}} - \put(0.7,0.3){$A$} - \put(4.05,1.9){$B$} - \put(1.7,2.95){$C$} - \put(3.1,2.5){$a$} - \put(1.3,1.7){$b$} - \put(2.5,1.05){$c$} - \put(0.3,4){$F= - \sqrt{s(s-a)(s-b)(s-c)}$} - \put(3.5,0.4){$\displaystyle - s:=\frac{a+b+c}{2}$} -\end{picture} -\end{example} -% As this example shows, text and formulas can be written into a \ei{picture} environment with -% the \ci{put} command in the usual way. -如本例所示,文本与公式可以使用 \ci{put} 命令按照正常方式在 \ei{picture} 环境中使 -用。 - -% \subsection{\ci{multiput} and \ci{linethickness}} -\subsection{\ci{multiput}~与~\ci{linethickness}} - -\begin{example} -\setlength{\unitlength}{2mm} -\begin{picture}(30,20) - \linethickness{0.075mm} - \multiput(0,0)(1,0){26}% - {\line(0,1){20}} - \multiput(0,0)(0,1){21}% - {\line(1,0){25}} - \linethickness{0.15mm} - \multiput(0,0)(5,0){6}% - {\line(0,1){20}} - \multiput(0,0)(0,5){5}% - {\line(1,0){25}} - \linethickness{0.3mm} - \multiput(5,0)(10,0){2}% - {\line(0,1){20}} - \multiput(0,5)(0,10){2}% - {\line(1,0){25}} -\end{picture} -\end{example} -% The command -% \begin{lscommand} -% \ci{multiput}\verb|(|$x,y$\verb|)(|$\Delta x,\Delta y$\verb|){|$n$\verb|}{|\emph{object}\verb|}| -% \end{lscommand} -% \noindent has 4 arguments: the starting point, the translation vector from one object to the next, -% the number of objects, and the object to be drawn. The \ci{linethickness} command applies to -% horizontal and vertical line segments, but neither to oblique line segments, nor to circles. -% It does, however, apply to quadratic B\'ezier curves! -命令 -\begin{lscommand} - \ci{multiput}\verb|(|$x,y$\verb|)(|$\Delta x,\Delta y$\verb|){|$n$\verb|}{|\emph{object}\verb|}| -\end{lscommand} -\noindent -有 4 个参量:初始点,从一个对象到下一个的平移向量,对象的数目和要绘制 -的对象。命令 \ci{linethickness} 可作用于水平和垂直方向的线段,但不能作用于倾斜的 -线段和圆。然而,该命令可作用于二次 B\'ezier 曲线。 - -% \subsection{Ovals} -\subsection{椭圆} - -\begin{example} -\setlength{\unitlength}{0.75cm} -\begin{picture}(6,4) - \linethickness{0.075mm} - \multiput(0,0)(1,0){7}% - {\line(0,1){4}} - \multiput(0,0)(0,1){5}% - {\line(1,0){6}} - \thicklines - \put(2,3){\oval(3,1.8)} - \thinlines - \put(3,2){\oval(3,1.8)} - \thicklines - \put(2,1){\oval(3,1.8)[tl]} - \put(4,1){\oval(3,1.8)[b]} - \put(4,3){\oval(3,1.8)[r]} - \put(3,1.5){\oval(1.8,0.4)} -\end{picture} -\end{example} -% The command -% \begin{lscommand} -% \ci{put}\verb|(|$x,y$\verb|){|\ci{oval}\verb|(|$w,h$\verb|)}| -% \end{lscommand} -% \noindent or -% \begin{lscommand} -% \ci{put}\verb|(|$x,y$\verb|){|\ci{oval}\verb|(|$w,h$\verb|)[|\emph{position}\verb|]}| -% \end{lscommand} -% \noindent produces an oval centered at $(x,y)$ and having width $w$ and height $h$. The optional -% \emph{position} arguments \texttt{b}, \texttt{t}, \texttt{l}, \texttt{r} refer to -% ``top'', ``bottom'', ``left'', ``right'', and can be combined, as the example illustrates. -命令 -\begin{lscommand} - \ci{put}\verb|(|$x,y$\verb|){|\ci{oval}\verb|(|$w,h$\verb|)}| -\end{lscommand} -\noindent 或 -\begin{lscommand} - \ci{put}\verb|(|$x,y$\verb|){|\ci{oval}\verb|(|$w,h$\verb|)[|\emph{position}\verb|]}| -\end{lscommand} -\noindent -可以产生一个中心在 $(x,y)$ 处、宽为 $w$ 高为 $h$ 的椭圆。如本例所示,可选 -参量 \emph{position} 可以是 \texttt{b}, \texttt{t}, \texttt{l}, -\texttt{r}, 分别 -表示仅绘制椭圆的“下部”、“上部”、“左部”和“右部”,如例所示,这些参数可以进行组合。 - -% Line thickness can be controlled by two kinds of commands: \\ -% \ci{linethickness}\verb|{|\emph{length}\verb|}| -% on the one hand, \ci{thinlines} and \ci{thicklines} on the other. While \ci{linethickness}\verb|{|\emph{length}\verb|}| -% applies only to horizontal and vertical lines (and quadratic B\'ezier curves), \ci{thinlines} and \ci{thicklines} -% apply to oblique line segments as well as to circles and ovals. -以下两类命令可以控制线宽:一类 -为 \ci{linethickness}\verb|{|\emph{length}\verb|}|,另一类 -为 \ci{thinlines} 与 \ci{thicklines}。命 -令 \ci{linethickness}\verb|{|\emph{length}\verb|}| 仅对水平和垂直直线(及二次 B\'ezier 曲线)有作用, -\ci{thinlines} 与 \ci{thicklines} 则可以作用于倾斜的线段、圆和椭圆。 - - -% \subsection{Multiple Use of Predefined Picture Boxes} -\subsection{重复使用预定义的图形盒子} - -\begin{example} -\setlength{\unitlength}{0.5mm} -\begin{picture}(120,168) -\newsavebox{\foldera} -\savebox{\foldera} - (40,32)[bl]{% definition - \multiput(0,0)(0,28){2} - {\line(1,0){40}} - \multiput(0,0)(40,0){2} - {\line(0,1){28}} - \put(1,28){\oval(2,2)[tl]} - \put(1,29){\line(1,0){5}} - \put(9,29){\oval(6,6)[tl]} - \put(9,32){\line(1,0){8}} - \put(17,29){\oval(6,6)[tr]} - \put(20,29){\line(1,0){19}} - \put(39,28){\oval(2,2)[tr]} -} -\newsavebox{\folderb} -\savebox{\folderb} - (40,32)[l]{% definition - \put(0,14){\line(1,0){8}} - \put(8,0){\usebox{\foldera}} -} -\put(34,26){\line(0,1){102}} -\put(14,128){\usebox{\foldera}} -\multiput(34,86)(0,-37){3} - {\usebox{\folderb}} -\end{picture} -\end{example} -% A picture box can be \emph{declared} by the command -% \begin{lscommand} -% \ci{newsavebox}\verb|{|\emph{name}\verb|}| -% \end{lscommand} -% \noindent then \emph{defined} by -% \begin{lscommand} -% \ci{savebox}\verb|{|\emph{name}\verb|}(|\emph{width,height}\verb|)[|\emph{position}\verb|]{|\emph{content}\verb|}| -% \end{lscommand} -% \noindent and finally arbitrarily often be \emph{drawn} by -% \begin{lscommand} -% \ci{put}\verb|(|$x,y$\verb|)|\ci{usebox}\verb|{|\emph{name}\verb|}| -% \end{lscommand} -一个图形盒子可以使用命令 -\begin{lscommand} - \ci{newsavebox}\verb|{|\emph{name}\verb|}| -\end{lscommand} -\noindent 进行\textbf{声明},然后使用命令 -\begin{lscommand} - \ci{savebox}\verb|{|\emph{name}\verb|}(|\emph{width,height}\verb|)[|\emph{position}\verb|]{|\emph{content}\verb|}| -\end{lscommand} -\noindent 进行\textbf{定义},最后使用命令 -\begin{lscommand} - \ci{put}\verb|(|$x,y$\verb|)|\ci{usebox}\verb|{|\emph{name}\verb|}| -\end{lscommand} -\noindent 进行任意次数的重复\textbf{绘制}。 - -% The optional \emph{position} parameter has the effect of defining the -% `anchor point' of the savebox. In the example it is set to \texttt{bl} which -% puts the anchor point into the bottom left corner of the savebox. The other -% position specifiers are \texttt{t}op and \texttt{r}ight. -可选参数 \emph{position} 的作用是定义图形存放盒子的“锚点”。在本例中该参数被设置 -为 \texttt{bl},从而将锚点设置为图形存放盒子的左下角。其他的位置描述 -有 \texttt{t} 和 \texttt{r},分别表示“上”和“右”。 - -% The \emph{name} argument refers to a \LaTeX{} storage bin and therefore is -% of a command nature (which accounts for the backslashes in the current -% example). Boxed pictures can be nested: In this example, \ci{foldera} is -% used within the definition of \ci{folderb}. -参量 \emph{name} 指明了 \LaTeX{} 存储槽,揭示了其命令本质(在本例中指反斜线)。图 -形盒子可以嵌套:在本例中,\ci{foldera} 被用在了 \ci{folderb} 的定义中。 - -% The \ci{oval} command had to be used as the \ci{line} command does not work if -% the segment length is less than about 3\,mm. -由于命令 \ci{line} 在线段长度小于大约 3\,mm 的时候不能正常工作,所以必须使用命令 \ci{oval}。 - -% \subsection{Quadratic B\'ezier Curves} -\subsection{二次~B\'ezier~曲线} - -\begin{example} -\setlength{\unitlength}{0.8cm} -\begin{picture}(6,4) - \linethickness{0.075mm} - \multiput(0,0)(1,0){7} - {\line(0,1){4}} - \multiput(0,0)(0,1){5} - {\line(1,0){6}} - \thicklines - \put(0.5,0.5){\line(1,5){0.5}} - \put(1,3){\line(4,1){2}} - \qbezier(0.5,0.5)(1,3)(3,3.5) - \thinlines - \put(2.5,2){\line(2,-1){3}} - \put(5.5,0.5){\line(-1,5){0.5}} - \linethickness{1mm} - \qbezier(2.5,2)(5.5,0.5)(5,3) - \thinlines - \qbezier(4,2)(4,3)(3,3) - \qbezier(3,3)(2,3)(2,2) - \qbezier(2,2)(2,1)(3,1) - \qbezier(3,1)(4,1)(4,2) -\end{picture} -\end{example} -% As this example illustrates, splitting up a circle into 4 quadratic B\'ezier curves -% is not satisfactory. At least 8 are needed. The figure again shows the effect of -% the \ci{linethickness} command on horizontal or vertical lines, and of the -% \ci{thinlines} and the \ci{thicklines} commands on oblique line segments. It also -% shows that both kinds of commands affect quadratic B\'ezier curves, each command -% overriding all previous ones. -如本例所示,将圆分割为 4 条二次 B\'ezier 曲线的效果不能令人满意,至少需要 8 条。该图 -再一次展示了命令 \ci{linethickness} 对水平或垂直直线以及命 -令 \ci{thinlines} 和 \ci{thicklines} 对倾斜线段的影响。该例同时显示:这两类命令都 -会影响二次 B\'ezier 曲线,每一条命令都会覆盖以前所有命令。 - -% Let $P_1=(x_1,\,y_1),\,P_2=(x_2,\,y_2)$ denote the end points, and $m_1,\,m_2$ the -% respective slopes, of a quadratic B\'ezier curve. The intermediate control point -% $S=(x,\,y)$ is then given by the equations -令 $P_1=(x_1,\,y_1),\,P_2=(x_2,\,y_2)$ 和 $m_1,\,m_2$ 分别表示一条二次 B\'ezier 曲线 -的两个端点及其对应斜率。中间控制点 $S=(x,\,y)$ 则由下述方程给出 -\begin{equation} \label{zwischenpunkt} - \left\{ - \begin{array}{rcl} - x & = & \displaystyle \frac{m_2 x_2-m_1x_1-(y_2-y_1)}{m_2-m_1}, \\ - y & = & y_i+m_i(x-x_i)\qquad (i=1,\,2). - \end{array} - \right. -\end{equation} -% \noindent See \graphicsinlatex\ for a Java program which generates -% the necessary \ci{qbezier} command line. -\noindent -关于生成必要的 \ci{qbezier} 命令的 Java 程序参见 \graphicsinlatex。 - -% \subsection{Catenary} -\subsection{悬链线} - -\begin{example} -\setlength{\unitlength}{1cm} -\begin{picture}(4.3,3.6)(-2.5,-0.25) -\put(-2,0){\vector(1,0){4.4}} -\put(2.45,-.05){$x$} -\put(0,0){\vector(0,1){3.2}} -\put(0,3.35){\makebox(0,0){$y$}} -\qbezier(0.0,0.0)(1.2384,0.0) - (2.0,2.7622) -\qbezier(0.0,0.0)(-1.2384,0.0) - (-2.0,2.7622) -\linethickness{.075mm} -\multiput(-2,0)(1,0){5} - {\line(0,1){3}} -\multiput(-2,0)(0,1){4} - {\line(1,0){4}} -\linethickness{.2mm} -\put( .3,.12763){\line(1,0){.4}} -\put(.5,-.07237){\line(0,1){.4}} -\put(-.7,.12763){\line(1,0){.4}} -\put(-.5,-.07237){\line(0,1){.4}} -\put(.8,.54308){\line(1,0){.4}} -\put(1,.34308){\line(0,1){.4}} -\put(-1.2,.54308){\line(1,0){.4}} -\put(-1,.34308){\line(0,1){.4}} -\put(1.3,1.35241){\line(1,0){.4}} -\put(1.5,1.15241){\line(0,1){.4}} -\put(-1.7,1.35241){\line(1,0){.4}} -\put(-1.5,1.15241){\line(0,1){.4}} -\put(-2.5,-0.25){\circle*{0.2}} -\end{picture} -\end{example} - -% In this figure, each symmetric half of the catenary $y=\cosh x -1$ is approximated by a quadratic -% B\'ezier curve. The right half of the curve ends in the point \((2,\,2.7622)\), the slope there having the value -% \(m=3.6269\). Using again equation (\ref{zwischenpunkt}), we can -% calculate the intermediate control points. They turn out to be $(1.2384,\,0)$ and $(-1.2384,\,0)$. -% The crosses indicate points of the \emph{real} catenary. The error is barely noticeable, being less -% than one percent. -在本图中,悬链线 $y=\cosh x --1$ 对称的两半由二次 B\'ezier 曲线分别近似地绘成。曲线的右 -半部分终止于点 \((2,\,2.7622)\),对应的斜率为 \(m=3.6269\)。再次使用公 -式 (\ref{zwischenpunkt}),我们可以计算中间控制点。计算结果 -为 $(1.2384,\,0)$ 和 $(-1.2384,\,0)$。图中的十字为{\textbf -真正}的悬链线上的点。误差 小于百分之一,很难被发现。 - -% This example points out the use of the optional argument of the \\ -% \verb|\begin{picture}| command. -% The picture is defined in convenient ``mathematical'' coordinates, whereas by the command -% \begin{lscommand} -% \ci{begin}\verb|{picture}(4.3,3.6)(-2.5,-0.25)| -% \end{lscommand} -% \noindent its lower left corner (marked by the black disk) is assigned the -% coordinates $(-2.5,-0.25)$. -该例指出了命令 \verb|\begin{picture}| 的可选参数的用法。该图通过使用命令 -\begin{lscommand} - \ci{begin}\verb|{picture}(4.3,3.6)(-2.5,-0.25)| -\end{lscommand} -\noindent 定义了方便的“数学”坐标:左下角(由黑色圆点标出)坐标是 -$(-2.5,-0.25)$。 - -% \subsection{Rapidity in the Special Theory of Relativity} -\subsection{坐标的相对性} - -\begin{example} -\setlength{\unitlength}{0.8cm} -\begin{picture}(6,4)(-3,-2) - \put(-2.5,0){\vector(1,0){5}} - \put(2.7,-0.1){$\chi$} - \put(0,-1.5){\vector(0,1){3}} - \multiput(-2.5,1)(0.4,0){13} - {\line(1,0){0.2}} - \multiput(-2.5,-1)(0.4,0){13} - {\line(1,0){0.2}} - \put(0.2,1.4) - {$\beta=v/c=\tanh\chi$} - \qbezier(0,0)(0.8853,0.8853) - (2,0.9640) - \qbezier(0,0)(-0.8853,-0.8853) - (-2,-0.9640) - \put(-3,-2){\circle*{0.2}} -\end{picture} -\end{example} -% The control points of the two B\'ezier curves were calculated with formulas (\ref{zwischenpunkt}). -% The positive branch is determined by $P_1=(0,\,0),\,m_1=1$ and $P_2=(2,\,\tanh 2),\,m_2=1/\cosh^2 2$. -% Again, the picture is defined in mathematically convenient coordinates, and the lower left corner -% is assigned the mathematical coordinates $(-3,-2)$ (black disk). -公式 (\ref{zwischenpunkt}) 给出了两条 B\'ezier 曲线的控制点。正向分支 -由 $P_1=(0,\,0),\,m_1=1$ 和 $P_2=(2,\,\tanh 2),\,m_2=1/\cosh^2 2$ 确定。与前例相 -同,本图也定义了在数学上方便的坐标,左下角的坐标是 $(-3,-2)$ (黑点)。 - -%\section{\texorpdfstring{\Xy}{Xy}-pic} -%\secby{Alberto Manuel Brand\~ao Sim\~oes}{albie@alfarrabio.di.uminho.pt} -\section{\texorpdfstring{\Xy}{Xy}-pic} -\secby{Alberto Manuel Brand\~ao Sim\~oes}{albie@alfarrabio.di.uminho.pt} - -%\pai{xy} is a special package for drawing diagrams. To use it, -%simply add the following line to the preamble of your document: -%\begin{lscommand} -%\verb|\usepackage[|\emph{options}\verb|]{xy}| -%\end{lscommand} -%\emph{options} is a list of functions from \Xy-pic you want to -%load. These options are primarily useful when debugging the package. I recommend -%you pass the \verb!all! option, making \LaTeX{} load all the \Xy{} commands. - -\pai{xy} 是绘制流程图的专用宏包。要想使用它,只需在导言区加上: -\begin{lscommand} -\verb|\usepackage[|\emph{options}\verb|]{xy}| -\end{lscommand} -\emph{options} 列出你需要载入的 \Xy-pic 的选项。这些选项基本上被用于调试这个宏包的使用。 -建议你使用 \verb!all!,可以让 \LaTeX{} 载入 \Xy{} 的所有命令。 - -%\Xy-pic diagrams are drawn over a matrix-oriented canvas, where -%each diagram element is placed in a matrix slot: -\Xy-pic 流程图被绘制在一幅以矩阵定位的画布上,每一个流程图元素被放在矩阵的一个单元中: -\begin{example} -\begin{displaymath} -\xymatrix{A & B \\ - C & D } -\end{displaymath} -\end{example} -%The \ci{xymatrix} command must be used in math mode. Here, we -%specified two lines and two columns. To make this matrix a diagram we -%just add directed arrows using the \ci{ar} command. -命令 \ci{xymatrix} 必须置于数学模式中。这里,我们设定了一个两行两列的矩阵。 -为了画出流程,我们只需要使用命令 \ci{ar} 增加带方向的箭头即可。 -\begin{example} -\begin{displaymath} -\xymatrix{ A \ar[r] & B \ar[d] \\ - D \ar[u] & C \ar[l] } -\end{displaymath} -\end{example} -%The arrow command is placed on the origin cell for the arrow. The -%arguments are the direction the arrow should point to (\texttt{u}p, -%\texttt{d}own, \texttt{r}ight and \texttt{l}eft). -箭头命令要放在其出发的那个单元里。参量是箭头的方向 (\texttt{u}:上, -\texttt{d}:下, \texttt{r}:右以及 \texttt{l}:左). - - -\begin{example} -\begin{displaymath} -\xymatrix{ - A \ar[d] \ar[dr] \ar[r] & B \\ - D & C } -\end{displaymath} -\end{example} -%To make diagonals, just use more than one direction. In -%fact, you can repeat directions to make bigger arrows. -要画对角线,可以指定不只一个方向参量。实际上,你还可以重复同一个方向来得到更大的箭头。 -\begin{example} -\begin{displaymath} -\xymatrix{ - A \ar[d] \ar[dr] \ar[drr] &&\\ - B & C & D } -\end{displaymath} -\end{example} - -%We can draw even more interesting diagrams by adding -%labels to the arrows. To do this, we use the common superscript and -%subscript operators. -我们还可以绘制一些更有趣的流程图,给箭头加上标签,只需要使用普通的上标和下标。 -\begin{example} -\begin{displaymath} -\xymatrix{ - A \ar[r]^f \ar[d]_g & - B \ar[d]^{g'} \\ - D \ar[r]_{f'} & C } -\end{displaymath} -\end{example} - -%As shown, you use these operators as in math mode. The only -%difference is that that superscript means ``on top of the arrow,'' -%and subscript means ``under the arrow.'' There is a third operator, the vertical bar: \verb+|+ -%It causes text to be placed \emph{in} the arrow. -如图所示,就像数学模式里一样使用上下标。唯一的区别在于:上标表示放在 “箭头的上方”, -下标表示放在“箭头的下方”。 把文本放到箭头上可以用 \verb+|+。 -\begin{example} -\begin{displaymath} -\xymatrix{ - A \ar[r]|f \ar[d]|g & - B \ar[d]|{g'} \\ - D \ar[r]|{f'} & C } -\end{displaymath} -\end{example} - -%To draw an arrow with a hole in it, use \verb!\ar[...]|\hole!. -绘制空心箭头的命令是 \verb!\ar[...]|\hole!。 - -%In some situations, it is important to distinguish between different types of -%arrows. This can be done by putting labels on them, or changing their appearance: -某些情况下,需要区分不同类型的箭头。可以给它们标上标签,或者使用不同的外观来实现: - -\begin{example} -\shorthandoff{"} -\begin{displaymath} -\xymatrix{ -\bullet\ar@{->}[rr] && \bullet\\ -\bullet\ar@{.<}[rr] && \bullet\\ -\bullet\ar@{~)}[rr] && \bullet\\ -\bullet\ar@{=(}[rr] && \bullet\\ -\bullet\ar@{~/}[rr] && \bullet\\ -\bullet\ar@{^{(}->}[rr] && - \bullet\\ -\bullet\ar@2{->}[rr] && \bullet\\ -\bullet\ar@3{->}[rr] && \bullet\\ -\bullet\ar@{=+}[rr] && \bullet -} -\end{displaymath} -\shorthandon{"} -\end{example} - -%Notice the difference between the following two diagrams: -注意下面两幅流程图的区别: - -\begin{example} -\begin{displaymath} -\xymatrix{ - \bullet \ar[r] - \ar@{.>}[r] & - \bullet -} -\end{displaymath} -\end{example} - -\begin{example} -\begin{displaymath} -\xymatrix{ - \bullet \ar@/^/[r] - \ar@/_/@{.>}[r] & - \bullet -} -\end{displaymath} -\end{example} - -%The modifiers between the slashes define how the curves are drawn. -%\Xy-pic offers many ways to influence the drawing of curves; -%for more information, check \Xy-pic documentation. -两条斜线间的修饰元素决定了曲线应该如何被画出。 -\Xy-pi 提供了很多办法来改变曲线的形状;更详细的内容请参考 \Xy-pic 的文档。 - -% \begin{example} -% \begin{lscommand} -% \ci{dum} -% \end{lscommand} -% \end{example} diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/lshort-a5.tex b/Master/texmf-dist/doc/latex/lshort-chinese/src/lshort-a5.tex deleted file mode 100644 index 09aec7dbeeb..00000000000 --- a/Master/texmf-dist/doc/latex/lshort-chinese/src/lshort-a5.tex +++ /dev/null @@ -1,10 +0,0 @@ -\documentclass[a5paper,dvips,twoside,10pt]{ctexbook} -\usepackage{mylayout} -\usepackage[left=1.8cm,right=2.7cm,top=2cm,bottom=1.5cm]{geometry} -\input{lshort-base.tex} - -% Local Variables: -% TeX-master: "lshort2e" -% mode: latex -% mode: flyspell -% End: diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/lshort-base.tex b/Master/texmf-dist/doc/latex/lshort-chinese/src/lshort-base.tex deleted file mode 100644 index ff4a00aec24..00000000000 --- a/Master/texmf-dist/doc/latex/lshort-chinese/src/lshort-base.tex +++ /dev/null @@ -1,123 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Contents: Main Input File of the LaTeX2e Introduction -% $Id: lshort.tex,v 1.2 2003/03/19 20:57:46 oetiker Exp $ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% lshort.tex - The not so short introduction to LaTeX -% by Tobias Oetiker -% oetiker@ee.ethz.ch -% -% based on LKURTZ.TEX Uni Graz & TU Wien, 1987 -%----------------------------------------------------------------------- -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% 中文~4.20~翻译:中文~CTeX~学会 -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% To compile lshort, you need TeX 3.x, LaTeX and makeindex -% -% The sources files of the Intro are: -% lshort.tex (this file), -% titel.tex, contrib.tex, biblio.tex -% things.tes, typeset.tex, math.tex, lssym.tex, spec.tex, -% lshort.sty, fancyheadings.sty -% -% Further the verbatim.sty and the layout.sty -% from the LaTeX Tools distribution is -% required. -% -% -% To print the AMS symbols you need the AMS fonts and the packages -% amsfonts, eufrak and eucal from (AMS LaTeX 1.2) -% -% --------------------------------------------------------------------- - - -\usepackage{ifpdf} -\ifpdf -\usepackage{thumbpdf} -\pdfcompresslevel=9 -\RequirePackage[colorlinks,hyperindex,plainpages=false,bookmarks]{hyperref} -\def\pdfBorderAttrs{/Border [0 0 0] } % No border arround Links -\else -\RequirePackage[dvipdf,colorlinks,hyperindex,plainpages=true,bookmarks]{hyperref} -\usepackage{color} -\fi - -\usepackage{lshort} -\usepackage{makeidx,shortvrb,latexsym} -% 中文破折号 -\newcommand{\pozhehao}{\kern0.5ex\rule[.2\baselineskip]{1.5em}{.4pt}\kern0.5ex} - -\usepackage{zhfont} -\zhspacing -\setzhmainfont[BoldFont=Adobe Heiti Std]{Adobe Song Std} -\setzhsansfont[BoldFont=Adobe Heiti Std]{Adobe Kaiti Std} -\let\emph=\textit -% This document is ``public domain''. It may be printed and -% distributed free of charge in its original form (including the -% list of authors). If it is changed or if parts of it are used -% within another document, then the author list must include -% all the original authors AND that author (those authors) who -% has (have) made the changes. -% -% Original Copyright H.Partl, E.Schlegl, and I.Hyna (1987). -% English Version Copyright by Tobias Oetiker (1994,1995), -% -% --------------------------------------------------------------------- -% -% -% Formats also with\textt{letterpaper} option, but the pagebreaks might not -% fall as nicely. -% -% To produce a A5 booklet, use a tool like pstops or dvitodvi -% to past them together in the right order. Most dvi printer drivers -% can shrink the resulting output to fit on a A4 sheet. -% -\makeindex -\typeout{Copyright T.Oetiker, H.Partl, E.Schlegl, I.Hyna} - -\begin{document} -\selectlanguage{english} -\frontmatter -\include{title} -\include{contrib} -\include{overview} -\renewcommand{\contentsname}{目录} -\tableofcontents -\renewcommand{\listfigurename}{图形清单} -\listoffigures -\renewcommand{\listtablename}{表格清单} -\listoftables -\enlargethispage{\baselineskip} -\mainmatter -\renewcommand{\figurename}{图} -\renewcommand{\tablename}{表} -\include{things} -\include{typeset} -\include{math} -\include{lssym} -\include{spec} -\include{graphic} -\include{custom} -\backmatter -\renewcommand{\bibname}{参考文献} -\include{biblio} -\refstepcounter{chapter} -%\addcontentsline{toc}{chapter}{Index} -\renewcommand{\indexname}{索引} -\phantomsection -\addcontentsline{toc}{chapter}{索引} -\printindex -\refstepcounter{chapter}\label{verylast}\mbox{} -\end{document} - - - - - -% - -% Local Variables: -% TeX-master: "lshort2e" -% mode: latex -% mode: flyspell -% End: diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/lshort-zh-cn-layout.tex b/Master/texmf-dist/doc/latex/lshort-chinese/src/lshort-zh-cn-layout.tex new file mode 100644 index 00000000000..7bf60e338c5 --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-chinese/src/lshort-zh-cn-layout.tex @@ -0,0 +1,212 @@ +\expandafter\ifx\csname ver@layout.sty\endcsname\relax + \typeout{Package `layout' not loaded. Command \string\layoutpicture{} will have no effect.} + \def\layoutpicture{\@ifstar\@empty\@empty} +% \let\oddsidelayouttrue\relax \let\oddsidelayoutfalse\relax + \expandafter\endinput +\fi + +\newif\ifoddsidelayout + +\newcommand\lay@layoutpic{% + \if@twoside + \ifoddsidelayout + \ref@marginwidth=\cnt@oddsidemargin + \ref@marginpar=\oneinch + \advance\ref@marginpar by \ref@hoffset + \advance\ref@marginpar by \cnt@oddsidemargin + \ref@margin\ref@marginpar + \if@reversemargin + \advance\ref@marginpar by -\cnt@marginparsep + \advance\ref@marginpar by -\cnt@marginparwidth + \else + \advance\ref@marginpar by \cnt@textwidth + \advance\ref@marginpar by \cnt@marginparsep + \fi + \else + \ref@marginwidth=\cnt@evensidemargin + \ref@marginpar=\oneinch + \advance\ref@marginpar by \ref@hoffset + \advance\ref@marginpar by \cnt@evensidemargin + \ref@margin\ref@marginpar + \if@reversemargin + \advance\ref@marginpar by \cnt@textwidth + \advance\ref@marginpar by \cnt@marginparsep + \else + \advance\ref@marginpar by -\cnt@marginparsep + \advance\ref@marginpar by -\cnt@marginparwidth + \fi + \fi + \else + \ref@marginwidth=\cnt@oddsidemargin + \ref@marginpar=\oneinch + \advance\ref@marginpar by \ref@hoffset + \advance\ref@marginpar by \cnt@oddsidemargin + \ref@margin\ref@marginpar + \if@reversemargin + \advance\ref@marginpar by -\cnt@marginparsep + \advance\ref@marginpar by -\cnt@marginparwidth + \else + \advance\ref@marginpar by \cnt@textwidth + \advance\ref@marginpar by \cnt@marginparsep + \fi + \fi + \setlength{\unitlength}{.5pt} + \begin{picture}(\cnt@paperwidth,\cnt@paperheight) + \centering + \thicklines + \put(0,0){\framebox(\cnt@paperwidth,\cnt@paperheight){\mbox{}}} + \put(0,\cnt@voffset){\dashbox{10}(\cnt@paperwidth,0){\mbox{}}} + \put(\cnt@hoffset,0){\dashbox{10}(0,\cnt@paperheight){\mbox{}}} + \put(\ref@margin,\ref@head){% + \begingroup\color{lightgray}\framebox(\cnt@textwidth,\cnt@headheight)% + {\tiny\sffamily\Headertext}\endgroup} + \put(\ref@margin,\ref@body){% + \framebox(\cnt@textwidth,\cnt@textheight){\sffamily\Bodytext}} + \put(\ref@margin,\ref@foot){% + \begingroup\color{lightgray}\framebox(\cnt@textwidth,\fheight){\tiny\sffamily\Footertext}\endgroup} + \put(\ref@marginpar,\ref@body){% + \begingroup\color{lightgray}\framebox(\cnt@marginparwidth,\cnt@textheight)% + {\small\sffamily\shortstack{\MarginNotestext}}\endgroup} + \thinlines + \SetToHalf\PositionX\cnt@textwidth + \advance\PositionX by \ref@margin + \PositionY = \ref@body + \advance\PositionY by 50 + \Identify{8} + \InsideHArrow\cnt@textwidth + \SetToHalf\PositionY\cnt@textheight + \advance\PositionY by \ref@body + \PositionX = \cnt@textwidth + \divide\PositionX by 5 + \multiply \PositionX by 4 + \advance\PositionX by \ref@margin + \Identify{7} + \InsideVArrow\cnt@textheight + \PositionY = 50 + \SetToHalf\PositionX\cnt@hoffset + \Identify{1} + \InsideHArrow\cnt@hoffset + \SetToQuart\PositionY\cnt@textheight + \advance\PositionY by \ref@body + \ifnum\ref@marginwidth > 0 + \OutsideHArrow\ref@margin\ref@marginwidth{20} + \PositionX = \cnt@hoffset + \else + \OutsideHArrow\cnt@hoffset{-\ref@marginwidth}{20} + \PositionX = \ref@margin + \fi + \advance\PositionX by -30 + \Identify{3} + \SetToQuart\PositionY\cnt@textheight + \advance\PositionY by \ref@body + \advance\PositionY by 30 + \SetToHalf\PositionX\cnt@marginparwidth + \advance\PositionX by \ref@marginpar + \Identify{10} + \InsideHArrow\cnt@marginparwidth + \advance\PositionY by 30 + \if@twoside + \if@reversemargin + \ifoddsidelayout + \OutsideHArrow\ref@margin\cnt@marginparsep{20} + \PositionX = \ref@margin + \else + \OutsideHArrow\ref@marginpar\cnt@marginparsep{20} + \PositionX = \ref@marginpar + \fi + \else + \ifoddsidelayout + \OutsideHArrow\ref@marginpar\cnt@marginparsep{20} + \PositionX = \ref@marginpar + \else + \OutsideHArrow\ref@margin\cnt@marginparsep{20} + \PositionX = \ref@margin + \fi + \fi + \else + \if@reversemargin + \OutsideHArrow\ref@margin\cnt@marginparsep{20} + \PositionX = \ref@margin + \else + \OutsideHArrow\ref@marginpar\cnt@marginparsep{20} + \PositionX = \ref@marginpar + \fi + \fi + \advance\PositionX by -\cnt@marginparsep + \advance\PositionX by -30 + \Identify{9} + \PositionX = \cnt@textwidth + \divide\PositionX by 8 + \advance\PositionX by \ref@margin + \OutsideVArrow\ref@foot\cnt@footskip{20}{20} + \PositionY = \ref@foot + \advance\PositionY by \cnt@footskip + \advance\PositionY by 30 + \Identify{11} + \PositionX = \cnt@paperwidth + \advance\PositionX by -50 + \PositionY = \cnt@paperheight + \ExtraYPos = \PositionY + \advance\ExtraYPos by -\cnt@voffset + \advance\PositionY by \cnt@voffset + \divide\PositionY by \tw@ + \Identify{2} + \InsideVArrow\ExtraYPos + \Interval = \cnt@textwidth + \divide\Interval by 8 + \PositionX = \ref@margin + \advance\PositionX by \Interval + \ifnum\cnt@topmargin > \z@ + \ExtraYPos = \ref@head + \advance\ExtraYPos\cnt@headheight + \OutsideVArrow\ExtraYPos\cnt@topmargin{20}{20} + \PositionY = \ExtraYPos + \advance\PositionY by \cnt@topmargin + \else + \ExtraYPos = \cnt@voffset + \OutsideVArrow\ExtraYPos{-\cnt@topmargin}{20}{20} + \PositionY = \ExtraYPos + \advance\PositionY by -\cnt@topmargin + \fi + \advance\PositionY by 30 + \Identify{4} + \advance\PositionX by \Interval + \OutsideVArrow\ref@head\cnt@headheight{20}{20} + \PositionY = \ref@head + \advance\PositionY by \cnt@headheight + \advance\PositionY by 30 + \Identify{5} + \advance\PositionX by \Interval + \ExtraYPos=\ref@body + \advance\ExtraYPos\cnt@textheight + \OutsideVArrow\ExtraYPos\cnt@headsep{20}{20} + \PositionY = \ref@body + \advance\PositionY by \cnt@textheight + \advance\PositionY by -30 + \Identify{6} + \end{picture} + \vskip\medskipamount + \begingroup\footnotesize\ttfamily + \begin{tabular}{@{}rl@{\hspace{20pt}}rl} + 1 & \oneinchtext\ + \LayOutbs\texttt{hoffset} + & 2 & \oneinchtext\ + \LayOutbs\texttt{voffset} \\ + 3 & \if@twoside + \ifoddsidelayout \Show{cnt}{oddsidemargin} + \else \Show{cnt}{evensidemargin} + \fi + \else + \Show{cnt}{oddsidemargin} + \fi & 4 & \Show{cnt}{topmargin} \\ + 5 & \Show{cnt}{headheight} & 6 & \Show{cnt}{headsep} \\ + 7 & \Show{cnt}{textheight} & 8 & \Show{cnt}{textwidth} \\ + 9 & \Show{cnt}{marginparsep}&10& \Show{cnt}{marginparwidth} \\ + 11& \Show{cnt}{footskip} & & \Show{cnt}{marginparpush} + \rlap{(\notshown)}\\ + & \Show{ref}{hoffset} & & \Show{ref}{voffset} \\ + & \Show{cnt}{paperwidth} & & \Show{cnt}{paperheight} \\ + \end{tabular} + \endgroup +} +\def\layoutpicture{% + \@ifstar{\lay@getvalues\lay@layoutpic}{\lay@layoutpic}} +\endinput diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/lshort-zh-cn-style.sty b/Master/texmf-dist/doc/latex/lshort-chinese/src/lshort-zh-cn-style.sty new file mode 100644 index 00000000000..6eca77209f6 --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-chinese/src/lshort-zh-cn-style.sty @@ -0,0 +1,248 @@ +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{lshort-zh-cn-style} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% lshort 调用的宏包 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% 基本工具宏包 +% +\RequirePackage{amsmath,amsthm} +\RequirePackage{hologo,ulem,verbatim,fancyvrb,layout,multicol} +\RequirePackage{colortbl,tabularx,multirow,makecell,booktabs} +\RequirePackage{graphicx,xcolor,float,subfig} +\RequirePackage{makeidx} +\RequirePackage[inner=1in,outer=1.5in,vmargin=1in,marginparwidth=1in]{geometry} +\RequirePackage{tikz} + +% +% ctex 宏包 2.2(2015/06/24) 或以上版本 +% ctex 宏包的字号设定会让许多固定字号的字体宏包报太多 warning,应当抑制 +% +\RequirePackage[fontset=fandol,zihao=false,scheme=chinese,heading=true]{ctex}[2015/06/24] + +% +% 字体和符号宏包 +% +\RequirePackage{lmodern} % 正文字体使用 Latin Modern +\RequirePackage{amssymb,latexsym,textcomp,mathrsfs,euscript,yhmath} % 与默认字体不冲突的一些符号包 +\RequirePackage[LGR,T1]{fontenc} + +% layout 宏包生成能放入浮动体的命令,手动指定奇偶页的 layout +\input lshort-zh-cn-layout +\oddsidelayouttrue +% layout 文字汉化 +\def\Headertext{页眉} +\def\Bodytext{版心} +\def\Footertext{页脚} +\def\MarginNotestext{边注} +\def\oneinchtext{1in} +\def\notshown{未显示} + +% hyperref 基本设定 +\RequirePackage{hyperref} +\hypersetup{colorlinks,% + bookmarksnumbered=true,% + pdfstartview=FitH} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% lshort 的版式设置 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\raggedbottom + +% +% 不依赖 fancyhdr 的页眉页脚设定 +% +\addtolength{\headheight}{1.6pt} +\newdimen\headwidth \headwidth\textwidth +\newdimen\headrulewidth \headrulewidth=0.4pt +\def\ps@fancy{% + \let\@oddfoot\@empty\let\@evenfoot\@empty + \def\@evenhead{\vbox to \headheight{% + \hb@xt@\headwidth{\bfseries\thepage\hfil\leftmark}% + \vss\hrule\@height\headrulewidth}}% + \def\@oddhead{\vbox to \headheight{% + \hb@xt@\headwidth{\bfseries\rightmark\hfil\thepage}% + \vss\hrule\@height\headrulewidth}}% + \let\@mkboth\markboth + \def\chaptermark##1{\markboth{\if@mainmatter\CTEXthechapter\fi\quad ##1}{}} + \def\sectionmark##1{\markright{\S\thesection\quad ##1}} +} +%\let\ps@plain\ps@fancyplain +\pagestyle{fancy} + +% +% 不依赖 tocbibind 的参考文献/索引修改 +% 索引依赖 multicols 环境排版 +% +\renewenvironment{thebibliography}[1] + {\chapter{\bibname}% + \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}% + \list{\@biblabel{\@arabic\c@enumiv}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \@openbib@code + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{\@arabic\c@enumiv}}% + \sloppy + \clubpenalty4000 + \@clubpenalty \clubpenalty + \widowpenalty4000% + \sfcode`\.\@m} + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist} +\renewenvironment{theindex}% + {\chapter{\indexname}% + \@mkboth{\MakeUppercase{\indexname}}{\MakeUppercase{\indexname}} + \parskip\z@ \@plus .3\p@\relax + \let\item\@idxitem + \begin{multicols}{2}} + {\end{multicols}} + +% +% 令 \cleardoublepage 的偶数页页眉页脚为空 +% +\renewcommand{\cleardoublepage} + {\clearpage\if@twoside \ifodd\c@page\else + \hbox{}\thispagestyle{empty}\newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% lshort 用到的自定义命令 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% 源自 TeX FAQ 的超链接命令 +% CTAN 镜像暂用清华源 +% +\newcommand{\Email}{\begingroup \def\UrlLeft{<}\def\UrlRight{>} \urlstyle{tt}\Url} % email address +\def\mailto|#1|{\href{mailto:#1}{\Email|#1|}} % url to mail somewhere +\def\CTANref{\begingroup \urlstyle{tt}\Url} +\def\CTAN|#1|{\href{http://mirrors.tuna.tsinghua.edu.cn/CTAN/#1}{\CTANref|CTAN://#1|}} +\newcommand{\contrib}[3]{#1\quad\mailto|#2|{\small\\\quad\textit{#3}}\\[1ex]} + +\DeclareRobustCommand*\TikZ{Ti\textit{k\/}Z} +% +% PDF 书签中对符号的特殊处理 +% +\pdfstringdefDisableCommands{\def\AmS{AMS}}% +\pdfstringdefDisableCommands{\def\TikZ{TikZ}}% + +% +% 示意长度 +% +\def\demowidth#1{\rule{0.4pt}{1ex}\rule{#1}{1.2pt}\rule{0.4pt}{1ex}} + +% +% 命令和环境的写法 +% +\DeclareRobustCommand*\cmd[1]{\texttt{\char`\\#1}} +\def\crcmd{\cmd{\char`\\}} +\DeclareRobustCommand*\env[1]{\texttt{#1}} +\DeclareRobustCommand*\pkg[1]{\textsf{#1}} +\DeclareRobustCommand*\cls[1]{\textsf{#1}} +\DeclareRobustCommand*\marg{\@ifstar\@marg\@margmeta} +\DeclareRobustCommand*\oarg{\@ifstar\@oarg\@oargmeta} +\DeclareRobustCommand*\Arg[1]{\@meta{#1}} +\def\@oarg#1{\textcolor{gray}{\texttt{[#1]}}} +\def\@oargmeta#1{\@oarg{\@meta{#1}}} +\def\@marg#1{\texttt{\{#1\}}} +\def\@margmeta#1{\@marg{\@meta{#1}}} +\def\@meta#1{$\m@th\langle$\textnormal{\textit{#1}}$\m@th\rangle$} + +% +% 命令和环境的索引 +% +\def\pkgindex#1{\@for\pkgname:=#1\do{\index{\pkgname @\pkg{\pkgname} 宏包}}} +\def\clsindex#1{\@for\clsname:=#1\do{\index{\clsname @\cls{\clsname} 文档类}}} +\def\cmdindex{\@ifnextchar[{\pkgcmdindex}{\ltxcmdindex}} +\def\envindex{\@ifnextchar[{\pkgenvindex}{\ltxenvindex}} +\def\ltxcmdindex#1{\@for\@ltxcmd:=#1\do{\index{\@ltxcmd @\cmd{\@ltxcmd}}}} +\def\ltxenvindex#1{\@for\@ltxenv:=#1\do{\index{\@ltxenv @\env{\@ltxenv} 环境}}} +\def\pkgcmdindex[#1]#2{\@for\@pkgcmd:=#2\do{\index{\@pkgcmd @\cmd{\@pkgcmd} (\pkg{#1})}}} +\def\pkgenvindex[#1]#2{\@for\@pkgcmd:=#2\do{\index{\@pkgcmd @\env{\@pkgcmd} 环境 (\pkg{#1})}}} +% 文本和数学符号索引 +\def\symindex#1{\@for\t@xtsym:=#1\do{\index{\t@xtsym @\cmd{\t@xtsym} (\textit{符号} \expandafter\protect\csname \t@xtsym\endcsname)}}} +\def\mathindex#1{\@for\m@thcmd:=#1\do{\index{\m@thcmd @\cmd{\m@thcmd} (\textit{数学命令})}}} +\def\msymindex#1{\@for\m@thsym:=#1\do{\index{\m@thsym @\cmd{\m@thsym} (\textit{数学符号}$\expandafter\protect\csname \m@thsym\endcsname$)}}} +\def\maccindex#1{\@for\m@thacc:=#1\do{\index{\m@thacc @\cmd{\m@thacc} (\textit{数学重音}$\expandafter\protect\csname \m@thacc\endcsname{a}$)}}} +\def\waccindex#1{\@for\wideacc:=#1\do{\index{\wideacc @\cmd{\wideacc} (\textit{数学重音}$\expandafter\protect\csname \wideacc\endcsname{AB}$)}}} +% 拼音索引 +\def\pinyinindex#1#2{\index{#1@#2}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% lshort 用到的自定义环境 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% 每章最前的介绍内容环境 intro +% +\newenvironment{intro} + {\advance\leftskip\parindent\advance\rightskip\parindent\sffamily}% + {\par\vspace*{2ex minus 1.5ex}} + +% +% 展示命令 +% +\newenvironment{command}% + {\trivlist\item\relax% + \def\arraystretch{1.2}% + \hskip\parindent% + \begin{tabular}{>{\columncolor{blue!5}}l} + }% + {\\ + \end{tabular} + \endtrivlist} + +% +% 示例环境 example +% 环境中的代码被 verbatim 环境处理到一个临时文件中 +% 再从临时文件中读取,分别生成代码盒子和示例盒子 +% +\newwrite\example@out +\newlength\savefboxrule +\newlength\savefboxsep +\edef\example@name{\jobname-example.aux} +\newenvironment{example}% +{\begingroup\@bsphack + \immediate\openout\example@out=\example@name + \let\do\@makeother\dospecials\catcode`\^^M\active + \def\verbatim@processline{\immediate\write\example@out{\the\verbatim@line}}% + \verbatim@start}% +{\immediate\closeout\example@out\@esphack\endgroup% + \trivlist\item\relax + \setlength{\savefboxrule}{\fboxrule}% + \setlength{\savefboxsep}{\fboxsep}% + \setlength{\fboxsep}{0.015\textwidth}% + \setlength{\fboxrule}{0.4pt}% + \fcolorbox[gray]{0}{0.95}{% + \begin{minipage}[c]{0.45\textwidth}% + \setlength{\fboxrule}{\savefboxrule}% + \setlength{\fboxsep}{\savefboxsep}% + \small\verbatiminput{\example@name}% + \end{minipage}% + }% + \hfill% + \fbox{% + \begin{minipage}[c]{0.45\textwidth}% + \setlength{\fboxrule}{\savefboxrule}% + \setlength{\fboxsep}{\savefboxsep}% + \setlength{\parskip}{1ex plus 0.4ex minus 0.2ex}% + \normalsize\input{\example@name}% + \end{minipage}% + }% + \endtrivlist +} + +% +% sourcecode 浮动体 +% +\belowcaptionskip\abovecaptionskip +\fvset{fontsize=\small,frame=lines} +\newfloat{sourcecode}{tbp}{los}[chapter] +\floatname{sourcecode}{源代码} +\def\listofsources{\listof{sourcecode}{源代码示例列表}} + + +\endinput \ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/lshort-zh-cn.ist b/Master/texmf-dist/doc/latex/lshort-chinese/src/lshort-zh-cn.ist new file mode 100644 index 00000000000..33a7550194a --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-chinese/src/lshort-zh-cn.ist @@ -0,0 +1,8 @@ +headings_flag 1 +heading_prefix " \n \\centerline{\\large\\bfseries " +heading_suffix "}\n \\indexspace\n" +preamble "\\begin{theindex}\n \\parindent=0pt\n \\def\\seename{参见}\n \\def\\seealsoname{又见}" +numhead_positive "数字" +numhead_negative "数字" +symhead_positive "符号" +symhead_negative "符号" \ No newline at end of file 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 new file mode 100644 index 00000000000..7d616811338 --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-chinese/src/lshort-zh-cn.tex @@ -0,0 +1,50 @@ +\documentclass[a4paper]{book} +\usepackage{lshort-zh-cn-style} + +\hypersetup{% + pdftitle={The Not So Short Introduction to LaTeX2e(Chinese Simplified)},% + pdfkeywords={LaTeX, LaTeX2e}, + pdfcreator={XeLaTeX with `ctex' package} +} + +\newcounter{minutes} + +% 第四章用到的自定义算符 +\DeclareMathOperator{\argh}{argh} +\DeclareMathOperator*{\nut}{Nut} + +\makeindex + +\begin{document} + +\pagenumbering{Alph} +\input{chap/titlepage} + +\frontmatter +\input{chap/preface.contrib} +\input{chap/preface.overview} +\tableofcontents +\listofsources + +\mainmatter +\input{chap/chap.01.basics} +\input{chap/chap.02.text} +\input{chap/chap.03.elements} +\input{chap/chap.04.math} +\input{chap/sec.symbol.table} +\input{chap/chap.05.style} +\input{chap/chap.06.spec} +\input{chap/chap.07.graphic} +\input{chap/chap.08.custom} + +\appendix +\input{chap/app.A.install} +\input{chap/app.B.error.help} +\refstepcounter{minutes}\label{lshort-minutes} + +\backmatter +\input{chap/biblio} +\input{chap/fdl} +\printindex + +\end{document} \ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/lshort.sty b/Master/texmf-dist/doc/latex/lshort-chinese/src/lshort.sty deleted file mode 100644 index 97477ebca70..00000000000 --- a/Master/texmf-dist/doc/latex/lshort-chinese/src/lshort.sty +++ /dev/null @@ -1,285 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Contents: Special Commands for the LShort2e Introduction -% $Id: lshort.sty,v 1.2 2003/03/19 20:57:45 oetiker Exp $ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% By Tobias Oetiker -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%\errorcontextlines=10 - -%save pageref an label -\let\lsspageref\pageref -\ProvidesPackage{lshort} -\RequirePackage[english,frenchb,german]{babel} -\RequirePackage{mflogo} -\RequirePackage{verbatim} -\RequirePackage{fancyhea} -\RequirePackage{calc} -\RequirePackage{amsmath,latexsym,amsthm} -\RequirePackage[psamsfonts]{amssymb} -\RequirePackage{cmmib57}% Use blueSky cmmib5 cmmib7 cmsy -\RequirePackage[all]{xy} -%\RequirePackage[T1]{fontenc} -\RequirePackage[latin1]{inputenc} -\RequirePackage{lmodern} -%\RequirePackage{textcomp} -%\RequirePackage{type1cm}% remove size restrictions -%\RequirePackage{aeguill} -% some packages which draw a euro -\RequirePackage{textcomp} -% need some magic here to keep the original definition of rightarrow -\newcommand{\org@Rightarrow}{} -\let\org@Rightarrow\Rightarrow -\usepackage{marvosym} -\let\MVRightarrow\Rightarrow -\let\Rightarrow\org@Rightarrow -%%%% -\RequirePackage[gen]{eurosym} % redefines \EUR -\RequirePackage{eurosans} -\let\EUROSANS\euro -% marvosym defines \EUR, \EURtm, \EURhv and \EURcr (with \def), while europs -% uses \providecommand to define them :-( so let's first undefine them: -\let\EURtm\undefined -\let\EURhv\undefined -\let\EURcr\undefined -\RequirePackage{europs} -%\RequirePackage[mathcal]{euscript} -%\IfFileExists{eucal.sty} -% {\RequirePackage[psamsfonts]{eucal}} -% {\IfFileExists{euscript.sty} -% {\RequirePackage[mathcal]{euscript}}{}} - -\RequirePackage{url} -% Lets have some nice headings -% -\pagestyle{fancyplain} -\renewcommand{\chaptermark}[1]{\markboth{#1}{}} -\renewcommand{\sectionmark}[1]{\markright{\thesection{} #1}} -\lhead[\fancyplain{}{\bfseries\thepage}] - {\fancyplain{}{\bfseries\rightmark}} -\rhead[\fancyplain{}{\bfseries\leftmark}] - {\fancyplain{}{\bfseries\thepage}} -\cfoot[]{} -\addtolength{\headheight}{1.6pt} -% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Adapted from TeX FAQ -\renewcommand{\Email}{\begingroup \def\UrlLeft{<}\def\UrlRight{>} \urlstyle{tt}\Url} % email address -\def\mailto|#1|{\href{mailto:#1}{\Email|#1|}} % url to mail somewhere -\newcommand{\CTANref}{\begingroup \urlstyle{tt}\Url} % -\def\CTAN|#1|{\href{ftp://ftp.dante.de/tex-archive/#1}{\CTANref|CTAN:/tex-archive/#1|}} -\newcommand\Newsgroup{\begingroup \urlstyle{tt}\Url} % newsgroup -\let\URL\url % just a URL - -\newcommand{\PSi}{\textsc{PostScript}\index{PostScript@\textsc{PostScript}}} -\newcommand{\EPSi}{Encapsulated \textsc{PostScript}% -\index{Encapsulated PostScript@Encapsulated \textsc{PostScript}}% -\index{PostScript@\textsc{PostScript}!Encapsulated}% -} - -% Earlier paragraphs were separated by some space -% -%\setlength{\parindent}{0pt} -%\setlength{\parskip}{1.5ex plus 0.7ex minus 0.6ex} - -\newcommand{\manual}{\emph{\LaTeX{} Manual}~\cite{manual}} -\newcommand{\companion}{\emph{The \LaTeX{} Companion}~\cite{companion}} -\newcommand{\guide}{\emph{Local Guide}~\cite{local}} -\newcommand{\contrib}[3]{#1\quad\mailto|#2|{\small\\\quad\textit{#3}}\\[1ex]} -% -% Some commands for helping with INDEX creation -% -%\newcommand{\bs}{\symbol{'134}}%Print backslash -%\newcommand{\bs}{\ensuremath{\mathtt{\backslash}}}%Print backslash -% Index entry for a command (\cih for hidden command index -\newcommand{\eei}[1]{% -\index{extension!\texttt{#1}}\texttt{#1}} -% probably add handling of period like handling of \ in \ci -\newcommand{\fni}[1]{% -\index{font!#1@\texttt{\bs#1}}% -\index{#1@\texttt{\hspace*{-1.2ex}\bs #1}}\texttt{\bs #1}} -\newcommand{\cih}[1]{% -\index{commands!#1@\texttt{\bs#1}}% -\index{#1@\texttt{\hspace*{-1.2ex}\bs #1}}} -\newcommand{\ci}[1]{\cih{#1}\texttt{\bs #1}} -%Package -\newcommand{\paih}[1]{% -\index{packages!#1@\textsf{#1}}% -\index{#1@\textsf{#1}}} -\newcommand{\pai}[1]{% -\paih{#1}\textsf{#1}} -% Index entry for an environment -\newcommand{\ei}[1]{% -\index{environments!\texttt{#1}}% -\index{#1@\texttt{#1}}% -\texttt{#1}} -% Indexentry for a word (Word inserted into the text) -\newcommand{\wi}[1]{\index{#1}#1} -% -% Typesetting Commands -% -\newenvironment{lscommand}% - {\nopagebreak\par\small\addvspace{3.2ex plus 0.8ex minus 0.2ex}% - \vskip -\parskip - \noindent% - \begin{tabular}{|l|}\hline\rule{0pt}{1em}\ignorespaces}% - {\\\hline\end{tabular}\par\nopagebreak\addvspace{3.2ex plus 0.8ex - minus 0.2ex}% - \vskip -\parskip} -% -% Type setting Code Fragments -% -\newenvironment{code}{\begin{quote}}{\end{quote}} -% -% Intro Environment -\newenvironment{intro}{\sffamily}{\vspace*{2ex minus 1.5ex}} -% -\newcommand{\secby}[2]{\nopagebreak\par\addvspace{-1.5ex}% - \vskip -\parskip\noindent{\tiny By #1 \mailto|#2|}\par\nopagebreak% - \addvspace{1ex plus 0.8ex minus 0.2ex}% - \vskip -\parskip\noindent\ignorespaces} -% -% propper bookmark entries in pdftex - -\ifx\hypersetup\undefined\else -\pdfstringdefDisableCommands{\edef\ci{\textbackslash}}% -\pdfstringdefDisableCommands{\edef\sim{\textasciitilde}}% -\pdfstringdefDisableCommands{\edef\circ{\textdegree}}% -\pdfstringdefDisableCommands{\edef\ldots{... }}% -\fi - -%\noindent\addvspace{1ex}\small #1 $<$\texttt{#2}$>$\par\addvspace{2ex}\noindnet\ignorespaces} -% -% -% Symbol Entry for Math Symbol Tables -% -\newcommand{\X}[1]{$#1$&\texttt{\string#1}\hspace*{1ex}} -% normal text .... -\newcommand{\SC}[1]{#1&\texttt{\string#1}\hspace*{1ex}} -% for accents in text mode -\newcommand{\A}[1]{#1&\texttt{\string#1}\hspace*{1ex}} -\newcommand{\B}[2]{#1#2&\texttt{\string#1{} #2}\hspace*{1ex}} - -\newcommand{\W}[2]{$#1{#2}$& - \texttt{\string#1}\texttt{\string{\string#2\string}}\hspace*{1ex}} -\newcommand{\Y}[1]{$\big#1$ &\texttt{\string#1}} % -% Mathsymbol Table -\newsavebox{\symbbox} -\newenvironment{symbols}[1]% -{\par\vspace*{2ex} -\renewcommand{\arraystretch}{1.1} -\begin{lrbox}{\symbbox} -\hspace*{4ex}\begin{tabular}{@{}#1@{}}}% -{\end{tabular}\end{lrbox}\makebox[\textwidth]{\usebox{\symbbox}}\par\medskip} -% -% Special Prep for AMS Symbols Printout -% Should work if AMS is not available -% - -%% we have no PS versions of the rsfs fonts ... so this is a nogo for pdf -%\ifx\HyPsd@pageref\undefined -\RequirePackage{mathrsfs} -%\fi -\RequirePackage{latexsym} -\RequirePackage[mathcal]{euscript} -% -% Print |--| to show a distance -% -\newcommand{\demowidth}[1]{\rule{0.3pt}{1.3ex}\rule{#1}{0.3pt}\rule{0.3pt}{1.3ex}} -% -% -% --- example ---- -% This is an environment to set LaTeX examples. -% On the left side the source text and on the -% right side the typeset text. -% -% \begin{example} -% \Large This is Large -% \end{example} -% This Part is stolen from the verbaim.sty by FMi -% -\newwrite\example@out -\newcounter{exacnt} -\setcounter{exacnt}{1} -\newlength{\savefboxrule} -\newlength{\savefboxsep} -\newlength{\outdent} -\setlength{\outdent}{1cm} -\addtolength{\headwidth}{\outdent} -\newenvironment{example}% -{\begingroup% Lets Keep the Changes Local - \@bsphack - \immediate\openout \example@out \jobname.exa - \let\do\@makeother\dospecials\catcode`\^^M\active - \def\verbatim@processline{% - \immediate\write\example@out{\the\verbatim@line}}% - \verbatim@start}% -{\immediate\closeout\example@out\@esphack\endgroup% - % - % And here comes my part. :- - % - \stepcounter{exacnt}% - \setlength{\parindent}{0pt}% - \par\addvspace{3.0ex plus 0.8ex minus 0.5ex}\vskip -\parskip -% Page \lsspageref{exa:\theexacnt} -\expandafter\ifx\csname r@exa\theexacnt\endcsname\relax\else -%\ifx\pdfoutput\undefined % We're not running pdftex -% \ifodd\lsspageref{exa\theexacnt}\hspace*{0pt}\else\hspace*{-\outdent}\fi% -%\else -%% HyPsd@pageref internal hyperref command v6.69c - \ifodd\HyPsd@pageref{exa\theexacnt}\hspace*{0pt}\else\hspace*{-\outdent}\fi% -%\fi -\fi -\makebox[\textwidth][l]{% -%\raisebox{-\height}[0pt][\totalheight]{% - \begin{minipage}[c]{0.5\outdent+0.46\textwidth-3mm}% - \small\verbatiminput{\jobname.exa} - \end{minipage}% - %}% - \hspace{5mm}% - \setlength{\savefboxrule}{\fboxrule}% - \setlength{\fboxrule}{0.1pt}% - \setlength{\savefboxsep}{\fboxsep}% - \setlength{\fboxsep}{3mm}% - % \raisebox{-\height}[0pt][\totalheight]{% - \fbox{% - \begin{minipage}{0.5\outdent+0.54\textwidth-3.5mm-2\fboxrule-2\fboxsep}% - \setlength{\fboxrule}{\savefboxrule}% - \setlength{\fboxsep}{\savefboxsep}% - \setlength{\fboxrule}{0.5pt}% - \setlength{\parskip}{1ex plus 0.4ex minus 0.2ex}% - \begin{trivlist}\item\small\input{\jobname.exa} - \end{trivlist} - \end{minipage} - }% -% }% -}\label{exa\theexacnt}% -\par\addvspace{3ex plus 0.8ex minus 0.5ex}\vskip -\parskip -} - -\newenvironment{lined}[1]% - {\begin{center}\begin{minipage}{#1}\hrule\medskip} - {\vspace{-1ex}\hrule \end{minipage}\end{center}} -% I want no headers on pages created by clearpage - -\renewcommand{\cleardoublepage} - {\clearpage\if@twoside \ifodd\c@page\else - \hbox{}\thispagestyle{empty}\newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi} - - -% section titles should be raggright ... since -% this is not a trivial change I have to repeat the definitions here ... -% taken from book.cls - -\renewcommand\section{\@startsection {section}{1}{\z@}% - {-3.5ex \@plus -1ex \@minus -.2ex}% - {2.3ex \@plus.2ex}% - {\raggedright\normalfont\Large\bfseries}} -\renewcommand\subsection{\@startsection{subsection}{2}{\z@}% - {-3.25ex\@plus -1ex \@minus -.2ex}% - {1.5ex \@plus .2ex}% - {\raggedright\normalfont\large\bfseries}} -\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% - {-3.25ex\@plus -1ex \@minus -.2ex}% - {1.5ex \@plus .2ex}% - {\raggedright\normalfont\normalsize\bfseries}} diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/lshort.tex b/Master/texmf-dist/doc/latex/lshort-chinese/src/lshort.tex deleted file mode 100644 index c3f80eb123f..00000000000 --- a/Master/texmf-dist/doc/latex/lshort-chinese/src/lshort.tex +++ /dev/null @@ -1,8 +0,0 @@ -\documentclass[a4paper,twoside]{book} -\usepackage{mylayout} -\input{lshort-base.tex} -% Local Variables: -% TeX-master: "lshort2e" -% mode: latex -% mode: flyspell -% End: diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/lssym.tex b/Master/texmf-dist/doc/latex/lshort-chinese/src/lssym.tex deleted file mode 100644 index 8a42bcf18ef..00000000000 --- a/Master/texmf-dist/doc/latex/lshort-chinese/src/lssym.tex +++ /dev/null @@ -1,361 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Contents: TeX and LaTeX and AMS symbols for Maths -% $Id: lssym.tex,v 1.2 2003/03/19 20:57:46 oetiker Exp $ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% 中文~4.20~翻译:liwenjun@bbs.ctex email:sydlee@gmail.com -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%\section{List of Mathematical Symbols} \label{symbols} -\section{数学符号表} \label{symbols} -%The following tables demonstrate all the symbols normally accessible from \emph{math mode}. -以下表格列出了\textbf{数学模式}中的所有常用符号。 -% -% Conditional Text in case the AMS Fonts are installed -% -%To use the symbols listed in -%Tables~\ref{AMSD}--\ref{AMSNBR},\footnote{These tables were derived -% from \texttt{symbols.tex} by David~Carlisle and subsequently changed -%extensively as suggested by Josef~Tkadlec.} the package -%\pai{amssymb} must be loaded in the preamble of the document and the -%AMS math fonts must be installed on the system. If the AMS package and -%fonts are not installed on your system, have a look at\\ -%\CTANref|macros/latex/required/amslatex|. An even more comprehensive list of -%symbols can be found at \CTANref|info/symbols/comprehensive|. - -要使用表 \ref{AMSD}--\ref{AMSNBR}\footnote{这些表格源自于 David Carlisle 的 -\texttt{symbols.tex}, 而后在 Josef Tkadlec 的建议下作了较大的改动。}。 -必须在导言区先载入 \pai{amssymb} 宏包而且 -系统中安装了 AMS 数学字体。如果系统中没有安装 AMS 宏包和字体,请查阅 \CTANref|macros/latex/required/amslatex|。 -更全面的列表可于 \CTANref|info/symbols/comprehensive| 处找到。 -\begin{table}[!h] -\caption{数学模式重音符号。} \label{mathacc} -\begin{symbols}{*3{cl}} -\W{\hat}{a} & \W{\check}{a} & \W{\tilde}{a} \\ -\W{\grave}{a} & \W{\dot}{a} & \W{\ddot}{a} \\ -\W{\bar}{a} &\W{\vec}{a} &\W{\widehat}{A} \\ -\W{\acute}{a} & \W{\breve}{a} &\W{\widetilde}{A} -\end{symbols} -\end{table} - -\begin{table}[!h] -\caption{希腊字母。} -\begin{symbols}{*4{cl}} - \X{\alpha} & \X{\theta} & \X{o} & \X{\upsilon} \\ - \X{\beta} & \X{\vartheta} & \X{\pi} & \X{\phi} \\ - \X{\gamma} & \X{\iota} & \X{\varpi} & \X{\varphi} \\ - \X{\delta} & \X{\kappa} & \X{\rho} & \X{\chi} \\ - \X{\epsilon} & \X{\lambda} & \X{\varrho} & \X{\psi} \\ - \X{\varepsilon}& \X{\mu} & \X{\sigma} & \X{\omega} \\ - \X{\zeta} & \X{\nu} & \X{\varsigma} & \\ - \X{\eta} & \X{\xi} & \X{\tau} & \\ - \X{\Gamma} & \X{\Lambda} & \X{\Sigma} & \X{\Psi} \\ - \X{\Delta} & \X{\Xi} & \X{\Upsilon} & \X{\Omega} \\ - \X{\Theta} & \X{\Pi} & \X{\Phi} -\end{symbols} -\end{table} - - - -\begin{table}[!tbp] -\caption{二元关系。} -\bigskip -%You can negate the following symbols by prefixing them with a \ci{not} command. -你可以在下列符号的相应命令前加上~\ci{not}~命令,而得到其否定形式。 -\begin{symbols}{*3{cl}} - \X{<} & \X{>} & \X{=} \\ - \X{\leq}or \verb|\le| & \X{\geq}or \verb|\ge| & \X{\equiv} \\ - \X{\ll} & \X{\gg} & \X{\doteq} \\ - \X{\prec} & \X{\succ} & \X{\sim} \\ - \X{\preceq} & \X{\succeq} & \X{\simeq} \\ - \X{\subset} & \X{\supset} & \X{\approx} \\ - \X{\subseteq} & \X{\supseteq} & \X{\cong} \\ - \X{\sqsubset}$^a$ & \X{\sqsupset}$^a$ & \X{\Join}$^a$ \\ - \X{\sqsubseteq} & \X{\sqsupseteq} & \X{\bowtie} \\ - \X{\in} & \X{\ni}, \verb|\owns| & \X{\propto} \\ - \X{\vdash} & \X{\dashv} & \X{\models} \\ - \X{\mid} & \X{\parallel} & \X{\perp} \\ - \X{\smile} & \X{\frown} & \X{\asymp} \\ - \X{:} & \X{\notin} & \X{\neq}or \verb|\ne| -\end{symbols} -%\centerline{\footnotesize $^a$Use the \textsf{latexsym} package to access this symbol} -\centerline{\footnotesize -$^a$~使用~\textsf{latexsym}~宏包才能得到这个符号} -\end{table} - -\begin{table}[!tbp] -\caption{二元运算符。} -\begin{symbols}{*3{cl}} - \X{+} & \X{-} & & \\ - \X{\pm} & \X{\mp} & \X{\triangleleft} \\ - \X{\cdot} & \X{\div} & \X{\triangleright}\\ - \X{\times} & \X{\setminus} & \X{\star} \\ - \X{\cup} & \X{\cap} & \X{\ast} \\ - \X{\sqcup} & \X{\sqcap} & \X{\circ} \\ - \X{\vee}, \verb|\lor| & \X{\wedge}, \verb|\land| & \X{\bullet} \\ - \X{\oplus} & \X{\ominus} & \X{\diamond} \\ - \X{\odot} & \X{\oslash} & \X{\uplus} \\ - \X{\otimes} & \X{\bigcirc} & \X{\amalg} \\ - \X{\bigtriangleup} &\X{\bigtriangledown}& \X{\dagger} \\ - \X{\lhd}$^a$ & \X{\rhd}$^a$ & \X{\ddagger} \\ - \X{\unlhd}$^a$ & \X{\unrhd}$^a$ & \X{\wr} -\end{symbols} - -\end{table} - -\begin{table}[!tbp] -\caption{“大”运算符。} -\begin{symbols}{*4{cl}} - \X{\sum} & \X{\bigcup} & \X{\bigvee} \\ - \X{\prod} & \X{\bigcap} & \X{\bigwedge} \\ - \X{\coprod} & \X{\bigsqcup} & \X{\biguplus} \\ - \X{\int} & \X{\oint} & \X{\bigodot} \\ - \X{\bigoplus} & &\X{\bigotimes} & \\ -\end{symbols} - -\end{table} - - -\begin{table}[!tbp] -\caption{箭头。} -\begin{symbols}{*2{cl}} - \X{\leftarrow}or \verb|\gets|& \X{\longleftarrow} \\ - \X{\rightarrow}or \verb|\to|& \X{\longrightarrow} \\ - \X{\leftrightarrow} & \X{\longleftrightarrow} \\ - \X{\Leftarrow} & \X{\Longleftarrow} \\ - \X{\Rightarrow} & \X{\Longrightarrow} \\ - \X{\Leftrightarrow} & \X{\Longleftrightarrow}\\ - \X{\mapsto} & \X{\longmapsto} \\ - \X{\hookleftarrow} & \X{\hookrightarrow} \\ - \X{\leftharpoonup} & \X{\rightharpoonup} \\ - \X{\leftharpoondown} & \X{\rightharpoondown} \\ - \X{\rightleftharpoons} & \X{\iff}(bigger spaces) \\ - \X{\uparrow} & \X{\downarrow} \\ - \X{\updownarrow} & \X{\Uparrow} \\ - \X{\Downarrow} & \X{\Updownarrow} \\ - \X{\nearrow} & \X{\searrow} \\ - \X{\swarrow} & \X{\nwarrow} \\ - \X{\leadsto}$^a$ -\end{symbols} -\centerline{\footnotesize $^a$使用~\textsf{latexsym}~宏包才能得到这个符号} -\end{table} - -\begin{table}[!tbp] -\caption{定界符。}\label{tab:delimiters} -\begin{symbols}{*3{cl}} - \X{(} & \X{)} & \X{\uparrow} \\ - \X{[}or \verb|\lbrack| & \X{]}or \verb|\rbrack| & \X{\downarrow} \\ - \X{\{}or \verb|\lbrace| & \X{\}}or \verb|\rbrace| & \X{\updownarrow} \\ - \X{\langle} & \X{\rangle} & \X{|}or \verb|\vert| \\ - \X{\lfloor} & \X{\rfloor} & \X{\lceil} \\ - \X{/} & \X{\backslash} & \X{\Updownarrow}\\ - \X{\Uparrow} & \X{\Downarrow} & \X{\|}or \verb|\Vert| \\ - \X{\rceil} -\end{symbols} -\end{table} - -\begin{table}[!tbp] -\caption{大定界符。} -\begin{symbols}{*3{cl}} - \Y{\lgroup} & \Y{\rgroup} & \Y{\lmoustache} \\ - \Y{\arrowvert} & \Y{\Arrowvert} & \Y{\bracevert} \\ - \Y{\rmoustache} \\ -\end{symbols} -\end{table} - - -\begin{table}[!tbp] -\caption{其他符号。} -\begin{symbols}{*4{cl}} - \X{\dots} & \X{\cdots} & \X{\vdots} & \X{\ddots} \\ - \X{\hbar} & \X{\imath} & \X{\jmath} & \X{\ell} \\ - \X{\Re} & \X{\Im} & \X{\aleph} & \X{\wp} \\ - \X{\forall} & \X{\exists} & \X{\mho}$^a$ & \X{\partial} \\ - \X{'} & \X{\prime} & \X{\emptyset} & \X{\infty} \\ - \X{\nabla} & \X{\triangle} & \X{\Box}$^a$ & \X{\Diamond}$^a$ \\ - \X{\bot} & \X{\top} & \X{\angle} & \X{\surd} \\ -\X{\diamondsuit} & \X{\heartsuit} & \X{\clubsuit} & \X{\spadesuit} \\ - \X{\neg}or \verb|\lnot| & \X{\flat} & \X{\natural} & \X{\sharp} - -\end{symbols} -\centerline{\footnotesize $^a$使用~\textsf{latexsym}~宏包才能得到这个符号} -\end{table} - - -\begin{table}[!tbp] -\caption{非数学符号。} -\bigskip -%These symbols can also be used in text mode. -也可以在文本模式中使用这些符号。 -\begin{symbols}{*4{cl}} - \SC{\dag} & \SC{\S} & \SC{\copyright} & \SC{\textregistered} \\ - \SC{\ddag} & \SC{\P} & \SC{\pounds} & \SC{\%} \\ -\end{symbols} -\end{table} - -% -% -% If the AMS Stuff is not available, we drop out right here :-) -% - -\begin{table}[!tbp] -\caption{AMS~定界符。}\label{AMSD} -\bigskip -\begin{symbols}{*4{cl}} -\X{\ulcorner}&\X{\urcorner}&\X{\llcorner}&\X{\lrcorner}\\ -\X{\lvert}&\X{\rvert}&\X{\lVert}&\X{\rVert} -\end{symbols} -\end{table} - -\begin{table}[!tbp] -\caption{AMS~希腊和希伯来字母。} -\begin{symbols}{*5{cl}} -\X{\digamma} &\X{\varkappa} & \X{\beth} &\X{\gimel} & \X{\daleth} -\end{symbols} -\end{table} - -\begin{table}[!tbp] -\caption{AMS~二元关系。} -\begin{symbols}{*3{cl}} - \X{\lessdot} & \X{\gtrdot} & \X{\doteqdot} \\ - \X{\leqslant} & \X{\geqslant} & \X{\risingdotseq} \\ - \X{\eqslantless} & \X{\eqslantgtr} & \X{\fallingdotseq} \\ - \X{\leqq} & \X{\geqq} & \X{\eqcirc} \\ - \X{\lll}or \verb|\llless| & \X{\ggg} & \X{\circeq} \\ - \X{\lesssim} & \X{\gtrsim} & \X{\triangleq} \\ - \X{\lessapprox} & \X{\gtrapprox} & \X{\bumpeq} \\ - \X{\lessgtr} & \X{\gtrless} & \X{\Bumpeq} \\ - \X{\lesseqgtr} & \X{\gtreqless} & \X{\thicksim} \\ - \X{\lesseqqgtr} & \X{\gtreqqless} & \X{\thickapprox} \\ - \X{\preccurlyeq} & \X{\succcurlyeq} & \X{\approxeq} \\ - \X{\curlyeqprec} & \X{\curlyeqsucc} & \X{\backsim} \\ - \X{\precsim} & \X{\succsim} & \X{\backsimeq} \\ - \X{\precapprox} & \X{\succapprox} & \X{\vDash} \\ - \X{\subseteqq} & \X{\supseteqq} & \X{\Vdash} \\ - \X{\shortparallel} & \X{\Supset} & \X{\Vvdash} \\ - \X{\blacktriangleleft} & \X{\sqsupset} & \X{\backepsilon} \\ - \X{\vartriangleright} & \X{\because} & \X{\varpropto} \\ - \X{\blacktriangleright}& \X{\Subset} & \X{\between} \\ - \X{\trianglerighteq} & \X{\smallfrown} & \X{\pitchfork} \\ - \X{\vartriangleleft} & \X{\shortmid} & \X{\smallsmile} \\ - \X{\trianglelefteq} & \X{\therefore} & \X{\sqsubset} -\end{symbols} -\end{table} - -\begin{table}[!tbp] -\caption{AMS~箭头。} -\begin{symbols}{*2{cl}} - \X{\dashleftarrow} & \X{\dashrightarrow} \\ - \X{\leftleftarrows} & \X{\rightrightarrows} \\ - \X{\leftrightarrows} & \X{\rightleftarrows} \\ - \X{\Lleftarrow} & \X{\Rrightarrow} \\ - \X{\twoheadleftarrow} & \X{\twoheadrightarrow} \\ - \X{\leftarrowtail} & \X{\rightarrowtail} \\ - \X{\leftrightharpoons} & \X{\rightleftharpoons} \\ - \X{\Lsh} & \X{\Rsh} \\ - \X{\looparrowleft} & \X{\looparrowright} \\ - \X{\curvearrowleft} & \X{\curvearrowright} \\ - \X{\circlearrowleft} & \X{\circlearrowright} \\ - \X{\multimap} & \X{\upuparrows} \\ - \X{\downdownarrows} & \X{\upharpoonleft} \\ - \X{\upharpoonright} & \X{\downharpoonright} \\ - \X{\rightsquigarrow} & \X{\leftrightsquigarrow} \\ -\end{symbols} -\end{table} - -\begin{table}[!tbp] -\caption{AMS~二元否定关系符和箭头。}\label{AMSNBR} -\begin{symbols}{*3{cl}} - \X{\nless} & \X{\ngtr} & \X{\varsubsetneqq} \\ - \X{\lneq} & \X{\gneq} & \X{\varsupsetneqq} \\ - \X{\nleq} & \X{\ngeq} & \X{\nsubseteqq} \\ - \X{\nleqslant} & \X{\ngeqslant} & \X{\nsupseteqq} \\ - \X{\lneqq} & \X{\gneqq} & \X{\nmid} \\ - \X{\lvertneqq} & \X{\gvertneqq} & \X{\nparallel} \\ - \X{\nleqq} & \X{\ngeqq} & \X{\nshortmid} \\ - \X{\lnsim} & \X{\gnsim} & \X{\nshortparallel} \\ - \X{\lnapprox} & \X{\gnapprox} & \X{\nsim} \\ - \X{\nprec} & \X{\nsucc} & \X{\ncong} \\ - \X{\npreceq} & \X{\nsucceq} & \X{\nvdash} \\ - \X{\precneqq} & \X{\succneqq} & \X{\nvDash} \\ - \X{\precnsim} & \X{\succnsim} & \X{\nVdash} \\ - \X{\precnapprox} & \X{\succnapprox} & \X{\nVDash} \\ - \X{\subsetneq} & \X{\supsetneq} & \X{\ntriangleleft} \\ - \X{\varsubsetneq} & \X{\varsupsetneq} & \X{\ntriangleright} \\ - \X{\nsubseteq} & \X{\nsupseteq} & \X{\ntrianglelefteq}\\ - \X{\subsetneqq} & \X{\supsetneqq} &\X{\ntrianglerighteq}\\[0.5ex] - \X{\nleftarrow} & \X{\nrightarrow} & \X{\nleftrightarrow}\\ - \X{\nLeftarrow} & \X{\nRightarrow} & \X{\nLeftrightarrow} - -\end{symbols} -\end{table} - -\begin{table}[!tbp] -\caption{AMS~二元运算符。} -\begin{symbols}{*3{cl}} - \X{\dotplus} & \X{\centerdot} & \\ - \X{\ltimes} & \X{\rtimes} & \X{\divideontimes} \\ - \X{\doublecup} & \X{\doublecap} & \X{\smallsetminus} \\ - \X{\veebar} & \X{\barwedge} & \X{\doublebarwedge}\\ - \X{\boxplus} & \X{\boxminus} & \X{\circleddash} \\ - \X{\boxtimes} & \X{\boxdot} & \X{\circledcirc} \\ - \X{\intercal} & \X{\circledast} & \X{\rightthreetimes} \\ - \X{\curlyvee} & \X{\curlywedge} & \X{\leftthreetimes} -\end{symbols} -\end{table} - -\begin{table}[!tbp] -\caption{AMS~其他符号。} -\begin{symbols}{*3{cl}} - \X{\hbar} & \X{\hslash} & \X{\Bbbk} \\ - \X{\square} & \X{\blacksquare} & \X{\circledS} \\ - \X{\vartriangle} & \X{\blacktriangle} & \X{\complement} \\ - \X{\triangledown} &\X{\blacktriangledown} & \X{\Game} \\ - \X{\lozenge} & \X{\blacklozenge} & \X{\bigstar} \\ - \X{\angle} & \X{\measuredangle} & \\ - \X{\diagup} & \X{\diagdown} & \X{\backprime} \\ - \X{\nexists} & \X{\Finv} & \X{\varnothing} \\ - \X{\eth} & \X{\sphericalangle} & \X{\mho} -\end{symbols} -\end{table} - - - -\begin{table}[!tbp] -\caption{数学字母。} -\begin{symbols}{@{}*3l@{}} -实例& 命令 &所需宏包\\ -\hline -\rule{0pt}{1.05em}$\mathrm{ABCDE abcde 1234}$ - & \verb|\mathrm{ABCDE abcde 1234}| - & \\ -$\mathit{ABCDE abcde 1234}$ - & \verb|\mathit{ABCDE abcde 1234}| - & \\ -$\mathnormal{ABCDE abcde 1234}$ - & \verb|\mathnormal{ABCDE abcde 1234}| - & \\ -$\mathcal{ABCDE abcde 1234}$ - & \verb|\mathcal{ABCDE abcde 1234}| - & \\ -$\mathscr{ABCDE abcde 1234}$ - &\verb|\mathscr{ABCDE abcde 1234}| - &\pai{mathrsfs}\\ -$\mathfrak{ABCDE abcde 1234}$ - & \verb|\mathfrak{ABCDE abcde 1234}| - &\pai{amsfonts} or \textsf{amssymb} \\ -$\mathbb{ABCDE abcde 1234}$ - & \verb|\mathbb{ABCDE abcde 1234}| - &\pai{amsfonts} or \textsf{amssymb} \\ -\end{symbols} -\end{table} - - -\endinput - -% - -% Local Variables: -% TeX-master: "lshort2e" -% mode: latex -% mode: flyspell -% End: diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/make.bat b/Master/texmf-dist/doc/latex/lshort-chinese/src/make.bat new file mode 100755 index 00000000000..686897658a2 --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-chinese/src/make.bat @@ -0,0 +1,24 @@ +@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 + +if "%1"=="clean" goto clean + +set TEX=xelatex +set MODE=-interaction=nonstopmode +set MAKEINDEX=makeindex + +%TEX% %MODE% %LSHORT% +%MAKEINDEX% -s %LSHORT%.ist %LSHORT% +%TEX% %MODE% %LSHORT% + +if exist %PDF% ( +move %PDF% .. +start "" "..\%PDF%" +) +exit + +:clean +del %TEMP% +exit diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/math.tex b/Master/texmf-dist/doc/latex/lshort-chinese/src/math.tex deleted file mode 100644 index bfd2b10a90e..00000000000 --- a/Master/texmf-dist/doc/latex/lshort-chinese/src/math.tex +++ /dev/null @@ -1,967 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Contents: Math typesetting with LaTeX -% $Id: math.tex,v 1.2 2003/03/19 20:57:46 oetiker Exp $ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% 中文 4.20 翻译:liwenjun@bbs.ctex email:sydlee@gmail.com -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%\chapter{Typesetting Mathematical Formulae} - -\chapter{数学公式} - -%\begin{intro} -% Now you are ready! In this chapter, we will attack the main strength -% of \TeX{}: mathematical typesetting. But be warned, this chapter -% only scratches the surface. While the things explained here are -% sufficient for many people, don't despair if you can't find a -% solution to your mathematical typesetting needs here. It is highly likely -% that your problem is addressed in \AmS-\LaTeX{}% -% \footnote{The \emph{American Mathematical Society} has produced a -% powerful extension to \LaTeX{}. Many of the examples in this -% chapter make use of this extension. It is provided with all recent -% \TeX{} distributions. If yours is missing it, go to \CTANref|macros/latex/required/amslatex|.} -%\end{intro} -\begin{intro} -现在你已经准备好了。那么在这一章里,让我们来着手于 \TeX{} 的强大之处:数学排版。但是,要提醒你的是,本章 -只是浅尝辄止。可对很多人来说,这里所讲述的内容已很受用,如果你在这里找不到你所需数学排版的解决方案的话, -也请不要灰心。极有可能在 \AmS-\LaTeX{}\footnote{\normalfont{\textbf -美国数学学会} 制作了 -一个强大的 \LaTeX{} 扩展。本章的很多例子都使用了这个扩展。所有最近的 \TeX{} 发行版中都提供了这个扩展。如果 -你的系统中没有,可以去 \CTANref|macros/latex/required/amslatex| 找找看。} 中能找到针对你的问题的某个解决方案。 - - -\end{intro} - - -%\section{General} -\section{综述} -% \LaTeX{} has a special mode for typesetting \wi{mathematics}. Mathematics can be typeset inline -%within a paragraph, or the paragraph can be broken to typeset it separately. Mathematical text -%\emph{within} a paragraph is entered between \ci{(} -%and \ci{)}, \index{$@\texttt{\$}} %$ -%between \texttt{\$} and \texttt{\$}, or between %} -%\verb|\begin{|\ei{math}\verb|}| and \verb|\end{math}|.\index{formulae} -\LaTeX{} 使用一种特有的模式来排版数学 (\wi{mathematics}) 公式。数学公式允许以行间形式排版在一个段落之中, -也可以以独立形式排版,此时段落可能会被拆开。处于{\textbf -段内}的数学文本要放在 \ci{(} 与 \ci{)} 之间, -\index{$@\texttt{\$}}\texttt{\$} 与 \texttt{\$} 之间,或者 \verb|\begin{|\ei{math}\verb|}| 与 \verb|\end{math}| 之间。\index{formulae} - -\begin{example} -Add $a$ squared and $b$ squared -to get $c$ squared. Or, using -a more mathematical approach: -$c^{2}=a^{2}+b^{2}$ -\end{example} -\begin{example} -\TeX{} is pronounced as -\(\tau\epsilon\chi\).\\[6pt] -100 m$^{3}$ of water\\[6pt] -This comes from my -\begin{math}\heartsuit\end{math} -\end{example} - -%When you want your larger mathematical equations or formulae to be set apart -%from the rest of the paragraph, it is preferable to \emph{display} them, -%rather than to break the paragraph apart. -%To do this, you can either enclose them -%in \ci{[} and \ci{]}, or between -%\verb|\begin{|\ei{displaymath}\verb|}| and -%\verb|\end{displaymath}|. - -当你希望把自己的一些较长的数学方程或是公式单独的放在段落之外的时候,那么你最好{\textbf -显示} (display) 它们,而不要拆开此段落。 -为此,你可以把它们放在 \ci{[} 与 \ci{]} 之间,或者 \verb|\begin{|\ei{displaymath}\verb|}| 与 \verb|\end{displaymath}| 之间。 - -\begin{example} -Add $a$ squared and $b$ squared -to get $c$ squared. Or, using -a more mathematical approach: -\begin{displaymath} -c^{2}=a^{2}+b^{2} -\end{displaymath} -or you can type less with: -\[a+b=c\] -\end{example} -%If you want \LaTeX{} to enumerate your equations, you can use the -%\ei{equation} environment. -%You can then \ci{label} an equation number and refer to it somewhere else in the -%text by using \ci{ref} or the \ci{eqref} command from the \pai{amsmath} package: - - -如果你希望 \LaTeX{} 给你的方程编上号,你可以使用 \ei{equation} 环境。然后你就可以用 \ci{label} 来给一个方程加上 -标签并在文中的某处用 \ci{ref} 或 \pai{amsmath} 宏包中的 \ci{eqref} 命令来引用它。 -\begin{example} -\begin{equation} \label{eq:eps} -\epsilon > 0 -\end{equation} -From (\ref{eq:eps}), we gather -\ldots{}From \eqref{eq:eps} we -do the same. -\end{example} - -%Note the difference in typesetting style between equations that are typeset and those -%that are displayed: -注意一下公式排版样式的不同,前者是行间式样,后者是显示式样: -\begin{example} -$\lim_{n \to \infty} -\sum_{k=1}^n \frac{1}{k^2} -= \frac{\pi^2}{6}$ -\end{example} -\begin{example} -\begin{displaymath} -\lim_{n \to \infty} -\sum_{k=1}^n \frac{1}{k^2} -= \frac{\pi^2}{6} -\end{displaymath} -\end{example} - - - -%There are differences between \emph{math mode} and \emph{text mode}. For -%example, in \emph{math mode}: -\textbf{数学模式}和\textbf{文本模式}都一些不同之处。例如,在{\textbf -数学模式}中: -\begin{enumerate} - -%\item Most spaces and line breaks do not have any significance, as all spaces -%are either derived logically from the mathematical expressions, or -%have to be specified with special commands such as \ci{,}, \ci{quad} or -%\ci{qquad}. -% -%\item Empty lines are not allowed. Only one paragraph per formula. -% -%\item Each letter is considered to be the name of a variable and will be -%typeset as such. If you want to typeset normal text within a formula -%(normal upright font and normal spacing) then you have to enter the -%text using the \verb|\textrm{...}| commands (see also section \ref{sec:fontsz} on page \pageref{sec:fontsz}). -%\end{enumerate} - - -\item 大多数的空格和断行没有任何意义,而且所有的空隙要么是从相应数学表达式中自然的生成,要么是用一些专门的命令来指定,如 \ci{,}, \ci{quad} 或 \ci{qquad}。 -\item 空白行是不允许的。每个公式只能为一段。 -\item 每一个字母都会被认为是一个变量名,且会相应被排版为此种样式。如果你想要在公式中排版普通的文本(直立字体和普通字距),那么你必须要把这些文本放在 \verb|\textrm{...}| 命令中(参阅第 \pageref{sec:fontsz} 页的第 \ref{sec:fontsz} 节)。 -\end{enumerate} - - - -\begin{example} -\begin{equation} -\forall x \in \mathbf{R}: -\qquad x^{2} \geq 0 -\end{equation} -\end{example} -\begin{example} -\begin{equation} -x^{2} \geq 0\qquad -\textrm{for all }x\in\mathbf{R} -\end{equation} -\end{example} - - -% -% Add AMSSYB Package ... Blackboard bold .... R for realnumbers -% -%Mathematicians can be very fussy about which symbols are used: -%it would be conventional here to use `\wi{blackboard bold}', -%\index{bold symbols} which is obtained using \ci{mathbb} from the -%package \pai{amsfonts} or \pai{amssymb}. -%\ifx\mathbb\undefined\else -%The last example becomes - -数学家对于符号的使用总是吹毛求疵:这里习惯上要使用空心粗体 (``\wi{blackboard -bold}''),\index{bold symbols} -要包含此字体,得用到 \pai{amsfonts} 或是 \pai{amssymb} 宏包的 \ci{mathbb} 命令。\ifx\mathbb\undefined\else -上面的例子就变成 - -\begin{example} -\begin{displaymath} -x^{2} \geq 0\qquad -\textrm{for all }x\in\mathbb{R} -\end{displaymath} -\end{example} -\fi - -%\section{Grouping in Math Mode} -\section{数学模式的群组} -%Most math mode commands act only on the next character, so if you -%want a command to affect several characters, you have to group them -%together using curly braces: \verb|{...}|. - -大部分数学模式的命令只对其后的一个字符有效,因此,如果你希望一个命令对多个字符起作用,你必须把它们放在 -一个群组中,使用花括号:\verb|{...}|. -\begin{example} -\begin{equation} -a^x+y \neq a^{x+y} -\end{equation} -\end{example} - -%\section{Building Blocks of a Mathematical Formula} -\section{数学公式的基本元素} -%This section describes the most important commands used in mathematical -%typesetting. Take a look at section \ref{symbols} on -%page \pageref{symbols} for a detailed list of commands for typesetting -%mathematical symbols. -% -%\textbf{Lowercase \wi{Greek letters}} are entered as \verb|\alpha|, -% \verb|\beta|, \verb|\gamma|, \ldots, uppercase letters -%are entered as \verb|\Gamma|, \verb|\Delta|, \ldots\footnote{There is no -% uppercase Alpha defined in \LaTeXe{} because it looks the same as a -% normal roman A. Once the new math coding is done, things will -% change.} - -这一节将介绍数学排版中的最重要的一些命令。详细的数学排版符号的命令列表, -可参阅第 \pageref{symbols} 页第 \ref{symbols} 节。 - -\textbf{小写希腊字母} (\wi{Greek -letters}) 的输入为 \verb|\alpha|、\verb|\beta|、 \verb|\gamma|……, -大写字母的输入为 \verb|\Gamma|、 \verb|\Delta| -……\footnote{\LaTeXe{} 中没有定义大写的 Alpha,因为 -它外形与罗马字母 A 一样。等到新的数学编码完成后,情形可能会有所更改。} - -\begin{example} -$\lambda,\xi,\pi,\mu,\Phi,\Omega$ -\end{example} - -%\textbf{Exponents and Subscripts} can be specified using\index{exponent}\index{subscript} -%the \verb|^|\index{^@\verb"|^"|} and the \verb|_|\index{_@\verb"|_"|} character. - -{\textbf -指数和下标}\index{exponent}\index{subscript}可以能过使用 \verb|^| \index{^@\verb"|^"|}和 \verb|_| \index{_@\verb"|_"|}两个符号来指定。 -\begin{example} -$a_{1}$ \qquad $x^{2}$ \qquad -$e^{-\alpha t}$ \qquad -$a^{3}_{ij}$\\ -$e^{x^2} \neq {e^x}^2$ -\end{example} - -%The \textbf{\wi{square root}} is entered as \ci{sqrt}; the -%$n^\mathrm{th}$ root is generated with \verb|\sqrt[|$n$\verb|]|. The size of -%the root sign is determined automatically by \LaTeX. If just the sign -%is needed, use \verb|\surd|. - -\textbf{平方根} (\wi{square -root}) 输入用 \ci{sqrt};$n$ 次根用 \verb|\sqrt[|$n$\verb|]| 来得到。根号的大小由 - \LaTeX 自动决定。如果仅仅需要根号,可以用 \verb|\surd| 得到。 -\begin{example} -$\sqrt{x}$ \qquad -$\sqrt{ x^{2}+\sqrt{y} }$ -\qquad $\sqrt[3]{2}$\\[3pt] -$\surd[x^2 + y^2]$ -\end{example} - -%The commands \ci{overline} and \ci{underline} create -%\textbf{horizontal lines} directly over or under an expression. -%\index{horizontal!line} - -命令 \ci{overline} 和 \ci{underline} 产生{\textbf -水平线},它们会被放在表达式的正上方或是正下方。\index{horizontal!line} -\begin{example} -$\overline{m+n}$ -\end{example} - -%The commands \ci{overbrace} and \ci{underbrace} create -%long \textbf{horizontal braces} over or under an expression. -%\index{horizontal!brace} - -命令 \ci{overbrace} 和 \ci{underbrace} 可以在一个表达式的上方或下方生成{\textbf -水平括号}\index{horizontal!brace} -\begin{example} -$\underbrace{a+b+\cdots+z}_{26}$ -\end{example} - -%\index{mathematical!accents} To add mathematical accents such as small -%arrows or \wi{tilde} signs to variables, you can use the commands -%given in Table \ref{mathacc} on page \pageref{mathacc}. Wide hats and -%tildes covering several characters are generated with \ci{widetilde} -%and \ci{widehat}. The \verb|'|\index{'@\verb"|'"|} symbol gives a -%\wi{prime}. - -\index{mathematical!accents}为了给变量增加数学重音符号,如小箭头或是 $\tilde{}$ (\wi{tilde}), -你可以使用第 \pageref{mathacc} 页表 \ref{mathacc} 所列出的命令。覆盖多个字符的宽“帽子”和 -宽 $\tilde{}$ 号,可以由 \ci{widehat} 和 \ci{widetilde} 得到。 - \verb|'|\index{'@\verb"|'"|} 符号则给出了一个撇号 (\wi{prime})。 - -% a dash is -- -\begin{example} -\begin{displaymath} -y=x^{2}\qquad y'=2x\qquad y''=2 -\end{displaymath} -\end{example} - -%\textbf{Vectors}\index{vectors} often are specified by adding small -%\wi{arrow symbols} on top of a variable. This is done with the -%\ci{vec} command. The two commands \ci{overrightarrow} and -%\ci{overleftarrow} are useful to denote the vector from $A$ to $B$. - -{\textbf -向量}\index{vectors}可以通过在一个变量上方添加小箭头 (\wi{arrow -symbols}) 来指定。为此,使用 \ci{vec} 命令 -即可。\ci{overrightarrow} 和 \ci{overleftarrow} 这两个命令可以用来表示一个从 $A$ 到 $B$ 的向量。 - -\begin{example} -\begin{displaymath} -\vec a\quad\overrightarrow{AB} -\end{displaymath} -\end{example} - -%Usually you don't typeset an explicit dot sign to indicate -%the multiplication operation; however sometimes it is written -%to help the reader's eyes in grouping a formula. -%You should use \ci{cdot} in these cases: - -通常你没有必要打出一个明显的点号来表明乘法运算;但是有时候也需要它来帮助读者分清一个公式。在这些情况下,你 -应该使用 \ci{cdot} 命令。 -\begin{example} -\begin{displaymath} -v = {\sigma}_1 \cdot {\sigma}_2 - {\tau}_1 \cdot {\tau}_2 -\end{displaymath} -\end{example} - - -%Names of log-like functions are often typeset in an upright -%font, and not in italics as variables are, so \LaTeX{} supplies the -%following commands to typeset the most important function names: -%\index{mathematical!functions} - -log 等类似的函数名通常是用直立字体,而不是如同变量一样用斜体,因此 \LaTeX{} 提供了以下的命令来排版这些最重要的函数名: -\index{mathematical!functions} - -\begin{tabular}{llllll} -\ci{arccos} & \ci{cos} & \ci{csc} & \ci{exp} & \ci{ker} & \ci{limsup} \\ -\ci{arcsin} & \ci{cosh} & \ci{deg} & \ci{gcd} & \ci{lg} & \ci{ln} \\ -\ci{arctan} & \ci{cot} & \ci{det} & \ci{hom} & \ci{lim} & \ci{log} \\ -\ci{arg} & \ci{coth} & \ci{dim} & \ci{inf} & \ci{liminf} & \ci{max} \\ -\ci{sinh} & \ci{sup} & \ci{tan} & \ci{tanh}& \ci{min} & \ci{Pr} \\ -\ci{sec} & \ci{sin} \\ -\end{tabular} - -\begin{example} -\[\lim_{x \rightarrow 0} -\frac{\sin x}{x}=1\] -\end{example} - -%For the \wi{modulo function}, there are two commands: \ci{bmod} for the -%binary operator ``$a \bmod b$'' and \ci{pmod} -%for expressions -%such as ``$x\equiv a \pmod{b}$.'' - -对于取模函数 (\wi{modulo -function}),有两个命令:\ci{bmod} 用于二元运算 ``$a \bmod -b$'',而 \ci{pmod} 则用于表达式如 ``$x\equiv a \pmod{b}$''。 -\begin{example} -$a\bmod b$\\ -$x\equiv a \pmod{b}$ -\end{example} - -%A built-up \textbf{\wi{fraction}} is typeset with the -%\ci{frac}\verb|{...}{...}| command. -%Often the slashed form $1/2$ is preferable, because it looks better -%for small amounts of `fraction material.' - - -一个上下的{\textbf -分式 (\wi{fraction})} 可用 \ci{frac}\verb|{...}{...}| 命令得到。而其倾斜形式如 $1/2$,有时是更好的选择,因为 -对于简短的分子分母来说,这看上去更美观。 -\begin{example} -$1\frac{1}{2}$ hours -\begin{displaymath} -\frac{ x^{2} }{ k+1 }\qquad -x^{ \frac{2}{k+1} }\qquad -x^{ 1/2 } -\end{displaymath} -\end{example} - -%To typeset binomial coefficients or similar structures, you can use -%the command \ci{binom} from the \pai{amsmath} package. - -排版二项式系数或类似的结构,你可以使用 \pai{amsmath} 宏包中的 \ci{binom} 命令。 -\begin{example} -\begin{displaymath} -\binom{n}{k}\qquad\mathrm{C}_n^k -\end{displaymath} -\end{example} - -%For binary relations it may be useful to stack symbols over each other. -%\ci{stackrel} puts the symbol given -%in the first argument in superscript-like size over the second, which -%is set in its usual position. - -对于二元关系,有时候你需要到把符号互相堆积起来。 \ci{stackrel} 命令会把其第一个参数中的符号以上标大小放在第二个上面,而第二个符号 -则以正常的位置摆放。 - -\begin{example} -\begin{displaymath} -\int f_N(x) \stackrel{!}{=} 1 -\end{displaymath} -\end{example} - -%The \textbf{\wi{integral operator}} is generated with \ci{int}, the -%\textbf{\wi{sum operator}} with \ci{sum}, and the \textbf{\wi{product operator}} -%with \ci{prod}. The upper and lower limits are specified with \verb|^| -%and \verb|_| like subscripts and superscripts.\index{superscript} -%\footnote{\AmS-\LaTeX{} in addition has multi-line super-/subscripts.} - -\textbf{积分号} (\wi{integral -operator}) 可以用 \ci{int} 产生,\textbf{求和号} (\wi{sum -operator}) 用 \ci{sum} 命令, 而\textbf{乘积号} (\wi{product -operator}) 要用 \ci{prod} 命令。上限和下限用 \verb|^| 和 \verb|_| 来指定,如同上标与下标一样 -\index{superscript}\footnote{\AmS-\LaTeX{} 中另有多行的上标/下标。}。 - - -\begin{example} -\begin{displaymath} -\sum_{i=1}^{n} \qquad -\int_{0}^{\frac{\pi}{2}} \qquad -\prod_\epsilon -\end{displaymath} -\end{example} - -%To get more control over the placement of indices in complex -%expressions, \pai{amsmath} provides two additional tools: -%the \ci{substack} command and the \ei{subarray} environment: - -为了更好的控制一个复杂表达式中指标的放置,\pai{amsmath} 提供了两个额外的工具: -\ci{substack} 命令和 \ei{subarray} 环境: -\begin{example} -\begin{displaymath} -\sum_{\substack{0c$}\\ - b+x & \textrm{in the morning}\\ - l & \textrm{all day long} - \end{array} \right. -\end{displaymath} -\end{example} - -%Just as with the \verb|tabular| environment, you can also -%draw lines in the \ei{array} environment, e.g. separating the entries of -%a matrix: -就像在 \verb|tabular| 环境中一样,你也可以在 \ei{array} 环境中画线,如分隔矩阵中元素: -\begin{example} -\begin{displaymath} -\left(\begin{array}{c|c} - 1 & 2 \\ -\hline -3 & 4 -\end{array}\right) -\end{displaymath} -\end{example} - - - -%For formulae running over several lines or for \wi{equation system}s, -%you can use the environments \ei{eqnarray}, and \verb|eqnarray*| -%instead of \texttt{equation}. In \texttt{eqnarray} each line gets an -%equation number. The \verb|eqnarray*| does not number anything. -% -%The \texttt{eqnarray} and the \verb|eqnarray*| environments work like -%a 3-column table of the form \verb|{rcl}|, where the middle column can -%be used for the equal sign, the not-equal sign, or any other sign -%you see fit. The \verb|\\| command breaks the lines. -对于跨行的长公式或是方程组 (\wi{equation -system}),你可以使用 \ei{eqnarray} 和 \verb|eqnarray*| 环境来替代 \texttt{equation} 环境。 -在 \texttt{eqnarray} 环境中每一行都有一个等式编号。\verb|eqnarray*| 则不添加编号。 - -\ei{eqnarray} 和 \verb|eqnarray*| 环境的用法与一个 \verb|{rcl}| 形式的 3 列表格相类似,这里中间一列可以用来放等号,不等号, -或者是其他你选择的符号。 \verb|\\| 命令可以断行。 -\begin{example} -\begin{eqnarray} -f(x) & = & \cos x \\ -f'(x) & = & -\sin x \\ -\int_{0}^{x} f(y)dy & - = & \sin x -\end{eqnarray} -\end{example} -%Notice that the space on either side of the -%equal signs is rather large. It can be reduced by setting -%\verb|\setlength\arraycolsep{2pt}|, as in the next example. -% -%\index{long equations} \textbf{Long equations} will not be -%automatically divided into neat bits. The author has to specify -%where to break them and how much to indent. The following two methods -%are the most common ways to achieve this. - -注意,这里等号两边空白都有些大。\verb|\setlength\arraycolsep{2pt}| 可以调小它,比如在下一个例子里。 - -\index{long equations}{\textbf -长等式}不能被分成合适的小段。作者必须指定在哪里断且如何缩进。以下两种方法是最常用的。 -\begin{example} -{\setlength\arraycolsep{2pt} -\begin{eqnarray} -\sin x & = & x -\frac{x^{3}}{3!} - +\frac{x^{5}}{5!}-{} - \nonumber\\ -&& {}-\frac{x^{7}}{7!}+{}\cdots -\end{eqnarray}} -\end{example} -\begin{example} -\begin{eqnarray} -\lefteqn{ \cos x = 1 - -\frac{x^{2}}{2!} +{} } - \nonumber\\ - & & {}+\frac{x^{4}}{4!} - -\frac{x^{6}}{6!}+{}\cdots -\end{eqnarray} -\end{example} - -%\enlargethispage{\baselineskip} -%\noindent The \ci{nonumber} command tells \LaTeX{} not to generate a number for -%this equation. -% -%It can be difficult to get vertically aligned equations to look right -%with these methods; the package \pai{amsmath} provides a more -%powerful set of alternatives. (see \verb|align|, \verb|flalign|, -%\verb|gather|, \verb|multline| and \verb|split| environments). - -\noindent\ci{nonumber} 命令告诉 \LaTeX{} 不要给这个等式编号。 - -用这种方法很难让等式正确的垂直对齐;\pai{amsmath} 宏包提供了一系列强有力的替代选择(参见 -\verb|align|, \verb|flalign|, \verb|gather|, -\verb|multline| 和 \verb|split| 环境)。 - - -\section{虚位} - -%We can't see phantoms, but they still occupy some space in many people's minds. -%\LaTeX{} is no different. We can use this for -%some interesting spacing tricks. -% -%When vertically aligning text using \verb|^| and \verb|_| \LaTeX{} is sometimes -%just a little bit too helpful. Using the \ci{phantom} command you can -%reserve space for characters that do not show up in the final output. -%The easiest way to understand this is to look at the following examples. -我们看不见虚位(phantom,也有幻影的意思),但是在许多人的头脑中它们依然占有一定的位置。\LaTeX{} 中也一样。我们可以使用它来实现一些有趣的小技巧。 - -当使用 \verb|^| 和 \verb|_| 时,\LaTeX{} 对文本的垂直对齐有时显得太过于自作多情。使用 \ci{phantom} 命令你可以 -给不在最终输出中显示的字符保留位置。理解此意的最好方法是看下面的例子。 -\begin{example} -\begin{displaymath} -{}^{12}_{\phantom{1}6}\textrm{C} -\qquad \textrm{versus} \qquad -{}^{12}_{6}\textrm{C} -\end{displaymath} -\end{example} -\begin{example} -\begin{displaymath} -\Gamma_{ij}^{\phantom{ij}k} -\qquad \textrm{versus} \qquad -\Gamma_{ij}^{k} -\end{displaymath} -\end{example} - -%\section{Math Font Size}\label{sec:fontsz} - -\section{数学字体尺寸}\label{sec:fontsz} -\index{math font -size}在数学模式中,\TeX{} 根据上下文选择字体大小。例如,上标会排版成较小的字体。 -如果你想要把等式的一部分排版成罗马字体,不要用 \verb|\textrm| 命令,只因 \verb|\textrm| 会暂时切换到文本模式, -而此时字体大小切换机制将不起作用。使用 \verb|\mathrm| 来保持字体大小切换机制的正常。但是要小心,\ci{mathrm} -只对较短的项有效。空格依然无效而且重音符号也不起作用\footnote{\AmS-\LaTeX{}(\pai{amsmath}) 宏包可以让 \ci{textrm} 命令与字体大小切换机制和谐共存。}。 - - -%In math mode, \TeX{} selects the font size -%according to the context. Superscripts, for example, get typeset in a -%smaller font. If you want to typeset part of an equation in roman, -%don't use the \verb|\textrm| command, because the font size switching -%mechanism will not work, as \verb|\textrm| temporarily escapes to text -%mode. Use \verb|\mathrm| instead to keep the size switching mechanism -%active. But pay attention, \ci{mathrm} will only work well on short -%items. Spaces are still not active and accented characters do not -%work.\footnote{The \AmS-\LaTeX{} (\pai{amsmath}) package makes the \ci{textrm} command -% work with size changing.} - - -\begin{example} -\begin{equation} -2^{\textrm{nd}} \quad -2^{\mathrm{nd}} -\end{equation} -\end{example} - -%Sometimes you still need to tell \LaTeX{} the correct font -%size. In math mode, this is set with the following four commands: -有时你仍需告诉 \LaTeX{} 正确的字体大小。在数学模式中,可用以下四个命令来设定: -\begin{flushleft} -\ci{displaystyle} ($\displaystyle 123$), - \ci{textstyle} ($\textstyle 123$), -\ci{scriptstyle} ($\scriptstyle 123$) and -\ci{scriptscriptstyle} ($\scriptscriptstyle 123$). -\end{flushleft} - -%Changing styles also affects the way limits are displayed. -改变样式也会影响到上下限的显示方式。 -\begin{example} -\begin{displaymath} - \frac{\displaystyle - \sum_{i=1}^n(x_i-\overline x) - (y_i-\overline y)} - {\displaystyle\biggl[ - \sum_{i=1}^n(x_i-\overline x)^2 -\sum_{i=1}^n(y_i-\overline y)^2 -\biggr]^{1/2}} -\end{displaymath} -\end{example} -% This is not a math accent, and no maths book would be set this way. -% mathop gets the spacing right. - -%\noindent This is an examples with larger -%brackets than \verb|\left[ \right]| provides. The -%\ci{biggl} and \ci{biggr} commands are used for left and right brackets -%respectively. -\noindent 这个例子中的括号要比 \verb|\left[ \right]| 提供的括号更大些。\ci{biggl} 和 \ci{biggr} 命令分别 -对应于左和右括号。 - -%\section{Theorems, Laws, \ldots} -\section{定理、定律……} -%When writing mathematical documents, you probably need a way to -%typeset ``Lemmas'', ``Definitions'', ``Axioms'' and similar -%structures. -当写数学文档时,你可能需要一种方法来排版“引理”、“定义”、“公理”及其他类似的结构。 -\begin{lscommand} -\ci{newtheorem}\verb|{|\emph{name}\verb|}[|\emph{counter}\verb|]{|% - \emph{text}\verb|}[|\emph{section}\verb|]| -\end{lscommand} -%The \emph{name} argument is a short keyword used to identify the -%``theorem.'' With the \emph{text} argument you define the actual name -%of the ``theorem,'' which will be printed in the final document. -% -%The arguments in square brackets are optional. They are both used to -%specify the numbering used on the ``theorem.'' Use the \emph{counter} -%argument to specify the \emph{name} of a previously declared -%``theorem.'' The new ``theorem'' will then be numbered in the same -%sequence. The \emph{section} argument allows you to specify the -%sectional unit within which the ``theorem'' should get its numbers. -% -%After executing the \ci{newtheorem} command in the preamble of your -%document, you can use the following command within the document. - -参量 \emph{name} 是用来标识“定理”的短关键字。而参数 \emph{text} 才是真正的“定理”名,它会在最终的文档中被打印出来。 - -方括号中是可选参量。两者都均用来指定“定理”的编号问题。使用 \emph{counter} 参数来指定先前声明的“定理”的 \emph{name}。 -则此新的“定理”将与先前定理统一编号。\emph{section} 参数让你来指定章节单元,而“定理”会按相应的章节层次来编号。 - -在你的文档的导言区执行 \ci{newtheorem} 命令后,你就可以在文档中使用以下命令了。 - - -\begin{code} -\verb|\begin{|\emph{name}\verb|}[|\emph{text}\verb|]|\\ -This is my interesting theorem\\ -\verb|\end{|\emph{name}\verb|}| -\end{code} - -%The \pai{amsthm} package provides the \ci{newtheoremstyle}\verb|{|\emph{style}\verb|}| -%command which lets you define what the theorem is all about by picking -%from three predefined styles: \texttt{definition} (fat title, roman body), -%\texttt{plain} (fat title, italic body) or \texttt{remark} (italic -%title, roman body). -% -%This should be enough theory. The following examples should -%remove any remaining doubt, and make it clear that the -%\verb|\newtheorem| environment is way too complex to understand. - -\pai{amsthm} 宏包提供了 \ci{newtheoremstyle}\verb|{|\emph{style}\verb|}| 命令,通过从三个预定义样式中选择其一来 -定义定理的外观,三个样式分别为:\texttt{definition} (标题粗体,内容罗马体), -\texttt{plain} (标题粗体,内容斜体)和 \texttt{remark} -(标题斜体,内容罗马体)。 - -理论上已经说够多了,下面我们联系一下实践,这个例子希望能够带走你的疑问并让你知道 \verb|\newtheorem| 环境其实比较复杂 -且不易理解。 -% actually define things -\theoremstyle{definition} \newtheorem{law}{Law} -\theoremstyle{plain} \newtheorem{jury}[law]{Jury} -\theoremstyle{remark} \newtheorem*{marg}{Margaret} - -%First define the theorems: -首先定义定理环境 -\begin{verbatim} -\theoremstyle{definition} \newtheorem{law}{Law} -\theoremstyle{plain} \newtheorem{jury}[law]{Jury} -\theoremstyle{remark} \newtheorem*{marg}{Margaret} -\end{verbatim} - -\begin{example} -\begin{law} \label{law:box} -Don't hide in the witness box -\end{law} -\begin{jury}[The Twelve] -It could be you! So beware and -see law \ref{law:box}\end{jury} -\begin{marg}No, No, No\end{marg} -\end{example} - -%The ``Jury'' theorem uses the same counter as the ``Law'' -%theorem, so it gets a number that is in sequence with -%the other ``Laws.'' The argument in square brackets is used to specify -%a title or something similar for the theorem. -“Jury” 定理与 “Law” 定理共用了同一个计数器,因此它的编号与其他 “Law” 定理的编号是顺序下来的。 -方括号中的参量用来指定定理的一个标题或是其他类似的内容。 -\begin{example} -\flushleft -\newtheorem{mur}{Murphy}[section] -\begin{mur} -If there are two or more -ways to do something, and -one of those ways can result -in a catastrophe, then -someone will do it.\end{mur} -\end{example} - -%The ``Murphy'' theorem gets a number that is linked to the number of -%the current section. You could also use another unit, for example chapter or -%subsection. -% -%The \pai{amsthm} also provides the \ei{proof}. -“Murphy” 定理有一个与当前章节相联系的编号。你也可以使用其他的单元,如章 (chapter) 或小节 (subsection)。 - -\pai{amsthm} 还提供了一个 \ei{proof} 环境。 - -\begin{example} -\begin{proof} - Trivial, use -\[E=mc^2\] -\end{proof} -\end{example} - -%With the command \ci{qedhere} you can move the `end of proof symbol'. symbol around for -%situations where it would end up alone on a line. - -使用 \ci{qedhere} 命令你可以移动“证毕”符。“证毕”符默认是在证明结束时单独放于一行。 - -\begin{example} -\begin{proof} - Trivial, use -\[E=mc^2 \qedhere\] -\end{proof} -\end{example} - -%\section{Bold Symbols} -\section{粗体符号} -\index{bold symbols} - -%It is quite difficult to get bold symbols in \LaTeX{}; this is -%probably intentional as amateur typesetters tend to overuse them. The -%font change command \verb|\mathbf| gives bold letters, but these are -%roman (upright) whereas mathematical symbols are normally italic. -%There is a \ci{boldmath} command, but \emph{this can only be used -%outside mathematics mode}. It works for symbols too. - -在 \LaTeX{} 中要得到粗体符号相当的不容易;这也许是故意设置的,以防业余水平的排版者过度的使用它们。字体变换命令 - \verb|\mathbf| 可得到粗体字母,但是得到的是罗马体(直立的)而数学符号通常要求是斜体。 -还有一个 \ci{boldmath} 命令,但是{\textbf -它只能用在数学模式之外}。它不仅作用于字母也作用于符号。 - -\begin{example} -\begin{displaymath} -\mu, M \qquad \mathbf{M} \qquad -\mbox{\boldmath $\mu, M$} -\end{displaymath} -\end{example} - -%\noindent -%Notice that the comma is bold too, which may not be what is required. -% -%The package \pai{amsbsy} (included by \pai{amsmath}) as well as the -%\pai{bm} from the tools bundle make this much easier as they include -%a \ci{boldsymbol} command. -%\ifx\boldsymbol\undefined\else - -\noindent 请注意,逗号也成粗体了,这也许不是所需的。 - -使用 \pai{amsbsy} 宏包(包含在 \pai{amsmath} 中)或 tool 宏包集中的 \pai{bm} 将会便利许多,因为它们包含一个叫 \ci{boldsymbol} 的命令。 - -\ifx\boldsymbol\undefined\else -\begin{example} -\begin{displaymath} -\mu, M \qquad -\boldsymbol{\mu}, \boldsymbol{M} -\end{displaymath} -\end{example} -\fi - - -% - -% Local Variables: -% TeX-master: "lshort2e" -% mode: latex -% mode: flyspell -% End: diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/myclass.sty b/Master/texmf-dist/doc/latex/lshort-chinese/src/myclass.sty deleted file mode 100644 index f9d1f8f27fb..00000000000 --- a/Master/texmf-dist/doc/latex/lshort-chinese/src/myclass.sty +++ /dev/null @@ -1,150 +0,0 @@ -% myclass.sty coded by YIN Dian -% Implement easy inter-class token definition with inheritance -% Hist: 070807 First usable version coded. \newclass, \{set,get,prepend,append}interclasstoks -% The tricky part is prepending stuffs to a token register, see TeX by Topics. -% 070808 Added \setclassnum and \registerXeTeXclasstoks -% 070809 Removed unnecessary \global's. -% 070810 Only register non-empty tokens. -% 071019 Added \getclassnum -% 071210 Changed \@foreach to \@for. -\catcode`\@=11 -\ifx\@myclass@defined\@undefined -\def\@myclass@defined{\relax} -\input usefulmacros.sty -\catcode`\@=11 -\def\@class@list{} -\def\newclass{\@ifnextchar[{\@newclass@param}{\@newclass}} -\def\@newclass@param[#1]#2{% - \if!#1! - \errmessage{Base class name shouldn't be empty.}% - \fi - \if!#2! - \errmessage{Class name shouldn't be empty.}% - \fi - \@ifundefined{@@classname@#1}{% - \errmessage{Base class not defined yet.}% - }{}% - \@ifundefined{@@classname@#2}{% if - \@namedef{@@classname@#2}{\relax}% - \@namedef{@@baseclass@#2}{#1}% - \@for\@@class:=\@class@list\do{% for - \if!\@@class! - \else - \@newinterclasstoks{#2}{\@@class}% - \@newinterclasstoks{\@@class}{#2}% - %\setinterclasstoks{#2}{\@@class}{\getinterclasstoks{#1}{\@@class}}% - %\setinterclasstoks{\@@class}{#2}{\getinterclasstoks{\@@class}{#1}}% - \copyinterclasstoks{#2}{\@@class}{#1}{\@@class}% - \copyinterclasstoks{\@@class}{#2}{\@@class}{#1}% - \fi - }% end for - \@newinterclasstoks{#2}{#2}% - \edef\@class@list{\@class@list,#2}% - }{% else - \errmessage{Class already defined.}% - }% end if -} -\def\@newclass#1{% - \if!#1! - \errmessage{Class name shouldn't be empty.}% - \fi - \@ifundefined{@@classname@#1}{% if - \@namedef{@@classname@#1}{\relax}% - \@for\@@class:=\@class@list\do{% for - \if!\@@class! - \else - \@newinterclasstoks{#1}{\@@class}% - \@newinterclasstoks{\@@class}{#1}% - \fi - }% end for - \@newinterclasstoks{#1}{#1}% - \edef\@class@list{\@class@list,#1}% - }{% else - \errmessage{Class already defined.}% - }% end if -} -\def\getbaseclass#1#2{% - \@ifundefined{@@baseclass@#1}{\def#2{}}{\edef#2{\csname @@baseclass@#1\endcsname}}% -} -\def\@newinterclasstoks#1#2{% - \expandafter\newtoks\csname @@interclasstoks@#1@#2\endcsname - \csname @@interclasstoks@#1@#2\endcsname={}%\meaning #1, \meaning #2}% - %%\expandafter\gdef\csname @@interclasstoks@#1@#2\endcsname{}% -} -\def\setinterclasstoks#1#2#3{% - \csname @@interclasstoks@#1@#2\endcsname={#3}% - %%\expandafter\edef\csname @@interclasstoks@#1@#2\endcsname{#3}% -} -\def\getinterclasstoks#1#2{% - \expandafter\the\csname @@interclasstoks@#1@#2\endcsname - %%\csname @@interclasstoks@#1@#2\endcsname -} -\def\copyinterclasstoks#1#2#3#4{% (#1, #2) <- (#3, #4) - \expandafter\csname @@interclasstoks@#1@#2\endcsname\expandafter{\expandafter\the\csname @@interclasstoks@#3@#4\endcsname}% -} -\def\prependinterclasstoks#1#2#3{% - \toks0={#3}% - \edef\@@prepend@act{\csname @@interclasstoks@#1@#2\endcsname={\the\toks0 - \expandafter\the\csname @@interclasstoks@#1@#2\endcsname}}% - \@@prepend@act - %%\expandafter\edef\csname @@interclasstoks@#1@#2\endcsname{#3\csname @@interclasstoks@#1@#2\endcsname}% -} -\def\appendinterclasstoks#1#2#3{% - \expandafter\csname @@interclasstoks@#1@#2\endcsname\expandafter{\the\csname @@interclasstoks@#1@#2\endcsname #3}% - %%\global\expandafter\edef\csname @@interclasstoks@#1@#2\endcsname{\csname @@interclasstoks@#1@#2\endcsname #3}% -} -\def\showallinterclasstoks{% - \par - \begingroup - \@for\class:=\@class@list\do{% - \if!\class! - \else - \@for\anotherclass:=\@class@list\do{% - \if!\anotherclass! - \else - [\class, \anotherclass]: %\csname @@interclasstoks@\class @\anotherclass\endcsname - \expandafter\the\csname @@interclasstoks@\class @\anotherclass\endcsname - \hfil\break - \fi - }% - \fi - }% - \endgroup -} -\newlinechar`\^^J -\def\setclassnum#1#2{% - \expandafter\chardef\csname @@classnum@#1\endcsname=#2\relax -} -\def\getclassnum#1{% - \csname @@classnum@#1\endcsname -} -\def\mydbgmessag@#1{} -\def\registerXeTeXclasstoks{% - \@for\class:=\@class@list\do{% - \@ifundefined{@@classnum@\class}{}{% - \@for\anotherclass:=\@class@list\do{% - \@ifundefined{@@classnum@\anotherclass}{}{% - \edef\@@temp@macro{\the\csname @@interclasstoks@\class @\anotherclass\endcsname}% - \ifx\@@temp@macro\empty - \else - \edef\@@temp@macro{\@@temp@macro}% - \ifx\@@temp@macro\empty - \else - \edef\@@register@act{\noexpand\XeTeXinterchartoks\csname @@classnum@\class\endcsname - \csname @@classnum@\anotherclass\endcsname\noexpand{\expandafter\the\csname - @@interclasstoks@\class @\anotherclass\endcsname\noexpand}}% - \@@register@act - \edef\@@register@act{\noexpand\mydbgmessag@\noexpand{Registered (\expandafter\number - \csname @@classnum@\class\endcsname, \expandafter\number - \csname @@classnum@\anotherclass\endcsname)\noexpand}}% - \@@register@act - \mydbgmessag@{Registered (\class, \anotherclass) token: \expandafter\the\csname - @@interclasstoks@\class @\anotherclass\endcsname ^^J}% - \fi - \fi - }% - }% - }% - }% -} -\fi diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/mylayout.sty b/Master/texmf-dist/doc/latex/lshort-chinese/src/mylayout.sty deleted file mode 100644 index 0953b72b72a..00000000000 --- a/Master/texmf-dist/doc/latex/lshort-chinese/src/mylayout.sty +++ /dev/null @@ -1,355 +0,0 @@ -%% -%% This is file `mylayout.sty', generated -%% on <1995/7/3> with the docstrip utility (2.2i). -%% -%% The original source files were: -%% -%% layout.dtx (with options: `package') -%% -%% IMPORTANT NOTICE: -%% This file is part of the `tools' bundle -%% in the LaTeX2e distribution. -%% -%% You are not allowed to distribute this file. -%% For distribution of the original source see -%% the copyright notice in the source file, and -%% in the file readme.txt distributed with the -%% tools bundle. -%% -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{mylayout} - [1995/06/25 v1.1i - Show layout parameters] -\DeclareOption{dutch}{% - \def\Headertext{Kopregel} - \def\Bodytext{Broodtekst} - \def\Footertext{Voetregel} - \def\MarginNotestext{Marge\\Notities} - \def\oneinchtext{een inch} - \def\notshown{niet getoond} - } -\DeclareOption{english}{% - \def\Headertext{Header} - \def\Bodytext{Body} - \def\Footertext{Footer} - \def\MarginNotestext{Margin\\Notes} - \def\oneinchtext{one inch} - \def\notshown{not shown} - } -\DeclareOption{french}{% - \def\Headertext{Ent\^{e}te} - \def\Bodytext{Corps} - \def\Footertext{Pied de page} - \def\MarginNotestext{Marge\\Notes} - \def\oneinchtext{un pouce} - \def\notshown{non affich\'{e}} - } -\DeclareOption{francais}{\ExecuteOptions{french}} -\DeclareOption{verbose}{\let\type\typeout} -\DeclareOption{silent}{\let\type\@gobble} -\def\lay@value{} -\DeclareOption{integers}{% - \renewcommand*{\lay@value}[2]{% - \expandafter\number\csname #1@#2\endcsname pt}} -\DeclareOption{reals}{% - \renewcommand*{\lay@value}[2]{\the\csname #2\endcsname}} -\ExecuteOptions{english,silent,integers} -\ProcessOptions -\@ifundefined{bs}{\newcommand\bs{\char '134 }}% - {\renewcommand\bs{\char '134 }} -\def\ConvertToCount#1#2{% - #1=#2 - \divide #1 by 65536} -\def\SetToHalf#1#2{#1=#2\relax\divide#1by\tw@} -\def\SetToQuart#1#2{#1=#2\relax\divide#1by4} -\def\Identify#1{% - \put(\PositionX,\PositionY){\circle{20}} - \put(\PositionX,\PositionY){\makebox(0,0){\tiny #1}} -} -\def\InsideHArrow#1{{% - \ArrowLength = #1 - \divide\ArrowLength by \tw@ - \advance\ArrowLength by -10 - \advance\PositionX by -10 - \ifnum\ArrowLength<\z@ - \put(\PositionX,\PositionY){\vector(1,0){-\ArrowLength}} - \advance\PositionX by 20 - \put(\PositionX,\PositionY){\vector(-1,0){-\ArrowLength}} - \else - \put(\PositionX,\PositionY){\vector(-1,0){\ArrowLength}} - \advance\PositionX by 20 - \put(\PositionX,\PositionY){\vector(+1,0){\ArrowLength}} - \fi -}} -\def\InsideVArrow#1{{% - \ArrowLength = #1 - \divide\ArrowLength by \tw@ - \advance\ArrowLength by -10 - \advance\PositionY by -10 - \put(\PositionX,\PositionY){\vector(0,-1){\ArrowLength}} - \advance\PositionY by 20 - \put(\PositionX,\PositionY){\vector(0,+1){\ArrowLength}} -}} -\def\OutsideHArrow#1#2#3{{% - \PositionX = #1 - \advance\PositionX by #3 - \put(\PositionX,\PositionY){\vector(-1,0){#3}} - \PositionX = #1 \advance\PositionX-#2 - \advance\PositionX by -#3 - \put(\PositionX,\PositionY){\vector(+1,0){#3}} -}} -\def\OutsideVArrow#1#2#3#4{{% - \PositionY = #1 - \advance\PositionY by -#3 - \put(\PositionX,\PositionY){\vector(0,+1){#3}} - \PositionY = #1 - \advance\PositionY#2 - \advance\PositionY#4 - \put(\PositionX,\PositionY){\vector(0,-1){#4}} -}} -\def\Show#1#2{\bs #2 = \lay@value{#1}{#2}} -\def\Type#1#2{% - \type{#2 = \lay@value{#1}{#2}}} -\newcount\oneinch -\oneinch=72 -\newcount\cnt@paperwidth -\newcount\cnt@paperheight -\ConvertToCount\cnt@paperwidth\paperwidth -\ConvertToCount\cnt@paperheight\paperheight -\newcount\cnt@hoffset -\newcount\cnt@voffset -\ConvertToCount\cnt@hoffset\hoffset -\ConvertToCount\cnt@voffset\voffset -\newcount\cnt@textheight -\newcount\cnt@textwidth -\ConvertToCount\cnt@textheight\textheight -\ConvertToCount\cnt@textwidth\textwidth -\newcount\cnt@topmargin -\newcount\cnt@oddsidemargin -\newcount\cnt@evensidemargin -\ConvertToCount\cnt@topmargin\topmargin -\ConvertToCount\cnt@oddsidemargin\oddsidemargin -\ConvertToCount\cnt@evensidemargin\evensidemargin -\newcount\cnt@headheight -\newcount\cnt@headsep -\ConvertToCount\cnt@headheight\headheight -\ConvertToCount\cnt@headsep\headsep -\newcount\cnt@marginparsep -\newcount\cnt@marginparwidth -\newcount\cnt@marginparpush -\ConvertToCount\cnt@marginparsep\marginparsep -\ConvertToCount\cnt@marginparwidth\marginparwidth -\ConvertToCount\cnt@marginparpush\marginparpush -\newcount\cnt@footskip -\ConvertToCount\cnt@footskip\footskip -\newcount\fheight -\fheight=12 -\newcount\ref@top -\ref@top=\cnt@paperheight \advance\ref@top by -\oneinch -\newcount\ref@hoffset -\newcount\ref@voffset -\ref@hoffset=\cnt@hoffset \advance\cnt@hoffset by \oneinch -\ref@voffset=\cnt@voffset -\cnt@voffset=\ref@top -\advance\cnt@voffset by -\ref@voffset -\newcount\ref@head -\ref@head=\ref@top - \advance\ref@head by -\ref@voffset - \advance\ref@head by -\cnt@topmargin - \advance\ref@head by -\cnt@headheight -\newcount\ref@body -\ref@body=\ref@head - \advance\ref@body by -\cnt@headsep - \advance\ref@body by -\cnt@textheight -\newcount\ref@foot - \ref@foot=\ref@body - \advance\ref@foot by -\cnt@footskip -\newcount\ref@margin -\newcount\ref@marginwidth -\newcount\ref@marginpar -\newcount\Interval -\newcount\ExtraYPos -\newcount\PositionX -\newcount\PositionY -\newcount\ArrowLength -\newcommand\layout{% - \@mylayout - \if@twoside - \@mylayout - \fi} -\newcommand\@mylayout{% - \thispagestyle{empty} - \if@twoside - \ifodd\count\z@ - \typeout{Two-sided document style, odd page.} - \ref@marginwidth=\cnt@oddsidemargin - \ref@marginpar=\oneinch - \advance\ref@marginpar by \ref@hoffset - \advance\ref@marginpar by \cnt@oddsidemargin - \ref@margin\ref@marginpar - \if@reversemargin - \advance\ref@marginpar by -\cnt@marginparsep - \advance\ref@marginpar by -\cnt@marginparwidth - \else - \advance\ref@marginpar by \cnt@textwidth - \advance\ref@marginpar by \cnt@marginparsep - \fi - \else - \typeout{Two-sided document style, even page.} - \ref@marginwidth=\cnt@evensidemargin - \ref@marginpar=\oneinch - \advance\ref@marginpar by \ref@hoffset - \advance\ref@marginpar by \cnt@evensidemargin - \ref@margin\ref@marginpar - \if@reversemargin - \advance\ref@marginpar by \cnt@textwidth - \advance\ref@marginpar by \cnt@marginparsep - \else - \advance\ref@marginpar by -\cnt@marginparsep - \advance\ref@marginpar by -\cnt@marginparwidth - \fi - \fi - \else - \typeout{One-sided document style.} - \ref@marginwidth=\cnt@oddsidemargin - \ref@marginpar=\oneinch - \advance\ref@marginpar by \ref@hoffset - \advance\ref@marginpar by \cnt@oddsidemargin - \ref@margin\ref@marginpar - \if@reversemargin - \advance\ref@marginpar by -\cnt@marginparsep - \advance\ref@marginpar by -\cnt@marginparwidth - \else - \advance\ref@marginpar by \cnt@textwidth - \advance\ref@marginpar by \cnt@marginparsep - \fi - \fi - \setlength{\unitlength}{.5pt} - \begin{picture}(\cnt@paperwidth,\cnt@paperheight) - \centering - \thicklines - \put(0,0){\framebox(\cnt@paperwidth,\cnt@paperheight){\mbox{}}} - \put(0,\cnt@voffset){\dashbox{10}(\cnt@paperwidth,0){\mbox{}}} - \put(\cnt@hoffset,0){\dashbox{10}(0,\cnt@paperheight){\mbox{}}} - \put(\ref@margin,\ref@head){% - \framebox(\cnt@textwidth,\cnt@headheight)% - {\footnotesize\Headertext}} - \put(\ref@margin,\ref@body){% - \framebox(\cnt@textwidth,\cnt@textheight){\Bodytext}} - \put(\ref@margin,\ref@foot){% - \framebox(\cnt@textwidth,\fheight){\footnotesize\Footertext}} - \put(\ref@marginpar,\ref@body){% - \framebox(\cnt@marginparwidth,\cnt@textheight)% - {\footnotesize\shortstack{\MarginNotestext}}} - \thinlines - \SetToHalf\PositionX\cnt@textwidth - \advance\PositionX by \ref@margin - \PositionY = \ref@body - \advance\PositionY by 50 - \Identify{8} - \InsideHArrow\cnt@textwidth - \SetToHalf\PositionY\cnt@textheight - \advance\PositionY by \ref@body - \PositionX = \cnt@textwidth - \divide\PositionX by 5 - \multiply \PositionX by 4 - \advance\PositionX by \ref@margin - \Identify{7} - \InsideVArrow\cnt@textheight - \PositionY = \ref@foot - \SetToHalf\PositionX\cnt@hoffset - \Identify{1} - \InsideHArrow\cnt@hoffset - \SetToQuart\PositionY\cnt@textheight - \advance\PositionY by \ref@body - \OutsideHArrow\ref@margin\ref@marginwidth{20} - \PositionX = \cnt@hoffset - \advance\PositionX by -30 - \Identify{3} - \SetToQuart\PositionY\cnt@textheight - \advance\PositionY by \ref@body - \advance\PositionY by 30 - \SetToHalf\PositionX\cnt@marginparwidth - \advance\PositionX by \ref@marginpar - \Identify{10} - \InsideHArrow\cnt@marginparwidth - \advance\PositionY by 30 - \if@twoside - \ifodd\count\z@ - \OutsideHArrow\ref@marginpar\cnt@marginparsep{20} - \PositionX = \ref@marginpar - \else - \OutsideHArrow\ref@margin\cnt@marginparsep{20} - \PositionX = \ref@margin - \fi - \else - \OutsideHArrow\ref@marginpar\cnt@marginparsep{20} - \PositionX = \ref@marginpar - \fi - \advance\PositionX by 30 - \Identify{9} - \PositionX = \cnt@textwidth - \divide\PositionX by 8 - \advance\PositionX by \ref@margin - \OutsideVArrow\ref@foot\cnt@footskip{20}{20} - \PositionY = \ref@foot - \advance\PositionY by -30 - \Identify{11} - \PositionX = \cnt@paperwidth - \advance\PositionX by -50 - \PositionY = \cnt@paperheight - \ExtraYPos = \PositionY - \advance\ExtraYPos by -\cnt@voffset - \advance\PositionY by \cnt@voffset - \divide\PositionY by \tw@ - \Identify{2} - \InsideVArrow\ExtraYPos - \Interval = \cnt@textwidth - \divide\Interval by 8 - \PositionX = \ref@margin - \advance\PositionX by \Interval - \Identify{4} - \ExtraYPos = \ref@head - \advance\ExtraYPos\cnt@headheight - \ArrowLength = \PositionY - \advance\ArrowLength-\ExtraYPos - \advance\ArrowLength-\cnt@topmargin - \advance\ArrowLength-10% - \OutsideVArrow\ExtraYPos\cnt@topmargin{20}{\ArrowLength} - \advance\PositionX by \Interval - \Identify{5} - \advance\ArrowLength\cnt@topmargin - \OutsideVArrow\ref@head\cnt@headheight{20}{\ArrowLength} - \advance\PositionX by \Interval - \Identify{6} - \advance\ArrowLength\cnt@headheight - \ExtraYPos=\ref@body - \advance\ExtraYPos\cnt@textheight - \OutsideVArrow\ExtraYPos\cnt@headsep{20}{\ArrowLength} - \end{picture} - - \medskip - \vtop to 0pt{% - \@minipagerestore\footnotesize\ttfamily - \begin{tabular}{@{}rl@{\hspace{20pt}}rl} - 1 & \oneinchtext\ + \bs\texttt{hoffset} & 2 & \oneinchtext\ + \bs\texttt{voffset} \\ - 3 & \Show{cnt}{oddsidemargin} & 4 & \Show{cnt}{topmargin} \\ - & or \bs\texttt{evensidemargin} & & \\ - 5 & \Show{cnt}{headheight} & 6 & \Show{cnt}{headsep} \\ - 7 & \Show{cnt}{textheight} & 8 & \Show{cnt}{textwidth} \\ - 9 & \Show{cnt}{marginparsep}&10& \Show{cnt}{marginparwidth} \\ - 11& \Show{cnt}{footskip} & & \Show{cnt}{marginparpush} - \rlap{(\notshown)}\\ - & \Show{ref}{hoffset} & & \Show{ref}{voffset} \\ - & \Show{cnt}{paperwidth} & & \Show{cnt}{paperheight} \\ - - \end{tabular}\vss} - \Type{ref}{hoffset} - \Type{ref}{voffset} - \Type{cnt}{textheight} - \Type{cnt}{textwidth} - \newpage -} -\endinput -%% -%% End of file `layout.sty'. diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/overview.tex b/Master/texmf-dist/doc/latex/lshort-chinese/src/overview.tex deleted file mode 100644 index e8c8a3c3c1a..00000000000 --- a/Master/texmf-dist/doc/latex/lshort-chinese/src/overview.tex +++ /dev/null @@ -1,168 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Contents: Who contributed to this Document -% $Id: overview.tex,v 1.2 2003/03/19 20:57:46 oetiker Exp $ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% 中文~4.20~翻译:zpxing@bbs.ctex email: zpxing at gmail dot com -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -% Because this introduction is the reader's first impression, I have -% edited very heavily to try to clarify and economize the language. -% I hope you do not mind! I always try to ask "is this word needed?" -% in my own writing but I don't want to impose my style on you... -% but here I think it may be more important than the rest of the book. -% --baron - -%\chapter{Preface} -\chapter{前言} - -%\LaTeX{} \cite{manual} is a typesetting system that is very suitable -%for producing scientific and mathematical documents of high -%typographical quality. It is also suitable for producing all sorts -%of other documents, from simple letters to complete books. \LaTeX{} -%uses \TeX{} \cite{texbook} as its formatting engine. -\LaTeX{}~\cite{manual}~是一种排版系统,它非常适用于生成高印刷质量 -的科技和数学类文档。这个系统同样适用于生成从简单信件到完整书籍 -的所有其他种类的文档。\LaTeX~使用~\TeX{}\cite{texbook}~作为它的 -格式化引擎。% - -%This short introduction describes \LaTeXe{} and should be sufficient -%for most applications of \LaTeX. Refer to~\cite{manual,companion} -%for a complete description of the \LaTeX{} system. -这份短小的介绍描述了~\LaTeXe{}~的使用,对~\LaTeX{}~的大多数应用来说 -应该是足够了。参考文献~\cite{manual,companion}~对~\LaTeX{}~系统 -提供了完整的描述。% - -\bigskip -%\noindent This introduction is split into 6 chapters: -\noindent 这份介绍共有六章:% -%\begin{description} -%\item[Chapter 1] tells you about the basic structure of \LaTeXe{} -% documents. You will also learn a bit about the history of \LaTeX{}. -% After reading this chapter, you should have a rough understanding how -% \LaTeX{} works. -%\item[Chapter 2] goes into the details of typesetting your -% documents. It explains most of the essential \LaTeX{} commands and -% environments. After reading this chapter, you will be able to write -% your first documents. -%\item[Chapter 3] explains how to typeset formulae with \LaTeX. Many -% examples demonstrate how to use one of \LaTeX{}'s -% main strengths. At the end of the chapter are tables listing -% all mathematical symbols available in \LaTeX{}. -%\item[Chapter 4] explains indexes, bibliography generation and -% inclusion of EPS graphics. It introduces creation of PDF documents with pdf\LaTeX{} -% and presents some handy extension packages. -%\item[Chapter 5] shows how to use \LaTeX{} for creating graphics. Instead -% of drawing a picture with some graphics program, saving it to a file and -% then including it into \LaTeX{} you describe the picture and have \LaTeX{} -% draw it for you. -%\item[Chapter 6] contains some potentially dangerous information about -% how to alter the -% standard document layout produced by \LaTeX{}. It will tell you how to -% change things such that the beautiful output of \LaTeX{} -% turns ugly or stunning, depending on your abilities. -%\end{description} -\begin{description}% -\item[第一章] 告诉你关于~\LaTeXe{}~文档的基本结构。你也会从中了解一点~\LaTeX{}~的历史。 - 阅读这一章后,你应该对~\LaTeX{}~如何工作有一个大致的理解。 -\item[第二章] 探究文档排版的细节。它解释了大部分必要的~\LaTeX{}~命令和环境。在阅 - 读完这一章之后,你就能够编写你的第一份文档了。% -\item[第三章] 解释了如何使用~\LaTeX{}~排版公式。同时,大量的例子会有助于你理解 - ~\LaTeX{}~是如何的强大。在这个章节的结尾,你会找到列出~\LaTeX{}~ - 中所有可用数学符号的表格。% -\item[第四章] 解释了索引和参考文件的生成、EPS~图形的插入。它介绍了如何使用~pdf\LaTeX{}~生成~pdf~文档和一些其他有用的扩展宏包。% -\item[第五章] 演示如何使用~\LaTeX{}~创建图形。不必使用图形软件画图、存盘并插入~\LaTeX{}~文档,你可以直接描述 - 图形,然后~\LaTeX{}~会替你画好它。 -\item[第六章] -包含一些潜在的危险信息,内容是关于如何改变~\LaTeX{}~所产生文档的标准布局。它会告诉你如何把~\LaTeX{}~的输出 -变得更糟糕,或者更上一层楼,当然这取决于你的能力。 -\end{description}% - -\bigskip -%\noindent It is important to read the chapters in order---the book is -%not that big, after all. Be sure to carefully read the examples, -%because a lot of the information is in the -%examples placed throughout the book. -\noindent 按照顺序阅读这些章节是很重要的 -\pozhehao 这本书毕竟不长。一定要认真阅读例子,因为在贯穿全篇的各种例子里包含了很多的信息。% - -\bigskip -%\noindent \LaTeX{} is available for most computers, from the PC and Mac to large -%UNIX and VMS systems. On many university computer clusters you will -%find that a \LaTeX{} installation is available, ready to use. -%Information on how to access -%the local \LaTeX{} installation should be provided in the \guide. If -%you have problems getting started, ask the person who gave you this -%booklet. The scope of this document is \emph{not} to tell you how to -%install and set up a \LaTeX{} system, but to teach you how to write -%your documents so that they can be processed by~\LaTeX{}. -\noindent -\LaTeX{}~适用于从~PC~和~Mac~到大型的~UNIX~和~VMS~系统上。许多大学的计算机集群上安 -装了~\LaTeX{},随时可以使用。\guide~里应该会介绍如何使用本地安装的~\LaTeX{}。 -如果有问题,就去问给你这本小册子的人。这份文档\emph{不}会告诉你如何安装一个~\LaTeX{}~系统, -而是教会你编写~\LaTeX{}~能够处理的文档。 - -\bigskip -%\noindent If you need to get hold of any \LaTeX{} related material, -%have a look at one of the Comprehensive \TeX{} Archive Network -%(\texttt{CTAN}) sites. The homepage is at -%\texttt{http://www.ctan.org}. All packages can also be retrieved from -%the ftp archive \texttt{ftp://www.ctan.org} and its mirror -%sites all over the world. -\noindent 如果你想取得~\LaTeX{}~的相关材料,请访问“Comprehensive -\TeX{} Archive Network” -~(\texttt{CTAN})~站点,主页是~\texttt{http://www.ctan.org}。所有的宏包 -也可以从~ftp~归档站点~\texttt{ftp://www.ctan.org}~和遍布全球的各个镜像站点中获得。 -所有的宏包都可以在~\texttt{ftp://ctan.tug.org}~以及它遍布全球的镜像取得。 - -%You will find other references to CTAN throughout the book, especially -%pointers to software and documents you might want to download. Instead -%of writing down complete urls, I just wrote \texttt{CTAN:} followed by -%whatever location within the CTAN tree you should go to. -在本书中你会找到其他引用~\texttt{CTAN}~的地方,尤其是,给出你可能需要下载的软件和文档的 -指示。这里没有写出完整的~url,而仅仅是其在~\texttt{CTAN:}~之后的树状结构中的位置。% - - -%If you want to run \LaTeX{} on your own computer, take a look at what -%is available from \CTAN|systems|. -请先看看~\CTAN|systems|~中有些什么,如果你想在自己的计算机上运行~\LaTeX{}。% - -\vspace{\stretch{1}} -%\noindent If you have ideas for something to be -%added, removed or altered in this document, please let me know. I am -%especially interested in feedback from \LaTeX{} novices about which -%bits of this intro are easy to understand and which could be explained -%better. -\noindent 如果你有意在这份文档中增加、删除或者改变一些内容,请通知我。我对~\LaTeX{}~ -初学者的反馈特别感兴趣,尤其是关于这份介绍哪些部分很容易理解,哪些部分可能需要更好地解释。% -% - -\bigskip -\begin{verse} -\contrib{Tobias Oetiker}{oetiker@ee.ethz.ch}% -\noindent{Department of Information Technology and\\ Electrical -Engineering,\\ -Swiss Federal Institute of Technology} -\end{verse} -\vspace{\stretch{1}} - -%\noindent The current version of this document is available on\\ -%\CTAN|info/lshort| - -\noindent 这份文档的最新版本在\\ -\CTAN|info/lshort|\\% - -\smallskip -\noindent 关于这份文档的最新中文翻译,请咨询\\ -\href{http://bbs.ctex.org}{\texttt{http://bbs.ctex.org}}\\ - -\endinput - - - -% - -% Local Variables: -% TeX-master: "lshort2e" -% mode: latex -% mode: flyspell -% End: diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/spec.tex b/Master/texmf-dist/doc/latex/lshort-chinese/src/spec.tex deleted file mode 100644 index a64396e8e7a..00000000000 --- a/Master/texmf-dist/doc/latex/lshort-chinese/src/spec.tex +++ /dev/null @@ -1,1782 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Contents: Specialities of the LaTeX system -% $Id: spec.tex,v 1.2 2003/03/19 20:57:47 oetiker Exp $ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% 中文 4.20 翻译:lijian605@bbs.ctex -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%\chapter{Specialities} -%\begin{intro} -% When putting together a large document, \LaTeX{} will help you -% with some special features like index generation, -% bibliography management, and other things. -% A much more complete description of specialities and -% enhancements possible with \LaTeX{} can be found in the -% {\normalfont\manual{}} and {\normalfont \companion}. -%\end{intro} - -\chapter{专业功能} - -\begin{intro} - 当你整理一个大型文档时, \LaTeX{} 的一些专门功能,例如自动生成索引、 - 管理参考文献等等,会给你以很大的帮助。 - 详细的关于 \LaTeX{} 专业功能以及增强功能的描述可以在 - {\normalfont\manual{}} 和 {\normalfont \companion} 找到。 -\end{intro} - -%\section{Including \EPSi{}}\label{eps} - -\section{插入 EPS 图形}\label{eps} - -%\LaTeX{} provides the basic facilities to work with floating bodies, -%such as images or graphics, with the \texttt{figure} and -%\texttt{table} environments. - -\LaTeX{} 通过 \texttt{figure} 和 \texttt{table} 环境提供了 -处理图像图形等浮动体的基本工具。 - -%There are several ways to generate the actual \wi{graphics} with -%basic \LaTeX{} or a \LaTeX{} extension package, a few of them are -%described in chapter \ref{chap:graphics}. Please refer to -%\companion{} and the \manual{} for more information on that subject. - -有几种办法可以通过使用基本 \LaTeX{} 命令或者 \LaTeX{} 扩展宏包来产生实际的 -图形 (\wi{graphics}),第 \ref{chap:graphics} 章中将会介绍其中的几种方法。 -如果需要这方面的详细信息,请参阅 \companion{} 和 \manual{}。 - -%A much easier way to get graphics into a document is to generate -%them with a specialised software package\footnote{Such as XFig, -%CorelDraw!, -% Freehand, Gnuplot, \ldots} and then include the finished graphics -%into the document. Here again, \LaTeX{} packages offer many ways to do -%this, but this introduction will only discuss the use of \EPSi{} -%(EPS) graphics, because it is quite -%easy to do and widely used. In order to use pictures in the EPS -%format, you must have a \PSi{} printer\footnote{Another -% possibility to output \PSi{} is the \textsc{\wi{GhostScript}} -% program available from -% \CTANref|support/ghostscript|. Windows and OS/2 users might -% want to look for \textsc{GSview}.} available for output. - -在文档中使用图形,一个相对容易的办法就是使用专门的软件包\footnote{例如 XFig、 -CorelDraw!、 Freehand、 -Gnuplot……}生成图形文件,然后将最终的图形文件插入 -到文档中。\LaTeX{} 的宏包提供了许多方法来完成这个工作。在这个手册里,我们只 -讨论 \EPSi{} (EPS) 图形文件的使用,因为它比较简单而且被广 -泛地使用。为了使用 EPS 格式的图片,你必须有一个 \PSi 打印机 -\footnote{另外一个可以用来输出 \PSi{} 的工具是 \textsc{\wi{GhostScript}} 程序, -它可以从 \CTANref|support/ghostscript| 得到。Windows 和 OS/2 -用户可能更喜欢用 \textsc{GSview}。}来输出结果。 - -%A good set of commands for inclusion of graphics is provided in the -%\pai{graphicx} package by D. P. Carlisle. It is part of a whole family -%of packages called the ``graphics'' -%bundle.\footnote{\CTANref|macros/latex/required/graphics|} - -由 D. P. Carlisle 制作的 \pai{graphicx} 宏包提供了一套很好的插图命令。 -它是一个叫作 ``graphics'' 的宏包集中的一部分 -\footnote{\CTANref|macros/latex/required/graphics|}。 - -%Assuming you are working on a system with a \PSi{} printer available -%for output and with the \textsf{graphicx} package installed, you can -%use the following step by step guide to include a picture into your -%document: - -假设你使用的系统安装了 \PSi{} 打印机和 \textsf{graphicx} 宏包, -那么你就可以通过下面的步骤把一幅图片加入你的文档中: - -%\begin{enumerate} -%\item Export the picture from your graphics program in EPS -% format.\footnote{If your software can not export into EPS format, you -% can try to install a \PSi{} printer driver (such as an Apple -% LaserWriter, for example) and then print to a file with this -% driver. With some luck this file will be in EPS format. Note that -% an EPS must not contain more than one page. Some printer drivers -% can be explicitly configured to produce EPS format.} -%\item Load the \textsf{graphicx} package in the preamble of the input -% file with -%\begin{lscommand} -%\verb|\usepackage[|\emph{driver}\verb|]{graphicx}| -%\end{lscommand} -%\noindent where \emph{driver} is the name of your ``dvi to postscript'' -%converter program. The most -%widely used program is called \texttt{dvips}. The name of the driver is -%required, because there is no standard on how graphics are included in -%\TeX{}. Knowing the name of the \emph{driver}, the -%\textsf{graphicx} package can choose the correct method to insert -%information about the graphics into the \eei{.dvi} file, so that the -%printer understands it and can correctly include the \eei{.eps} -%file. -%\item Use the command -%\begin{lscommand} -%\ci{includegraphics}\verb|[|\emph{key}=\emph{value}, \ldots\verb|]{|\emph{file}\verb|}| -%\end{lscommand} -%\noindent to include \emph{file} into your document. The optional parameter -%accepts a comma separated list of \emph{keys} and associated -%\emph{values}. The \emph{keys} can be used to alter the width, height -%and rotation of the included graphic. Table \ref{keyvals} lists the -%most important keys. -%\end{enumerate} - -\begin{enumerate} -\item 用你的图形软件输出 EPS 格式的文件\footnote{如果你的软件不能输出 EPS - 格式的文件,你可以尝试安装一个 \PSi{} 打印机驱动程序(例如 Apple - LaserWriter),然后将你的图形通过这个驱动程序打印到文件。运气好的话, - 这个文件会是 EPS 格式的。注意一个 EPS 图片不能包含超过一页的内容。 - 一些打印机驱动程序可以明确地指定输出 EPS 格式。}。 -\item 在源文件的导言中加上下面的命令来载入 \textsf{graphicx} 宏包。 - \begin{lscommand} - \verb|\usepackage[|\emph{driver}\verb|]{graphicx}| - \end{lscommand} - 这里 \emph{driver} 是你使用的 “dvi 到 postscript” 的转换程序。最常用的 - 是 \texttt{dvips}。因为 \TeX{} 中没有规定插入图形的标准,所以 \emph{driver} 的名字 - 是必需的。知道了 \emph{driver} 的名字,\textsf{graphicx} 宏包就可以选择 - 合适的方法在 \texttt{.dvi} 文件中插入关于图形的信息。然后打印机理解 - 这些信息并能正确的插入 \texttt{.eps} 文件。 -\item 使用命令 - \begin{lscommand} - \ci{includegraphics}\verb|[|\emph{key}=\emph{value}, \ldots\verb|]{|\emph{file}\verb|}| - \end{lscommand} - 来把 \emph{file} 加入你的文档。可选的参数是一系列由逗号隔开的 - \emph{keys} 和相应的 (\emph{values})。\emph{keys} 可以用来改变插图 - 的宽度、高度以及旋转。表 \ref{keyvals} 列出了最重要的关键词。 -\end{enumerate} - -%\begin{table}[htb] -%\caption{Key Names for \textsf{graphicx} Package.} -%\label{keyvals} -%\begin{lined}{9cm} -%\begin{tabular}{@{}ll} -%\texttt{width}& scale graphic to the specified width\\ -%\texttt{height}& scale graphic to the specified height\\ -%\texttt{angle}& rotate graphic counterclockwise\\ -%\texttt{scale}& scale graphic \\ -%\end{tabular} - -%\bigskip -%\end{lined} -%\end{table} - -\begin{table}[!htb] -\caption{\textsf{graphicx} 宏包使用的关键词。} \label{keyvals} -\begin{lined}{9cm} -\begin{tabular}{@{}ll} -\texttt{width}& 把图形调整到指定的宽度\\ -\texttt{height}& 把图形调整到指定的高度\\ -\texttt{angle}& 逆时针旋转图形\\ -\texttt{scale}& 缩放图形\\ -\end{tabular} - -\bigskip -\end{lined} -\end{table} - -%\pagebreak - -%The following example code may help to clarify things: -%\begin{code} -%\begin{verbatim} -%\begin{figure} -%\centering -%\includegraphics[angle=90, -% width=0.5\textwidth]{test} -%\caption{This is a test.} -%\end{figure} -%\end{verbatim} -%\end{code} -%It includes the graphic stored in the file \texttt{test.eps}. The -%graphic is \emph{first} rotated by an angle of 90 degrees and -%\emph{then} scaled to the final width of 0.5 times the width of a -%standard paragraph. The aspect ratio is $1.0$, because no special -%height is specified. The width and height parameters can also be -%specified in absolute dimensions. Refer to Table \ref{units} on -%page \pageref{units} for more information. If you want to know more -%about this topic, make sure to read \cite{graphics} and \cite{eps}. - -下面的示例代码可以帮助我们理解整个过程: -\begin{code} -\begin{verbatim} -\begin{figure} -\centering -\includegraphics[angle=90, - width=0.5\textwidth]{test} -\caption{This is a test.} -\end{figure} -\end{verbatim} -\end{code} -这段代码把文件 \texttt{test.eps} 中的图形插入到文档里。{\textbf -首先}图形被旋转 90 度,{\textbf -然后}进行缩放使得图形的宽度等于标准段落宽度的 0.5 倍。 -因为没有指定图形的高度,图形的高宽变化的比例是 $1.0$,也就是保持原来的高宽比。 -高度和宽度参数也可以指定为绝对长度单位。详细的信息可以在第 \pageref{units} 页 -的表 \ref{units} 中找到。如果你想知道更多这方面的知识,请阅读文献 \cite{graphics} -和 \cite{eps}。 - -%\section{Bibliography} -\section{参考文献} - -%You can produce a \wi{bibliography} with the \ei{thebibliography} -%environment. Each entry starts with -%\begin{lscommand} -%\ci{bibitem}\verb|[|\emph{label}\verb|]{|\emph{marker}\verb|}| -%\end{lscommand} -%The \emph{marker} is then used to cite the book, article or paper -%within the document. -%\begin{lscommand} -%\ci{cite}\verb|{|\emph{marker}\verb|}| -%\end{lscommand} -%If you do not use the \emph{label} option, the entries will get -%enumerated automatically. The parameter after the -%\verb|\begin{thebibliography}| command defines how much space to -%reserve for the number of labels. In the example below, \verb|{99}| -%tells \LaTeX{} to expect that none of the bibliography item numbers -%will be wider than the number 99. \enlargethispage{2cm} -%\begin{example} -%Partl \cite{pa} has -%proposed that \ldots -%\begin{thebibliography}{99} -%\bibitem{pa} H. Partl: -%\emph{German \TeX}, -%TUGboat Volume 9, Issue 1 (1988) -%\end{thebibliography} -%\end{example} - -你可以通过 \ei{thebibliography} 环境来产生一个参考文献 (\wi{bibliography})。每个参考文献的 -条目以如下的命令开头 - \begin{lscommand} - \ci{bibitem}\verb|[|\emph{label}\verb|]{|\emph{marker}\verb|}| - \end{lscommand} -然后使用 \emph{marker} 在正文中引用这本书、这篇文章或者论文。 - \begin{lscommand} - \ci{cite}\verb|{|\emph{marker}\verb|}| - \end{lscommand} -如果你不使用参数 \emph{label},参考文献条目的编号是自动生成的。 \verb|\begin{thebibliography}| -命令后的参数设定了最大的编号宽度。在下面的例子中, \verb|{99}| 告诉 - \LaTeX{} 参考文献条目的编号不会比数字 $99$ 更宽。 -%\enlargethispage{2cm} - \begin{example} - Partl \cite{pa} has - proposed that \ldots - \begin{thebibliography}{99} - \bibitem{pa} H. Partl: - \emph{German \TeX}, - TUGboat Volume 9, Issue 1 - (1988) - \end{thebibliography} - \end{example} - -%\chaptermark{Specialities} % w need to fix the damage done by the - %bibliography example. -\chaptermark{专业功能} -\thispagestyle{fancyplain} - -%For larger projects, you might want to check out the Bib\TeX{} -%program. Bib\TeX{} is included with most \TeX{} distributions. It -%allows you to maintain a bibliographic database and then extract the -%references relevant to things you cited in your paper. The visual -%presentation of Bib\TeX{} generated bibliographies is based on a -%style sheets concept that allows you to create bibliographies -%following a wide range of established designs. - -对于大型项目,你也许需要使用 Bib\TeX{} 程序。 Bib\TeX{} 包含在大多数 -的 \TeX{} 发行版本中。它能够让你维护一个参考文献数据库,并从中生成你的 -论文引用到的文献条目。 Bib\TeX{} 产生的参考文献的外观是基于样式表, -它可以让你按照大量预先设计好的格式来创建你的参考文献。 - -%\newpage - -%\section{Indexing} \label{sec:indexing} - -\section{索引}\label{sec:indexing} - -%A very useful feature of many books is their \wi{index}. With -%\LaTeX{} and the support program \texttt{makeindex},\footnote{On -%systems not -% necessarily supporting -% filenames longer than 8 characters, the program may be called -% \texttt{makeidx}.} an index can be generated quite easily. This -%introduction will only explain the basic index generation commands. -%For a more in-depth view, please refer to \companion. -%\index{makeindex program} \index{makeidx package} - -许多书籍的一个非常有用的部分就是它们的索引 (\wi{index}) 了。使用 \LaTeX{} 和辅助工具 - \texttt{makeindex}\footnote{在文件名不能超过 8 个字符的操作系统上, -这个程序被命名为 \texttt{makeidx}。},我们能够很容易的生成索引。在这个手册里, -只介绍了最基本的索引生成命令。更进一步的了解请参考 \companion。 -\index{makeindex program} \index{makeidx package} - -%To enable the indexing feature of \LaTeX{}, the \pai{makeidx} package -%must be loaded in the preamble with: -%\begin{lscommand} -%\verb|\usepackage{makeidx}| -%\end{lscommand} -%\noindent and the special indexing commands must be enabled by putting -%the -%\begin{lscommand} -% \ci{makeindex} -%\end{lscommand} -%\noindent command into the input file preamble. - -为了使用 \LaTeX{} 的索引功能,宏包 \pai{makeidx} 必须在导言部分被载入: -\begin{lscommand} - \verb|\usepackage{makeidx}| -\end{lscommand} -\noindent 然后在导言中使用 -\begin{lscommand} - \ci{makeindex} -\end{lscommand} -\noindent 激活索引命令。 - -%The content of the index is specified with -%\begin{lscommand} -% \ci{index}\verb|{|\emph{key}\verb|}| -%\end{lscommand} -%\noindent commands, where \emph{key} is the index entry. You enter the -%index commands at the points in the text that you want the final index -%entries to point to. Table \ref{index} explains the syntax of the -%\emph{key} argument with several examples. - -索引的内容通过命令 -\begin{lscommand} - \ci{index}\verb|{|\emph{key}\verb|}| -\end{lscommand} -\noindent -指定,这里 \emph{key} 是索引项的关键词。你可以在需要被索引的地方 -加入这条命令。表 \ref{index} 举例解释了参量 \emph{key} 语法。 - -%\begin{table}[!tp] -%\caption{Index Key Syntax Examples.} -%\label{index} -%\begin{center} -%\begin{tabular}{@{}lll@{}} -% \textbf{Example} &\textbf{Index Entry} &\textbf{Comment}\\\hline -% \rule{0pt}{1.05em}\verb|\index{hello}| &hello, 1 &Plain entry\\ -%\verb|\index{hello!Peter}| &\hspace*{2ex}Peter, 3 &Subentry under `hello'\\ -%\verb|\index{Sam@\textsl{Sam}}| &\textsl{Sam}, 2& Formatted entry\\ -%\verb|\index{Lin@\textbf{Lin}}| &\textbf{Lin}, 7& Same as above\\ -%\verb.\index{Jenny|textbf}. &Jenny, \textbf{3}& Formatted page number\\ -%\verb.\index{Joe|textit}. &Joe, \textit{5}& Same as above\\ -%\verb.\index{ecole@\'ecole}. &\'ecole, 4& Handling of accents -%\end{tabular} -%\end{center} -%\end{table} - -\begin{table}[!tp] -\caption{索引关键词语法示例。} \label{index} -\begin{center} -\begin{tabular}{@{}lll@{}} - \textbf{示例} &\textbf{索引项} &\textbf{注释}\\\hline - \rule{0pt}{1.05em}\verb|\index{hello}| &hello, 1 & 普通格式的索引项\\ -\verb|\index{hello!Peter}| &\hspace*{2ex}Peter, 3 & `hello' 下的子项\\ -\verb|\index{Sam@\textsl{Sam}}| &\textsl{Sam}, 2& 格式化的索引项\\ -\verb|\index{Lin@\textbf{Lin}}| &\textbf{Lin}, 7& 同上\\ -\verb.\index{Jenny|textbf}. &Jenny, \textbf{3}& 格式化的页码\\ -\verb.\index{Joe|textit}. &Joe, \textit{5}& 同上\\ -\verb.\index{ecole@\'ecole}. &\'ecole, 4& 重音标记 -\end{tabular} -\end{center} -\end{table} - -%When the input file is processed with \LaTeX{}, each \verb|\index| -%command writes an appropriate index entry, together with the current -%page number, to a special file. The file has the same name as the -%\LaTeX{} input file, but a different extension (\verb|.idx|). This -%\eei{.idx} file can then be processed with the \texttt{makeindex} -%program. - -当 \LaTeX{} 处理源文档时,每个 \verb|\index| 命令都会将适当的索引项 -和当前页码写入一个专门的文件中。这个文件的名字和 \LaTeX{} 源文档相同, -但具有不同的扩展名后缀 (\verb|.idx|)。这个 \texttt{.idx} 文件需要用 - \texttt{makeindex} 程序来处理。 - -%\begin{lscommand} -% \texttt{makeindex} \emph{filename} -%\end{lscommand} -%The \texttt{makeindex} program generates a sorted index with the same base -%file name, but this time with the extension \eei{.ind}. If now the -%\LaTeX{} input file is processed again, this sorted index gets -%included into the document at the point where \LaTeX{} finds -%\begin{lscommand} -% \ci{printindex} -%\end{lscommand} - -\begin{lscommand} - \texttt{makeindex} \emph{filename} -\end{lscommand} -\texttt{makeindex} 程序生成一个与源文件同名的序列化索引文件, -这个文件使用 \texttt{.ind} 为扩展名。当再次用 \LaTeX{} 处理源文件时, -这个序列化索引文件将被包含到源文件中 -\begin{lscommand} - \ci{printindex} -\end{lscommand} -\noindent 命令出现的位置。 - -%The \pai{showidx} package that comes with \LaTeXe{} prints out all -%index entries in the left margin of the text. This is quite useful for -%proofreading a document and verifying the index. - -\LaTeXe{} 附带的宏包 \pai{showidx} 可以在正文的左边打印出索引项。 -这个功能在校对文档和索引项时十分有用。 - -% Note that the \ci{index} -%command can affect your layout if not used carefully. - -%\begin{example} -%My Word \index{Word}. As opposed -%to Word\index{Word}. Note the -%position of the full stop. -%\end{example} - -请注意不谨慎地使用 \ci{index} 命令,将会影响文档页版面布局。 -\begin{example} -My Word \index{Word}. As opposed -to Word\index{Word}. Note the -position of the full stop. -\end{example} - -%\section{Fancy Headers} -%\label{sec:fancy} -\section{定制页眉和页脚} -\label{sec:fancy} - -%The \pai{fancyhdr} package,\footnote{Available from -% \CTANref|macros/latex/contrib/supported/fancyhdr|.} written by -%Piet van Oostrum, provides a few simple commands that allow you to -%customize the header and footer lines of your document. If you look -%at the top of this page, you can see a possible application of this -%package. - -Piet van -Oostrum 编写的 \pai{fancyhdr} 宏包\footnote{可以在 \CTANref|macros/latex/contrib/supported/fancyhdr| 得到。}, -提供了一些简单的命令使得我们可以定制文档的页眉和页脚。看一眼本页的顶部, -你就能发现这个宏包的用处。 - -%\begin{figure}[!htbp] -%\begin{lined}{\textwidth} -%\begin{verbatim} -%\documentclass{book} -%\usepackage{fancyhdr} -%\pagestyle{fancy} -% with this we ensure that the chapter and section -% headings are in lowercase. -%\renewcommand{\chaptermark}[1]{% -% \markboth{#1}{}} -%\renewcommand{\sectionmark}[1]{% -% \markright{\thesection\ #1}} -%\fancyhf{} % delete current header and footer -%\fancyhead[LE,RO]{\bfseries\thepage} -%\fancyhead[LO]{\bfseries\rightmark} -%\fancyhead[RE]{\bfseries\leftmark} -%\renewcommand{\headrulewidth}{0.5pt} -%\renewcommand{\footrulewidth}{0pt} -%\addtolength{\headheight}{0.5pt} % space for the rule -%\fancypagestyle{plain}{% -% \fancyhead{} % get rid of headers on plain pages -% \renewcommand{\headrulewidth}{0pt} % and the line -%} -%\end{verbatim} -%\end{lined} -%\caption{Example \pai{fancyhdr} Setup.} \label{fancyhdr} -%\end{figure} - -\begin{figure}[!htbp] -\begin{lined}{\textwidth} -\begin{verbatim} -\documentclass{book} -\usepackage{fancyhdr} -\pagestyle{fancy} - with this we ensure that the chapter and section - headings are in lowercase. -\renewcommand{\chaptermark}[1]{% - \markboth{#1}{}} -\renewcommand{\sectionmark}[1]{% - \markright{\thesection\ #1}} -\fancyhf{} % delete current header and footer -\fancyhead[LE,RO]{\bfseries\thepage} -\fancyhead[LO]{\bfseries\rightmark} -\fancyhead[RE]{\bfseries\leftmark} -\renewcommand{\headrulewidth}{0.5pt} -\renewcommand{\footrulewidth}{0pt} -\addtolength{\headheight}{0.5pt} % space for the rule -\fancypagestyle{plain}{% - \fancyhead{} % get rid of headers on plain pages - \renewcommand{\headrulewidth}{0pt} % and the line -} -\end{verbatim} -\end{lined} -\caption{\pai{fancyhdr} 设置实例。} \label{fancyhdr} -\end{figure} - -%The tricky problem when customising headers and footers is to get -%things like running section and chapter names in there. \LaTeX{} -%accomplishes this with a two-stage approach. In the header and footer -%definition, you use the commands \ci{rightmark} and \ci{leftmark} to -%represent the current section and chapter heading, respectively. -%The values of these two commands are overwritten whenever a chapter or -%section command is processed. - -定制页眉和页脚时一件棘手的事情就是得到每个页面所属的章节名称。 -\LaTeX{} 通过两个步骤来完成这个任务。在定义页眉和页脚时,你可以使用 - \ci{rightmark} 命令来代表当前的 section 名,使用 \ci{leftmark} 来代表当前的 chapter 名。 -这两个命令的值将在处理 chapter 或者 section 命令时被重新赋值。 - -%For ultimate flexibility, the \verb|\chapter| command and its friends -%do not redefine \ci{rightmark} and \ci{leftmark} themselves. They call -%yet another command (\ci{chaptermark}, \ci{sectionmark}, or -%\ci{subsectionmark}) that is responsible for redefining \ci{rightmark} -%and \ci{leftmark}. - -为了获得最大的灵活性, \verb|\chapter| 等命令并不对 \ci{rightmark} 和 - \ci{leftmark} 直接进行重定义,而是间接地通过调用 \ci{chaptermark}、 -\ci{sectionmark} 或者 \ci{subsectionmark} 来重新定义 \ci{rightmark} 和 - \ci{leftmark}。 - -%If you want to change the look of the chapter -%name in the header line, you need only ``renew'' the \ci{chaptermark} -%command. \cih{sectionmark}\cih{subsectionmark} - -因此,只需要重新定义 \ci{chaptermark} 命令,\cih{sectionmark}\cih{subsectionmark} -就能修改页眉上显示的章名。 - -%Figure \ref{fancyhdr} shows a possible setup for the \pai{fancyhdr} -%package that makes the headers look about the same as they look in -%this booklet. In any case, I suggest you fetch the documentation for -%the package at the address mentioned in the footnote. - -图 \ref{fancyhdr} 显示了如何配置 \pai{fancyhdr} 来得到和本文相似的页眉。 -无论如何我还是建议你先阅读一下 \pai{fancyhdr} 宏包所带的文档。 - -%\section{The Verbatim Package} -\section{Verbatim 宏包} - -%Earlier in this book, you got to know the \ei{verbatim} -%\emph{environment}. In this section, you are going to learn about the -%\pai{verbatim} \emph{package}. The \pai{verbatim} package is basically -%a re-implementation of the \ei{verbatim} environment that works around -%some of the limitations of the original \ei{verbatim} environment. -%This by itself is not spectacular, but the implementation of the -%\pai{verbatim} package added new functionality, which is -%why I am mentioning the package here. The \pai{verbatim} -%package provides the - -在本文的前面部分你已经知道了 \ei{verbatim} {\textbf -环境}。在这一节中, 你将学会使用 \pai{verbatim} {\textbf -宏包}。 \pai{verbatim} 宏包重新 -实现了 \ei{verbatim} 环境,并解决了原来的 \ei{verbatim} 环境的一些限制。 -这本身并没有什么特别的,但 \pai{verbatim} 宏包还实现了一些新增的功能, -这才是我在这里提到这个宏包的原因。 \pai{verbatim} 宏包提供了 - -\begin{lscommand} -\ci{verbatiminput}\verb|{|\emph{filename}\verb|}| -\end{lscommand} - -%\noindent command, which allows you to include raw ASCII text into your -%document as if it were inside a \ei{verbatim} environment. - -\noindent -命令,这个命令允许你把一个 ASCII 码的文本文件包含到你的文档中来, -就好像它们是在 \ei{verbatim} 环境中一样。 - -%As the \pai{verbatim} package is part of the `tools' bundle, you -%should find it pre-installed on most systems. If you want to know more -%about this package, make sure to read \cite{verbatim}. - -\pai{verbatim} 宏包是 `tools' 宏包集的一部分,大多数的系统中都预装了这个宏包集。 -如果你想更多地了解这个宏包,可以阅读 \cite{verbatim}。 - -%\section{Installing Extra Packages}\label{sec:Packages} -\section{安装额外的宏包}\label{sec:Packages} - -%Most \LaTeX{} installations come with a large set of pre-installed -%style packages, but many more are available on the net. The main -%place to look for style packages on the Internet is CTAN -%(\url{http://www.ctan.org/}). - -大多数的 \LaTeX{} 安装都带有大量预装的样式宏包,但更多的宏包可以在网上得到。 -在互联网寻找样式宏包的一个主要的地方就是 CTAN -(\url{http://www.ctan.org/})。 - -%Packages such as \pai{geometry}, \pai{hyphenat}, and many -%others are typically made up of two files: a file with the extension -%\texttt{.ins} and another with the extension \texttt{.dtx}. There -%will often be a \texttt{readme.txt} with a brief description of the -%package. You should of course read this file first. - -各种宏包的源文件,例如 \pai{geometry}, \pai{hyphenat} 等等,一般来说都包含 -两个文件:一个扩展名为 \texttt{.ins},另一个扩展名为 \texttt{.dtx}。 -此外,通常会有一个 \texttt{readme.txt} 对宏包进行简要的说明。你应该先阅读这个文件。 - -%In any event, once you have copied the package files onto your -%machine, you still have to process them in a way that (a) tells your -%\TeX\ distribution about the new style package and (b) gives you -%the documentation. Here's how you do the first part: - -无论如何,一旦你得到了宏包的源文件,你还要对它们进行处理使得 (a) 你的 \TeX{} 系统知道这个新的宏包, (b) 生成说明文档。下面是第一部分的步骤: - -%\begin{enumerate} -%\item Run \LaTeX{} on the \texttt{.ins} file. This will -% extract a \eei{.sty} file. -%\item Move the \eei{.sty} file to a place where your distribution -% can find it. Usually this is in your \texttt{\ldots/\emph{localtexmf}/tex/latex} -% subdirectory (Windows or OS/2 users should feel free to change the -% direction of the slashes). -%\item Refresh your distribution's file-name database. The command -% depends on the \LaTeX distribution you use: -% teTeX, fpTeX -- \texttt{texhash}; web2c -- \texttt{maktexlsr}; -% MikTeX -- \texttt{initexmf -update-fndb} or use the GUI. -%\end{enumerate} - -\begin{enumerate} -\item 对 \texttt{.ins} 文件运行 \LaTeX{} 命令。这将会产生一个 \texttt{.sty} 文件。 -\item 把 \texttt{.sty} 文件移到 \LaTeX{} 系统能找到的地方。一般是在 - \texttt{\ldots/\emph{localtexmf}/tex/latex} 子目录下(Windows 或者 OS/2 用户应该改变斜线为反斜线)。 -\item 刷新系统的文件名数据库。具体的命令取决于你使用的 \LaTeX{} 系统: - teTeX, fpTeX -- \texttt{texhash}; web2c -- \texttt{maktexlsr}; - MikTeX -- \texttt{initexmf -update-fndb} 或者使用图形界面。 -\end{enumerate} - -%\noindent Now you can extract the documentation from the -%\texttt{.dtx} file: - -\noindent 现在你可以从 \texttt{.dtx} 文件生成说明文档: - -%\begin{enumerate} -%\item Run \LaTeX\ on the \texttt{.dtx} file. This will generate a -% \texttt{.dvi} file. Note that you may have to run \LaTeX\ -% several times before it gets the cross-references right. -%\item Check to see if \LaTeX\ has produced a \texttt{.idx} file -% among the various files you now have. -% If you do not see this file, then you may proceed to -% step \ref{step:final}. -%\item In order to generate the index, type the following:\\ -% \fbox{\texttt{makeindex -s gind.ist \textit{name}}}\\ -% (where \textit{name} stands for the main-file name without any -% extension). -% \item Run \LaTeX\ on the \texttt{.dtx} file once again. \label{step:next} -% -%\item Last but not least, make a \texttt{.ps} or \texttt{.pdf} -% file to increase your reading pleasure.\label{step:final} -% -%\end{enumerate} - -\begin{enumerate} -\item 对 \texttt{.dtx} 文件运行 \LaTeX{} 命令。这会生成一个 \texttt{.dvi} 文件。 - 注意你可能需要多次运行 \LaTeX{} 命令来正确处理交叉引用。 -\item 检查一下 \LaTeX{} 命令是否产生了 \texttt{.idx} 文件。如果没发现这个文件, - 你就可以执行第 \ref{step:final} 步了。 -\item 为了生成索引,敲入命令:\\ - \fbox{\texttt{makeindex -s gind.ist \textit{name}}}\\ - (这里 \textit{name} 表示不带扩展名的主文件名)。 -\item 再次对 \texttt{.dtx} 文件运行 \LaTeX{} 命令。\label{step:next} -\item 最后一步但不是必需的,生成 \texttt{.ps} 文件或者 \texttt{.pdf} 文件以方便阅读。\label{step:final} - -\end{enumerate} - -%Sometimes you will see that a \texttt{.glo} -%(glossary) file has been produced. Run the following -%command between -%step \ref{step:next} and \ref{step:final}: - -有时你会看见生成了一个 \texttt{.glo} -(glossary) 文件。在第 \ref{step:next} 步和第 \ref{step:final} 步之间 -运行下面的命令: - -\noindent\texttt{makeindex -s gglo.ist -o \textit{name}.gls \textit{name}.glo} - -%\noindent Be sure to run \LaTeX\ on the \texttt{.dtx} one last -%time before moving on to step \ref{step:final}. - -\noindent -确认在执行第 \ref{step:final} 步前最后对 \texttt{.dtx} 文件运行一遍 \LaTeX{} 命令。 - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Contents: Chapter on pdfLaTeX -% French original by Daniel Flipo 14/07/2004 -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%\section{Working with pdf\LaTeX} - -\section{使用 pdf\LaTeX} \label{sec:pdftex}\index{PDF} -\secby{Daniel Flipo}{Daniel.Flipo@univ-lille1.fr} -%\footnote{翻译: Li Jian. lijian605@yahoo.com.cn}} -% -%\begin{tiny} -%by Daniel Flipo $<$Daniel.Flipo@univ-lille1.fr$>$ -%\end{tiny}% - - -%PDF is a \wi{hypertext} document format. Much like in a web page, -%some words in the document are marked as hyperlinks. They link to -%other places in the document or even to other documents. If you -%click on such a hyperlink you get transported to the destination of -%the link. In the context of \LaTeX{}, this means that all -%occurrences of \ci{ref} and \ci{pageref} become hyperlinks. -%Additionally, the table of contents, the index and all the other -%similar structures become collections of hyperlinks. - -PDF 是一种超文本文档 (\wi{hypertext}) 格式。类似于网页, -文档中的某些词可以被超链接标记。它们链接到这个文档的另一个地方, -甚至是另外一个文档。如果你点击这样一个超链接, -你将转调到链接的目的地。 -这意味着在 \LaTeX{} 格式的文档中所有 \ci{ref} 和 \ci{pageref} 出现的位置都变成超链接。此外,目录、 -索引和其它类似的结构变成超链接的集合。 - -%Most web pages you find today are written in HTML \emph{(HyperText -% Markup Language)}. This format has two significant disadvantages -%when writing scientific documents: -%\begin{enumerate} -%\item Including mathematical formulae into HTML documents is not -% generally supported. While there is a standard for it, most browsers -% used today do not support it, or lack the required fonts. -%\item Printing HTML documents is possible, but the results vary widely -% between platforms and browsers. The results are miles removed from -% the quality we have come to expect in the \LaTeX{} world. -%\end{enumerate} - -现在大多数的网页都是用 HTML \textbf{超文本标记语言}编写。 -在写科技文档的时候,这种格式有两个严重的缺陷: -\begin{enumerate} -\item 数学公式在 HTML 文档中通常都不被支持。尽管对此有一个标准, -但是大多是现在使用的浏览器都不支持,或者缺少需要的字体。 -\item 打印 HTML 文档是比较容易的,但打印的结果会因系统平台和浏览器的不同 -而出现差异。 -这结果与我们在 \LaTeX{} 世界中期待的高质量相差十万八千里。 -\end{enumerate} - -% There have been many attempts to create translators -%from \LaTeX{} to HTML. Some were even quite successful in the sense -%that they are able to produce legible web pages from a standard -%\LaTeX{} input file. But all of them cut corners left and right to -%get the job done. As soon as you start using more complex \LaTeX{} -%features and external packages things tend to fall apart. Authors -%wishing to preserve the unique typographic quality of their -%documents even when publishing on the web turn to PDF -%\emph{(Portable Document Format)}, which preserves the layout of the -%document and permits hypertext navigation. Most modern browsers come -%with plugins that allow the direct display of PDF documents. - -有许多将 \LaTeX{} 转为 HTML 的尝试。其中一些可以说是相当成功的, -它们能将一个标准的 \LaTeX{} 源文件生成一个合格的网页。 -但是为了达到目的,需要去掉一些支持。 -当你开始使用 \LaTeX{} 的复杂功能和扩展宏包时,那些尝试就行不通了。 -若希望即使是发不到网上也保留文档的高质量, -作者们就要使用 PDF \textbf{(便携式文档格式)}, -它保留了文档的版式和允许超链接导航。 -现在大多数浏览器只要带上相应的插件都可以直接显示 PDF 文档。 - -%Even though there are DVI and PS viewers for almost every platform, you will find that -%\wi{Acrobat Reader} and \wi{Xpdf} for viewing PDF documents -%are more widely deployed. So providing PDF versions of your documents will -%make them much more accessible to your potential readers. - -尽管几乎所有的操作系统都有 DVI 和 PS 格式的阅读器, -但你会发现人们更多地使用 \wi{Acrobat -Reader} 和 \wi{Xpdf} 来阅读 PDF 文档。 -因而提供 PDF 格式的文档将使得潜在的读者更容易阅读。 - - -%\subsection{PDF Documents for the Web} -\subsection{发布到网上的 PDF 文档} - -% The creation of a PDF file from \LaTeX{} source is very simple, -%thanks to the pdf\TeX{} program developed by -%H\`an Th\'{\^e} Th\`anh. pdf\TeX{} produces PDF output where normal -%\TeX{} produces DVI. There is also a pdf\LaTeX{}, which produces -% PDF output from \LaTeX{} sources. \index{pdftex@pdf\TeX}\index{pdftex@pdf\LaTeX} - -有了 H\`an Th\'{\^e} Th\`anh 开发的 pdf\TeX{} 程序,使用 \LaTeX 源文件来创建 PDF 文件将变得非常简单。 -一般的 TeX{} 生成 DVI, -而 pdf\TeX{} 生成 PDF。还有 pdf\LaTeX{} 程序将 LaTeX{} 源文件生成 PDF。 -\index{pdftex@pdf\TeX}\index{pdftex@pdf\LaTeX} - -%Both pdf\TeX{} and pdf\LaTeX{} are installed automatically by most -%modern \TeX{} distributions, such as te\TeX{}, fp\TeX{}, Mik\TeX, -%\TeX{}Live and CMac\TeX{}. - -现在大多数的 \TeX{} 发行版本都自动集成安装了 pdf\TeX{} 和 pdf\LaTeX{}, -例如: te\TeX{}, fp\TeX{}, Mik\TeX{}, \TeX{}Live 和 CMac\TeX{}。 - -%To produce a PDF instead of DVI, it is sufficient to replace the -%command \texttt{latex file.tex} by -%\texttt{pdflatex file.tex}. On systems where \LaTeX{} is not called from the -%command line, you may find a special button in the \TeX{}ControlCenter. - -为了生成 PDF 而不是 DVI,只需要将命令 \texttt{latex -file.tex} 改成 \texttt{pdflatex -file.tex}。在不是使用命令行的 \LaTeX{} 系统中,你可以在 \TeX{} 控制中心找到一个专门的按钮。 - -%In \LaTeX{} you can define the paper size with an -%optional documentclass argument such as \texttt{a4paper} or -%\texttt{letterpaper}. This works in pdf\LaTeX{} too, but on top of this -%pdf\TeX{} also needs to know the physical size of the paper to determine the physical -%size of the pages in the pdf file. -%\index{paper size} -%If you use the -%\pai{hyperref} package (see page \pageref{ssec:pdfhyperref}), the -%papersize will be adjusted automatically. Otherwise you have to do this -%manually by putting the following lines into the preamble of the document: -%\begin{code} -%\begin{verbatim} -%\pdfpagewidth=\paperwidth -%\pdfpageheight=\paperheight -%\end{verbatim} -%\end{code} - -在 \LaTeX{} 中, -你可以通过 documentclass 的参数选项来定义页面的大小, -例如:\texttt{a4paper} 或 \texttt{letterpaper}。这些也 -对 pdf\LaTeX{} 有效,但是首先要让 pdf\TeX{} 知道这种页 -面的实际大小来控制 PDF 文件的页面大小。若你使用 \pai{hyperref} 宏 -包(参见第 \pageref{ssec:pdfhyperref} 页),页面的大小将自动调整。 -否则,你需要手动的将下面两行加入到文档的导言区: -\begin{code} -\begin{verbatim} -\pdfpagewidth=\paperwidth -\pdfpageheight=\paperheight -\end{verbatim} -\end{code} - -%The following section will go into more detail regarding the -%differences between normal \LaTeX{} and pdf\LaTeX{}. The main -%differences concern three areas: the fonts to use, the format of -%images to include, and the manual configuration of hyperlinks. - -接下来的一节将深入介绍 \LaTeX{} 和 pdf\LaTeX{} 之间的不同。主要的不同 -有三个方面:采用的字体,包含图像的格式和超链接的手动配置。 - -%\subsection{The Fonts} -\subsection{字体} - -%\wi{pdf\LaTeX} can deal with all sorts of fonts (PK bitmaps, -%TrueType, -%%\PSi{} type 1\dots) but the normal \LaTeX{} font format, the bitmap PK -%PostScript type 1\dots) but the normal \LaTeX{} font format, the -%bitmap PK fonts produce very ugly results when the document is -%%displayed with Acrobat Reader. It is best to use \PSi{} Type 1 fonts -%displayed with Acrobat Reader. It is best to use PostScript Type 1 -%fonts exclusively to produce documents that display well. -%\emph{Modern TeX installations will be setup so that this happens -%automatically. Best is to try. If it works for you, just skip this -%whole section.} - -\wi{pdf\LaTeX} 能处理所有的字体 (PK 点阵、TrueType、 \PSi{} -type 1……),但是作为 \LaTeX{} 通常的字体格式, PK 点阵字体在 Acrobat -Reader 下的显示效果非常差。为了获得文档更高的显示效果,最好使用 \PSi{} -Type 1 字体。{\textbf -高级的 \TeX{} 安装程序会自动设置好,你最好试一下,如果它正常运作,你就可以跳过这一节。} - -%The \PSi{} Type 1 implementation of the Computer Modern and AMSFonts -%was produced by Blue Sky Research and Y\&Y, Inc., who then -%transferred copyright to the American Mathematical Society. The -%fonts were made publicly available in early 1997 and currently come -%with most of \TeX{} distributions. - -\PSi{} Type 1 的 Computer Modern 和 AMSFonts 字体由 Blue Sky -Research 和 Y\&Y, -Inc. 制作,后来版权属于美国数学学会 (AMS)。这些字体在 1997 年被开放,并且出现在大多数 \TeX{} 发行版中。 - -%However, if you are using \LaTeX{} to create documents in languages -%other than English, you might want to use EC, LH, or CB fonts (see the -%discussion about \texttt{OT1} fonts on the page \pageref{OT1}). -%Vladimir Volovich has created the cm-super font bundle which covers the -%entire EC/TC, EC Concrete, EC Bright and LH font sets. It is available from -%\texttt{CTAN:/fonts/ps-type1/cm-super} and is included with \TeX{}Live7 -%and Mik\TeX. Similar type 1 CB Greek fonts created by Apostolos -%Syropoulos are available at -%\texttt{CTAN:/tex-archive/fonts/greek/cb}. Unfortunately, both of -%these font sets are not of the same typographic quality as the Type1 -%CM fonts by Blue Sky/Y\&Y. They were automatically hinted, and the -%document might look not as neat on the screen as the ones using Blue -%Sky/Y\&Y type 1 CM fonts, on high resolution output devices they -%produce results identical to the original bitmap EC/LH/CB fonts. - -然而,如果你使用 \LaTeX{} 来创建非英文的文档,你可能用到 EC, LH 或 CB 字体(关于 - \texttt{OT1} 字体的讨论可参见第 \pageref{OT1} 页)。Vladimir -Volovich 创建了 cm-super 字体包,包含全部 EC/TC、EC Concrete、EC -Bright 和 LH 字体集。在 \texttt{CTAN:/fonts/ps-type1/cm-super} 可以获得,也被集成进了 - \TeX{}Live7 和 Mik\TeX\/。由 Apostolos Syropoulos 创建类似 type 1 -CB 的希腊字体可在 \texttt{CTAN:/tex-archive/fonts/greek/cb} 获得。不幸的是,这些字体集跟 Blue -Sky/Y\&Y 的 Type 1 -CM 字体的印刷质量不一样。\LaTeX{} 会自动提示,而且文档在屏幕的显示效果也不如 Blue -Sky/Y\&Y type 1 -CM 字体那么整洁。在高分辨率的输出设备下,它们生成的效果跟原来的 EC/LH/CB 点阵字体一样。 - -% If you are creating document in one of Latin-based -%languages, you have several other options. -%\begin{itemize} -%\item You might want to use \pai{aeguill} package, aka -% \emph{Almost European Computer Modern with Guillemets}. Just put the -% line -% \newline - % \verb+\usepackage{aeguill}+\ into the preamble of - % your document, to enable AE virtual fonts instead of EC fonts. -%\item Alternatively, you can use \pai{mltex} package, but this only works when -% your pdf\TeX{} has been compiled with the \wi{mltex} option. -%\end{itemize} - -如果你使用一种拉丁语系的语文来创建文档,你有其它一些选择。 -\begin{itemize} -\item 使用 \pai{aeguill} 宏包,也叫 \emph{Almost European Computer Modern with -Guillemets}。只需在导言区添加一行 \verb+\usepackage{aeguill}+,来启用 AE 虚拟字体替代 EC 字体。 -\item 或者使用 \pai{mltex} 宏包,但是它只在 pdf\TeX{} 设置了 \wi{mltex} 选项时有效。 -\end{itemize} - -%The AE virtual fontset, like the {Ml\TeX} system, makes \TeX{} believe -%it has a full 256 character fontset at its disposal by creating most of -%the missing letters from characters of the CM font and rearranging them -%in the EC order, this allows to use the excellent type 1 format CM -%fonts available on most systems. As the font is now in T1 encoding, -%hyphenation will work well in Latin-based European languages. The only -%disadvantage of this approach is that the artificial AE characters do -%not work with Acrobat Reader's \texttt{Find} function, so you cannot -%search for words with accented characters in your final PDF file. - -AE 虚拟字体集,像 {Ml\TeX} 系统,在 CM 字体的字符基础上创建 -全部缺失的字母并按 EC 顺序重新排列,就使得 \TeX{} 处理它的时候 -认为它有一个全部 256 个字符的字体集。这样就可使用大部分系统中优质的 type -1 格式的 cm 字体。这套字体现在为 T1 编码,在拉丁语系的欧洲语文中能很好的运作。 -唯一的不足就是创建的 AE 字符不支持 Acrobat -Reader 的查找功能,因此你不能在 PDF 文档中搜索那些带重音符号的单词。 - -%For the Russian language a similar solution is to use C1 virtual fonts -%available at \texttt{ftp://ftp.vsu.ru/pub/tex/font-packs/c1fonts}. -%These fonts combine the standard CM type 1 -%fonts from Bluesky collection and CMCYR type 1 fonts from Paradissa and -%BaKoMa collection, all available on CTAN. Because Paradissa fonts -%contain only Russian letters, C1 fonts are -%missing other Cyrillic glyphs. - -对于俄文,一个类似的解决办法是使用 C1 虚拟字体,这可以在 \texttt{ftp://ftp.vsu.ru/pub/tex/font-packs/c1fonts} -上获得。这套字体集成了标准的 Bluesky CM type 1 字体和 Paradissa -与 BaKoMa 的 CMCYR -type 1 字体,这些都可以在 CTAN 上找到。由于 Paradissa 字体只包含俄文字母,C1 字体里就没有 -其他西里尔字符了。 - -%Another solution is to switch to other \PSi{} type 1 fonts. -%Actually, some of them are even included with every copy of Acrobat -%Reader. Because these fonts have different character sizes, the text -%layout on your pages will change. Generally these other fonts will -%use more space than the CM fonts, which are very space-efficient. -%Also, the overall visual coherence of your document will suffer -%because Times, Helvetica and Courier (the primary candidates for -%such a replacement job) have not been designed to work in harmony in -%a single document. - -另一种解决办法是使用其它 \PSi{} -type 1 字体。事实上,其中一些字体被包含在 Acrobat -Reader 的相应语言版本中。由于这些字体有不同的字符大小,页面上的文本格式将会 -改变。一般地,这类字体占得空间要比 CM 字体大,因为 CM 字体是一种 -非常节省空间的字体。而且文档可视的一致性也被破坏了,因为 Times、 -Helvetica 和 Courier 字体(这些是 Acrobat 里基本的可替换字体)没有 -被设计来在单个文档中和平共处。 - -%Two ready-made font sets are available for this purpose: -%\pai{pxfonts}, which is based on \emph{Palatino} as its main text body font, -%and the \pai{txfonts} package, which is based on \emph{Times}. To use them it is -%sufficient to put the following lines into the preamble of your -%document: -%\begin{code} -%\begin{verbatim} -%\usepackage[T1]{fontenc} -%\usepackage{pxfonts} -%\end{verbatim} -%\end{code} - -为了达到上述目的,有两套字体已经做好:\pai{pxfonts},它基于作为正文 -字体的 \emph{Palatino};另外就是基于 \emph{Times} 的 \pai{txfonts} 宏包。只需要在文档的导言区加入下列几行就可以使用这些字体: -\begin{code} -\begin{verbatim} -\usepackage[T1]{fontenc} -\usepackage{pxfonts} -\end{verbatim} -\end{code} - -%Note: you may find lines like -%\begin{verbatim} -%Warning: pdftex (file eurmo10): Font eur... not found -%\end{verbatim} -%in the \texttt{.log} file after compiling your input file. They mean -%that some font used in the document has not been found. You really have -%to fix these problems, as the resulting PDF document may -%\emph{not display the pages with the missing characters at all}. - -注:当你编译的时候,在 .log 文件中出现下面的信息: -\begin{verbatim} -Warning: pdftex (file eurmo10): Font eur... not found -\end{verbatim} -这意味着文档使用的某些字体没有被找到。你必须解决这些问题,否则输出的 PDF -文件可能\textbf{不会显示缺失字符的页面}。 - -%As you can see this whole font business, especially the lack of a -%good EC fontset equivalent in quality to the CM font in type 1 -%format, has been occupying many peoples minds. Recently a new set of -%high quality outline fonts called Latin Modern (LM) has become -%available. It puts an end to the misery. If you have a recent \TeX{} -%installation, chances are that you already have a copy of them -%installed all you need todo is to add -%\begin{code} -%\begin{verbatim} -%\usepackage{lmodern} -%\usepackage[T1]{fontenc} -%\usepackage{textcomp} -%\end{verbatim} -%\end{code} -%to the preamble of your document and you are all set for creating excellent -%pdf output with full support for the full Latin character set. - -上面讨论了如此多的字体问题,特别是缺乏与 type 1 格式的 CM 字体同样高质量的 EC 字体一 -直困扰大家。最近一套新的被称为 Latin Modern -(LM) 的高质量字体已开发完成。这使得前面的担心都是多余的。如果你安装了最新的 \TeX{}, -你可能已经安装好这套字体,需要做的只是在你的文档的导言区添加 -\begin{code} -\begin{verbatim} -\usepackage{lmodern} -\usepackage[T1]{fontenc} -\usepackage{textcomp} -\end{verbatim} -\end{code} -就可以创建支持所有拉丁字符的优质 PDF 输出文件。 - - -%\subsection{Using Graphics} -\subsection{使用图形} -\label{ssec:pdfgraph} - -%Including graphics into a document works best with the -%\pai{graphicx} package (see page \pageref{eps}). -%By using the special \emph{driver} option \texttt{pdftex} the -%package will work with pdf\LaTeX{} as well: -%\begin{code} -%\begin{verbatim} -%\usepackage[pdftex]{color,graphicx} -%\end{verbatim} -%\end{code} -%In the sample above I have included the color option, as using color in -%documents displayed on the web comes quite naturally. - -通过 \pai{graphicx} 宏包 -(参见第 \pageref{eps} 页),你可以在文档中插入图形。使用 \texttt{pdftex} -作为 \emph{driver} 的选项,这个宏包也可用于 pdf\LaTeX{}: -\begin{code} -\begin{verbatim} -\usepackage[pdftex]{color,graphicx} -\end{verbatim} -\end{code} -上面这个例子中,我还包含了 color 宏包,因此网页上彩色的文档会看起来更自然一些。 - -%%So much for the good news. The bad news is that graphics in \EPSi{} -%format do not work with Pdf\LaTeX{}. If you don't define a file -%extension in the \ci{includegraphics} command, \pai{graphicx} will -%go looking for a suitable file on its own, depending on the setting -%of the \emph{driver} option. For \texttt{pdftex} this is formats -%\texttt{.png}, \texttt{.pdf}, \texttt{.jpg} and \texttt{.mps} -%%(\MP\index{metapost@\MP})---but \emph{not} \texttt{.eps}. - -好消息到此为止。坏消息就是 \EPSi{} 格式的图形并不被 Pdf\LaTeX{} 所支持。 -如果你不在命令 \ci{includegraphics} 声明加载的文件的扩展名, -宏包 \pai{graphicx} 将依赖于 \emph{driver} 选项 -的设置自动寻找一个合适的文件。 -对于 \texttt{pdftex} ,它支持的格式有 \texttt{.png},\texttt{.pdf}, -\texttt{.jpg} 和 \texttt{.mps} (\texttt{MetaPost}\index{metapost@\MP}),但{\textbf -不}支持 \texttt{.eps}。 - -% The simple way out of this problem is -%to just convert your EPS files into PDF format using the -%\texttt{epstopdf} utility found on many systems. For vector graphics -%(drawings) this is a great solution. For bitmaps (photos, scans) -%this is not ideal, because the PDF format natively supports the -%inclusion of PNG and JPEG images. PNG is good for screenshots and -%other images with few colors. JPEG is great for photos, as it is -%very space-efficient. - -一个解决这个问题的简单方法是通过在很多系统中可找到的 \texttt{epstopdf} 工具 -将你的 EPS 文件转化为 PDF 格式。 -对于矢量图(画),这时一个很好的解决办法,但对于位图(相片、扫描图), -这并不是很理想,因为 PDF 格式本来就支持包含 PNG 和 JPEG 图像。PNG 格式适合屏幕截图和其它一些只有较少颜色的图像。JPEG 是一种 -非常适合于相片的格式,而且占用空间少。 - -% It may even be desirable not to draw certain geometric -%figures, but rather describe the figure with a specialized command -%language, such as -%\MP\index{metapost@\MP}, -%METAPOST -%which can be found in most \TeX{} distributions, and comes -%with its own extensive manual. - -可能对于画一些特殊的几何图形这也不是很理想,幸好可以通过一些专门 -的命令语言来画图形,例如 \texttt{MetaPost}\index{metapost@\MP}, -它可以在大多数的 \TeX{} 发行版本中找到,并且也包含它的扩展手册。 - -%\subsection{Hypertext Links} -\subsection{超链接} -\label{ssec:pdfhyperref} - -%The \pai{hyperref} package will take care of turning all internal -%references of your document into hyperlinks. For this to work -%properly some magic is necessary, so you have to put -%\verb+\usepackage[pdftex]{hyperref}+ as the \emph{last} command into -%the preamble of your document. - -\pai{hyperref} 宏包将你的文档中的所有内部引用变成超链接。 -为此,一些特殊的设置是必须的,保证 -\verb+\usepackage[pdftex]{hyperref}+ 是你的文档导言区的{\textbf -最后}一行命令。 - -%Many options are available to customize the behaviour of the -%\pai{hyperref} package: -%\begin{itemize} -%\item either as a comma separated list after the pdftex option\\ -% \verb+\usepackage[pdftex]{hyperref}+ -%\item or on individual lines with the command -% \verb+\hypersetup{+\emph{options}\verb+}+. -%\end{itemize} - -有很多选项用于定义 \pai{hyperref} 宏包的效果: -\begin{itemize} -\item -或者在 \verb+\usepackage[pdftex]{hyperref}+ 的 pdftex 选项后用逗号隔开列出; -\item 或者使用单独一行的命令 \verb+\hypersetup{+\emph{options}\verb+}+。 -\end{itemize} - -%The only required option is \texttt{pdftex}; the others are -%optional and allow you to change the default behaviour of hyperref.\footnote{It -%is worth noting that the \pai{hyperref} package is not limited to -%work with pdf\TeX{}. It can also be configured to embed PDF-specific -%information into the DVI output of normal \LaTeX{}, which then gets put -%into the PS file by \texttt{dvips} and is finally picked up by Adobe -%Distiller when it is used to turn the PS file into PDF.} In the following -%list the default values are written in an upright font. - -\texttt{pdftex} 是唯一必须的选项,其他参数用来改变 hyperref 的 -默认效果\footnote{值得注意的是 \pai{hyperref} 宏包并不只是在 pdf\TeX{} 下可用。 -它也可以用于将 PDF 特殊信息嵌入到由通常 \LaTeX{} 生成的 DVI 文件中。 -然后通过 \texttt{dvips} 转化为 PS 格式,最后用 Adobe -Distiller 将 PS 格式转成 PDF。}。下面的列表中默认值被写成 upright 字体。 - -%\begin{flushleft} -%\begin{description} -% \item [\texttt{bookmarks (=true,\textit{false})}] show or hide the -% bookmarks bar when displaying the document -% \item [\texttt{unicode (=false,\textit{true})}] allows to use -%% characters of non-latin based languages in Acrobat's bookmarks -% \item [\texttt{pdftoolbar (=true,\textit{false})}] show or hide -% Acrobat's toolbar -% \item [\texttt{pdfmenubar (=true,\textit{false})}] show or hide -% Acrobat's menu -% \item [\texttt{pdffitwindow (=true,\textit{false})}] adjust the -% initial magnification of the pdf when displayed -% \item [\texttt{pdftitle (=\{text\})}] define the title that gets -% displayed in the \texttt{Document Info} window of Acrobat -% \item [\texttt{pdfauthor (=\{text\})}] the name of the PDF's author -% \item [\texttt{pdfnewwindow (=true,\textit{false})}] define if a new -% window should get opened when a link leads out of the current -% document -% \item [\texttt{colorlinks (=false,\textit{true})}] surround the -% links by color frames (\texttt{false}) or colors the text of the links -% (\texttt{true}). The color of these links can be configured -% using the following options (default colors are shown): -% \begin{description} -% \item [\texttt{linkcolor (=red)}] color of internal -% % links (sections, pages, etc.), -% \item [\texttt{citecolor (=green)}] color of -%% citation links (bibliography) - % \item [\texttt{filecolor (=magenta)}] color of file -% links -% \item [\texttt{urlcolor (=cyan)}] color of URL -%% links (mail, web) -% \end{description} -%\end{description} -%\end{flushleft} - - -\begin{flushleft} -\begin{description} - \item [\texttt{bookmarks (=true,\textit{false})}] 显示或隐藏书签栏 - \item [\texttt{unicode (=false,\textit{true})}] 允许在 Acrobat 书签栏使用非拉丁语系的字符 - \item [\texttt{pdftoolbar (=true,\textit{false})}] 显示或隐藏 Acrobat 的工具栏 - \item [\texttt{pdfmenubar (=true,\textit{false})}] 显示或隐藏 Acrobat 的菜单栏 - \item [\texttt{pdffitwindow (=true,\textit{false})}] 调整显示 PDF 的初始化放大倍率 - \item [\texttt{pdftitle (=\{text\})}] 定义 Acrobat 显示的文档信息 (\texttt{Document - Info}) - \item [\texttt{pdfauthor (=\{text\})}] PDF 文件作者名字 - \item [\texttt{pdfnewwindow (=true,\textit{false})}] 定义当超链接到另一个文档时,是否打开一个新的窗口 - \item [\texttt{colorlinks (=false,\textit{true})}] - 链接有一个彩色框架 (\texttt{false}) 或者链接文本的颜色设置 (\texttt{true})。链接的颜色通过下面的参数来控制(默认的颜色已列出) - \begin{description} - \item [\texttt{linkcolor (=red)}]内部链接的颜色 (sections, pages, etc.), - \item [\texttt{citecolor (=green)}]引用链接的颜色 (bibliography) - \item [\texttt{filecolor (=magenta)}] 文件链接的颜色 - \item [\texttt{urlcolor (=cyan)}] URL 链接的颜色 (mail, web) - \end{description} -\end{description} -\end{flushleft} - -%If you are happy with the defaults, use -%\begin{code} -%\begin{verbatim} -%\usepackage[pdftex]{hyperref} -%\end{verbatim} -%\end{code} - -如果你觉得这些默认值合适,就直接使用 -\begin{code} -\begin{verbatim} -\usepackage[pdftex]{hyperref} -\end{verbatim} -\end{code} - -% To have the bookmark list open and links in color -%(the \texttt{=true} values are optional): -%\begin{code} -%\begin{verbatim} -%\usepackage[pdftex,bookmarks,colorlinks]{hyperref} -%\end{verbatim} -%\end{code} - -为了使书签列表打开和链接为彩色 (\texttt{=true} 不需要写出来): -\begin{code} -\begin{verbatim} -\usepackage[pdftex,bookmarks,colorlinks]{hyperref} -\end{verbatim} -\end{code} - -%When creating PDFs destined for printing, colored links are not a -% good thing as they end up in gray in the final output, making it -% difficult to read. You can use color frames, which are not printed: - -当创建 PDF 文档是用来打印的,使用彩色的链接并不是一件好事,因为彩色的链接将会被 -打印成灰色,从而难以阅读。你可以设置不打印彩色的框架: -\begin{code} -\begin{verbatim} -\usepackage{hyperref} -\hypersetup{colorlinks=false} -\end{verbatim} -\end{code} -%\noindent or make links black: -\noindent 或者将超链接变成黑色: -\begin{code} -\begin{verbatim} -\usepackage{hyperref} -\hypersetup{colorlinks,% - citecolor=black,% - filecolor=black,% - linkcolor=black,% - urlcolor=black,% - pdftex} -\end{verbatim} -\end{code} - - -% When you just want to provide information for the -% \texttt{Document Info} section of the PDF file: -当你只想提供 PDF 文件的文档信息 (\texttt{Document Info}): -\begin{code} -\begin{verbatim} -\usepackage[pdfauthor={Pierre Desproges},% - pdftitle={Des femmes qui tombent},% - pdftex]{hyperref} -\end{verbatim} -\end{code} - -\vspace{\baselineskip} - -%In addition to the automatic hyperlinks for cross references, it is -%possible to embed explicit links using -除了自动的交叉引用的超链接,通过下面的命令可以嵌入明确的链接: -\begin{lscommand} -\ci{href}\verb|{|\emph{url}\verb|}{|\emph{text}\verb|}| -\end{lscommand} - -%The code -代码 -\begin{code} -\begin{verbatim} -The \href{http://www.ctan.org}{CTAN} website. -\end{verbatim} -\end{code} -%produces the output ``\href{http://www.ctan.org}{CTAN}''; -%a click on the word ``\textcolor{magenta}{CTAN}'' -%will take you to the CTAN website. -生成的效果为 ``\href{http://www.ctan.org}{CTAN}'';单击词 ``\textcolor{magenta}{CTAN}'' 将把你带到 CTAN 网站。 - -%If the destination of the link is not a URL but a local file, -% you can use the \ci{href} command: -%\begin{verbatim} -% The complete document is \href{manual.pdf}{here} -%\end{verbatim} -%Which produces the text ``The complete document is \textcolor{cyan}{here}''. -%A click on the word -%``\textcolor{cyan}{here}'' -%will open the file \texttt{manual.pdf}. (The filename is relative to -%the location of the current document). - -若链接的目的地不是一个 URL ,而是一个本地文件,你可以使用 \ci{href} 命令: -\begin{verbatim} - The complete document is \href{manual.pdf}{here} -\end{verbatim} -生成的效果为 ``The complete document is -\textcolor{cyan}{here}''。单击 ``\textcolor{cyan}{here}'' 将打开文件 \texttt{manual.pdf} -(文件名跟依赖于当前文档的位置)。 - -%The author of an article might want her readers to easily send -% email messages by using the \ci{href} command inside the \ci{author} -% command on the title page of the document: -%\begin{code} -%\begin{verbatim} -%\author{Mary Oetiker $<$\href{mailto:mary@oetiker.ch}% -% {mary@oetiker.ch}$>$ -%\end{verbatim} -%\end{code} -%Note that I have put the link so that my email address appears not only -%in the link but also on the page itself. I did this because the -%link\\ -%\verb+\href{mailto:mary@oetiker.ch}{Mary Oetiker}+\\ -%would -%work well within Acrobat, but once the page is printed the email address -%would not be visible anymore. - -若文章的作者希望读者可以容易地发邮件给她,只需要在文档的标题页的 \ci{author} 命令中使用命令 - \ci{href}: -\begin{code} -\begin{verbatim} -\author{Mary Oetiker $<$\href{mailto:mary@oetiker.ch}% - {mary@oetiker.ch}$>$ -\end{verbatim} -\end{code} -注意到这个链接不仅显示在链接中还显示在页面上。下面的链接\\ -\verb+\href{mailto:mary@oetiker.ch}{Mary Oetiker}+ \\ -在 Acrobat 中可正常使用,但页面被打印时,邮箱地址将不可见。 - - -%\subsection{Problems with Links} -\subsection{链接的问题} - -%Messages like the following: -%\begin{verbatim} -%! pdfTeX warning (ext4): destination with the same -% identifier (name{page.1}) has been already used, -% duplicate ignored -%\end{verbatim} -%appear when a counter gets reinitialized, for example by using -%the command \ci{mainmatter} provided by the \texttt{book} document class. It -%resets the page number counter to 1 prior to the first chapter of the -%book. But as the preface of the book also has a page number 1 all -%links to ``page 1'' would not be unique anymore, hence the notice -%that ``\verb+duplicate+ has been \verb+ignored+.'' - -当一个计数器被重新初始化后可能出现下面的信息: -\begin{verbatim} -! pdfTeX warning (ext4): destination with the same - identifier (name{page.1}) has been already used, - duplicate ignored -\end{verbatim} -例如,在 \texttt{book} 类的文档中使用命令 \ci{mainmatter} 就可能出现上面的警告。 -它在书的第一章重设页码计数器为 1,但是书的序言部分也有页码 1,从而链接到“页码 1”不再是 -唯一的,故出现了 ``\verb+duplicate+ has been \verb+ignored+.'' - -%The counter measure consists of putting \texttt{plainpages=false} into -%the hyperref options. This unfortunately only helps with the page -%counter. -%An even more radical solution is to use the option\\ -%\texttt{hypertexnames=false}, but this will cause the page links in -%the index to stop working. - -一个解决的办法是将 \texttt{plainpages=false} 加入到 hyperref 选项中。 -不幸的是这样只对页码计数器有效。或者冒险使用 -\texttt{hypertexnames=false},但是这会使得索引中的页码链接失效。 - -%\subsection{Problems with Bookmarks} -\subsection{书签的问题} - -%The text displayed by bookmarks does not always look like you expect -%it to look. Because bookmarks are ``just text,'' much fewer -%characters are available for bookmarks than for normal \LaTeX{} text. -%Hyperref will normally notice such problems and put up a warning: -%\begin{code} -%\begin{verbatim} -%Package hyperref Warning: -%Token not allowed in a PDFDocEncoded string: -%\end{verbatim} -%\end{code} - -书签中的文本有时并不会像你想象中的那样显示,因为书签仅仅是“文本”,其中可使用的字符要比 -正常 \LaTeX{} 文件的少得多。Hyperref 经常遇到这类问题而出现下面的警告: - -\begin{code} -\begin{verbatim} -Package hyperref Warning: -Token not allowed in a PDFDocEncoded string: -\end{verbatim} -\end{code} - -%You can now work around this problem by providing a text string for -%the bookmarks, which replaces the offending text: -%\begin{lscommand} -%\ci{texorpdfstring}\verb|{|\emph{\TeX{} text}\verb|}{|\emph{Bookmark Text}\verb|}| -%\end{lscommand} - -现在你可以通过为书签提供一个文本字符串来解决这个问题,用 -\begin{lscommand} -\ci{texorpdfstring}\verb|{|\emph{\TeX{} text}\verb|}{|\emph{Bookmark Text}\verb|}| -\end{lscommand} -\noindent 来替换不正常显示的文本。 - -%Math expressions are a prime candidate for this kind of problem: -%\begin{code} -%\begin{verbatim} -%\section{\texorpdfstring{$E=mc^2$}% -% {E=mc^2}} -%\end{verbatim} -%\end{code} -%which turns \verb+\section{$E=mc^2$}+ to ``E=mc2'' in the bookmark area. - -数学表达式也是这类问题的典型代表: -\begin{code} -\begin{verbatim} -\section{\texorpdfstring{$E=mc^2$}% - {E=mc^2}} -\end{verbatim} -\end{code} -而通常在书签中 \verb+\section{$E=mc^2$}+ 显示为“E=mc2”。 - -%Color changes also do not travel well into bookmarks: -%\begin{code} -%\verb+\section{\textcolor{red}{Red !}}+ -%\end{code} -%produces the string ``redRed!''. The command \verb+\textcolor+ gets ignored -%but its argument (red) gets printed. - -颜色的改变也在书签显示中出问题: -\begin{code} -\verb+\section{\textcolor{red}{Red !}}+ -\end{code} -显示的结果为“redRed!”。命令 \verb+\textcolor+ 被忽略。而它的参数 (red) 被输出。 - -% If you use -%\begin{code} -%\verb+\section{\texorpdfstring{\textcolor{red}{Red !}}{Red\ !}}+ -%\end{code} -%the result will be much more legible. - -如果你使用 -\begin{code} -\verb+\section{\texorpdfstring{\textcolor{red}{Red !}}{Red\ !}}+ -\end{code} -结果将更美观。 - -%If you write your document in unicode and use the \verb+unicode+ option for -%the \pai{hyperref} package you can use unicode characters in bookmarks. This -%will give you a much larger selection of characters to pick from -%when using \ci{texorpdfstring}. - -如果你写 unicode (统一字符编码)类型的文档,就需添加宏包 \pai{hyperref} 的选 -项 \verb+unicode+,这样你就 -可以在书签中使用 unicode 字符。然后使用 \ci{texorpdfstring} 命令将让 -你有较大范围的字符供选择。 - -%\subsubsection{Source Compatibility Between \LaTeX{} and pdf\LaTeX{}} -\subsubsection{\LaTeX{} 和 pdf\LaTeX{} 的源文件的兼容性} -\label{sec:pdfcompat} - -%Ideally your document would compile equally well with \LaTeX{} and -%pdf\LaTeX{}. The main problem in this respect is the inclusion of -%graphics. The simple solution is to \emph{systematically drop} the -%file extension from \ci{includegraphics} commands. They will then -%automatically look for a file of a suitable format in the current -%directory. All you have to do is create appropriate versions of the -%graphics files. \LaTeX{} will look for \texttt{.eps}, and -%pdf\LaTeX{} will try to include a file with the extension -%\texttt{.png}, \texttt{.pdf}, \texttt{.jpg} or \texttt{.mps} (in -%that order). - -理想的话,你的文档用 \LaTeX{} 和 pdf\LaTeX{} 编译的效果应该一致, -这方面的问题主要是包含的图像。 -一个简单的解决办法是在命令 \ci{includegraphics} 中不设置加载的图像的扩展名, -它们会自动在当前目录寻找一个格式适合的文件, -你需要做的是创建相应格式的图像文件。\LaTeX{} 会寻找 \texttt{.eps} 格式, -而 pdf\LaTeX{} 会尝试包含一个扩展名 为 \texttt{.png}, -\texttt{.pdf},\texttt{.jpg} 或 \texttt{.mps} (按这个顺序)的文件。 - -%For the cases where you want to use different code for the -%PDF version of your document, you can simply add the package \pai{ifpdf}% -%\footnote{If you want the whole story on why to use this package then -% go to the \TeX{} FAQ under the item\\ -% \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=ifpdf}.} to -%your preamble. Chances are that you already have it installed; if not -%then you're probably using MiK\TeX{} which will install it for you -%automatically the first time you try to use it. This package defines -%the special command \ci{ifpdf} that will allow you to write -%conditional code easily. In this example, we want the PostScript -%version to be black and white due to the printing costs but we want -%the PDF version for online viewing to be colourful. - -若你想在 PDF 格式的文件中使用不同的代码,只需要简单地在导言区加入宏包 \pai{ifpdf} -\footnote{如果你想知道为什么要使用这个宏包,可以参见 \TeX{} FAQ 的这个栏目\\ - \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=ifpdf}。}。 -但前提是你已经安装了这个宏包,如果没有安装而你又使用 MiK\TeX{} 的话, -它将在你第一次使用的时候自动安装。 -这个宏包定义了一个特殊的命令 \ci{ifpdf},利用它你可很容易编写条件代码。 -例如,考虑到打印费用,用 PostScript -格式仅使用黑白色,但在线查看的 PDF 格式将是彩色的。 - -\begin{code} -\begin{verbatim} -\RequirePackage{ifpdf} % running on pdfTeX? -\ifpdf - \documentclass[a4paper,12pt,pdftex]{book} -\else - \documentclass[a4paper,12pt,dvips]{book} -\fi - -\ifpdf - \usepackage{lmodern} -\fi -\usepackage[bookmarks, % add hyperlinks - colorlinks, - plainpages=false]{hyperref} -\usepackage[T1]{fontenc} -\usepackage[latin1]{inputenc} -\usepackage[english]{babel} -\usepackage{graphicx} -... -\end{verbatim} -\end{code} - -%In the example above I have included the \pai{hyperref} package even in the -%non-PDF version. The effect of this is to make the \ci{href} command -%work in all cases, which saves me from wrapping every occurrence into a -%conditional statement. - -在上面的例子中,在非 PDF 格式中我也包含了 \pai{hyperref} 宏包,这样 \ci{href} 命令 -在所有情形下都有效,这也使得我不用在每个情况下都使用条件声明。 - -%Note that in recent \TeX{} distributions (\TeX{}Live for example), the -%normal \TeX{} program is actually pdf\TeX{} it will automatically switch -%between producing pdf and dvi according to the settings in the document -%class. If you use the code above then you can still use the \verb|pdflatex| -%command to get pdf output and \verb|latex| for normal dvi output. - -注意到当前的 \TeX{} 发行版本(例如 \TeX{}Live),通常的 \TeX{} 会根据 -文档类型的设置自动选择输出 PDF 还是 DVI。 -如果你使用上面的代码,你仍然可以使用 \verb|pdflatex| 命令来得到 PDF 格式 -的输出或使用 \verb|latex| 得到 DVI 格式。 - -%\section{Creating Presentations} -%\label{sec:beamer} - -\section{创建演示文稿} -\label{sec:beamer} \secby{Daniel Flipo}{Daniel.Flipo@univ-lille1.fr} - -%You can present the results of your scientific work on a blackboard, -%with transparencies, or directly from your laptop using some -%presentation software. - -你可以将你的科学工作成果通过黑板、透明片或者在你的笔记本电脑上直接使用演示文稿软件呈现。 - -%\wi{pdf\LaTeX} combined with the \pai{beamer} class allows you to -%create presentations in PDF, looking much like something you might be -%able to generate with PowerPoint if you had a very good day, but much -%more portable because Acrobat Reader is available on many more -%systems. - -\wi{pdf\LaTeX} 和 \pai{beamer} 文档类允许你创建 PDF 格式的演示文稿, -结果跟你用一天时间制作的 PowerPoint 看上去差不多, -但更便携因为 Acrobat Reader 支持更多的系统平台。 - -%The \pai{beamer} class uses \pai{graphicx}, \pai{color} and -%\pai{hyperref} with options adapted to screen presentations. - - -\pai{beamer} 文档类使用带参数的宏包 \pai{graphicx}、 \pai{color} 和 \pai{hyperref} 来适应屏幕阅读的演示文稿。 - -%La figure \ref{fig:pdfscr} contient un exemple de fichier minimal ?%compiler avec \wi{pdf\LaTeX} et le -%r閟ultat produit. - -% 蒫ran captur?par ImageMagick (man ImageMagick) fonction ?import ?% et convertie en jpg toujours par ImageMagick. - -\begin{figure}[htbp] -\begin{verbatim} -\documentclass[10pt]{beamer} -\mode{% - \usetheme[hideothersubsections, - right,width=22mm]{Goettingen} -} - -\title{Simple Presentation} -\author[D. Flipo]{Daniel Flipo} -\institute{U.S.T.L. \& GUTenberg} -\titlegraphic{\includegraphics[width=20mm]{USTL}} -\date{2005} - -\begin{document} - -\begin{frame} - \titlepage -\end{frame} - -\section{一个例子} - -\begin{frame} - \frametitle{Things to do on a Sunday Afternoon} - \begin{block}{One could \ldots} - \begin{itemize} - \item walk the dog\dots \pause - \item read a book\pause - \item confuse a cat\pause - \end{itemize} - \end{block} - and many other things -\end{frame} -\end{document} -\end{verbatim} -% \caption{Sample code for the \pai{beamer} class} -\caption{ \pai{beamer} 文档类的范例。} - \label{fig:code-beamer} -\end{figure} - -%When you compile the code presented in figure \ref{fig:code-beamer} -%with \wi{PDF\LaTeX} you get a PDF file with a title page and a second page -%showing several items that will be reveled one at a time as you step -%though your presentation. - -当你用 \wi{PDF\LaTeX} 编译图 \ref{fig:code-beamer} 中的代码时, -你将得到一个 PDF 文件,第一页为标题页,第二页有几个 -栏目,但当你单击你的演示文档时,一次显示一条栏目。 - -%One of the advantages of the beamer class is that it produces a PDF -%file that is directly usable without first going through a PostScript -%stage like \pai{prosper} or requiring additional post processing like -%presentations created with the \pai{ppower4} package. - -beamer 类创建 PDF 文件的一个优点是直接生成可用的文档,而不像 \pai{prosper} 需要先通过 -一个 PostScript 步骤,也不像 \pai{ppower4} 宏包需要一个后加工处理才能生成演示文档。 - -%With the \pai{beamer} class you can produce several versions (modes) of your -%document from the same input file. The input file may contain special -%instructions for the different modes in angular brackets. The -%following modes are available. - -用 \pai{beamer} 类,你可以用一个源文件生成几种版本。可以在源文件的 -中括弧中加入特定的选项来生成不同的版本。有下面几种版式: - -%\begin{description} -%\item[beamer] for the presentation PDF -% discussed above. -%\item[trans] for slides. -%\item[handout] for the printed version. -%\end{description} - -\begin{description} -\item[beamer] PDF 屏幕阅读版本; -\item[trans] 幻灯片版本; -\item[handout] PDF 讲义版本。 -\end{description} - -%The default mode is \texttt{beamer}, you can change it by setting a -%different mode as a global option, like -%\verb|\documentclass[10pt,handout]{beamer}| to print the handouts for -%example. - -默认的版本为 \texttt{beamer},你可以通过设置不同的全局选项来修改, -例如:用 \verb|\documentclass[10pt,handout]{beamer}| 来生成讲义版本。 - -%The look of the screen presentation depends on the theme you choose. You can either -%pick one of the themes shipped with the beamer class or you can -%even create your own. See the beamer class documentation in -%\texttt{beameruserguide.pdf} for more information on this. - -%Lets have a closer look at the code in figure \ref{fig:code-beamer}. - -演示文稿外观依赖于你选择的主题。你可以选择 beamer 类自带的一个主题, -也可以自己定义一个新的主题。 -详情请参见 beamer 类的帮助文档 \texttt{beameruserguide.pdf}。 - -让我们再来仔细分析图 \ref{fig:code-beamer} 中的代码。 - -% For the screen version of the presentation -%\verb|\mode| we have chosen the \emph{Goettingen} theme to -%show a navigation panel integrated into the table of contents. The -%options allow to choose the size of the panel (22 mm in this case) -%and its position (on the right side of the body text). The option -%\emph{hideothersubsections}, shows the chapter titles, but only the -%subsections of the present chapter. There are no special settings -%for \verb|\mode| and \verb|\mode|. They appear in -%their standard layout. - -对于屏幕阅读版本的演示文稿 \verb|\mode|,我们选择了 \emph{Goettingen} 主题, -它将目录合成到导航面板。通过选项控制面板的大小(这个例子采用 22 mm),和确定面板的位置 -(正文右侧)。选项 \emph{hideothersubsections} 显示章节的标题, -但只显示当前章节的子节标题。对于 - \verb|\mode| 和 \verb|\mode| 的设置也是一样的,它们将出现在它们标准的版面上。 - -%The commands \verb|\title{}|, \verb|\author{}|, \verb|\institute{}|, -%and\\ \verb|\titlegraphic{}| set the content of the title page. The -%optional arguments of \verb|\title[]{}| and \verb|\author[]{}| -%let you specify a special version of the title and the author -%name to be displayed on the panel of the \emph{Goettingen} theme. - -命令 \verb|\title{}|,\verb|\author{}|,\verb|\institute{}| 和 \verb|\titlegraphic{}| 定义标题页 -的内容。\verb|\title[]{}| 和 \verb|\author[]{}| 的选项允许你定义 -显示在 \emph{Goettingen} 主题的面板上的标题和作者名。 - -%The titles and subtitles in the panel are created with normal -%\verb|\section{}| and \verb|\subsection{}| commands that you place -%\emph{outside} the \ei{frame} environment. - -面板中的标题和子标题由 \ei{frame} 环境{\textbf -外面}的命令 \verb|\section{}| 和 \verb|\subsection{}| 来创建。 - -%The tiny navigation icons at the bottom of the screen also allow to -%navigate the document. Their presence is not dependent on the theme -%you choose. - -屏幕底部的一些微型导航图标也可以让你浏览整个文档。它们的出现不依赖你选择的主题。 - -%The contents of each slide or screen has to be placed inside a -%\ei{frame} environment. There is an optional argument in angular -%brackets (\verb|<| and \verb|>|), it allows to suppress a particular -%frame in one of the versions of the presentation. In the example the -%first page would not be shown in the handout version due to the -%\verb|| argument. - -每张幻灯片或每版屏幕的内容放在 \ei{frame} 环境中。利用尖括弧(\verb|<| -和 \verb|>|)里面的选项,用演示文档的一个版式来定义一个特殊的帧。在这个例子中, -第一页不会由于参量 \verb|| 而显示为讲义模式。 - -%It is highly recommended to set a title for each slide apart from the -%title slide. This is done with the command \verb|\frametitle{}|. If a -%subtitle is necessary you can use the \ei{block} environment as shown -%in the example. Note that the sectioning commands \verb|\section{}| -%and \verb|\subsection{}| do not produce output on the slide proper. - -除了幻灯片的标题页,强烈建议通过命令 \verb|\frametitle{}| 来重新设置每一张幻灯片的标题。 -如果需要,使用 \ei{block} 环境可以来定义子标题,在这个例子中也可体现出来。 -注意到章节命令 \verb|\section{}| 和 \verb|\subsection{}| 不在幻灯片上产生输出结果。 - -%The command \verb|\pause| in the itemize environment lets you reveal -%the items one by one. For other presentation effects check out the -%commands \verb|\only|, \verb|\uncover|, \verb|\alt| and -%\verb|\temporal|. In many place you can also use angular brakes to -%further customize the presentation. - -列表环境中的命令 \verb|\pause| 允许你一个接一个地显示列表栏目的内容。 -命令:\verb|\only|、\verb|\uncover|、 -\verb|\alt| 和 \verb|\temporal|,可以让你获得其他的一些演示效果。 -很多情况下,你可以通过尖括弧中的内容来定制演示效果。 - -%In any case make sure you read through the beamer class documentation -%\texttt{beameruserguide.pdf} to get a complete picture of what is in -%store for you. This package is being actively developed, check out their website -%\href{http://latex-beamer.sourceforge.net/}{http://latex-beamer.sourceforge.net/} -%to get the latest information. - -无论如何,建议你阅读 beamer 类的文档 \texttt{beameruserguide.pdf} 来获得一个全面的了解。 -这个宏包正在活跃地开发中,去它们的网站\\ -\href{http://latex-beamer.sourceforge.net/}{http://latex-beamer.sourceforge.net/} -可获取最新的信息。 - -% Local Variables: -% TeX-master: "lshort2e" -% mode: latex -% mode: flyspell -% End: diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/test.tex b/Master/texmf-dist/doc/latex/lshort-chinese/src/test.tex deleted file mode 100644 index f3751e2e4f2..00000000000 --- a/Master/texmf-dist/doc/latex/lshort-chinese/src/test.tex +++ /dev/null @@ -1,5 +0,0 @@ -\begin{document} - -This is a test. 这是测试内容。 - -\end{document} diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/things.tex b/Master/texmf-dist/doc/latex/lshort-chinese/src/things.tex deleted file mode 100644 index fe3dfc38fb0..00000000000 --- a/Master/texmf-dist/doc/latex/lshort-chinese/src/things.tex +++ /dev/null @@ -1,1197 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Contents: Things you need to know -% $Id: things.tex,v 1.2 2003/03/19 20:57:47 oetiker Exp $ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%中文~4.20~翻译:Frogge@bbs.ctex -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%\chapter{Things You Need to Know} -\chapter{基础知识} -%\begin{intro} -%The first part of this chapter presents a short overview of the -%philosophy and history of \LaTeXe. The second part focuses on the -%basic structures of a \LaTeX{} document. After reading this chapter, -%you should have a rough knowledge of how \LaTeX{} works, which you -%will need to understand the rest of this book. -%\end{intro} -\begin{intro} -本章的第一部分给出了 \LaTeXe{} 原理及历史的简短介绍。第二部分集中讲 -解 \LaTeX{} 文档的基本结构。读完本章之后,你应该大致了解 \LaTeX{} 的工作原理,这对你理解 -本书的其余部分来说是必须的。 -\end{intro} - -%\section{The Name of the Game} -\section{游戏的名目} -%\subsection{\TeX} -\subsection{\TeX} - -%\TeX{} is a computer program created by \index{Knuth, Donald -%E.}Donald E. Knuth \cite{texbook}. It is aimed at typesetting text -%and mathematical formulae. Knuth started writing the \TeX{} -%typesetting engine in 1977 to explore the potential of the digital -%printing equipment that was beginning to infiltrate the publishing -%industry at that time, especially in the hope that he could reverse -%the trend of deteriorating typographical quality that he saw -%affecting his own books and articles. \TeX{} as we use it today was -%released in 1982, with some slight enhancements added in 1989 to -%better support 8-bit characters and multiple languages. \TeX{} is -%renowned for being extremely stable, for running on many different -%kinds of computers, and for being virtually bug free. The version -%number of \TeX{} is converging to $\pi$ and is now at $3.141592$. - -\TeX{} 是 \index{Knuth, Donald E.}Donald E. -Knuth 编写的一个以排版文章及数学公式为目标的计算机程序 \cite{texbook}。1977 年,在意识到恶劣的排版质量正在影响自己的著 -作及文章后,Knuth 开始编写 \TeX{} 排版系统引擎,探索当时开始进入出版工业的数字印刷设备的潜力,尤为希望能扭转排版质量下滑 -的这一趋势。我们现在使用的 \TeX{} 系统发布于 1982 年,在 1989 年又稍做改进,增加了对 8 字节字符及多语言的支 -持。\TeX{} 以其卓越的稳定性、可在不同类型的电脑上运行以及几乎没有缺 -陷而著称。\TeX{} 的版本号不断趋近于 $\pi$,现在为 3.141592。 - -%\TeX{} is pronounced ``Tech,'' with a ``ch'' as in the German word -%``Ach''\footnote{In german there are actually two pronounciations -%for ``ch'' and one might assume that the soft ``ch'' sound from -%``Pech'' would be a more appropriate. Asked about this, Knuth wrote -%in the German Wikipedia: \emph{I do not get angry when people -%pronounce \TeX{} in their favorite way \ldots{} and in Germany many -%use a soft ch because the X follows the vowel e, not the harder ch -%that follows the vowel a. In Russia, `tex' is a very common word, -%pronounced `tyekh'. But I believe the most proper pronunciation is -%heard in Greece, where you have the harsher ch of ach and Loch.}} or -%in the Scottish ``Loch.'' The ``ch'' originates from the Greek -%alphabet where X is the letter ``ch'' or ``chi''. \TeX{} is also the -%first syllable of the Greek word texnologia (technology). In an -%ASCII environment, \TeX{} becomes \texttt{TeX}. - -\TeX{} 发音为 ``Tech'',其中 ``ch'' 和德语 ``Ach''\footnote{在德语中,``ch'' 有两种发音,有的人可能认为 ``Pech'' 中 -较软的 ``ch'' 更加合适。被问及这个问题时,Knuth 在德文 Wikipedia 中写道: \textsf{ -当人们以他们喜欢的方式来拼读 \TeX{} 时,我并不感到生气……在德国,更多的人喜欢较软的 ch,因为 X 跟 -在元音 e 的后面。在俄语中,`tex' 是一个非常普遍的单词,读作 `tyekh'。但我相信最合适的发音来自希腊 -语,其中 ach 和 Loch 中 ch 的发音稍尖。}} 及苏格兰语 ``Loch'' 中的 ``ch'' 类似。``ch'' 源自希腊字母,希腊文中,X 是字 -母 ``ch'' 或 ``chi''。 \TeX{} 同时也是希腊单词 texnologia (technology) 的第一个音节。在 \texttt{ASCII} 文本环 -境中,\TeX{} 写作 \texttt{TeX}。 - - -\subsection{\LaTeX} -%\LaTeX{} is a macro package that enables authors to typeset and -%print their work at the highest typographical quality, using a -%predefined, professional layout. \LaTeX{} was originally written by -%\index{Lamport, Leslie}Leslie Lamport \cite{manual}. It uses the -%\TeX{} formatter as its typesetting engine. These days \LaTeX{} is -%maintained by \index{Mittelbach, Frank}Frank Mittelbach. - -\LaTeX{} 是一个宏集,它使用一个预先定义好的专业版面,可以使作者们高质量的排版和打印他们的作品。\LaTeX{} 最初 -由 \index{Lamport, Leslie}Leslie -Lamport 编写 \cite{manual},它使用 \TeX{} 程序作为排版引擎。现 -在 \LaTeX{} 由 \index{Mittelbach, Frank}Frank Mittelbach 负责维护。 - -%In 1994 the \LaTeX{} package was updated by the \index{LaTeX3@\LaTeX -% 3}\LaTeX 3 team, led by \index{Mittelbach, Frank}Frank Mittelbach, -%to include some long-requested improvements, and to re\-unify all the -%patched versions which had cropped up since the release of -%\index{LaTeX 2.09@\LaTeX{} 2.09}\LaTeX{} 2.09 some years earlier. To -%distinguish the new version from the old, it is called \index{LaTeX -%2e@\LaTeXe}\LaTeXe. This documentation deals with \LaTeXe. These days you -%might be hard pressed to find the venerable \LaTeX{} 2.09 installed -%anywhere. - -%\LaTeX{} is pronounced ``Lay-tech'' or ``Lah-tech.'' If you refer to -%\LaTeX{} in an \texttt{ASCII} environment, you type \texttt{LaTeX}. -%\LaTeXe{} is pronounced ``Lay-tech two e'' and typed -%\texttt{LaTeX2e}. - -\LaTeX{} 的发音为 ``Lay-tech'' 或 ``Lah-tech''。 -如果在 \texttt{ASCII} 环境中引用 \LaTeX{},你可以输入 \texttt{LaTeX}。 -\LaTeXe{} 的发音为 ``Lay-tech two e'',在 \texttt{ASCII} 环境中写作 \texttt{LaTeX2e}。 - - -%Figure \ref{components} above % on page \pageref{components} -%shows how \TeX{} and \LaTeXe{} work together. This figure is taken from -%\texttt{wots.tex} by Kees van der Laan. - -%\begin{figure}[btp] -%\begin{lined}{0.8\textwidth} -%\begin{center} -%\input{kees.fig} -%\end{center} -%\end{lined} -%\caption{Components of a \TeX{} System.} \label{components} -%\end{figure} - -%\section{Basics} -\section{基础} - -%\subsection{Author, Book Designer, and Typesetter} -\subsection{作者、图书设计者和排版者} -%To publish something, authors give their typed manuscript to a -%publishing company. One of their book designers then -%decides the layout of the document (column width, fonts, space before -%and after headings, \ldots). The book designer writes his instructions -%into the manuscript and then gives it to a typesetter, who typesets the -%book according to these instructions. - -出版的第一步就是作者把打好字的手稿交给出版公司,然后由图书设计者来决定整个文档的布局(栏宽、字体、标题前后的间距、……)。图书 -设计者会把他的排版说明写进作者的手稿里,再交给排版者,由排版者根 -据这些说明来排版全书。 - -%A human book designer tries to find out what the author had in mind -%while writing the manuscript. He decides on chapter headings, -%citations, examples, formulae, etc.\ based on his professional -%knowledge and from the contents of the manuscript. - -一个图书设计者要试图理解作者写作时的意图。他要根据手稿的内容 -和他自己的职业知识来决定章节标题、文献引用、例子及公式等等。 - -%In a \LaTeX{} environment, \LaTeX{} takes the role of the book -%designer and uses \TeX{} as its typesetter. But \LaTeX{} is ``only'' a -%program and therefore needs more guidance. The author has to provide -%additional information to describe the logical structure of his -%work. This information is written into the text as ``\LaTeX{} -%commands.'' - -在一个 \LaTeX{} 环境中,\LaTeX{} 充当了图书设计者的角色,而 \TeX{} 则是其排版者。但是 \LaTeX “仅仅”是 -一个程序,因此它需要很多的指导。作者必须提供额外的信息,来描述其著作的逻辑结构。这些信息是以 “\LaTeX{} 命令” 的形 -式写入文档中的。 - -%This is quite different from the \wi{WYSIWYG}\footnote{What you see is -% what you get.} approach that most modern word processors, such as -%\emph{MS Word} or \emph{Corel WordPerfect}, take. With these -%applications, authors specify the document layout interactively while -%typing text into the computer. They can see on the -%screen how the final work will look when it is printed. -\hyphenation{WordPerfect} -这和大多数现代文字处理工具,如 \emph{MS Word} 及 \emph{Corel -WordPerfect} 所采用的所见即所得 (\wi{WYSIWYG}\footnote{What you see -is what you -get.}) 的方式有很大区别。使用这些工具时,作者在向计算机中输入文档的同时,通过互 -动的方式确定文章的布局。作者可以从屏幕上看到作品的最终打印效果。 - -%When using \LaTeX{} it is not normally possible to see the final output -%while typing the text, but the final output can be previewed on the -%screen after processing the file with \LaTeX. Then corrections can be -%made before actually sending the document to the printer. - -而使用 \LaTeX 时,一般是不能在输入文档的同时看到最终的输出效果的,但是使用 \LaTeX 处理文档之后,便可以在屏幕上预览 -最终的输出效果。因此在真正打印文档之前还是可以做出改正的。 - -%\subsection{Layout Design} -\subsection{版面设计} - -%Typographical design is a craft. Unskilled authors often commit -%serious formatting errors by assuming that book design is mostly a -%question of aesthetics---``If a document looks good artistically, -%it is well designed.'' But as a document has to be read and not hung -%up in a picture gallery, the readability and understandability is -%much more important than the beautiful look of it. -%Examples: -%\begin{itemize} -%\item The font size and the numbering of headings have to be chosen to make -% the structure of chapters and sections clear to the reader. -%\item The line length has to be short enough not to strain -% the eyes of the reader, while long enough to fill the page -% beautifully. -%\end{itemize} - -排版设计是一门工艺。不熟练的作者认为书籍设计仅仅是个美学问题,因而经常会犯严重的格式错误 \pozhehao “如果一份文档从艺术的 -角度看起来不错,那么它的设计就是成功的”。不过作为一份用来阅读而不是挂在画廊里的文档,可读性和可理解性远比漂亮的 -外观重要。例如: -\begin{itemize} -\item 必须选定字号和标题的序号,使读者能清楚的理解章节的结构。 -\item -每一行既要足够短以避免读者眼睛疲劳,又要足够长以维持页面的美观。 -\end{itemize} - -%With \wi{WYSIWYG} systems, authors often generate aesthetically -%pleasing documents with very little or inconsistent structure. -%\LaTeX{} prevents such formatting errors by forcing the author to -%declare the \emph{logical} structure of his document. \LaTeX{} then -%chooses the most suitable layout. - -在使用所见即所得系统 (\wi{WYSIWYG}) 时,作者经常会写出一些看上去漂亮,但结构欠清晰或不连贯的文章来。\LaTeX{} 通过强制 -作者声明文档的\textbf{逻辑}结构,来避免这些排版格式错误。然后,\LaTeX{} 再根据文档的结构选择最合适的版面格式。 - -%\subsection{Advantages and Disadvantages} -\subsection{优势和不足} - -%When people from the \wi{WYSIWYG} world meet people who use \LaTeX{}, -%they often discuss ``the \wi{advantages of \LaTeX{}} over a normal -%word processor'' or the opposite. The best thing you can do when such -%a discussion starts is to keep a low profile, since such discussions -%often get out of hand. But sometimes you cannot escape \ldots - -使用所见即所得 (\wi{WYSIWYG}) 的人和使用 \LaTeX{} 的人遇到一起时,他们经常讨论的话题 -就是“相比一般文字处理软件,\LaTeX{} 的优势 (\wi{advantages of -\LaTeX{}})”或者不足。当 -这样的讨论开始时,你最好保持低调,因为讨论往往会失控。但有时你也不能逃避…… - -%\medskip\noindent So here is some ammunition. The main advantages -%of \LaTeX{} over normal word processors are the following: - -下面便是一些武器。\LaTeX{} 优于一般文字处理软件之处可归纳如下: - -%\begin{itemize} -% -%\item Professionally crafted layouts are available, which make a -% document really look as if ``printed.'' -%\item The typesetting of mathematical formulae is supported in a -% convenient way. -%\item Users only need to learn a few easy-to-understand commands -% that specify the logical structure of a document. They almost never -% need to tinker with the actual layout of the document. -%\item Even complex structures such as footnotes, references, table of -% contents, and bibliographies can be generated easily. -%\item Free add-on packages exist for many typographical tasks not directly supported by basic -% \LaTeX. For example, packages are -% available to include \PSi{} graphics or to typeset -% bibliographies conforming to exact standards. Many of these add-on -% packages are described in \companion. -%\item \LaTeX{} encourages authors to write well-structured texts, -% because this is how \LaTeX{} works---by specifying structure. -%\item \TeX, the formatting engine of \LaTeXe, is highly portable and free. -% Therefore the system runs on almost any hardware platform -% available. -% -%% -%% Add examples ... -%% -%\end{itemize} - -\begin{itemize} - -\item 提供专业的版面设计,可以使一份文档看起来就像“印刷品”一样。 -\item 可以方便的排版数学公式。 -\item -用户只需要学一些声明文档逻辑结构的简单易懂的命令,而不必对文档的实际版面修修补补。 -\item 可以容易的生成像脚注、引用、目录和参考文献等很多复杂的结构。 -\item 很多不被基本 \LaTeX 支持的排版工作,可以由添加免费的宏包来完成。例如,支持在文件中插入 \PSi{} 格式图像的宏包及排版 -符合各类准确标准的参考文献的宏包等。很多这类宏包在 \companion 中都有说明。 -\item -\LaTeX{} 鼓励作者按照合理的结构写作,因为 \LaTeX{} 就是通过指明文档结构来进行排版工作的。 -\item \TeX{},作为 \LaTeXe 的排版引擎,不仅免费,而且具有很高的可移植性,几乎可以在任何硬件平台上运行。 - -% -% Add examples ... -% -\end{itemize} - -\medskip - -%\noindent\LaTeX{} also has some disadvantages, and I guess it's a -%bit difficult for me to find any sensible ones, though I am sure -%other people can tell you hundreds \texttt{;-)} - -\noindent\LaTeX{} 也有一些不足之处。尽管我可以确定别人可以列出几百条,我自己却很难找到一些比较理智的 \texttt{;-)} - -%\begin{itemize} -%\item \LaTeX{} does not work well for people who have sold their -% souls \ldots -%\item Although some parameters can be adjusted within a predefined -% document layout, the design of a whole new layout is difficult and -% takes a lot of time.\footnote{Rumour says that this is one of the -% key elements that will be addressed in the upcoming \LaTeX 3 -% system.}\index{LaTeX3@\LaTeX 3} -%\item It is very hard to write unstructured and disorganized documents. -%\item Your hamster might, despite some encouraging first steps, never be -%able to fully grasp the concept of Logical Markup. -%\end{itemize} - -\begin{itemize} -\item 没有原则的人不能使用 \LaTeX{} 很好地工作…… -\item 尽管可以调节预先定义好的文档版面布局中的一些参数,但设计一个全新的版面还是很困难的,并会耗费大量时 -间\footnote{传闻这将是未来的 \LaTeX 3 系统中的一个重要组成部分。}。 -\index{LaTeX3@\LaTeX 3} -\item 很难用 \LaTeX{} 来写结构不明、组织无序的文档。 -\item 即使有一个令人鼓舞的开端,你也可能无法完全掌握其精髓。 -\end{itemize} - -%\section{\LaTeX{} Input Files} -\section{\LaTeX{} 源文件} - -%The input for \LaTeX{} is a plain \texttt{ASCII} text file. You can create it -%with any text editor. It contains the text of the document, as well as -%the commands that tell \LaTeX{} how to typeset the text. - -\LaTeX{} 源文件为普通的 \texttt{ASCII} 文件,你可以使用任何文本编辑器来创建。\LaTeX{} 源文件不仅包含了 -要排版的文本,而且也包含了告诉 \LaTeX{} 如何排版这些文本内容的命令。 - -%\subsection{Spaces} -\subsection{空白距离} - -%``Whitespace'' characters, such as blank or tab, are -%treated uniformly as ``\wi{space}'' by \LaTeX{}. \emph{Several -% consecutive} \wi{whitespace} characters are treated as \emph{one} -%``space.'' Whitespace at the start of a line is generally ignored, and -%a single line break is treated as ``whitespace.'' -%\index{whitespace!at the start of a line} - -空格和制表符等空白字符在 \LaTeX{} 中被看作相同的空白距离 (\wi{space})。{\textbf -多}个连续的空白字符等同于\textbf{一}个空白字符。在句首的 -空白距离一般会被忽略,单个空行也被认为是一个“空白距离”。 -\index{whitespace!at the start of a line} - - -%An empty line between two lines of text defines the end of a -%paragraph. \emph{Several} empty lines are treated the same as -%\emph{one} empty line. The text below is an example. On the left hand -%side is the text from the input file, and on the right hand side is the -%formatted output. - -两行文本间的空白行标志着上段的结束和下段的开始。{\textbf -多}个空白行的作用等同于\textbf{一}个空白行。下面便是一个例子,左边 -是源文件中的文本,右边是排版后的结果。 - -\begin{example} -It does not matter whether you -enter one or several spaces -after a word. - -An empty line starts a new -paragraph. -\end{example} - -%\subsection{Special Characters} -\subsection{特殊字符} - -%The following symbols are \wi{reserved characters} that either have -%a special meaning under \LaTeX{} or are not available in all the -%fonts. If you enter them directly in your text, they will normally -%not print, but rather coerce \LaTeX{} to do things you did not -%intend. - -下面的这些字符是 \LaTeX{} 中的保留字符 (\wi{reserved -characters}),它们或在 \LaTeX{} 中有特殊的意义,或不一定存在于所有字库中。如果你直接在文本中 -输入这些字符,通常它们不会被输出,而且还会导致 \LaTeX{} 做一些你不希望发生的事情。 -\begin{code} -\verb.# $ % ^ & _ { } \ . %$ -\end{code} - -%As you will see, these characters can be used in your documents all -%the same by adding a prefix backslash: - -如你看到的,在这些字符前加上反斜线,它们就可以正常的输出到文档中。 - -\begin{example} -\# \$ \% \^{} \& \_ \{ \} \ {} -\end{example} - -%The other symbols and many more can be printed with special commands -%in mathematical formulae or as accents. The backslash character -%$\backslash$ can \emph{not} be entered by adding another backslash -%in front of it (\verb|\\|); this sequence is used for -%line breaking.\footnote{Try the \texttt{\$}\ci{backslash}\texttt{\$} command instead. It -% produces a `$\backslash$'.} - -其他一些特殊符号可以由数学环境中的特殊命令或重音命令得到。反斜线 $\backslash$ {\textbf -不}能通过在其前面加另一个反斜线得 -到 (\verb|\\|);这是一个用来换行的命令\footnote{试试 \texttt{\$}\ci{backslash}\texttt{\$} 命令,它将生成一个 `$\backslash$'。}。 - -%\subsection{\LaTeX{} Commands} -\subsection{\LaTeX{} 命令} - -%\LaTeX{} \wi{commands} are case sensitive, and take one of the -%following two formats: - -\LaTeX{} 命令 (\wi{commands}) 是大小写敏感的,有以下两种格式: -%\begin{itemize} -%\item They start with a \wi{backslash} \verb|\| and then have a name -% consisting of letters only. Command names are terminated by a -% space, a number or any other `non-letter.' -%\item They consist of a backslash and exactly one non-letter. -%\end{itemize} -\begin{itemize} -\item 以一个反斜线 (\wi{backslash}) \verb|\| 开始,命令名只由字母组成。命令名后的空格符、数字或任何非字母的字符都标志着该命令的结束。 -\item 由一个反斜线和非字母的字符组成。 -\end{itemize} - -% -% \\* doesn't comply ! -% - -% -% Can \3 be a valid command ? (jacoboni) -% -\label{whitespace} - -%\LaTeX{} ignores whitespace after commands. If you want to get a -%\index{whitespace!after commands}space after a command, you have to -%put either \verb|{}| and a blank or a special spacing command after the -%command name. The \verb|{}| stops \LaTeX{} from eating up all the space after -%the command name. - -\LaTeX{} 忽略命令之后的空白字符。如果你希望在命令后得到一个空 -格,可以在命令后加上 \verb|{}| 和一个空格,或加上一个特殊的空格命令。\verb|{}| 将阻止 \LaTeX{} 吃掉命令后的所有空格。 -\index{whitespace!after commands} - -\begin{example} -I read that Knuth divides the -people working with \TeX{} into -\TeX{}nicians and \TeX perts.\\ -Today is \today. -\end{example} - -%Some commands need a \wi{parameter}, which has to be given between -%\wi{curly braces} \verb|{ }| after the command name. Some commands support -%\wi{optional parameters}, which are added after the command name in -%\wi{square brackets} \verb|[ ]|. The next examples use some \LaTeX{} -%commands. Don't worry about them; they will be explained later. - -有些命令需要一个参数 (\wi{parameter}),该参数用花括号 (\wi{curly -braces}) \verb|{ }| 括住并写在命令的后面。一些命令支持可选参数 (\wi{optional -parameters}),可 选参数可用方括号 (\wi{square brackets}) \verb|[ ]| 括住, -然后写在命令的后面。下面的例子中使用了一些 \LaTeX{} 命令,不要着急,后面 -将解释它们的含义。 - -\begin{example} -You can \textsl{lean} on me! -\end{example} -\begin{example} -Please, start a new line -right here!\newline -Thank you! -\end{example} - -%\subsection{Comments} -\subsection{注释} -\index{comments} - -%When \LaTeX{} encounters a \verb|%| character while processing an input file, -%it ignores the rest of the present line, the line break, and all -%whitespace at the beginning of the next line. - -当 \LaTeX{} 处理一个源文件时,如果遇到一个百分号 \verb|%|,\LaTeX{} 将忽略 \verb|%| 后的该行内容,换行符以及下 -一行前的空白字符。 - -%This can be used to write notes into the input file, which will not show up -%in the printed version. - -我们可以据此在源文件中写一些注释,而且这些注释并不会出现在最后的排版结果中。 - -\begin{example} -This is an % stupid -% Better: instructive <---- -example: Supercal% - ifragilist% - icexpialidocious -\end{example} - -%The \texttt{\%} character can also be used to split long input lines where no -%whitespace or line breaks are allowed. - -符号 \texttt{\%} 也可以用来断开不能含有空白字符或换行符的较长输入内容。 - -%For longer comments you could use the \ei{comment} environment -%provided by the \pai{verbatim} package. This means, that you have to add the -%line \verb|\usepackage{verbatim}| to the preamble of your document as -%explained below before you can use this command. - -如果注释的内容较长,你可以使用 \pai{verbatim} 宏包提供的 \ei{comment} 环境。当然,在使用该环境前,你要在文档的 -导言区 (后面将会解释其含义) 加上命令 \verb|\usepackage{verbatim}|。 -\begin{example} -This is another -\begin{comment} -rather stupid, -but helpful -\end{comment} -example for embedding -comments in your document. -\end{example} - -%Note that this won't work inside complex environments, like math for example. -需要注意的是以上做法在数学环境等复杂环境中不起作用。 - -%\section{Input File Structure} -\section{源文件的结构}\label{inputfilestructure} - -%When \LaTeXe{} processes an input file, it expects it to follow a -%certain \wi{structure}. Thus every input file must start with the -%command - -当 \LaTeXe{} 处理源文件时,它希望源文件遵从一定的结构 (\wi{structure})。因此,每个源文件都要以如下命令开始 -\begin{code} -\verb|\documentclass{...}| -\end{code} -%This specifies what sort of document you intend to write. After -%that, you can include commands that influence the style of the whole -%document, or you can load \wi{package}s that add new features to the -%\LaTeX{} system. To load such a package you use the command -这条命令指明了你所写的源文档的类型。然后,你就可以加入控制整篇文档样式的命令,或者载入一些为 \LaTeX{} 增加新特性 -的宏包 (\wi{package})。可以用如下命令载入一个宏包 -\begin{code} -\verb|\usepackage{...}| -\end{code} - -%When all the setup work is done,\footnote{The area between \texttt{\bs -% documentclass} and \texttt{\bs -% begin$\mathtt{\{}$document$\mathtt{\}}$} is called the -% \emph{\wi{preamble}}.} you start the body of the text with the -%command - -当完成所有的设置工作后\footnote{在 \texttt{\bs - documentclass} 和 \texttt{\bs - begin$\mathtt{\{}$document$\mathtt{\}}$}之间的部分称作\textbf{导言区} (\wi{preamble})。},你可以用下面的命令开始文档的主体 -\begin{code} -\verb|\begin{document}| -\end{code} - -%Now you enter the text mixed with some useful \LaTeX{} commands. At -%the end of the document you add the - -现在你就可以输入带有 \LaTeX{} 命令的正文了。在文章末尾使用命令 -\begin{code} -\verb|\end{document}| -\end{code} -%command, which tells \LaTeX{} to call it a day. Anything that -%follows this command will be ignored by \LaTeX. -来告诉 \LaTeX{} 文档已经结束。\LaTeX{} 会忽略此命令后的所有内容。 - -%Figure \ref{mini} shows the contents of a minimal \LaTeXe{} file. A -%slightly more complicated \wi{input file} is given in -%Figure \ref{document}. - -图 \ref{mini} 显示的是一个简单的 \LaTeXe 文档的结构。一个较为复杂的源文件 (\wi{input -file}) 结构如图 \ref{document} 所示。 - -\begin{figure}[!bp] -\begin{lined}{6cm} -\begin{verbatim} -\documentclass{article} -\begin{document} -Small is beautiful. -\end{document} -\end{verbatim} -\end{lined} -\caption{一个简单的 \LaTeX{} 源文件。} \label{mini} -\end{figure} - -\begin{figure}[!bp] -\begin{lined}{10cm} -\begin{verbatim} -\documentclass[a4paper,11pt]{article} -% define the title -\author{H. Partl} -\title{Minimalism} -\begin{document} -% generates the title -\maketitle -% insert the table of contents -\tableofcontents -\section{Some Interesting Words} -Well, and here begins my lovely article. -\section{Good Bye World} -\ldots{} and here it ends. -\end{document} -\end{verbatim} -\end{lined} -\caption[article 类例子。]{article 类 \LaTeX{} 源文件例子,该例中的所有命令后面都会讲到。} -\label{document} - -\end{figure} - -%\section{A Typical Command Line Session} -\section{一个典型的命令行过程} - -%I bet you must be dying to try out the neat small \LaTeX{} input file -%shown on page \pageref{mini}. Here is some help: -%\LaTeX{} itself comes without a GUI or -%fancy buttons to press. It is just a program that crunches away at your -%input file. Some \LaTeX{} installations feature a graphical front-end where -%you can click \LaTeX{} into compiling your input file. On other systems -%there might be some typing involved, so here is how to coax \LaTeX{} into -%compiling your input file on a text based system. Please note: this -%description assumes that a working \LaTeX{} installation already sits on -%your computer.\footnote{This is the case with most well groomed Unix -%Systems, and \ldots{} Real Men use Unix, so \ldots{} \texttt{;-)}} - -我敢打赌你现在一定非常渴望尝试第 \pageref{mini} 页上短小简洁的 \LaTeX{} 源文件。下面便是一些帮助:\LaTeX{} 本身没有图形 -用户界面或漂亮的按钮,它仅仅是一个处理你提供的源文件的程序。有些 \LaTeX{} 安装版本提供了一个前端图形界面,你可以通过点 -击按钮来编译你的源文件。其他的一些系统上可能就要使用命令来编译源文件,下面演示的就是如何在一个基于文本的系统上 -让 \LaTeX{} 编译你的源文件。需要注意:以下演示的前提是 \LaTeX{} 已经正确的安装到了你的电脑中\footnote{这是在大部分 Unix 系 -统下的情况……高手使用 Unix,所以…… \texttt{;-)}}。 - -%\begin{enumerate} -%\item -% -% Edit/Create your \LaTeX{} input file. This file must be plain ASCII -% text. On Unix all the editors will create just that. On Windows you -% might want to make sure that you save the file in ASCII or -% \emph{Plain Text} format. When picking a name for your file, make -% sure it bears the extension \eei{.tex}. -% -%\item -% -%Run \LaTeX{} on your input file. If successful you will end up with a -%\texttt{.dvi} file. It may be necessary to run \LaTeX{} several times to get -%the table of contents and all internal references right. When your input -%file has a bug \LaTeX{} will tell you about it and stop processing your -%input file. Type \texttt{ctrl-D} to get back to the command line. -%\begin{lscommand} -%\verb+latex foo.tex+ -%\end{lscommand} -% -%\item -%Now you may view the DVI file. There are several ways to do that. You can show the file on screen with -%\begin{lscommand} -%\verb+xdvi foo.dvi &+ -%\end{lscommand} -%This only works on Unix with X11. If you are on Windows you might want to try \texttt{yap} (yet another previewer). -% -%You can also convert the dvi file to \PSi{} for printing or viewing with Ghostscript. -%\begin{lscommand} -%\verb+dvips -Pcmz foo.dvi -o foo.ps+ -%\end{lscommand} -% -%If you are lucky your \LaTeX{} system even comes with the \texttt{dvipdf} tool, which allows -%you to convert your \texttt{.dvi} files straight into pdf. -%\begin{lscommand} -%\verb+dvipdf foo.dvi+ -%\end{lscommand} -% -%\end{enumerate} - -\begin{enumerate} -\item - - 创建并编辑你的源文件。源文件必须是普通的 ASCII 格式。在 Unix 系统下,所有的编辑器都可以创建这样的文件。在 Windows 系统 - 下,你必须确保文件以 ASCII 或\textbf{普通文本}格式保存。当选取你源文件的文件名时,确保它的扩展名是 \eei{.tex}。 - -\item - -运行 \LaTeX{} 编译你的源文件。如果成功的话,你将会得到一个 \texttt{.dvi} 文件。为了得到目录和所有的内部引用,可能要多次运 -行 \LaTeX{}。当源文件中存在错误时,\LaTeX{} 会告诉你错误并停止处理源文件。输入 \texttt{ctrl-D} 可以返回到命令行。 -\begin{lscommand} -\verb+latex foo.tex+ -\end{lscommand} - -\item -现在可以通过几种方法来预览得到的 DVI 文件。你可以使用下列命令将文件显示到屏幕上 -\begin{lscommand} -\verb+xdvi foo.dvi &+ -\end{lscommand} -这种方法只适用于安装了 X11 的 Unix 系统。如果你使用的是 Windows 系统,可以使用 \texttt{yap} 来预览(或其他预览程序)。 - -你也可以使用 Ghostscript 将 dvi 文件转换成 \PSi{} 文件来打印或预览。 -\begin{lscommand} -\verb+dvips -Pcmz foo.dvi -o foo.ps+ -\end{lscommand} - -如果你的 \LaTeX{} 系统中带有 \texttt{dvipdf} 工具的话,就可以直接将 \texttt{.dvi} 文件转换成 pdf 文件。 -\begin{lscommand} -\verb+dvipdf foo.dvi+ -\end{lscommand} - -\end{enumerate} - -%\section{The Layout of the Document} -\section{文档布局} - -%\subsection {Document Classes}\label{sec:documentclass} -\subsection{文档类}\label{sec:documentclass} - -%The first information \LaTeX{} needs to know when processing an -%input file is the type of document the author wants to create. This -%is specified with the \ci{documentclass} command. - -当 \LaTeX{} 处理源文件时,首先需要知道的就是作者所要创建的文档类型。文档类型可由 \ci{documentclass} 命令来指定。 -\begin{lscommand} -\ci{documentclass}\verb|[|\emph{options}\verb|]{|\emph{class}\verb|}| -\end{lscommand} -%\noindent Here \emph{class} specifies the type of document to be -%created. Table \ref{documentclasses} lists the document classes -%explained in this introduction. The \LaTeXe{} distribution provides -%additional classes for other documents, including letters and -%slides. The \emph{\wi{option}s} parameter customises the behaviour -%of the document class. The options have to be separated by commas. -%The most common options for the standard document classes are listed -%in Table \ref{options}. - -\noindent -\emph{class} 指定想要的文档类型。表 \ref{documentclasses} 给出了一些文档类型的解释。\LaTeXe{} 发行版中还提供了其他一些文档类,像信件和幻灯片等。通过 \emph{\wi{option}s} 参数可以定制文档类的属性。不同的选项之间须用逗号 -隔开。标准文档类的最常用选项如表 \ref{options} 所示。 - -%\begin{table}[!bp] -%\caption{Document Classes.} \label{documentclasses} -%\begin{lined}{\textwidth} -%\begin{description} -% -%\item [\normalfont\texttt{article}] for articles in scientific journals, presentations, -% short reports, program documentation, invitations, \ldots -% \index{article class} -%\item [\normalfont\texttt{proc}] a class for proceedings based on the article class. -% \index{proc class} -%\item [\normalfont\texttt{minimal}] is as small as it can get. -%It only sets a page size and a base font. It is mainly used for debugging -%purposes. -% \index{minimal class} -%\item [\normalfont\texttt{report}] for longer reports containing several chapters, small -% books, PhD theses, \ldots \index{report class} -%\item [\normalfont\texttt{book}] for real books \index{book class} -%\item [\normalfont\texttt{slides}] for slides. The class uses big sans serif -% letters. You might want to consider using Foil\TeX{}\footnote{% -% \CTANref|macros/latex/contrib/supported/foiltex|} instead. -% \index{slides class}\index{foiltex} -%\end{description} -%\end{lined} -%\end{table} -% -%\begin{table}[!bp] -%\caption{Document Class Options.} \label{options} -%\begin{lined}{\textwidth} -%\begin{flushleft} -%\begin{description} -%\item[\normalfont\texttt{10pt}, \texttt{11pt}, \texttt{12pt}] \quad Sets the size -% of the main font in the document. If no option is specified, -% \texttt{10pt} is assumed. \index{document font size}\index{base -% font size} -%\item[\normalfont\texttt{a4paper}, \texttt{letterpaper}, \ldots] \quad Defines -% the paper size. The default size is \texttt{letterpaper}. Besides -% that, \texttt{a5paper}, \texttt{b5paper}, \texttt{executivepaper}, -% and \texttt{legalpaper} can be specified. \index{legal paper} -% \index{paper size}\index{A4 paper}\index{letter paper} \index{A5 -% paper}\index{B5 paper}\index{executive paper} -% -%\item[\normalfont\texttt{fleqn}] \quad Typesets displayed formulae left-aligned -% instead of centred. -% -%\item[\normalfont\texttt{leqno}] \quad Places the numbering of formulae on the -% left hand side instead of the right. -% -%\item[\normalfont\texttt{titlepage}, \texttt{notitlepage}] \quad Specifies -% whether a new page should be started after the \wi{document title} -% or not. The \texttt{article} class does not start a new page by -% default, while \texttt{report} and \texttt{book} do. \index{title} -% -%\item[\normalfont\texttt{onecolumn}, \texttt{twocolumn}] \quad Instructs \LaTeX{} to typeset the -% document in \wi{one column} or \wi{two column}s. -% -%\item[\normalfont\texttt{twoside, oneside}] \quad Specifies whether double or -% single sided output should be generated. The classes -% \texttt{article} and \texttt{report} are \wi{single sided} and the -% \texttt{book} class is \wi{double sided} by default. Note that this -% option concerns the style of the document only. The option -% \texttt{twoside} does \emph{not} tell the printer you use that it -% should actually make a two-sided printout. -%\item[\normalfont\texttt{landscape}] \quad Changes the layout of the document to print in landscape mode. -%\item[\normalfont\texttt{openright, openany}] \quad Makes chapters begin either -% only on right hand pages or on the next page available. This does -% not work with the \texttt{article} class, as it does not know about -% chapters. The \texttt{report} class by default starts chapters on -% the next page available and the \texttt{book} class starts them on -% right hand pages. -% -%\end{description} -%\end{flushleft} -%\end{lined} -%\end{table} - -\begin{table}[!bp] -\caption{文档类。} \label{documentclasses} -\begin{lined}{\textwidth} -\begin{description} - -\item [\normalfont\texttt{article}] 排版科学期刊、演示文档、短报告、程序文档、邀请函…… - \index{article class} -\item [\normalfont\texttt{proc}] 一个基于 article 的会议文集类。 - \index{proc class} -\item [\normalfont\texttt{minimal}] 非常小的文档类。只设置了页面尺寸和基本字体。主要用来查错。 - \index{minimal class} -\item [\normalfont\texttt{report}] 排版多章节长报告、短篇书籍、博士论文……\index{report class} -\item [\normalfont\texttt{book}] 排版书籍。\index{book class} -\item [\normalfont\texttt{slides}] 排版幻灯片。该文档类使用大号 sans -serif 字体。也可以选用 Foil\TeX{}\footnote{% - \CTANref|macros/latex/contrib/supported/foiltex|} 来得到相同的效果。 - \index{slides class}\index{foiltex} -\end{description} -\end{lined} -\end{table} - -\begin{table}[!bp] -\caption{文档类选项。} \label{options} -\begin{lined}{\textwidth} -\begin{flushleft} -\begin{description} -\item[\normalfont\texttt{10pt}, \texttt{11pt}, \texttt{12pt}] \quad 设置文档中所使用的字体的大小。如果该项没有指 - 定,默认使用 \texttt{10pt} 字体。\index{document font size}\index{base - font size} -\item[\normalfont\texttt{a4paper}, \texttt{letterpaper}, \ldots] \quad 定义纸张的尺寸。缺省设置为 \texttt{letterpaper}。此 - 外,还可以使用 \texttt{a5paper}, \texttt{b5paper}, \texttt{executivepaper} 以及 \texttt{legalpaper}。\index{legal paper} - \index{paper size}\index{A4 paper}\index{letter paper} \index{A5 - paper}\index{B5 paper}\index{executive paper} - -\item[\normalfont\texttt{fleqn}] \quad 设置行间公式为左对齐,而不是居中对齐。 - -\item[\normalfont\texttt{leqno}] \quad -设置行间公式的编号为左对齐,而不是右对齐。 - -\item[\normalfont\texttt{titlepage}, \texttt{notitlepage}] \quad 指定是否在文档标题 (\wi{document title}) 后另起一 - 页。\texttt{article} 文档类缺省设置为不开始新页,\texttt{report} 和 \texttt{book} 类则相反。\index{title} - -\item[\normalfont\texttt{onecolumn}, \texttt{twocolumn}] \quad - \LaTeX{} 以单栏 (\wi{one column}) 或双栏 (\wi{two - column}) 的方式来排版文档。 - -\item[\normalfont\texttt{twoside}, \texttt{oneside}] \quad 指定文档为双面或单面打印格式。\texttt{article} 和 \texttt{report} 类为 - 单面 (\wi{single sided}) 格式,\texttt{book} 类缺省为双面 (\wi{double sided}) 格式。注意该选项只是作用于文档样式,而\textbf{不会}通知打印机以双面格式打印文档。 - -\item[\normalfont\texttt{landscape}] \quad -将文档的打印输出布局设置为 landscape 模式。 - -\item[\normalfont\texttt{openright}, \texttt{openany}] \quad 决定新的一章仅在奇数页开始还是在下一页开始。在文档类型为 \texttt{article} 时该选项不起作用,因为该类中没有定义“章” (chapter)。 \texttt{report} 类默认在下一页开始新一章而 \texttt{book} 类的新一章总是在奇数页开始。 - -\end{description} -\end{flushleft} -\end{lined} -\end{table} - -%Example: An input file for a \LaTeX{} document could start with the -%line - -例子:一个 \LaTeX{} 源文件以下面一行开始 -\begin{code} -\ci{documentclass}\verb|[11pt,twoside,a4paper]{article}| -\end{code} -%which instructs \LaTeX{} to typeset the document as an \emph{article} -%with a base font size of \emph{eleven points}, and to produce a -%layout suitable for \emph{double sided} printing on \emph{A4 paper}. -这条命令会引导 \LaTeX{} 使用 \emph{article} 格式、\textbf{11 磅大小的字体}来排版该文档,并得到在 \emph{A4} 纸上\textbf{双面打印}的效果。 \pagebreak[2] - -%\subsection{Packages} -\subsection{宏包} -\index{package} %While writing your document, you will probably find -%that there are some areas where basic \LaTeX{} cannot solve your -%problem. If you want to include \wi{graphics}, \wi{coloured text} or -%source code from a file into your document, you need to enhance the -%capabilities of \LaTeX. Such enhancements are called packages. -%Packages are activated with the - -排版文档时,你可能会发现某些时候基本的 \LaTeX{} 并不能解决你的问题。如果想插入图形 (\wi{graphics})、 -彩色文本 (\wi{coloured text}) 或源代码到你的文档中,你就 -需要使用宏包来增强 \LaTeX{} 的功能。可使用如下命令调用宏包 -\begin{lscommand} -\ci{usepackage}\verb|[|\emph{options}\verb|]{|\emph{package}\verb|}| -\end{lscommand} -\noindent%command, where \emph{package} is the name of the package and -%\emph{options} is a list of keywords that trigger special features in -%the package. Some packages come with the \LaTeXe{} base distribution -%(See Table \ref{packages}). Others are provided separately. You may -%find more information on the packages installed at your site in your -%\guide. The prime source for information about \LaTeX{} packages is \companion. -%It contains descriptions on hundreds of packages, along with -%information of how to write your own extensions to \LaTeXe. -这里 \emph{package} 是宏包的名称,\emph{options} 是用来激活宏包特殊功能的一组关键词。很多宏包随 \LaTeX{} 基本发行版一起 -发布 (见表 \ref{packages}),其他的则单独发布。你可以在所安装的 \LaTeX{} 系统中找到更多的宏包相关信息。\companion 提供了关 -于宏包的重要信息,它包含了数百个宏包的描述及如何写作自己的 \LaTeXe{} 扩展的信息。 - -%Modern \TeX{} distributions come with a large number of packages -%preinstalled. If you are working on a Unix system, use the command -%\texttt{texdoc} for accessing package documentation. - -现代的 \TeX 发行版包含了大量免费的宏包。如果你使用的是 Unix 系统,可以使用命令 \texttt{texdoc} 搜索宏包的说明文档。 -%\begin{table}[btp] -%\caption{Some of the Packages Distributed with \LaTeX.} \label{packages} -%\begin{lined}{\textwidth} -%\begin{description} -%\item[\normalfont\pai{doc}] Allows the documentation of \LaTeX{} programs.\\ -% Described in \texttt{doc.dtx}\footnote{This file should be installed -% on your system, and you should be able to get a \texttt{dvi} file -% by typing \texttt{latex doc.dtx} in any directory where you have -% write permission. The same is true for all the -% other files mentioned in this table.} and in \companion. -% -%\item[\normalfont\pai{exscale}] Provides scaled versions of the -% math extension font.\\ -% Described in \texttt{ltexscale.dtx}. -% -%\item[\normalfont\pai{fontenc}] Specifies which \wi{font encoding} -% \LaTeX{} should use.\\ -% Described in \texttt{ltoutenc.dtx}. -% -%\item[\normalfont\pai{ifthen}] Provides commands of the form\\ -% `if\ldots then do\ldots otherwise do\ldots.'\\ Described in -% \texttt{ifthen.dtx} and \companion. -% -%\item[\normalfont\pai{latexsym}] To access the \LaTeX{} symbol -% font, you should use the \texttt{latexsym} package. Described in -% \texttt{latexsym.dtx} and in \companion. -% -%\item[\normalfont\pai{makeidx}] Provides commands for producing -% indexes. Described in section \ref{sec:indexing} and in \companion. -% -%\item[\normalfont\pai{syntonly}] Processes a document without -% typesetting it. -% -%\item[\normalfont\pai{inputenc}] Allows the specification of an -% input encoding such as ASCII, ISO Latin-1, ISO Latin-2, 437/850 IBM -% code pages, Apple Macintosh, Next, ANSI-Windows or user-defined one. -% Described in \texttt{inputenc.dtx}. -%\end{description} -%\end{lined} -%\end{table} - -\begin{table}[btp] -\caption{随 \LaTeX 一起发行的宏包。} \label{packages} -\begin{lined}{\textwidth} -\begin{description} -\item[\normalfont\pai{doc}] 排版 \LaTeX{} 的说明文档。具体描述见 \texttt{doc.dtx}\footnote{你的系统中应该安装了该文 - 件,输入命令 \texttt{latex doc.dtx} 处理该文件可得到一个 \texttt{dvi} 文件。类似的方法适用于本表格中的其 - 他 \texttt{.dtx} 文件。} 及 \companion。 - -\item[\normalfont\pai{exscale}] 提供了按比例伸缩的数学扩展字体。\\ - 具体描述见 \texttt{ltexscale.dtx}。 - -\item[\normalfont\pai{fontenc}] 指明使用哪种 \LaTeX{} 字体编码 (\wi{font - encoding})。\\ - 具体描述见 \texttt{ltoutenc.dtx}。 - -\item[\normalfont\pai{ifthen}] 提供如下形式的命令\\ - `if \ldots then do \ldots otherwise do \ldots.'\\具体描述见 - \texttt{ifthen.dtx} 及 \companion。 - -\item[\normalfont\pai{latexsym}] - 提供 \LaTeX{} 符号字体。具体描述见 \texttt{latexsym.dtx} 及 \companion。 - -\item[\normalfont\pai{makeidx}] - 提供排版索引的命令。具体描述见第 \ref{sec:indexing} 节及 \companion。 - -\item[\normalfont\pai{syntonly}] 编译文档而不生成 dvi 文件 (常用于查错)。 - -\item[\normalfont\pai{inputenc}] 指明使用哪种输入编码,如 ASCII, ISO Latin-1, ISO Latin-2, 437/850 IBM - code pages, Apple Macintosh, Next, - ANSI-Windows 或用户自定义编码。 - 具体描述见 \texttt{inputenc.dtx}。 -\end{description} -\end{lined} -\end{table} - -%\subsection{Page Styles} -\subsection{页面样式} - -%\LaTeX{} supports three predefined \wi{header}/\wi{footer} -%combinations---so-called \wi{page style}s. The \emph{style} -%parameter of the -\index{page -style!plain@\texttt{plain}}\index{plain@\texttt{plain}} \index{page -style!headings@\texttt{headings}}\index{headings@texttt{headings}} -\index{page style!empty@\texttt{empty}}\index{empty@\texttt{empty}} - -\LaTeX{} 支持三种预定义的页眉/页脚 (\wi{header}/\wi{footer}) 样式,称为页面样式 (\wi{page -style})。如下命令 -\begin{lscommand} -\ci{pagestyle}\verb|{|\emph{style}\verb|}| -\end{lscommand} -\noindent%command defines which one to use. -%Table \ref{pagestyle} -%lists the predefined page styles. -中的 \emph{style} 参数确定了使用哪一种页面样式。表 \ref{pagestyle} 列出了预定义的页面样式。 - -%\begin{table}[!hbp] -%\caption{The Predefined Page Styles of \LaTeX.} \label{pagestyle} -%\begin{lined}{\textwidth} -%\begin{description} -% -%\item[\normalfont\texttt{plain}] prints the page numbers on the bottom -% of the page, in the middle of the footer. This is the default page -% style. -% -%\item[\normalfont\texttt{headings}] prints the current chapter heading -% and the page number in the header on each page, while the footer -% remains empty. (This is the style used in this document) -%\item[\normalfont\texttt{empty}] sets both the header and the footer -% to be empty. -% -%\end{description} -%\end{lined} -%\end{table} -\begin{table}[!hbp] -\caption{\LaTeX 预定义的页面样式。} \label{pagestyle} -\begin{lined}{\textwidth} -\begin{description} - -\item[\normalfont\texttt{plain}] 在页脚正中显示页码。这是页面样式的缺省设置。 - -\item[\normalfont\texttt{headings}] -在页眉中显示章节名及页码,页脚空白。(本文即采用此样式) -\item[\normalfont\texttt{empty}] 将页眉页脚都设为空白。 - -\end{description} -\end{lined} -\end{table} - -%It is possible to change the page style of the current page -%with the command -\hyphenation{Companion} -可以通过如下命令来改变当前页面的页面样式 -\begin{lscommand} -\ci{thispagestyle}\verb|{|\emph{style}\verb|}| -\end{lscommand} -%A description how to create your own -%headers and footers can be found in \companion{} and in section \ref{sec:fancy} on page \pageref{sec:fancy}. -如何创建自定义页眉页脚的说明可以参见 \companion{} 及第 \pageref{sec:fancy} 页的第 \ref{sec:fancy} 节。 -% -% Pointer to the Fancy headings Package description ! -% - -%\section{Files You Might Encounter} -\section{各类 \LaTeX{} 文件} - -%When you work with \LaTeX{} you will soon find yourself in a maze of -%files with various \wi{extension}s and probably no clue. The -%following list explains the various \wi{file types} you might -%encounter when working with \TeX{}. Please note that this table does -%not claim to be a complete list of extensions, but if you find one -%missing that you think is important, please drop me a line. -使用 \LaTeX{} 时,你可能很快发现自己置身于各种不同扩展名 (\wi{extension}) 或毫无线索的文件形成的迷宫之中。下面的列表解释了 -在使用 \LaTeX{} 时可能遇到的文件类型。要注意的是,下表不是所有的扩展名列表,如果你发现有重要的文件类型没有收录 -进来,请通知我。 -%\begin{description} -% -%\item[\eei{.tex}] \LaTeX{} or \TeX{} input file. Can be compiled with -% \texttt{latex}. -%\item[\eei{.sty}] \LaTeX{} Macro package. This is a file you can load -% into your \LaTeX{} document using the \ci{usepackage} command. -%\item[\eei{.dtx}] Documented \TeX{}. This is the main distribution -% format for \LaTeX{} style files. If you process a .dtx file you get -% documented macro code of the \LaTeX{} package contained in the .dtx -% file. -%\item[\eei{.ins}] The installer for the files contained in the -% matching .dtx file. If you download a \LaTeX{} package from the net, -% you will normally get a .dtx and a .ins file. Run \LaTeX{} on the -% .ins file to unpack the .dtx file. -%\item[\eei{.cls}] Class files define what your document looks -% like. They are selected with the \ci{documentclass} command. -%\item[\eei{.fd}] Font description file telling \LaTeX{} about new fonts. -%\end{description} -\begin{description} - -\item[\eei{.tex}] - \LaTeX{} 或 \TeX{} 源文件。可以使用 \texttt{latex} 命令编译。 -\item[\eei{.sty}] - \LaTeX{} 宏包文件。可以使用 \ci{usepackage} 命令将宏包文件载入到你的 \LaTeX{} 文档中。 -\item[\eei{.dtx}] - 文档化 \TeX{} 文件。这是 \LaTeX{} 宏包文件的主要发布格式。如果编译 \texttt{.dtx} 文档,将会得到其中包含的 \LaTeX{} 宏包文件 - 的文档化宏代码。 -\item[\eei{.ins}] 对应 \texttt{.dtx} 文件的安装文件。如果你从网上下载了一个 \LaTeX{} 的宏包文件,其中一般会包含一 - 个 \texttt{.dtx} 文件和一个 \texttt{.ins} 文件。使用 \LaTeX{} 处理 \texttt{.ins} 文件可以解开 \texttt{.dtx} 文件。 -\item[\eei{.cls}] 定义文档外观形式的类文件,可以通过使用 \ci{documentclass} 命令选取。 -\item[\eei{.fd}] 字体描述文件,可以告诉 \LaTeX{} 有关新字体的信息。 -\end{description} -%The following files are generated when you run \LaTeX{} on your input -%file: -下面这些文件是使用 \LaTeX{} 处理源文件时产生的: - -%\begin{description} -%\item[\eei{.dvi}] Device Independent File. This is the main result of a \LaTeX{} -% compile run. You can look at its content with a DVI previewer -% program or you can send it to a printer with \texttt{dvips} or a -% similar application. -%\item[\eei{.log}] Gives a detailed account of what happened during the -% last compiler run. -%\item[\eei{.toc}] Stores all your section headers. It gets read in for the -% next compiler run and is used to produce the table of content. -%\item[\eei{.lof}] This is like .toc but for the list of figures. -%\item[\eei{.lot}] And again the same for the list of tables. -%\item[\eei{.aux}] Another file that transports information from one -% compiler run to the next. Among other things, the .aux file is used -% to store information associated with cross-references. -%\item[\eei{.idx}] If your document contains an index. \LaTeX{} stores all -% the words that go into the index in this file. Process this file with -% \texttt{makeindex}. Refer to section \ref{sec:indexing} on -% page \pageref{sec:indexing} for more information on indexing. -%\item[\eei{.ind}] The processed .idx file, ready for inclusion into your -% document on the next compile cycle. -%\item[\eei{.ilg}] Logfile telling what \texttt{makeindex} did. -%\end{description} -\begin{description} -\item[\eei{.dvi}] 设备无关文件。这是运行 \LaTeX{} 编译的主要结果。你可以使用 DVI 预览器预览其内容或使 - 用 \texttt{dvips} 或其他程序输出到打印机。 -\item[\eei{.log}] 记录了上次编译时的详细信息。 -\item[\eei{.toc}] - 储存了所有的章节标题。下次编译时将读取该文件并生成目录。 -\item[\eei{.lof}] 和 \texttt{.toc} 文件类似,可生成图形目录。 -\item[\eei{.lot}] 和 \texttt{.toc} 文件类似,可生成表格目录。 -\item[\eei{.aux}] 用来向下次编译传递信息的辅助文件。主要储存交叉引用的相关信息。 -\item[\eei{.idx}] 如果文档中包含索引,\LaTeX{} 将使用该文件存储所有的索引词条。此文件需要使 - 用 \texttt{makeindex} 处理,详见位于 \pageref{sec:indexing} 页的第 \ref{sec:indexing} 节。 -\item[\eei{.ind}] 处理过的 \texttt{.idx} 文件。下次编译时将读入到你的文档中。 -\item[\eei{.ilg}] - 和 \texttt{.log} 文件类似,记录了 \texttt{makeindex} 命令运行的详细信息。 -\end{description} - -% Package Info pointer -% -% - - - -% -% Add Info on page-numbering, ... -% \pagenumbering - -%\section{Big Projects} -\section{大型项目} -%When working on big documents, you might want to split the input -%file into several parts. \LaTeX{} has two commands that help you to -%do that. - -当处理大型文档时,最好将文档分割成为几部分。\LaTeX{} 有两个命令可以帮助你完成这项工作。 - -\begin{lscommand} -\ci{include}\verb|{|\emph{filename}\verb|}| -\end{lscommand} -\noindent %You can use this command in the document body to insert the -%contents of another file named \emph{filename.tex}. Note that \LaTeX{} -%will start a new page -%before processing the material input from \emph{filename.tex}. -你可以使用该命令将名为 \emph{filename.tex} 的文档内容插入到当前文档中。需要注意的是,在处理插入的 \emph{filename.tex} 文 -档前,\LaTeX{} 会另起一页。 - -%The second command can be used in the preamble. It allows you to -%instruct \LaTeX{} to only input some of the \verb|\include|d files. - -第二个命令只能在导言区使用。它可以让 \LaTeX{} 仅读入某些 \verb|\include| 文件。 -\begin{lscommand} -\ci{includeonly}\verb|{|\emph{filename}\verb|,|\emph{filename}% -\verb|,|\ldots\verb|}| -\end{lscommand} -%After this command is executed in the preamble of the document, only -%\ci{include} commands for the filenames that are listed in the -%argument of the \ci{includeonly} command will be executed. Note that -%there must be no spaces between the filenames and the commas. -这条命令在文档的导言区执行后,在所有的 \ci{include} 命令中,只有文档名出现在 \ci{includeonly} 的命令参数中的文档 -才会被导入。注意文档名和逗号之间不能有空格。 - -%The \ci{include} command starts typesetting the included text on a new -%page. This is helpful when you use \ci{includeonly}, because the -%page breaks will not move, even when some included files are omitted. -%Sometimes this might not be desirable. In this case, you can use the - -\ci{include} 命令会在新的一页上排版载入的文本。当使用 \ci{includeonly} 命令时会很有帮助,因为即使一些载入的文本被忽略,分页 -处也不会发生变化。有些时候可能不希望在新的一页上排版载入的文本,这时可以使用命令 -\begin{lscommand} -\ci{input}\verb|{|\emph{filename}\verb|}| -\end{lscommand} -\noindent% command. It simply includes the file specified. -%No flashy suits, no strings attached. -\ci{input} 命令只是简单的载入指定的文本,没有其他限制。 - -%To make \LaTeX{} quickly check your document you can use the \pai{syntonly} -%package. This makes \LaTeX{} skim through your document only checking for -%proper syntax and usage of the commands, but doesn't produce any (DVI) output. -%As \LaTeX{} runs faster in this mode you may save yourself valuable time. -%Usage is very simple: - -如果想让 \LaTeX{} 快速的检查文档中的错误,可以使用 \pai{syntonly} 宏包。它可以使 \LaTeX{} 浏览整个文档,检查语法错误 -和使用的命令,但并不生成 DVI 输出。在这种模式下,\LaTeX{} 运行速度很快,可以为你节省宝贵的时间。\pai{syntonly} 宏 -包的使用非常简单: -\begin{verbatim} -\usepackage{syntonly} -\syntaxonly -\end{verbatim} -%When you want to produce pages, just comment out the second line -%(by adding a percent sign). -如果想产生分页,只要注释掉第二行即可 (在前面加上一个百分号 \verb|%|)。 - - -% - -% Local Variables: -% TeX-master: "lshort2e" -% mode: latex -% mode: flyspell -% End: diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/title.tex b/Master/texmf-dist/doc/latex/lshort-chinese/src/title.tex deleted file mode 100644 index 0d9c1a22898..00000000000 --- a/Master/texmf-dist/doc/latex/lshort-chinese/src/title.tex +++ /dev/null @@ -1,84 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Contents: The title page -% $Id: title.tex,v 1.2 2003/03/19 20:57:47 oetiker Exp $ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% 中文~4.20~翻译:zpxing@bbs.ctex email: zpxing at gmail dot com -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\ifx\pdfoutput\undefined % We're not running pdftex -\else -%\pdfbookmark{Title Page}{title} -\pdfbookmark{标题页}{title} -\fi -\newlength{\centeroffset} -\setlength{\centeroffset}{-0.5\oddsidemargin} -\addtolength{\centeroffset}{0.5\evensidemargin} -%\addtolength{\textwidth}{-\centeroffset} -\thispagestyle{empty} -\vspace*{\stretch{1}} -\noindent\hspace*{\centeroffset}\makebox[0pt][l]{\begin{minipage}{\textwidth} -\flushright -{\huge \bfseries 一份不太简短的~\LaTeXe{}~介绍} -\noindent\rule[-1ex]{\textwidth}{5pt}\\[2.5ex] -\hfill\emph{\Large 或~\pageref{verylast}~分钟学会~\LaTeXe} -%{\Huge\bfseries The Not So Short\\ -%Introduction to \LaTeXe -% -%} -%\noindent\rule[-1ex]{\textwidth}{5pt}\\[2.5ex] -%\hfill\emph{\Large Or \LaTeXe{} in \pageref{verylast} minutes} -\end{minipage}} - -\vspace{\stretch{1}} -\noindent\hspace*{\centeroffset}\makebox[0pt][l]{\begin{minipage}{\textwidth} -\flushright -{\bfseries 原版作者:} Tobias Oetiker\\[1.5ex] -      Hubert Partl, Irene Hyna and Elisabeth Schlegl\\[1.5ex] -{\bfseries 原版版本:} Version~4.20, May 31, 2006\\[3ex] -{\bfseries 中文翻译:} 中文~\TeX{}~学会\\[1.5ex] -{\bfseries 中文版本:} 版本~4.20,二零零七年九月 -\end{minipage}} - - -%\addtolength{\textwidth}{\centeroffset} -\vspace{\stretch{2}} - - -\pagebreak -\begin{small} -% Copyright \copyright 1995-2005 Tobias Oetiker and Contributers. All rights reserved. - Tobias\ Oetiker~及贡献者拥有版权~\copyright\ 1995 -- 2005。 - 保留所有权利。 - -% This document is free; you can redistribute it and/or modify it -% under the terms of the GNU General Public License as published by -% the Free Software Foundation; either version 2 of the License, or -% (at your option) any later version. - 这份文档是免费的;在~Free Software Foundation~颁布的~GNU~通用出版许可证的条款下, - 你可以再版或者修改它。许可证可以是第二版,或者任何后继版本(随你意)。 - -% This document is distributed in the hope that it will be useful, but -% WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE\@. See the GNU -% General Public License for more details. - 发布这份文档是希望它会有用,但并不提供任何保障;甚至没有用于商业的或者 - 适用某一特定目的的暗含保证。更多的细节请查看~GNU~通用出版许可证。 - -% You should have received a copy of the GNU General Public License -% along with this document; if not, write to the Free Software -% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - 你应该随这份文档收到一份~GNU~通用出版许可证的拷贝;如果没有,写信到 - ~Free Software Foundation,地址:675 Mass Ave, Cambridge, MA 02139, USA。 - -\end{small} - - -\endinput - -% - -% Local Variables: -% TeX-master: "lshort2e" -% mode: latex -% mode: flyspell -% End: diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/typeset.tex b/Master/texmf-dist/doc/latex/lshort-chinese/src/typeset.tex deleted file mode 100644 index d3722b8ef87..00000000000 --- a/Master/texmf-dist/doc/latex/lshort-chinese/src/typeset.tex +++ /dev/null @@ -1,2785 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Contents: Typesetting Part of LaTeX2e Introduction -%% $Id: typeset.tex,v 1.2 2003/03/19 20:57:47 oetiker Exp $ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% 中文 4.20 翻译:zpxing@bbs.ctex email: zpxing at gmail dot com -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%\chapter{Typesetting Text} - -\chapter{文本排版} - -%\begin{intro} -% After reading the previous chapter, you should know about the basic -% stuff of which a \LaTeXe{} document is made. In this chapter I -% will fill in the remaining structure you will need to know in order -% to produce real world material. -%\end{intro} -\begin{intro} -阅读了前一章之后,你应该了解关于如何创建一个 \LaTeX{} 文档的基本知识了。 -在这一章里,我将补充其余部分,使你能够生成实际文档。 -\end{intro} - -%\section{The Structure of Text and Language} -%\secby{Hanspeter Schmid}{hanspi@schmid-werren.ch} -%The main point of writing a text (some modern DAAC\footnote{Different -% At All Cost, a translation of the Swiss German UVA (Um's Verrecken -% Anders).} literature excluded), is to convey ideas, information, or -%knowledge to the reader. The reader will understand the text better -%if these ideas are well-structured, and will see and feel this -%structure much better if the typographical form reflects the logical -%and semantical structure of the content. - -\section{文本和语言结构} -\secby{Hanspeter Schmid}{hanspi@schmid-werren.ch} \indent -书写文本的主旨是(某些现代 DAAC\footnote{为标新立异而不讲成本,译自 the -Swiss German UVA (Um's Verrecken Anders).} 文化除外) -,向读者传递观点、信息或者知识。 -如果这些观点被很好地组织起来,那么读者 -会得到更好的理解。而且,如果排版形式反映内容的逻辑和语义结构, -读者就能看到也更喜欢文章的这种脉络。 - -%\LaTeX{} is different from other typesetting systems in that you just -%have to tell it the logical and semantical structure of a text. It -%then derives the typographical form of the text according to the -%``rules'' given in the document class file and in various style files. -\LaTeX{} 不同于其它排版系统之处在于,你必须告诉它文本的逻辑和语 -义结构。然后它根据类文件和各种样式文件中给定的“规则”生成相应格式的 -文本。 - -%The most important text unit in \LaTeX{} (and in typography) is the -%\wi{paragraph}. We call it ``text unit'' because a paragraph is the -%typographical form that should reflect one coherent thought, or one -%idea. You will learn in the following sections how you can force -%line breaks with e.g.{} \texttt{\bs\bs}, and paragraph breaks with e.g.{} -%leaving an empty line in the source code. Therefore, if a new thought -%begins, a new paragraph should begin, and if not, only line breaks -%should be used. If in doubt about paragraph breaks, think about your -%text as a conveyor of ideas and thoughts. If you have a paragraph -%break, but the old thought continues, it should be removed. If some -%totally new line of thought occurs in the same paragraph, then it -%should be broken. -\LaTeX{} 最重要的文本单元(印刷术上的)是段落 (\wi{paragraph})。 -我们称段落为“文本单元”,因为段落是连续思想或者观点在排版上的反映。 -在下一节里,你将学会在源代码中如何使用 \texttt{\bs\bs} 来强迫换行,如 -何使用空行来分段。因此,一旦开始表达新的思想,就应该另起一段,否则 -换行就够了。如果无法决定是否分段,想象一下你的文字是观点和思想的载体。如果分段后, -原来的思想仍在继续,就应该取消分段。如果有些行在同一段落里阐述了新 -的思想,那么应该分段。 - -%Most people completely underestimate the importance of well-placed -%paragraph breaks. Many people do not even know what the meaning of -%a paragraph break is, or, especially in \LaTeX, introduce paragraph -%breaks without knowing it. The latter mistake is especially easy to -%make if equations are used in the text. Look at the following -%examples, and figure out why sometimes empty lines (paragraph breaks) -%are used before and after the equation, and sometimes not. (If you -%don't yet understand all commands well enough to understand these -%examples, please read this and the following chapter, and then read -%this section again.) -大部分人完全低估了恰当分段的重要性。许多人甚至不知道分段表示什么,或者, -特别是在 \LaTeX 里,设置了分段但却浑然不知。 -后一错误特别容易发生在文本中使用公式的情况。观察下面的例子并理解为什么有 -时公式前后都使用空行(分段),而有时不这样。(如果你还不能掌握里面所用的命 -令以至于无法理解这些例子,请在阅读这一章和下一章后再阅读这一节。) - -%\begin{code} -%\begin{verbatim} -%% Example 1 -%\ldots when Einstein introduced his formula -%\begin{equation} -% e = m \cdot c^2 \; , -%\end{equation} -%which is at the same time the most widely known -%and the least well understood physical formula. -\begin{code} -\begin{verbatim} -% Example 1 -\ldots when Einstein introduced his formula -\begin{equation} - e = m \cdot c^2 \; , -\end{equation} -which is at the same time the most widely known -and the least well understood physical formula. - - -% Example 2 -\ldots from which follows Kirchhoff's current law: -\begin{equation} - \sum_{k=1}^{n} I_k = 0 \; . -\end{equation} - -Kirchhoff's voltage law can be derived \ldots - - -% Example 3 -\ldots which has several advantages. - -\begin{equation} - I_D = I_F - I_R -\end{equation} -is the core of a very different transistor model. \ldots -\end{verbatim} -\end{code} - -%The next smaller text unit is a sentence. In English texts, there is -%a larger space after a period that ends a sentence than after one -%that ends an abbreviation. \LaTeX{} tries to figure out which one -%you wanted to have. If \LaTeX{} gets it wrong, you must tell it what -%you want. This is explained later in this chapter. -另一个更小的文本单元是句子。在英文文本中,结束句子的句点后面的空格比 -缩略词的句点后面的空格更长。\LaTeX{} 试图判断你需要哪一个,如果 \LaTeX{} 判断 -错了,你必须告诉它你需要什么。 这将会在下一章里谈到。 - -%The structuring of text even extends to parts of sentences. Most -%languages have very complicated punctuation rules, but in many -%languages (including German and English), you will get almost every -%comma right if you remember what it represents: a short stop in the -%flow of language. If you are not sure about where to put a comma, -%read the sentence aloud and take a short breath at every comma. If -%this feels awkward at some place, delete that comma; if you feel the -%urge to breathe (or make a short stop) at some other place, insert a -%comma. -文本的结构甚至还包括句子的成份。大部分语言的标点规则非常复杂,但在许多语言(包括 -德文和英文)中,如果你记住逗号的意思:在语流中的短暂停顿,那么几乎所有的逗号都不会被用错。 -如果你不确定在什么地方应该使用逗号,大声地朗读句子并在每一个逗号处喘口气。 -在呼吸别扭的地方删除逗号,而在需要喘口气(或者需要短暂停顿)的地方插入一个逗号。 - -%Finally, the paragraphs of a text should also be structured logically -%at a higher level, by putting them into chapters, sections, -%subsections, and so on. However, the typographical effect of writing -%e.g.{} \verb|\section{The| \texttt{Structure of Text and Language}\verb|}| is -%so obvious that it is almost self-evident how these high-level -%structures should be used. -最后,通过包含段落的章、节和子节等等,段落应该在更高层次被有逻辑地组织起来。 -然而,使用诸如 \verb|\section{The| \texttt{Structure of Text and -Language}\verb|}| 的排版效果,是如此明显以至于如何使用这些高层次的结构是不言而喻的。 - - -%\section{Line Breaking and Page Breaking} -% -%\subsection{Justified Paragraphs} -\section{断行和分页} - -\subsection{对齐段落} - -%Books are often typeset with each line having the same length. -%\LaTeX{} inserts the necessary \wi{line break}s and spaces between words -%by optimizing the contents of a whole paragraph. If necessary, it -%also hyphenates words that would not fit comfortably on a line. -%How the paragraphs are typeset depends on the document class. -%Normally the first line of a paragraph is indented, and there is no -%additional space between two paragraphs. Refer to section \ref{parsp} -%for more information. -通常书籍是用等长的行来排版的。为了优化整个段落的内容,\LaTeX{} 在 -单词之间插入必要的断行点 (\wi{line break}) 和间隙。如果一行的 -单词排不下,\LaTeX{} 也会进行必要的断词。段落如何排版依赖于文档类别。 -通常,每一段的第一行有缩进,在两段之间没有额外的间隔。更多的内容请 -参考第 \ref{parsp} 节。 - -%In special cases it might be necessary to order \LaTeX{} to break a -%line: -%\begin{lscommand} -%\ci{\bs} or \ci{newline} -%\end{lscommand} -%\noindent starts a new line without starting a new paragraph. -在特殊情形下,有必要命令 \LaTeX{} 断行 -\begin{lscommand} -\ci{\bs} or \ci{newline} -\end{lscommand} -\noindent 另起一行,而不另起一段。 - -%\begin{lscommand} -%\ci{\bs*} -%\end{lscommand} -%\noindent additionally prohibits a page break after the forced -%line break. -\begin{lscommand} -\ci{\bs*} -\end{lscommand} -\noindent 在强制断行后,还禁止分页。 - -%\begin{lscommand} -%\ci{newpage} -%\end{lscommand} -%\noindent starts a new page. -\begin{lscommand} -\ci{newpage} -\end{lscommand} -\noindent 另起一页。 - -%\begin{lscommand} -%\ci{linebreak}\verb|[|\emph{n}\verb|]|, -%\ci{nolinebreak}\verb|[|\emph{n}\verb|]|, -%\ci{pagebreak}\verb|[|\emph{n}\verb|]|, -%\ci{nopagebreak}\verb|[|\emph{n}\verb|]| -%\end{lscommand} -%\noindent do what their names say. They enable the author to influence their -%actions with the optional argument \emph{n}, which can be set to a number -%between zero and four. By setting \emph{n} to a value below 4, you leave -%\LaTeX{} the option of ignoring your command if the result would look very -%bad. Do not confuse these ``break'' commands with the ``new'' commands. Even -%when you give a ``break'' command, \LaTeX{} still tries to even out the -%right border of the page and the total length of the page, as described in -%the next section. If you really want to start a ``new line'', then use the -%corresponding command. Guess its name! -\begin{lscommand} -\ci{linebreak}\verb|[|\emph{n}\verb|]|, -\ci{nolinebreak}\verb|[|\emph{n}\verb|]|, -\ci{pagebreak}\verb|[|\emph{n}\verb|]|, -\ci{nopagebreak}\verb|[|\emph{n}\verb|]| -\end{lscommand} -\noindent -上述命令的效果可以从它们的名称看出来。通过可选参量 \emph{n}, -作者可以影响这些命令的效果。\emph{n} 可以取为 0 和 4 之间的数。 -如果命令的效果看起来非常差,把 \emph{n} 取为小于 4 的数,可以让 - \LaTeX{} 在排版效果不佳的时候选择忽略这个命令。不要把这些 ``break'' 命令与 ``new'' -命令混淆。即使你给出了 ``break'' 命令,\LaTeX{} 仍然试图对齐 -页面的右边界。 -如果你真想另起一行,就使用相应的命令。猜猜该是什么命令! - -%\LaTeX{} always tries to produce the best line breaks possible. If it -%cannot find a way to break the lines in a manner that meets its high -%standards, it lets one line stick out on the right of the paragraph. -%\LaTeX{} then complains (``\wi{overfull hbox}'') while processing the -%input file. This happens most often when \LaTeX{} cannot find a -%suitable place to hyphenate a word.\footnote{Although \LaTeX{} gives -% you a warning when that happens (Overfull hbox) and displays the -% offending line, such lines are not always easy to find. If you use -% the option \texttt{draft} in the \ci{documentclass} command, these -% lines will be marked with a thick black line on the right margin.} -%You can instruct \LaTeX{} to lower its standards a little by giving -%the \ci{sloppy} command. It prevents such over-long lines by -%increasing the inter-word spacing---even if the final output is not -%optimal. In this case a warning (``\wi{underfull hbox}'') is given to -%the user. In most such cases the result doesn't look very good. The -%command \ci{fussy} brings \LaTeX{} back to its default behaviour. -\LaTeX{} 总是尽可能产生最好的断行效果。如果断行无法达到 \LaTeX{} 的高标准, -就让这一行在段落的右侧溢出。然后在处理源文件的同时,报告溢出的消息 -(``\wi{overfull -hbox}'')。这最有可能发生在 \LaTeX{} 找不到合适的地方断词的时候 -\footnote{当发生 (Overfull -hbox) 时,虽然 \LaTeX{} 给出一个警告并显示溢出的那一行, -但是不太容易发现溢出的行。如果你在 \ci{documentclass} 命令中使用选项 \texttt{draft}, -\LaTeX{} 就在溢出行的右边标以粗黑线。}。你可以使用 \ci{sloppy} 命令, -告诉 \LaTeX{} 降低一点儿标准。它通过增加单词之间的间隔,以防止出现过长的行, -虽然最终的输出结果不是最优的。在这种情况下给出警告 (``\wi{underfull -hbox}'')。在大多数情况下得到的结果看起来不会非常好。 -\ci{fussy} 命令把 \LaTeX{} 恢复为缺省状态。 - -%\subsection{Hyphenation} \label{hyph} -\subsection{断词} \label{hyph} - -%\LaTeX{} hyphenates words whenever necessary. If the hyphenation -%algorithm does not find the correct hyphenation points, you can -%remedy the situation by using the following commands to tell \TeX{} -%about the exception. -必要时 \LaTeX{} 就会断词。如果断词算法不能确定正确的断词点,可以使用如下命令 -告诉 \TeX{} 如何弥补这个缺憾。 - -%The command -%\begin{lscommand} -%\ci{hyphenation}\verb|{|\emph{word list}\verb|}| -%\end{lscommand} -%\noindent causes the words listed in the argument to be hyphenated only at -%the points marked by ``\verb|-|''. The argument of the command should only -%contain words built from normal letters, or rather signs that are considered -%to be normal letters by \LaTeX{}. The hyphenation hints are -%stored for the language that is active when the hyphenation command -%occurs. This means that if you place a hyphenation command into the preamble -%of your document it will influence the English language hyphenation. If you -%place the command after the \verb|\begin{document}| and you are using some -%package for national language support like \pai{babel}, then the hyphenation -%hints will be active in the language activated through \pai{babel}. -命令 -\begin{lscommand} -\ci{hyphenation}\verb|{|\emph{word list}\verb|}| -\end{lscommand} -使列于参量中的单词仅在注有 ``\verb|-|'' 的地方断词。命令的参量仅由 -正常字母构成的单词,或由 \LaTeX{} 视为正常字母的符号组成。当断词命令出现时, -根据正在使用的语言,断词的提示就已经被存好待选了。 -这意味着如果你在文档导言中设置了断词命令,它将影响英文的断词。 -如果断词命令置于 \verb|\begin{document}| 后面,而且你正使用 -比方 \pai{babel} 的国际语言支持宏包,那么断词提示在由 \pai{babel} -激活的语言中就处于活动状态。 - -%The example below will allow ``hyphenation'' to be hyphenated as well as -%``Hyphenation'', and it prevents ``FORTRAN'', ``Fortran'' and ``fortran'' -%from being hyphenated at all. No special characters or symbols are allowed -%in the argument. -下面的例子允许对 ``hyphenation'' 和 ``Hyphenation'' 进行断词, -却根本不允许 ``FORTRAN'', ``Fortran'' 和 ``fortran'' 进行断词。 -在参量中不允许出现特殊的字符和符号。 - -%Example: -%\begin{code} -%\verb|\hyphenation{FORTRAN Hy-phen-a-tion}| -%\end{code} -例子: -\begin{code} -\verb|\hyphenation{FORTRAN Hy-phen-a-tion}| -\end{code} - -%The command \ci{-} inserts a discretionary hyphen into a word. This -%also becomes the only point hyphenation is allowed in this word. This -%command is especially useful for words containing special characters -%(e.g.{} accented characters), because \LaTeX{} does not automatically -%hyphenate words containing special characters. -%%\footnote{Unless you are using the new -%%\wi{DC fonts}.}. -命令 \ci{-} 在单词中插入一个自主的断词点。它也就成为这个单词中 -允许出现的唯一断词点。对于包含特殊字符(例如:注音字符)的单词,这个 -命令是特别有用的,因为对于他们,\LaTeX{} 不会自动断词\footnote{除非你正在使用新的 DC 字体 (\wi{DC -font})。}。 - - -%\begin{example} -%I think this is: su\-per\-cal\-% -%i\-frag\-i\-lis\-tic\-ex\-pi\-% -%al\-i\-do\-cious -%\end{example} -\begin{example} -I think this is: su\-per\-cal\-% -i\-frag\-i\-lis\-tic\-ex\-pi\-% -al\-i\-do\-cious -\end{example} - -%Several words can be kept together on one line with the command -%\begin{lscommand} -%\ci{mbox}\verb|{|\emph{text}\verb|}| -%\end{lscommand} -%\noindent It causes its argument to be kept together under all circumstances. -命令 -\begin{lscommand} -\ci{mbox}\verb|{|\emph{text}\verb|}| -\end{lscommand} -\noindent 保证把几个单词排在同一行上。 -在任何情况下,这个命令把它的参量排在一起。 - -%\begin{example} -%My phone number will change soon. -%It will be \mbox{0116 291 2319}. -\begin{example} -My phone number will change soon. -It will be \mbox{0116 291 2319}. - -The parameter -\mbox{\emph{filename}} should -contain the name of the file. -\end{example} - -%\ci{fbox} is similar to \ci{mbox}, but in addition there will -%be a visible box drawn around the content. -命令 \ci{fbox} 和 \ci{mbox} 类似,此外它还能围绕内容画一个框。 - - -%\section{Ready-Made Strings} -\section{内置字符串} - -%In some of the examples on the previous pages, you have seen -%some very simple \LaTeX{} commands for typesetting special -%text strings: -在前面的例子中,你已经看到用来排版特殊文本字符串的一些非常简单的 \LaTeX{} 命令了。 - -%\vspace{2ex} -\vspace{2ex} - -%\noindent -%\begin{tabular}{@{}lll@{}} -%Command&Example&Description\\ -%\hline -%\ci{today} & \today & Current date\\ -%\ci{TeX} & \TeX & Your favorite typesetter\\ -%\ci{LaTeX} & \LaTeX & The Name of the Game\\ -%\ci{LaTeXe} & \LaTeXe & The current incarnation\\ -%\end{tabular} -\noindent -\begin{tabular}{@{}lll@{}} -命令&例子&描述\\ -\hline -\ci{today} & \today & 今日日期\\ -\ci{TeX} & \TeX & 你最喜爱的排版工具\\ -\ci{LaTeX} & \LaTeX & 游戏的名目\\ -\ci{LaTeXe} & \LaTeXe & 现在的化身\\ -\end{tabular} - -%\section{Special Characters and Symbols} -% -%\subsection{Quotation Marks} -\section{特殊字符和符号} - -%\subsection{Quotation Marks} -\subsection{引号} - -%You should \emph{not} use the \verb|"| for \wi{quotation marks} -%\index{""@\texttt{""}} as you would on a typewriter. In publishing -%there are special opening and closing quotation marks. In \LaTeX{}, -%use two \textasciigrave (grave accent) for opening quotation marks and -%two \textquotesingle (vertical quote) for closing quotation marks. For single -%quotes you use just one of each. -%\begin{example} -%``Please press the `x' key.'' -%\end{example} -%Yes I know the rendering is not ideal, it's really a back-tick or grave accent -%(\textasciigrave) for -%opening quotes and vertical quote (\textquotesingle) for closing, despite what the font chosen might suggest. -你{\textbf -不}能再像在打字机上那样,把 \verb|"| 用作引号 (\wi{quotation -marks})\index{""@\texttt{""}}。 -在印刷中有专门的左引号和右引号。在 \LaTeX{} 中,用两个 \textasciigrave -(重音)产生左引号,用两个 \textquotesingle -(直立引号)产生右引号。一个 \verb|`| 和一个 \verb|'| 产生一个单引号。 -\begin{example} -``Please press the `x' key.'' -\end{example} -当然我知道这种实现机制不是最理想的,无论字体如何,它总是一个反向的勾号或者重音符 (\textasciigrave) 当左引 -号,直立引号 (\textquotesingle) 当右引号。 - -%\subsection{Dashes and Hyphens} -\subsection{破折号和连字号} - -%\LaTeX{} knows four kinds of \wi{dash}es. You can access three of -%them with different numbers of consecutive dashes. The fourth sign -%is actually not a dash at all---it is the mathematical minus sign: \index{-} -%\index{--} \index{---} \index{-@$-$} \index{mathematical!minus} -\LaTeX{} 中有四种短划 (\wi{dash}) 标点符号。连续用不同数目的短划,可以得到其中的三种。 -第四个实际不是标点符号,它是数学中的减号:\index{-} \index{--} -\index{---} \index{-@$-$} \index{mathematical!minus} - -%\begin{example} -%daughter-in-law, X-rated\\ -%pages 13--67\\ -%yes---or no? \\ -%$0$, $1$ and $-1$ -%\end{example} -%The names for these dashes are: -%`-' \wi{hyphen}, `--' \wi{en-dash}, `---' \wi{em-dash} and -%`$-$' \wi{minus sign}. -\begin{example} -daughter-in-law, X-rated\\ -pages 13--67\\ -yes---or no? \\ -$0$, $1$ and $-1$ -\end{example} -这些短划线是: -`-' 连字号 (\wi{hyphen}),`--' 短破折号 (\wi{en-dash}),`---' 长破折号 (\wi{em-dash}) -和 `$-$' 减号 (\wi{minus sign})。 - -%\subsection{Tilde ($\sim$)} - -\subsection{波浪号\texorpdfstring{($\sim$)}{}} - -%\index{www}\index{URL}\index{tilde} A character often seen in web -%addresses is the tilde. To generate this in \LaTeX{} you can use -%\verb|\~| but the result: \~{} is not really what you want. Try this -%instead: -波浪号\index{www}\index{URL}\index{tilde}经常和网址用在一起。它在 - \LaTeX{} 中,可用 \verb|\~| 产生,但其结果:\~{} 却不是你真正想要的。 -试一下这个: - -%\begin{example} -%http://www.rich.edu/\~{}bush \\ -%http://www.clever.edu/$\sim$demo -%\end{example} -% -\begin{example} -http://www.rich.edu/\~{}bush \\ -http://www.clever.edu/$\sim$demo -\end{example} - -%\subsection{Degree Symbol \texorpdfstring{($\circ$)}{}} -\subsection{度的符号\texorpdfstring{ ($\circ$)}{}} - -%The following example shows how to print a \wi{degree symbol} in \LaTeX{}: -下面的例子演示了在 \LaTeX{} 中如何排版度的符号 (\wi{degree -symbol}): - -%\begin{example} -%It's $-30\,^{\circ}\mathrm{C}$. -%I will soon start to -%super-conduct. -%\end{example} -\begin{example} -It's $-30\,^{\circ}\mathrm{C}$. -I will soon start to -super-conduct. -\end{example} - -%The \pai{textcomp} package makes the degree symbol also available as \ci{textcelsius}. -\pai{textcomp} 宏包里有另外一个度的符号 \ci{textcelsius}。 - -%\subsection{The Euro Currency Symbol \texorpdfstring{(\officialeuro)}{}} -\subsection{欧元符号 \texorpdfstring{(\officialeuro)}{}} - -%When writing about money these days, you need the Euro symbol. Many current -%fonts contain a Euro symbol. After loading the \pai{textcomp} package in the preamble of your document -%\begin{lscommand} -%\ci{usepackage}\verb|{textcomp}| -%\end{lscommand} -%you can use the command -%\begin{lscommand} -%\ci{texteuro} -%\end{lscommand} -%to access it. -现在撰写有关货币的文章,通常需要欧元符号。现有的许多字体都包含它。在你的导言区载入 \pai{textcomp} 宏包, -\begin{lscommand} -\ci{usepackage}\verb|{textcomp}| -\end{lscommand} -你就可以使用命令 -\begin{lscommand} -\ci{texteuro} -\end{lscommand} -来生成欧元符号。 - -%If your font does not provide its own Euro symbol or if you do not like the -%font's Euro symbol, you have two more choices: -如果你的字体不提供或者你不喜欢它给出的欧元符号,还有两个选择: - -%First the \pai{eurosym} package. It provides the official Euro symbol: -%\begin{lscommand} -%\ci{usepackage}\verb|[|\emph{official}\verb|]{eurosym}| -%\end{lscommand} -%If you prefer a Euro symbol that matches your font, use the option -%\texttt{gen} in place of the \texttt{official} option. -首先是 \pai{eurosym} 宏包。它提供了官方的欧元符号: -\begin{lscommand} -\ci{usepackage}\verb|[|\emph{official}\verb|]{eurosym}| -\end{lscommand} -如果你希望得到跟所用字体匹配的欧元符号,使用选项 \texttt{gen} 替换 \texttt{official}。 - - -%%If the Adobe Eurofonts are installed on your system (they are available for -%%free from \url{ftp://ftp.adobe.com/pub/adobe/type/win/all}) you can use -%%either the package \pai{europs} and the command \ci{EUR} (for a Euro symbol -%%that matches the current font). -%% does not work -%% or the package -%% \pai{eurosans} and the command \ci{euro} (for the ``official Euro''). - - -%The \pai{marvosym} package also provides many different symbols, including a -%Euro, under the name \ci{EURtm}. Its disadvantage is that it does not provide -%slanted and bold variants of the Euro symbol. -\pai{marvosym} 宏包也提供了很多符号,包括一个名为 \ci{EURtm} 的欧元符号。它的缺点是 -没有提供欧元符号的斜体 (slanted) 和粗体 (bold) 变形。 -%\begin{table}[!htbp] -%\caption{A bag full of Euro symbols} \label{eurosymb} -%\begin{lined}{10cm} -%\begin{tabular}{llccc} -%LM+textcomp &\verb+\texteuro+ & \huge\texteuro &\huge\sffamily\texteuro -% &\huge\ttfamily\texteuro\\ -%eurosym &\verb+\euro+ & \huge\officialeuro &\huge\sffamily\officialeuro -% &\huge\ttfamily\officialeuro\\ -%$[$gen$]$eurosym &\verb+\euro+ & \huge\geneuro &\huge\sffamily\geneuro -% &\huge\ttfamily\geneuro\\ -%%europs &\verb+\EUR + & \huge\EURtm &\huge\EURhv -%% &\huge\EURcr\\ -%%eurosans &\verb+\euro+ & \huge\EUROSANS &\huge\sffamily\EUROSANS -%% & \huge\ttfamily\EUROSANS \\ -%marvosym &\verb+\EURtm+ & \huge\mvchr101 &\huge\mvchr101 -% &\huge\mvchr101 -%\end{tabular} -%\medskip -%\end{lined} -%\end{table} -\begin{table}[!htbp] -\caption{欧元符号工具箱。} \label{eurosymb} -\begin{lined}{10cm} -\begin{tabular}{llccc} -LM+textcomp &\verb+\texteuro+ & \huge\texteuro &\huge\sffamily\texteuro - &\huge\ttfamily\texteuro\\ -eurosym &\verb+\euro+ & \huge\officialeuro &\huge\sffamily\officialeuro - &\huge\ttfamily\officialeuro\\ -$[$gen$]$eurosym &\verb+\euro+ & \huge\geneuro &\huge\sffamily\geneuro - &\huge\ttfamily\geneuro\\ -%europs &\verb+\EUR + & \huge\EURtm &\huge\EURhv -% &\huge\EURcr\\ -%eurosans &\verb+\euro+ & \huge\EUROSANS &\huge\sffamily\EUROSANS -% & \huge\ttfamily\EUROSANS \\ -marvosym &\verb+\EURtm+ & \huge\mvchr{101} &\huge\mvchr{101} - &\huge\mvchr{101} -\end{tabular} -\medskip -\end{lined} -\end{table} - -%\subsection{Ellipsis (\texorpdfstring{\ldots}{...})} -\subsection{省略号\texorpdfstring{ (\ldots )}{( ... )}} - -%On a typewriter, a \wi{comma} or a \wi{period} takes the same amount of -%space as any other letter. In book printing, these characters occupy -%only a little space and are set very close to the preceding letter. -%Therefore, you cannot enter `\wi{ellipsis}' by just typing three -%dots, as the spacing would be wrong. Instead, there is a special -%command for these dots. It is called -在打字机上,逗号 (\wi{comma}) 或句号 (\wi{period}) 占据的空间和其他字母相等。 -在书籍印刷中,这些字符仅占据一点儿空间,并且与前一个字母 -贴得非常紧。所以不能只键入三个点来输出“省略号” (\wi{ellipsis}),因为 -间隔划分得不对。有一个专门的命令输出省略号。它被称为 - -\begin{lscommand} -\ci{ldots} -\end{lscommand} -\index{...@\ldots} - - -%\begin{example} -%Not like this ... but like this:\\ -%New York, Tokyo, Budapest, \ldots -%\end{example} -% -\begin{example} -Not like this ... but like -this:\\ New York, Tokyo, -Budapest, \ldots -\end{example} - -\subsection{连字} - -%Some letter combinations are typeset not just by setting the -%different letters one after the other, but by actually using special -%symbols. -%\begin{code} -%{\large ff fi fl ffi\ldots}\quad -%instead of\quad {\large f{}f f{}i f{}l f{}f{}i \ldots} -%\end{code} -%These so-called \wi{ligature}s can be prohibited by inserting an \ci{mbox}\verb|{}| -%between the two letters in question. This might be necessary with -%words built from two words. -一些字母组合不是简单键入一个个字母得到得的,而实际上用到了一些特殊符号。 -\begin{code} -效果应为 {\large ff fi fl ffi\ldots}\quad 而不是%instead of -\quad {\large f{}f f{}i f{}l f{}f{}i \ldots} -\end{code} -这就是所谓的连字 (\wi{ligature}),在两个字母之间插入一个 \ci{mbox}\verb|{}|,可以禁止连字。 -对于由两个词构成的单词,这可能是必要的。 - -%\begin{example} -%\Large Not shelfful\\ -%but shelf\mbox{}ful -%\end{example} -\begin{example} -Not shelfful\\ -but shelf\mbox{}ful -\end{example} - -%\subsection{Accents and Special Characters} -\subsection{注音符号和特殊字符} - -%\LaTeX{} supports the use of \wi{accent}s and \wi{special -%character}s from many languages. Table \ref{accents} shows all sorts -%of accents being applied to the letter o. Naturally other letters -%work too. -\LaTeX{} 支持来自许多语言中的注音符号 (\wi{accent}) 和特殊字符 (\wi{special -character})。表 \ref{accents} -就字母 o 列出了所有的注音符号。对于其他字母也自然有效。 - -%To place an accent on top of an i or a j, its dots have to be -%removed. This is accomplished by typing \verb|\i| and \verb|\j|. -在字母 i 和 j 上标一个注音符号,它的点儿必须去掉。这个可由 \verb|\i| 和 \verb|\j| 做到。 - -\begin{example} -H\^otel, na\"\i ve, \'el\`eve,\\ -sm\o rrebr\o d, !`Se\ norita!,\\ -Sch\"onbrunner Schlo\ss{} -Stra\ss e -\end{example} - -%\begin{table}[!hbp] -%\caption{Accents and Special Characters.} \label{accents} -%\begin{lined}{10cm} -%\begin{tabular}{*4{cl}} -%\A{\`o} & \A{\'o} & \A{\^o} & \A{\ o} \\ -%\A{\=o} & \A{\.o} & \A{\"o} & \B{\c}{c}\\[6pt] -%\B{\u}{o} & \B{\v}{o} & \B{\H}{o} & \B{\c}{o} \\ -%\B{\d}{o} & \B{\b}{o} & \B{\t}{oo} \\[6pt] -%\A{\oe} & \A{\OE} & \A{\ae} & \A{\AE} \\ -%\A{\aa} & \A{\AA} \\[6pt] -%\A{\o} & \A{\O} & \A{\l} & \A{\L} \\ -%\A{\i} & \A{\j} & !` & \verb|!`| & ?` & \verb|?`| -%\end{tabular} -%\index{dotless \i{} and \j}\index{Scandinavian letters} -%\index{ae@\ae}\index{umlaut}\index{grave}\index{acute} -%\index{oe@\oe}\index{aa@\aa} -\begin{table}[!hbp] -\caption{注音符号和特殊字符。} \label{accents} -\begin{lined}{10cm} -\begin{tabular}{*4{cl}} -\A{\`o} & \A{\'o} & \A{\^o} & \A{\ o} \\ -\A{\=o} & \A{\.o} & \A{\"o} & \B{\c}{c}\\[6pt] -\B{\u}{o} & \B{\v}{o} & \B{\H}{o} & \B{\c}{o} \\ -\B{\d}{o} & \B{\b}{o} & \B{\t}{oo} \\[6pt] -\A{\oe} & \A{\OE} & \A{\ae} & \A{\AE} \\ -\A{\aa} & \A{\AA} \\[6pt] -\A{\o} & \A{\O} & \A{\l} & \A{\L} \\ -\A{\i} & \A{\j} & !` & \verb|!`| & ?` & \verb|?`| -\end{tabular} -\index{dotless \i{} and \j}\index{Scandinavian letters} -\index{ae@\ae}\index{umlaut}\index{grave}\index{acute} -\index{oe@\oe}\index{aa@\aa} - -\bigskip -\end{lined} -\end{table} - -%\section{International Language Support} -\section{国际语言支持} -%\index{international} When you write documents in \wi{language}s -%other than English, there are three areas where \LaTeX{} has to be -%configured appropriately: -\index{international}如果你需要用英文以外的语文 (\wi{language}) 书写 -文件,\LaTeX{} 有两个地方必须配置好: - -%\begin{enumerate} -%\item All automatically generated text strings\footnote{Table of -% Contents, List of Figures, \ldots} have to be adapted to the new -% language. For many languages, these changes can be accomplished by -% using the \pai{babel} package by Johannes Braams. -%\item \LaTeX{} needs to know the hyphenation rules for the new -% language. Getting hyphenation rules into \LaTeX{} is a bit more -% tricky. It means rebuilding the format file with different -% hyphenation patterns enabled. Your \guide{} should give more -% information on this. -%\item Language specific typographic rules. In French for example, there is a -% mandatory space before each colon character (:). -%\end{enumerate} -\begin{enumerate} -\item 所有自动生成的字符串\footnote{目录、 图形清单 -……}必须适用于新语言。对于许多种语言,这个任务可由 Johannes - Braams 编的宏包 \pai{babel} 完成。 -\item 对于一种新语言,\LaTeX{} 需要知道它的断词规则。将断词规则输入 \LaTeX{} 有些难度。 -这是说为不同断词模式重建格式文件是行得通的。对此 \guide{} 给了更多的信息。 -\item -特定语言的排版规则。比如法语中,每一个冒号 (:) 前面必须留出一定的空白。 -\end{enumerate} - - -%If your system is already configured appropriately, you can activate -%the \pai{babel} package by adding the command -%\begin{lscommand} -%\ci{usepackage}\verb|[|\emph{language}\verb|]{babel}| -%\end{lscommand} -%\noindent after the \verb|\documentclass| command. A list of the -%\emph{language}s built into your \LaTeX{} system will be displayed -%every time the compiler is started. Babel will -%automatically activate the appropriate hyphenation rules for the -%language you choose. If your \LaTeX{} format does not support -%hyphenation in the language of your choice, babel will still work but -%will disable hyphenation, which has quite a negative effect on the -%appearance of the typeset document. -如果你的系统已经配置好了,你可以通过在命令 \verb|\documentclass| 后添加命令 -\begin{lscommand} -\ci{usepackage}\verb|[|\emph{language}\verb|]{babel}| -\end{lscommand} -\noindent -来激活宏包 \pai{babel}。已经被你的 \LaTeX{} 系统支持的{\textbf -语言}列表会在每次编译的时候显示。对于选定的语言, -宏包 \pai{babel} 将自动激活适当的断词规则。如果 \LaTeX{} 的格式文件不支持在所 -选择的语言中断词, -除了失去断词功能,宏包 \pai{babel} 仍起作用,当然这对于排版效果有很大的负面影响。 - -%\textsf{Babel} also specifies new commands for some languages, which -%simplify the input of special characters. The \wi{German} language, for -%example, contains a lot of umlauts (\"a\"o\"u). With \textsf{babel}, -%you can enter an \"o by typing \verb|"o| instead of \verb|\"o|. -对于很多种语言,宏包 \pai{babel} 也提供专门的新命令来简化特殊字符的输入。 -例如德文 (\wi{German}) 包含很多元音变音(\"a\"o\"u)。利用 \textsf{babel}, -你能用 \verb|"o| 而不是 \verb|\"o| 来输入 \"o。 - -%If you call babel with multiple languages -%\begin{lscommand} -%\ci{usepackage}\verb|[|\emph{languageA}\verb|,|\emph{languageB}\verb|]{babel}| -%\end{lscommand} -%\noindent then the last language in the option list will be active (i.e. -%languageB) you can to use the command -%\begin{lscommand} -%\ci{selectlanguage}\verb|{|\emph{languageA}\verb|}| -%\end{lscommand} -%\noindent to change the active language. -如果为 babel 指定了多种语言 -\begin{lscommand} -\ci{usepackage}\verb|[|\emph{languageA}\verb|,|\emph{languageB}\verb|]{babel}| -\end{lscommand} -\noindent 选项中的最后一种语言会被激活(即 languageB)。你可以使用 -\begin{lscommand} -\ci{selectlanguage}\verb|{|\emph{languageA}\verb|}| -\end{lscommand} -\noindent 来改变被激活的语言。 - - -%Input Encoding -\newcommand{\ieih}[1]{% -\index{encodings!input!#1@\texttt{#1}}% -\index{input encodings!#1@\texttt{#1}}% -\index{#1@\texttt{#1}}} -\newcommand{\iei}[1]{% -\ieih{#1}\texttt{#1}} -%Font Encoding -\newcommand{\feih}[1]{% -\index{encodings!font!#1@\texttt{#1}}% -\index{font encodings!#1@\texttt{#1}}% -\index{#1@\texttt{#1}}} -\newcommand{\fei}[1]{% -\feih{#1}\texttt{#1}} - -%Most of the modern computer systems allow you to input letter of -%national alphabets directly from the keyboard. In order to -%handle variety of input encoding used for different groups of -%languages and/or on different computer platforms \LaTeX{} employs the -%\pai{inputenc} package: -%\begin{lscommand} -%\ci{usepackage}\verb|[|\emph{encoding}\verb|]{inputenc}| -%\end{lscommand} -大多数现代的计算机系统允许直接从键盘输入某国的字母。为了处理大量不同语系以及/或者 -计算机平台使用的输入编码,\LaTeX{} 使用 \pai{inputenc} 宏包: -\begin{lscommand} -\ci{usepackage}\verb|[|\emph{encoding}\verb|]{inputenc}| -\end{lscommand} - -%When using this package, you should consider that other people might not -%be able to display your input files on their computer, because they use -%a different encoding. For example, the German umlaut \"a on OS/2 is -%encoded as 132, on Unix systems using ISO-LATIN 1 it is encoded as 228, -%while in Cyrillic encoding cp1251 for Windows this letter does not exist -%at all; therefore you should use this feature with care. The following -%encodings may come in handy, depending on the type of system you are -%working on\footnote{To learn more about supported input -%encodings for Latin-based and Cyrillic-based languages, read the -%documentation for \texttt{inputenc.dtx} and \texttt{cyinpenc.dtx} -%respectively. Section \ref{sec:Packages} tells how to produce package -%documentation.} -当使用这个宏包时,应该考虑其他人可能因为 -使用不同的编码,在其计算机上或许不能显示你的源文件。例如,德语元音变音 \"a 的编码为 132, -在一些使用 ISO-LATIN 1 -的 Unix 系统上,它的编码就成了 228;但是 Windows 上的 Cyrillic 编码 cp1251 里却根本没有这个字母。 -所以应小心使用这个功能。根据你使用的系统类型,下列编码可能会派得上用场 -\footnote{要想知道更多基于 Latin 或者 Cyrillic 语言支持的输入编码,请分别阅读 \texttt{inputenc.dtx} 和 \texttt{cyinpenc.dtx} 的文档。 -第 \ref{sec:Packages} 节讲到了如何生成宏包文档。}。 - -\begin{center} -\begin{tabular}{l | r | r } -Operating & \multicolumn{2}{c}{encodings}\\ -system & western Latin & Cyrillic\\ -\hline -Mac & \iei{applemac} & \iei{macukr} \\ -Unix & \iei{latin1} & \iei{koi8-ru} \\ -Windows & \iei{ansinew} & \iei{cp1251} \\ -DOS, OS/2 & \iei{cp850} & \iei{cp866nav} -\end{tabular} -\end{center} - -%If you have a multilingual document with conflicting input encodings, -%you might want to switch to unicode, using the \pai{ucs} package. -如果你有一份多语言文档,其中的编码会有冲突。这时可以使用 \pai{ucs} 宏包来选择 unicode。 - -%\begin{lscommand} -%\ci{usepackage}\verb|{ucs}|\\ -%\ci{usepackage}\verb|[|\iei{utf8x}\verb|]{inputenc}| -%\end{lscommand} -%\noindent will enable you to create \LaTeX{} input files in -%\iei{utf8x}, a multi-byte encoding in which each character can be encoded in -%as little as one byte and as many as four bytes. -\begin{lscommand} -\ci{usepackage}\verb|{ucs}|\\ -\ci{usepackage}\verb|[|\iei{utf8x}\verb|]{inputenc}| -\end{lscommand} -\noindent -会让你创建的 \LaTeX{} 文档使用 \iei{utf8x},它是一种多字节的编码,其中每个字符需要最少一个字节,最多 4 个字节。 - -%Font encoding is a different matter. It defines at which position inside -%a \TeX-font each letter is stored. Multiple input encodings could be mapped into -%one font encoding, which reduces number of required font sets. -%Font encodings are handled through -%\pai{fontenc} package: \label{fontenc} -%\begin{lscommand} -%\ci{usepackage}\verb|[|\emph{encoding}\verb|]{fontenc}| \index{font encodings} -%\end{lscommand} -%\noindent where \emph{encoding} is font encoding. It is possible to load several -%encodings simultaneously. -字体编码是另外一个问题。它定义于一种 \TeX{} 字体里每个字母的存放位置。 -几种不同的输入编码可以被映射到一种字体编码,这样减少了所需的字体集数量。 -字体编码通过 \pai{fontenc} 宏包来处理:\label{fontenc} -\begin{lscommand} -\ci{usepackage}\verb|[|\emph{encoding}\verb|]{fontenc}| \index{font encodings} -\end{lscommand} -\noindent 其中 \emph{encoding} 是字体编码。可以同时载入几种编码。 - -%The default \LaTeX{} font encoding is \label{OT1} \fei{OT1}, the encoding of the -%original Computer Modern \TeX{} font. It containins only the 128 -%characters of the 7-bit ASCII character set. When accented characters -%are required, \TeX{} creates them by combining a normal character with -%an accent. While the resulting output looks perfect, this approach stops -%the automatic hyphenation from working inside words containing accented -%characters. Besides, some of Latin letters could not be created by -%combining a normal character with an accent, to say nothing about letters of -%non-Latin alphabets, such as Greek or Cyrillic. -默认的 \LaTeX{} 字体编码是 \label{OT1}\fei{OT1},Computer Modern -\TeX{} 字体的原有编码。它只包含了 7-bit ASCII 字符集的 128 个字符。需要注音字符的时候, -\TeX{} 把一个正常的字符附上重音符来创建它。虽然输出结果看上去很完美,但这种方法停止了 -对注音字符的自动断词功能。另外,这种方法不能创建一些拉丁字母,而且对非拉丁字母一筹莫展,比 -如希腊字母 (Greek) 和西里尔字母 (Cyrillic)。 - -%To overcome these shortcomings, several 8-bit CM-like font sets were created. -%\emph{Extended Cork} (EC) fonts in \fei{T1} encoding contains -%letters and punctuation characters for most of the European -%languages based on Latin script. The LH font set contains letters necessary -%to typeset documents in languages using Cyrillic script. Because of the large -%number of Cyrillic glyphs, they are arranged into four font -%encodings---\fei{T2A}, \fei{T2B}, \fei{T2C}, -%and \fei{X2}.\footnote{The list of languages supported by each of these -%encodings could be found in \cite{cyrguide}.} The CB bundle contains fonts -%in \fei{LGR} encoding for the composition of Greek text. -为了克服这个缺点, 一些 8-bit 的类似 CM 的字体集被打造出来。 -\fei{T1} 编码的 \emph{Extended -Cork} (EC) 字体以拉丁语系为基础,包含了支持大部分欧洲语言的字母和标点符号。 -LH 字体集包含了排版斯拉夫语系文档必需的字母。 -因为斯拉夫字母的字形太多,它们被分成四种字体编码 \pozhehao \fei{T2A}, -\fei{T2B}, \fei{T2C}, -以及 \fei{X2}\footnote{这些编码所支持的语言列表可以在 \cite{cyrguide} 查到。}。 -希腊文的 \fei{LGR} 编码字体在 CB 字体集里。 - -%By using these fonts you can improve/enable hyphenation in non-English -%documents. Another advantage of using new CM-like fonts is that they -%provide fonts of CM families in all weights, shapes, and optically -%scaled font sizes. -有了这些字体支持,你可以对非英文文本改进或者应用断词了。使用这些新的类似 CM 的字体还有一个好处, -它们提供了 CM 字族里各种大小,形状以及比例缩放的字体。 - -%\subsection{Support for Portuguese} -\subsection{葡萄牙文支持} - -%\secby{Demerson Andre Polli}{polli@linux.ime.usp.br} -%To enable hyphenation and change all automatic text to \wi{Portuguese}, -%\index{Portugu\^es} use the command: -%\begin{lscommand} -%\verb|\usepackage[portuguese]{babel}| -%\end{lscommand} -%Or if you are in Brazil, substitute the language for \texttt{\wi{brazilian}}. -\secby{Demerson Andre Polli}{polli@linux.ime.usp.br} -为了对葡萄牙文 (\wi{Portuguese}) \index{Portugu\^es}文档应用断词及各种自动文本,使用命令: -\begin{lscommand} -\verb|\usepackage[portuguese]{babel}| -\end{lscommand} -或者如果你在巴西的话,替换成 \texttt{\wi{brazilian}}。 - -%As there are a lot of accents in Portuguese you might want to use -%\begin{lscommand} -%\verb|\usepackage[latin1]{inputenc}| -%\end{lscommand} -%to be able to input them correctly as well as -%\begin{lscommand} -%\verb|\usepackage[T1]{fontenc}| -%\end{lscommand} -%to get the hyphenation right. -鉴于葡萄牙文中有许多重音,你可能想要用 -\begin{lscommand} -\verb|\usepackage[latin1]{inputenc}| -\end{lscommand} -\noindent 来正确的输入它们,并且用 -\begin{lscommand} -\verb|\usepackage[T1]{fontenc}| -\end{lscommand} -\noindent 来正确的断词. - -%See table \ref{portuguese} for the preamble you need to write in the -%Portuguese language. Note that we are using the latin1 input encoding here, -%so this will not work on a Mac or on DOS. Just use -%the appropriate encoding for your system. -使用葡萄牙文的文档导言区请参考表 \ref{portuguese}。注意我们使用的是 latin1 的输入编码, -所以在 Mac 或者 DOS 上会不起作用。请自行选择合适的编码。 - -\begin{table}[btp] -\caption{葡萄牙文所需的导言区。} \label{portuguese} -\begin{lined}{5cm} -\begin{verbatim} -\usepackage[portuguese]{babel} -\usepackage[latin1]{inputenc} -\usepackage[T1]{fontenc} -\end{verbatim} -\end{lined} -\end{table} - - -%\subsection{Support for French} -\subsection{法文支持} -\secby{Daniel Flipo}{daniel.flipo@univ-lille1.fr} -%Some hints for those creating \wi{French} documents with \LaTeX{}: -%you can load French language support with the following command: -一些使用 \LaTeX{} 创建法文 (\wi{French}) 文档的提示:你可以通过以下命令载入法文支持: -\begin{lscommand} -\verb|\usepackage[frenchb]{babel}| -\end{lscommand} - -%Note that, for historical reasons, the name of \textsf{babel}'s option -%for French is either \emph{frenchb} or \emph{francais} but not \emph{french}. -请注意,由于历史原因,\textsf{babel} 的法文选项或者是 \emph{frenchb} 或者是 \emph{francais},而不是 \emph{french}。 - -%This enables French hyphenation, if you have configured your -%\LaTeX{} system accordingly. It also changes all automatic text into -%French: \verb+\chapter+ prints Chapitre, \verb+\today+ prints the current -%date in French and so on. A set of new commands also -%becomes available, which allows you to write French input files more -%easily. Check out table \ref{cmd-french} for inspiration. -照此配置,你就可以使用法文的断词了。当然所有的自动文本也都成为法文: -\verb+\chapter+ 印成 Chapitre, \verb+\today+ 印成法语里的今天的日期等等。 -同时也有一系列的新命令,可以让你更容易的输入法文。请参考表 \ref{cmd-french} 来获取灵感。 - -\begin{table}[!htbp] -\caption{法文专用命令。} \label{cmd-french} -\begin{lined}{9cm} -\selectlanguage{french} -\begin{tabular}{ll} -\verb+\og guillemets \fg{}+ \quad &\og guillemets \fg \\[1ex] -\verb+M\up{me}, D\up{r}+ \quad &M\up{me}, D\up{r} \\[1ex] -\verb+1\ier{}, 1\iere{}, 1\ieres{}+ \quad &1\ier{}, 1\iere{}, 1\ieres{}\\[1ex] -\verb+2\ieme{} 4\iemes{}+ \quad &2\ieme{} 4\iemes{}\\[1ex] -\verb+\No 1, \no 2+ \quad &\No 1, \no 2 \\[1ex] -\verb+20 \degres C, 45\degres+ \quad &20 \degres C, 45\degres \\[1ex] -\verb+\bsc{M. Durand}+ \quad &\bsc{M. Durand} \\[1ex] -\verb+\nombre{1234,56789}+ \quad &\nombre{1234,56789} -\end{tabular} -\selectlanguage{english} -\bigskip -\end{lined} -\end{table} - -%You will also notice that the layout of lists changes when switching to the -%French language. For more information on what the \texttt{frenchb} -%option of \textsf{babel} does and how you can customize its behaviour, run -%\LaTeX{} on file \texttt{frenchb.dtx} and read the produced file -%\texttt{frenchb.dvi}. -你会注意到,切换到法文的时候,列表的版面也改变了。更多关于 \textsf{babel} 的 \texttt{frenchb} 选项 -功能以及如何定制的内容,请对 \texttt{frenchb.dtx} 运行 \LaTeX{} 并阅读生成的 \texttt{frenchb.dvi}。 - -%\subsection{Support for German} -\subsection{德文支持} - -%Some hints for those creating \wi{German}\index{Deutsch} -%documents with \LaTeX{}: you can load German language support with the following -%command: -一些使用 \LaTeX{} 创建德文 (\wi{German}) \index{Deutsch}文档的提示: -你可以通过以下命令来载入德文支持: -\begin{lscommand} -\verb|\usepackage[german]{babel}| -\end{lscommand} - -%This enables German hyphenation, if you have configured your -%\LaTeX{} system accordingly. It also changes all automatic text into -%German. Eg. ``Chapter'' becomes ``Kapitel.'' A set of new commands also -%becomes available, which allows you to write German input files more quickly -%even when you don't use the inputenc package. Check out table -%\ref{german} for inspiration. With inputenc, all this becomes moot, but your -%text also is locked in a particular encoding world. -照此配置,你就可以使用德文的断词了。当然所有的自动文本也都成为德文: -例如 ``Chapter'' 印成 ``Kapitel''。同时也有一系列的新命令,可以让你更迅速的输入德文,即使 -你没有使用 inputenc 宏包。请参考表 \ref{german} 来获取灵感。一旦使用 inputenc 宏包, -所有这些都不重要了,当然你的文档也被锁定在一个特殊的编码世界里。 - -\begin{table}[!htbp] -\caption{德文专用字符。} \label{german} -\begin{lined}{8cm} -\selectlanguage{german} -\begin{tabular}{*2{ll}} -\verb|"a| & "a \hspace*{1ex} & \verb|"s| & "s \\[1ex] -\verb|"`| & "` & \verb|"'| & "' \\[1ex] -\verb|"<| or \ci{flqq} & "< & \verb|">| or \ci{frqq} & "> \\[1ex] -\ci{flq} & \flq & \ci{frq} & \frq \\[1ex] -\ci{dq} & " \\ -\end{tabular} -\selectlanguage{english} -\bigskip -\end{lined} -\end{table} - -%In German books you often find French quotation marks (\flqq guil\-le\-mets\frqq). -%German typesetters, however, use them differently. A quote in a German book -%would look like \frqq this\flqq. In the German speaking part of Switzerland, -%typesetters use \flqq guillemets\frqq the same way the French do. -在德文的书籍里,你会经常发现法文的引号 (\flqq guil\-le\-mets\frqq)。 -然而德文的打字机里有不同的使用方法。 德文书籍中的引号看起来是 \frqq -this\flqq 。 在瑞士讲德语的部分,打字机使用 \flqq -guillemets\frqq ,这跟法文一样。 - -%A major problem arises from the use of commands -%like \verb+\flq+: If you use the OT1 font (which is the default font) the -%guillemets will look like the math symbol ``$\ll$'', which turns a typesetter's stomach. -%T1 encoded fonts, on the other hand, do contain the required symbols. So if you are using this type -%of quote, make sure you use the T1 encoding. (\verb|\usepackage[T1]{fontenc}|) -使用类似 \verb+\flq+ 命令的一个主要问题是:如果你用 OT1 字体(这是默认字体), -guillemets 看起来就像数学符号 ``$\ll$'', -这令排版者反胃。而 T1 编码的字体含有正确的符号。所以,当你使用这种引号的时候,请确保 -正在用 T1 编码。 (\verb|\usepackage[T1]{fontenc}|) - -%\subsection[Support for Korean]{Support for Korean\footnotemark}\label{support_korean}% -%\footnotetext{% -%Considering a number of issues Korean \LaTeX{} users -%have to cope with. -%This section was written by Karnes KIM on behalf of the -%Korean lshort translation team. It was translated into English -%by SHIN Jungshik and shortened by Tobi Oetiker.} -\subsection[朝鲜文支持]{朝鲜文支持\footnotemark}\label{support_korean} -\footnotetext{% -考虑到朝鲜文 \LaTeX{} 用户需要处理的大量问题, Karnes -KIM 代表韩国 lshort 翻译团队撰写了这一节, 并由 SHIN -Jungshik 翻译为英文, Tobi Oetiker 作了简化。} -%To use \LaTeX{} for typesetting \wi{Korean}, -%we need to solve three problems: -为了使用 \LaTeX{} 排版朝鲜文 (\wi{Korean}), 我们需要解决三个问题: - -%\begin{enumerate} -%\item -%We must be able to -%edit \wi{Korean input files}. -%Korean input files must be in plain text format, but because Korean -%uses its own character set outside the -%repertoire of US-ASCII, they will look rather strange with a normal ASCII editor. The two most widely used encodings for -%Korean text files are EUC-KR and its upward compatible -%extension used in Korean MS-Windows, CP949/Windows-949/UHC. -%In these encodings each US-ASCII character represents its normal ASCII -%character similar to other ASCII compatible encodings such as -%ISO-8859-\textit{x}, EUC-JP, Big5, or Shift\_JIS. On the other hand, Hangul -%syllables, Hanjas (Chinese characters as used in Korea), Hangul Jamos, -%Hiraganas, Katakanas, Greek and Cyrillic characters and other -%symbols and letters drawn from KS X 1001 are represented by two -%consecutive octets. The first has its MSB set. -%Until the mid-1990's, it took a considerable amount of time and effort to -%set up a Korean-capable environment under a non-localized (non-Korean) -%operating system. -%You can skim through the now much-outdated \url{http://jshin.net/faq} to get -%a glimpse of what it was like to use Korean under non-Korean OS in mid-1990's. -%These days all three major operating systems (Mac OS, Unix, Windows) come equipped -%with pretty decent multilingual support and internationalization features -%so that editing Korean text file is not so much of a problem anymore, even -%on non-Korean operating systems. -\begin{enumerate} -\item -我们要能够编辑朝鲜文的源文件 (\wi{Korean input -files})。朝鲜文源文档必须是普通文本格式的 (plain-text format), -但由于朝鲜文使用的字符集迥异于 US-ASCII 指令集,在一般的 ASCII 编辑器里看起来会相当怪异。 -两个最广为使用的朝鲜文文本文档编码是 EUC-KR 以及 MS-Windows 里它的向上兼容扩展,CP949/Windows-949/UHC。 -在这些编码里,每一个 US-ASCII 字符代表普通的 ASCII 字符, -这跟其他兼容 ASCII 的编码比如 ISO-8859-\textit{x},EUC-JP, Big5, -或者 Shift\_JIS 相似。 -另一方面,从 KS X 1001 字符编码取出的朝鲜语谚文、汉字、朝鲜文字母、平假名、片假名、希腊文和斯拉夫字符以及其他符号和字母 -都用两个连贯的八位字节来表示。 -第一种有它的有效位集。直到 1990 年代中期, -在非朝鲜文的操作系统上配置朝鲜文兼容环境还是一件费时费力的事。你可以浏览一下有些过时的 \url{http://jshin.net/faq} 来了解 -那时是如何在非朝鲜文操作系统上使用朝鲜文的。现在,三种主要的操作系统 (Mac -OS, Unix, Windows) -都具备了相当好的多语言支持和国际化特征,所以在非朝鲜文平台上编辑朝鲜文文档已经不再是一个问题了。 - -%\item \TeX{} and \LaTeX{} were originally written for -%scripts with no more than 256 characters in their alphabet. -%To make them work for languages with considerably -%more characters such as -%Korean%, -% \footnote{Korean Hangul is an alphabetic script with 14 basic consonants -% and 10 basic vowels (Jamos). Unlike Latin or Cyrillic scripts, the -% individual characters have to be arranged in rectangular -% clusters about the same size as Chinese characters. Each cluster -% represents a syllable. An unlimited number of syllables can be -% formed out of this finite set of vowels and consonants. Modern Korean -% orthographic standards (both in South Korea and North Korea), however, -% put some restriction on the formation of these clusters. -% Therefore only a finite number of orthographically correct syllables exist. -% The Korean Character encoding defines individual code points for each of these syllables (KS X 1001:1998 and KS X 1002:1992). So Hangul, albeit alphabetic, is -% treated like the Chinese and Japanese writing systems with tens of thousands of -% ideographic/logographic characters. ISO 10646/Unicode offers both ways of -% representing Hangul used for \emph{modern} Korean by encoding Conjoining -% Hangul Jamos (alphabets: \url{http://www.unicode.org/charts/PDF/U1100.pdf}) -% in addition to encoding all the orthographically allowed Hangul syllables in -% \emph{modern} Korean (\url{http://www.unicode.org/charts/PDF/UAC00.pdf}). -% One of the most daunting challenges in Korean typesetting with -% \LaTeX{} and related typesetting system is supporting Middle Korean---and possibly future Korean---syllables that can be only represented -% by conjoining Jamos in Unicode. It is hoped that future \TeX{} engines like $\Omega$ and -% $\Lambda$ will eventually provide solutions to this -% so that some Korean linguists and historians -% will defect from MS Word that already has a pretty good support -% for Middle Korean.} -%or Chinese, a subfont mechanism was developed. -%It divides a single CJK font with thousands or tens of thousands of -%glyphs into a set of subfonts with 256 glyphs each. -%For Korean, there are three widely used packages; \wi{H\LaTeX} -%by UN Koaunghi, \wi{h\LaTeX{}p} by CHA Jaechoon and the \wi{CJK package} -%by Werner Lemberg.\footnote{% -%They can be obtained at \CTANref|language/korean/HLaTeX/|\\ -% \CTANref|language/korean/CJK/| and -% \texttt{http://knot.kaist.ac.kr/htex/}} -%H\LaTeX{} and h\LaTeX{}p are specific to Korean and provide -%Korean localization on top of the font support. -%They both can process Korean input text files encoded in EUC-KR. H\LaTeX{} can -%even process input files encoded in CP949/Windows-949/UHC and UTF-8 -%when used along with $\Lambda$, $\Omega$. -\item -\TeX{} 和 \LaTeX{} 最初只支持不超过 256 个字符。为了在其他有大量字符的语文例如朝鲜文或汉文 -中让它们工作 - \footnote{朝鲜语谚文是一种由 14 个基本辅音和 10 个基本元音构成的字母书写系统。 - 不同于拉丁或者斯拉夫文字,每一个字符都要被排进跟汉文字符差不多大小的一簇矩形里。 -每一簇表示一个音节。这样就用有限的元音和辅音构成了无限多的音节。但是现代朝鲜文的拼写标准(南、北朝鲜) -都对这些簇的构成有严格的限制。因此只有有限个拼写正确的音节存在。 -朝鲜文字符编码给每一个音节的指定一个代码 (KS X 1001:1998 和 KS X 1002:1992)。 -所以谚文虽然是一种字母文,处理起来却跟汉文和日文这些有几万个表意字符的书写系统差不多。 -ISO 10646/Unicode 提供了{\textbf 现代}朝鲜语谚文的两种表示方法, -一种是对相连的谚文字母编码(字母表: -\url{http://www.unicode.org/charts/PDF/U1100.pdf}),另一种对所有拼写规范的现代朝鲜语音节编码 (\url{http://www.unicode.org/charts/PDF/UAC00.pdf})。 - 使用 \LaTeX{} 及其相关排版系统处理朝鲜文有一项最令人犯憷的挑战,就是对中古朝鲜文 \pozhehao 可能 - 会成为未来的朝鲜文 \pozhehao 音节的支持,现在还只能用 Unicode 对相连的字母编码来解决。希望未来的 \TeX{} 引擎如 $\Omega$ 和 $\Lambda$ 会最终 - 提供解决方案,使得朝鲜语言和历史学者丢开 MS Word,虽然它已经对中古朝鲜文有了良好的支持。} -, -开发了一种子字体机制。一个有几千或者几万种字型 (glyph) 的 CJK 单字被分割成一组子字体集, -每一集合里包含 256 个字型。 -对朝鲜文而言,有三个广为使用的宏包:UN Koaunghi 开发的 \wi{H\LaTeX}, -CHA Jaechoon 的 \wi{h\LaTeX{}p} 以及 Werner Lemberg 的 CJK 宏包 (\wi{CJK package})\footnote{% -这些可以在 \CTANref|language/korean/HLaTeX/|, \CTANref|language/korean/CJK/|\\ -和 \texttt{http://knot.kaist.ac.kr/htex/} 取得。}。 -H\LaTeX{} 和 h\LaTeX{}p 专为朝鲜文设计并且在字体支持之外支持朝鲜文本地化 (Korean -localization)。 对于 EUC-KR 编码的源文档,它们都可以正确的处理。 -在使用 $\Lambda$ 和 $\Omega$ 的时候, -H\LaTeX{} 还可以处理以 CP949/Windows-949/UHC 和 UTF-8 编码的源文档。 - -%The CJK package is not specific to Korean. It can -%process input files in UTF-8 as well as in various CJK encodings -%including EUC-KR and CP949/Windows-949/UHC, it can be used to typeset documents with -%multilingual content (especially Chinese, Japanese and Korean). -%The CJK package has no Korean localization such as the one offered by H\LaTeX{} and it -%does not come with as many special Korean fonts as H\LaTeX. -CJK 宏包不只为朝鲜文提供支持。它还可以处理以 UTF-8 以及很多 CJK 编码包括 EUC-KR 和 -CP949/Windows-949/UHC 的源文档。 -它支持多种语言内容的文档排版,特别是汉文,日文和朝鲜文。跟 H\LaTeX{} 相比,CJK 宏包 -不提供朝鲜文本地化而且朝鲜文字体也不如 H\LaTeX{} 多。 - -%\item The ultimate purpose of using typesetting programs like \TeX{} -%and \LaTeX{} is to get documents typeset in an `aesthetically' satisfying way. -%Arguably the most important element in typesetting is a set of -%well-designed fonts. The H\LaTeX{} distribution -%includes \index{Korean font!UHC font}UHC \PSi{} fonts -%of 10 -%different families and -%Munhwabu\footnote{Korean Ministry of Culture.} -%fonts (TrueType) of 5 different families. -%The CJK package works with a set of fonts used by earlier versions -%of H\LaTeX{} and it can use Bitstream's cyberbit TrueType -%font. -%\end{enumerate} -\item 使用如 \TeX{} 和 \LaTeX{} 排版工具的最终目的是用“美学”上令人满意的方式排版文档。 -可以说,排版中最重要的是优美设计的字体。 -H\LaTeX{} 发行版包含 10 族 (family) \index{Korean font!UHC -font}UHC \PSi{} 字体和 5 族 (family) 文化部(Munhwabu\footnote{南朝鲜文化部。})字体 (TrueType)。 -CJK 宏包使用的字体是 H\LaTeX{} 较早版本里的,但它支持 Bitstream's -cyberbit TrueType 字体。 -\end{enumerate} - -%To use the H\LaTeX{} package for typesetting your Korean text, put the following -%declaration into the preamble of your document: -%\begin{lscommand} -%\verb+\usepackage{hangul}+ -%\end{lscommand} -使用 H\LaTeX{} 宏包来输入朝鲜文,只需把 -\begin{lscommand} -\verb+\usepackage{hangul}+ -\end{lscommand} -\noindent 放到你的导言区即可。 - -%This command turns the Korean localization on. The headings -%of chapters, sections, subsections, table of content and table of -%figures are all translated into Korean and the formatting of the document -%is changed to follow Korean conventions. -%The package also provides automatic ``particle selection.'' -%In Korean, there are pairs of post-fix particles -%grammatically equivalent but different in form. Which -%of any given pair is correct depends on -%whether the preceding syllable ends with a vowel or a consonant. -%(It is a bit more complex than this, but this should give you -%a good picture.) -%Native Korean speakers have no problem picking the right particle, but -%it cannot be determined which particle to use for references and other automatic -%text that will change while you edit the document. -%It -%takes a painstaking effort to place appropriate particles manually -%every time you add/remove references or simply shuffle parts -%of your document around. -%H\LaTeX{} relieves its users from this boring and error-prone process. -这一命令激活了朝鲜文本地化支持。章、节、子节、目录和图表目录都会被转换成相应的朝鲜文,而且 -使用朝鲜文的习惯来格式化文档。这个宏包还提供了自动的“虚词选择”功能。 -在朝鲜文里,有大量的这类语法上等价但是形式不同的后缀虚词,哪一个词组组合是正确的依赖于 -前面的音节是以元音还是以辅音结尾的。(实际情况比这还要复杂,但上述描述足够给你一个大致的印象了) -以朝鲜文为母语的人选择适合的虚词毫无问题,但是文档编辑中随时改变的参考文献以及其他 -自动文本就很难确定。每一次你增删参考文献或者改变文档内容的顺序时,手工放置合适的虚词都是一件辛苦的工作。 -H\LaTeX{} 的用户就可以从这种烦人而且容易出错的工作中解放出来。 - -%In case you don't need Korean localization features -%but just want -%to typeset Korean text, you can put the following line in the -%preamble, instead. -%\begin{lscommand} -%\verb+\usepackage{hfont}+ -%\end{lscommand} -如果你不需要朝鲜文本地化,只是想要排版一些朝鲜文字,可以把放到导言区的命令换成: -\begin{lscommand} -\verb+\usepackage{hfont}+ -\end{lscommand} - -%For more details on typesetting Korean with H\LaTeX{}, refer to -%the \emph{H\LaTeX{} Guide}. Check out the web site of the Korean -%\TeX{} User Group (KTUG) at \url{http://www.ktug.or.kr/}. -%There is also a Korean translation -%of this manual available. -更多使用 H\LaTeX{} 排版朝鲜文的信息,请看 \emph{H\LaTeX{} Guide}。 -访问 Korean \TeX{} User Group -(KTUG) 的网页 \url{http://www.ktug.or.kr/}。那里也有一份本手册的朝鲜语译本。 - -%\subsection{Writing in Greek} -%\secby{Nikolaos Pothitos}{pothitos@di.uoa.gr} -\subsection{用希腊文写作} -\secby{Nikolaos Pothitos}{pothitos@di.uoa.gr} -%See table \ref{preamble-greek} for the preamble you need to write in the -%\wi{Greek} \index{Greek} language. This preamble enables hyphenation and -%changes all automatic text to Greek.\footnote{If you select the -%\texttt{utf8x} -%option for the package \texttt{inputenc}, you can type Greek and polytonic -%Greek -%unicode characters.} -使用希腊文 (\wi{Greek}) \index{Greek}写作所需的导言内容参见表 \ref{preamble-greek}。 -它们可以实现希腊文的断词和自动文本\footnote{如果对 \texttt{inputenc} 宏包使 -用了 \texttt{utf8x} 选项, -你可以排版希腊文和多声调希腊文的 unicode 字符。}。 - -%\begin{table}[btp] -%\caption{Preamble for Greek documents.} \label{preamble-greek} -%\begin{lined}{7cm} -%\begin{verbatim} -%\usepackage[english,greek]{babel} -%\usepackage[iso-8859-7]{inputenc} -%\end{verbatim} -%\bigskip -%\end{lined} -%\end{table} -\begin{table}[hbtp] -\caption{希腊文文档所需导言区。} \label{preamble-greek} -\begin{lined}{7cm} -\begin{verbatim} -\usepackage[english,greek]{babel} -\usepackage[iso-8859-7]{inputenc} -\end{verbatim} -\smallskip -\end{lined} -\end{table} - -%A set of new commands also becomes available, which allows you to write -%Greek input files more easily. In order to temporarily switch to English -%and vice versa, one can use the commands \verb|\textlatin{|\emph{english -%text}\verb|}| and \verb|\textgreek{|\emph{greek text}\verb|}| that both take -%one argument which is then typeset using the requested font encoding. -%Otherwise you can use the command \verb|\selectlanguage{...}| described in a -%previous section. Check out table \ref{sym-greek} for some Greek -%punctuation characters. Use \verb|\euro| for the Euro symbol. -有一组新的命令可以让你更容易地输入希腊文。为了暂时切换为英文或者相反,你可以使用 -命令 \verb|\textlatin{|\emph{english -text}\verb|}| 以及 \verb|\textgreek{|\emph{greek -text}\verb|}|,它们都只有一个参量,可以使用所要求的字体编码排版。或者你也可以使用 -前面章节说过的命令 \verb|\selectlanguage{...}|。表 \ref{sym-greek} 列出了一些希腊文 -标点符号。 对于欧元符号,要使用 \verb|\euro|。 - -%\begin{table}[!htbp] -%\caption{Greek Special Characters.} \label{sym-greek} -%\begin{lined}{4cm} -%\selectlanguage{french} -%\begin{tabular}{*2{ll}} -%\verb|;| \hspace*{1ex} & $\cdot$ \hspace*{1ex} & \verb|?| \hspace*{1ex}& ; \\[1ex] -%\verb|((| & \og & \verb|))|& \fg \\[1ex] -%\verb|``| & ` & \verb|''| & ' \\ -%\end{tabular} -%\selectlanguage{english} -%\bigskip -%\end{lined} -%\end{table} -\begin{table}[!htbp] -\caption{希腊文特殊字符。} \label{sym-greek} -\begin{lined}{4cm} -\selectlanguage{french} -\begin{tabular}{*2{ll}} -\verb|;| \hspace*{1ex} & $\cdot$ \hspace*{1ex} & \verb|?| \hspace*{1ex}& ; \\[1ex] -\verb|((| & \og & \verb|))|& \fg \\[1ex] -\verb|``| & ` & \verb|''| & ' \\ -\end{tabular} -\selectlanguage{english} -\bigskip -\end{lined} -\end{table} - - -%\subsection{Support for Cyrillic} -\subsection{斯拉夫文支持} -\secby{Maksym Polyakov}{polyama@myrealbox.com} -%\secby{Maksym Polyakov}{polyama@myrealbox.com} -%Version 3.7h of \pai{babel} includes support for the -%\fei{T2*} encodings and for typesetting Bulgarian, Russian and -%Ukrainian texts using Cyrillic letters. - -版本为 3.7h 的 \pai{babel} 宏包包含了对 \fei{T2*} 编码以及使用斯拉夫字母排版保加利亚文、 -俄文和乌克兰文的支持。 - -%Support for Cyrillic is based on standard \LaTeX{} mechanisms plus -%the \pai{fontenc} and \pai{inputenc} packages. But, if you are going to -%use Cyrillics in math mode, you need to load \pai{mathtext} package -%before \pai{fontenc}:\footnote{If you use \AmS-\LaTeX{} packages, -%load them before \pai{fontenc} and \pai{babel} as well.} -%\begin{lscommand} -%\verb+\usepackage{mathtext}+\\ -%\verb+\usepackage[+\fei{T1}\verb+,+\fei{T2A}\verb+]{fontenc}+\\ -%\verb+\usepackage[+\iei{koi8-ru}\verb+]{inputenc}+\\ -%\verb+\usepackage[english,bulgarian,russian,ukranian]{babel}+ -%\end{lscommand} -斯拉夫文的支持依赖于 \LaTeX{} 系统还有 \pai{fontenc} 和 \pai{inputenc} 宏包。 -但是如果你要在数学模式下使用斯拉夫文,就必须在 \pai{inputenc} 之前加载 \pai{mathtext} 宏包 -\footnote{如果使用了 \AmS-\LaTeX{} 的宏包,相应的把它们放在 \pai{fontenc} 和 \pai{babel} 之前加载。}: -\begin{lscommand} -\verb+\usepackage{mathtext}+\\ -\verb+\usepackage[+\fei{T1}\verb+,+\fei{T2A}\verb+]{fontenc}+\\ -\verb+\usepackage[+\iei{koi8-ru}\verb+]{inputenc}+\\ -\verb+\usepackage[english,bulgarian,russian,ukranian]{babel}+ -\end{lscommand} - -%Generally, \pai{babel} will authomatically choose the default font encoding, -%for the above three languages this is \fei{T2A}. However, documents are not -%restricted to a single font encoding. For multi-lingual documents using -%Cyrillic and Latin-based languages it makes sense to include Latin font -%encoding explicitly. \pai{babel} will take care of switching to the appropriate -%font encoding when a different language is selected within the document. -一般情况下,\pai{babel} 会自动选择的默认的字体编码,对于上面三种语文,应该是 \fei{T2A}。 -然而,文档不会限制只使用一种字体编码。对于有拉丁语系和斯拉夫语系的多语文文档, -应该明确包含拉丁语文字体的编码。 -在文档中,当选择另外一种语文的时候,\pai{babel} 会控制切换到合适的字体编码。 - -%In addition to enabling hyphenations, translating automatically -%generated text strings, and activating some language specific -%typographic rules (like \ci{frenchspacing}), \pai{babel} provides some -%commands allowing typesetting according to the standards of -%Bulgarian, Russian, or Ukrainian languages. -除了能够断词, -翻译自动文本字符串,以及激活一些语文专用的排版规则(比如 \ci{frenchspacing}), -\pai{babel} 还提供了一些命令可以按照保加利亚文、俄文、或者乌克兰文的标准排版。 - - -%For all three languages, language specific punctuation is provided: -%The Cyrillic dash for the text (it is little narrower than Latin dash and -%surrounded by tiny spaces), a dash for direct speech, quotes, and -%commands to facilitate hyphenation, see Table \ref{Cyrillic}. -这三种语言专用的标点符号也被提供了:斯拉夫文本的破折号(它比拉丁语文的破折号 -略窄,周围有微小的空白)、 -直接引语用的破折号、引号、以及方便断词的命令,请参考表 \ref{Cyrillic}。 - -%% Table borrowed from Ukrainian.dtx -%\begin{table}[htb] -% \begin{center} -% \index{""-@\texttt{""}\texttt{-}} -% \index{""---@\texttt{""}\texttt{-}\texttt{-}\texttt{-}} -% \index{""=@\texttt{""}\texttt{=}} -% \index{""`@\texttt{""}\texttt{`}} -% \index{""'@\texttt{""}\texttt{'}} -% \index{"">@\texttt{""}\texttt{>}} -% \index{""<@\texttt{""}\texttt{<}} -% \caption[Bulgarian, Russian, and Ukrainian]{The extra definitions made -% by Bulgarian, Russian, and Ukrainian options of \pai{babel}}\label{Cyrillic} -% \begin{tabular}{@{}p{.1\hsize}@{}p{.9\hsize}@{}} -% \hline -% \verb="|= & disable ligature at this position. \\ -% \verb|"-| & an explicit hyphen sign, allowing hyphenation -% in the rest of the word. \\ -% \verb|"---| & Cyrillic emdash in plain text. \\ -% \verb|"-- | & Cyrillic emdash in compound names (surnames). \\ -% \verb|"--*| & Cyrillic emdash for denoting direct speech. \\ -% \verb|""| & like \verb|"-|, but producing no hyphen sign -% (for compound words with hyphen, e.g.\verb|x-""y| -% or some other signs as ``disable/enable''). \\ -% \verb|" | & for a compound word mark without a breakpoint. \\ -% \verb|"=| & for a compound word mark with a breakpoint, allowing -% hyphenation in the composing words. \\ -% \verb|",| & thinspace for initials with a breakpoint -% in following surname. \\ -% \verb|"`| & for German left double quotes -% (looks like ,\kern-0.08em,). \\ -% \verb|"'| & for German right double quotes (looks like ``). \\%'' -% \verb|"<| & for French left double quotes (looks like $<\!\!<$). \\ -% \verb|">| & for French right double quotes (looks like $>\!\!>$). \\ -% \hline -% \end{tabular} -% \end{center} -%\end{table} -% Table borrowed from Ukrainian.dtx -\begin{table}[htb] - \begin{center} - \index{""-@\texttt{""}\texttt{-}} - \index{""---@\texttt{""}\texttt{-}\texttt{-}\texttt{-}} - \index{""=@\texttt{""}\texttt{=}} - \index{""`@\texttt{""}\texttt{`}} - \index{""'@\texttt{""}\texttt{'}} - \index{"">@\texttt{""}\texttt{>}} - \index{""<@\texttt{""}\texttt{<}} - \caption[保加利亚文、俄文和乌克兰文。]{\pai{babel} 的 Bulgarian、 Russian 和 Ukrainian 选项一些额外的定义。}\label{Cyrillic} - \begin{tabular}{@{}p{.1\hsize}@{}p{.9\hsize}@{}} - \hline - \verb="|= & 当前位置取消连字。 \\ - \verb|"-| & 一个明确的断词符号,允许在单词的其他位置断词。 \\ - \verb|"---| & 普通斯拉夫文本中的破折号。 \\ - \verb|"-- | & 合成的姓名(姓)中用的破折号。 \\ - \verb|"--*| & 表示直接引语的斯拉夫文破折号。 \\ - \verb|""| & 类似于 \verb|"-|, 但是不产生连字号(用于合成词中,比如 \verb|x-""y| 或者 - 或者其他像 "enable/disable" 的符号)。 \\ - \verb|" | & 没有断开点的合成词标记。 \\ - \verb|"=| & 带断开点的合成词标记,允许在构成单词里断词。 \\ - \verb|",| & 短的空白,用于带断开点的姓的首字母。 \\ - \verb|"`| & 用于德文里的左双引号(看起来像 ,\kern-0.08em,)。 \\ - \verb|"'| & 用于德文里的右双引号(看起来像 ``)。 \\%'' - \verb|"<| & 用于法文的左双引号(看起来像 $<\!\!<$)。 \\ - \verb|">| & 用于法文的右双引号(看起来像 $>\!\!>$)。 \\ - \hline - \end{tabular} - \end{center} -\end{table} - - -%The Russian and Ukrainian options of \pai{babel} define the commands \ci{Asbuk} -%and \ci{asbuk}, which act like \ci{Alph} and \ci{alph}, but produce capital -%and small letters of Russian or Ukrainian alphabets (whichever is the -%active language of the document). The Bulgarian option of \pai{babel} -%provides the commands \ci{enumBul} and \ci{enumLat} (\ci{enumEng}), which -%make \ci{Alph} and \ci{alph} produce letters of either -%Bulgarian or Latin (English) alphabets. The default behaviour of -%\ci{Alph} and \ci{alph} for the Bulgarian language option is to -%produce letters from the Bulgarian alphabet. -\pai{babel} 的 Russian 和 Ukrainian 选项定义了命令 \ci{Asbuk} 和 \ci{asbuk}, -它们的作用类似于 \ci{Alph} 和 \ci{alph},产生俄文和乌克兰文的大写和小写字母(无论文档的活动语言 -是哪一个)。\pai{babel} 的 Bulgarian 选项提供了命令 \ci{enumBul} 和 \ci{enumLat} (\ci{enumEng}), -它们可以让 \ci{Alph} 和 \ci{alph} 产生保加利亚文或者拉丁(英文)字母的大小写, -默认为保加利亚文的。 - -%%Finally, math alphabets are redefined and as well as the commands for math -%%operators according to Cyrillic typesetting traditions. -%Finally, math alphabets are redefined and as well as the commands for math -%operators according to Cyrillic typesetting traditions. - -%\section{The Space Between Words} -\section{单词间隔} - -%To get a straight right margin in the output, \LaTeX{} inserts varying -%amounts of space between the words. It inserts slightly more space at -%the end of a sentence, as this makes the text more readable. \LaTeX{} -%assumes that sentences end with periods, question marks or exclamation -%marks. If a period follows an uppercase letter, this is not taken as a -%sentence ending, since periods after uppercase letters normally occur in -%abbreviations. -为了使输出的右边界对齐,\LaTeX{} 在单词间插入不等的间隔。 -在句子的末尾插入的空间稍多一些,因为这使得文本更具可读性。 -\LaTeX{} 假定句子以句号、问号或惊叹号结尾。 -如果句号紧跟一个大写字母,它就不视为句子的结尾。 -因为一般在有缩写的地方,才出现句号紧跟大写字母的情况。 - -%Any exception from these assumptions has to be specified by the -%author. A backslash in front of a space generates a space that will -%not be enlarged. A tilde `\verb| |' character generates a space that cannot be -%enlarged and additionally prohibits a line break. The command -%\verb|\@| in front of a period specifies that this period terminates a -%sentence even when it follows an uppercase letter. -%\cih{"@} \index{ @ \verb. .} \index{tilde@tilde ( \verb. .)} -%\index{., space after} -作者必须详细说明这些假设中的任何一个例外。空格前的反斜线符号 -产生一个不能伸长的空格。波浪字符 `\verb| |' 也产生一个不能伸长 -的空格,并且禁止断行。句号前的命令 \verb|\@| 说明这个句号是 -句子的末尾,即使它紧跟一个大写字母。\cih{"@} \index{ @ \verb. .} -\index{tilde@tilde ( \verb. .)} \index{., space after} - - -%\begin{example} -%Mr. Smith was happy to see her\\ -%cf. Fig. 5\\ -%I like BASIC\@. What about you? -%\end{example} -\begin{example} -Mr. Smith was happy to see her\\ -cf. Fig. 5\\ -I like BASIC\@. What about you? -\end{example} - -%The additional space after periods can be disabled with the command -%\begin{lscommand} -%\ci{frenchspacing} -%\end{lscommand} -%\noindent which tells \LaTeX{} \emph{not} to insert more space after a -%period than after ordinary character. This is very common in -%non-English languages, except bibliographies. If you use -%\ci{frenchspacing}, the command \verb|\@| is not necessary. -命令 -\begin{lscommand} -\ci{frenchspacing} -\end{lscommand} -\noindent 能禁止在句号后插入额外的空白,它告诉 \LaTeX{} 在句号 -后{\textbf 不}要插入比正常字母更多的空白。除了参考文献,这在非英语 -语言中非常普遍。如果使用了 \ci{frenchspacing},命令 \verb|\@| 就 -不必要了。 -%\section{Titles, Chapters, and Sections} -\section{标题、章和节} - -%To help the reader find his or her way through your work, you should -%divide it into chapters, sections, and subsections. \LaTeX{} supports -%this with special commands that take the section title as their -%argument. It is up to you to use them in the correct order. -为便于读者理解,应该把文档划分为章,节和子节。\LaTeX{} 用专门的命令 -支持这个工作,这些命令把节的标题作为参量。你的任务是按正确次序使用它们。 -%The following sectioning commands are available for the -%\texttt{article} class: \nopagebreak -对 \texttt{article} 风格的文档,有下列分节命令: - \nopagebreak -%\begin{lscommand} -%\ci{section}\verb|{...}|\\ -%\ci{subsection}\verb|{...}|\\ -%\ci{subsubsection}\verb|{...}|\\ -%\ci{paragraph}\verb|{...}|\\ -%\ci{subparagraph}\verb|{...}| -%\end{lscommand} -\begin{lscommand} -\ci{section}\verb|{...}|\\ -\ci{subsection}\verb|{...}|\\ -\ci{subsubsection}\verb|{...}|\\ -\ci{paragraph}\verb|{...}|\\ -\ci{subparagraph}\verb|{...}| -\end{lscommand} - -%If you want to split your document in parts without influencing the -%section or chapter numbering you can use -%\begin{lscommand} -%\ci{part}\verb|{...}| -%\end{lscommand} -如果想把文档分成几个部分而且不影响章节编号,你可以使用 -\begin{lscommand} -\ci{part}\verb|{...}| -\end{lscommand} - -%When you work with the \texttt{report} or \texttt{book} class, -%an additional top-level sectioning command becomes available -%\begin{lscommand} -%\ci{chapter}\verb|{...}| -%\end{lscommand} -当你使用 \texttt{report} 或者 \texttt{book} 类的时候,可以用另外一个高层次的 -分节命令 -\begin{lscommand} -\ci{chapter}\verb|{...}| -\end{lscommand} - -%As the \texttt{article} class does not know about chapters, it is quite easy -%to add articles as chapters to a book. -%The spacing between sections, the numbering and the font size of the -%titles will be set automatically by \LaTeX. -因为 \texttt{article} 类的文档不划分为章,所以很容易把它作为 -一章插入书籍中。节之间的间隔,节的序号和标题的字号由 \LaTeX{} 自动 -设置。 - -%Two of the sectioning commands are a bit special: -%\begin{itemize} -%\item The \ci{part} command does -% not influence the numbering sequence of chapters. -%\item The \ci{appendix} command does not take an argument. It just -% changes the chapter numbering to letters.\footnote{For the article -% style it changes the section numbering.} -%\end{itemize} -分节的两个命令有些特别: -\begin{itemize} -\item 命令 \ci{part} 不影响章的序号。 -\item 命令 \ci{appendix} 不带参量,只把章的序号改用为字母标记 -\footnote{对 \texttt{article} 类文档改变节的序号。}。 -\end{itemize} - - -%\LaTeX{} creates a table of contents by taking the section headings -%and page numbers from the last compile cycle of the document. The command -%\begin{lscommand} -%\ci{tableofcontents} -%\end{lscommand} -%\noindent expands to a table of contents at the place it -%is issued. A new -%document has to be compiled (``\LaTeX ed'') twice to get a -%correct \wi{table of contents}. Sometimes it might be -%necessary to compile the document a third time. \LaTeX{} will tell you -%when this is necessary. -\LaTeX{} 在文档编译的最后一个循环中,提取节的标题和页码以生成目录。命令 -\begin{lscommand} -\ci{tableofcontents} -\end{lscommand} -\noindent 在其出现的位置插入目录。为了得到正确的目录 (\wi{table of -contents}) 内容,一个新文档必须 编译 (``\LaTeX -ed'') 两次。有时还要编译第三次。如有必要 \LaTeX{} 会告诉你。 - -%All sectioning commands listed above also exist as ``starred'' -%versions. A ``starred'' version of a command is built by adding a -%star \verb|*| after the command name. This generates section headings -%that do not show up in the table of contents and are not -%numbered. The command \verb|\section{Help}|, for example, would become -%\verb|\section*{Help}|. -上面列出的分节命令也以“带星”的形式出现。“带星”的命令通过在命令 -名称后加 \verb|*| 来实现。它们生成的节标题既不出现于目录,也不带序号。 -例如,命令 \verb|\section{Help}| 的“带星”形式为 \verb|\section*{Help}|。 - - -%Normally the section headings show up in the table of contents exactly -%as they are entered in the text. Sometimes this is not possible, -%because the heading is too long to fit into the table of contents. The -%entry for the table of contents can then be specified as an -%optional argument in front of the actual heading. -目录出现的标题,一般与输入的文本完全一致。有时这是不可能的, -因为标题太长排不进目录。在这种情况下,目录的条目可由实际标题前 -的可选参量确定。 - -%\begin{code} -%\verb|\chapter[Title for the table of contents]{A long|\\ -%\verb| and especially boring title, shown in the text}| -%\end{code} -\begin{code} -\verb|\chapter[Title for the table of contents]{A long|\\ -\verb| and especially boring title, shown in the text}| -\end{code} - -%The \wi{title} of the whole document is generated by issuing a -%\begin{lscommand} -%\ci{maketitle} -%\end{lscommand} -%\noindent command. The contents of the title have to be defined by the commands -%\begin{lscommand} -%\ci{title}\verb|{...}|, \ci{author}\verb|{...}| -%and optionally \ci{date}\verb|{...}| -%\end{lscommand} -%\noindent before calling \verb|\maketitle|. In the argument to \ci{author}, you can -%supply several names separated by \ci{and} commands. -整篇文档的标题 (\wi{title}) 由命令 -\begin{lscommand} -\ci{maketitle} -\end{lscommand} -\noindent 产生。标题的内容必须在调用 \verb|\maketitle| 以前,由命令 -\begin{lscommand} -\ci{title}\verb|{...}|, \ci{author}\verb|{...}| 和可选的 \ci{date}\verb|{...}| -\end{lscommand} -\noindent -定义。在命令 \ci{author} 的参量中,可以输入几个用 \ci{and} 命令分开的名字。 - - -%An example of some of the commands mentioned above can be found in -%Figure \ref{document} on page \pageref{document}. -在第 \pageref{document} 页的图 \ref{document} 中,能找到有关 -上述命令的一个例子。 - -%Apart from the sectioning commands explained above, \LaTeXe{} -%introduced three additional commands for use with the \verb|book| class. -%They are useful for dividing your publication. The commands alter -%chapter headings and page numbering to work as you would expect it in -%a book: -%\begin{description} -%\item[\ci{frontmatter}] should be the very first command after -% the start of the document body (\verb|\begin{document}|). It will switch page numbering to Roman -% numerals and sections be non-enumerated. As if you were using -% the starred sectioning commands (eg \verb|\chapter*{Preface}|) -% but the sections will still show up in the table of contents. -%\item[\ci{mainmatter}] comes right before the first chapter of -% the book. It turns on Arabic page numbering and restarts the page -% counter. -%\item[\ci{appendix}] marks the start of additional material in your -% book. After this command chapters will be numbered with letters. -%\item[\ci{backmatter}] should be inserted before the very last items -% in your book, such as the bibliography and the index. In the standard -% document classes, this has no visual effect. -%\end{description} -除了上面解释的分节命令,\LaTeXe{} 引进了其他三个命令用于 \verb|book| 风格 -的文档。它们对划分出版物有用,也能如愿改变章的标题和页码: -\begin{description} -\item[\ci{frontmatter}] 应接着命令 \verb|\begin{document}| 使用。 - 它把页码更换为罗马数字,而且章节不计数。当你使用带星的分节命令 (例如,\verb|\chapter*{Preface}|) 时, - 这些章节就不会出现在目录里。 -\item[\ci{mainmatter}] 应出现在书的第一章前面。它启用阿拉伯数字的 - 页码计数器,并对页码重新计数。 -\item[\ci{appendix}] 标志书中附录材料的开始。该命令后的各章序号改用字母标记。 -\item[\ci{backmatter}] 应该插入与书中最后一部分内容的前面, - 如参考文献和索引。在标准文档类型中,它对页面没有什么效果。 -\end{description} - - -%\section{Cross References} -\section{交叉引用} - -%In books, reports and articles, there are often -%\wi{cross-references} to figures, tables and special segments of text. -%\LaTeX{} provides the following commands for cross referencing -%\begin{lscommand} -%\ci{label}\verb|{|\emph{marker}\verb|}|, \ci{ref}\verb|{|\emph{marker}\verb|}| -%and \ci{pageref}\verb|{|\emph{marker}\verb|}| -%\end{lscommand} -%\noindent where \emph{marker} is an identifier chosen by the user. \LaTeX{} -%replaces \verb|\ref| by the number of the section, subsection, figure, -%table, or theorem after which the corresponding \verb|\label| command -%was issued. \verb|\pageref| prints the page number of the -%page where the \verb|\label| command occurred.\footnote{Note that these commands -% are not aware of what they refer to. \ci{label} just saves the last -% automatically generated number.} As with the section titles, the -%numbers from the previous run are used. -在书籍、报告和论文中,需要对图、表和文本的特殊段落进行交叉引用 (\wi{cross-references})。 -\LaTeX{} 提供了如下交叉引用命令 -\begin{lscommand} -\ci{label}\verb|{|\emph{marker}\verb|}|, -\ci{ref}\verb|{|\emph{marker}\verb|}| 和 \ci{pageref}\verb|{|\emph{marker}\verb|}| -\end{lscommand} -\noindent -其中 \emph{marker} 是用户选择的标识符。如果在节、子节、图、表或定理 -后面输入 \verb|\label| 命令,\LaTeX{} 把 \verb|\ref| 替换为相应的序号。 -\verb|\pageref| 命令排印 \verb|\label| 输入处的页码\footnote{注意这些 -命令对它们指向什么并没有意识。命令 \ci{label} 只是保存了上一次自动产生的序号。}。 -和章节标题一样,使用的序号是前面编译所产生。 - -%\begin{example} -%A reference to this subsection -%\label{sec:this} looks like: -%``see section \ref{sec:this} on -%page \pageref{sec:this}.'' -%\end{example} -% -\begin{example} -A reference to this subsection -\label{sec:this} looks like: -``see section \ref{sec:this} on -page \pageref{sec:this}.'' -\end{example} - -%\section{Footnotes} -\section{脚注} -%With the command -%\begin{lscommand} -%\ci{footnote}\verb|{|\emph{footnote text}\verb|}| -%\end{lscommand} -%\noindent a footnote is printed at the foot of the current page. Footnotes -%should always be put\footnote{``put'' is one of the most common -% English words.} after the word or sentence they refer to. Footnotes -%referring to a sentence or part of it should therefore be put after -%the comma or period.\footnote{Note that footnotes -% distract the reader from the main body of your document. After all, -% everybody reads the footnotes---we are a curious species, so why not -% just integrate everything you want to say into the body of the -% document?\footnotemark} -%\footnotetext{A guidepost doesn't necessarily go where it's pointing -%to :-).} -命令 -\begin{lscommand} -\ci{footnote}\verb|{|\emph{footnote text}\verb|}| -\end{lscommand} -\noindent 把脚注内容排印于当前页的页脚位置。脚注命令总是置于 (put) -\footnote{``put'' 是最常使用的英文单词之一。} 其指向的单词或句子 -的后面。脚注是一个句子或句子的一部分,所以应用逗号或句号结尾 -\footnote{注意,脚注把读者的注意力从文档的正文引开。我们是好奇 -的动物,每个人都会阅读脚注。所以为什么不把你想说的所有东西都 -写入正文中?\footnotemark}。 \footnotetext{ -路标不必走向它指向的地方 :-)。} - -%\begin{example} -%Footnotes\footnote{This is -% a footnote.} are often used -%by people using \LaTeX. -%\end{example} - -\begin{example} -Footnotes\footnote{This is - a footnote.} are often used -by people using \LaTeX. -\end{example} -% -%\section{Emphasized Words} -\section{强调} - -%If a text is typed using a typewriter, important words are -% \texttt{emphasized by \underline{underlining} them.} -%\begin{lscommand} -%\ci{underline}\verb|{|\emph{text}\verb|}| -%\end{lscommand} -%In printed books, -%however, words are emphasized by typesetting them in an \emph{italic} -%font. \LaTeX{} provides the command -%\begin{lscommand} -%\ci{emph}\verb|{|\emph{text}\verb|}| -%\end{lscommand} -%\noindent to emphasize text. What the command actually does with -%its argument depends on the context: -如果文本是用打字机键入的, -\texttt{用\underline{下划线}来强调重要的单词。} -\begin{lscommand} -\ci{underline}\verb|{|\emph{text}\verb|}| -\end{lscommand} -但是在印刷的书中,用一种\emph{斜体}字体排印要强调的单词。 -\LaTeX{} 提供命令 -\begin{lscommand} -\ci{emph}\verb|{|\emph{text}\verb|}| -\end{lscommand} -\noindent -来强调文本。这些命令对其参量的实际作用效果依赖于它的上下文: - -%\begin{example} -%\emph{If you use -% emphasizing inside a piece -% of emphasized text, then -% \LaTeX{} uses the -% \emph{normal} font for -% emphasizing.} -%\end{example} -\begin{example} -\emph{If you use - emphasizing inside a piece - of emphasized text, then - \LaTeX{} uses the - \emph{normal} font for - emphasizing.} -\end{example} - -%Please note the difference between telling \LaTeX{} to -%\emph{emphasize} something and telling it to use a different -%\emph{font}: -请注意要求 \LaTeX{} {\textbf 强调}什么和要求它使用不同{\textbf -字体}的不同效果: - -%\begin{example} -%\textit{You can also -% \emph{emphasize} text if -% it is set in italics,} -%\textsf{in a -% \emph{sans-serif} font,} -%\texttt{or in -% \emph{typewriter} style.} -%\end{example} -\begin{example} -\textit{You can also - \emph{emphasize} text if - it is set in italics,} -\textsf{in a - \emph{sans-serif} font,} -\texttt{or in - \emph{typewriter} style.} -\end{example} - -%\section{Environments} \label{env} -\section{环境} \label{env} - -%% To typeset special purpose text, \LaTeX{} defines many different -%% \wi{environment}s for all sorts of formatting: -%\begin{lscommand} -%\ci{begin}\verb|{|\emph{environment}\verb|}|\quad -% \emph{text}\quad -%\ci{end}\verb|{|\emph{environment}\verb|}| -%\end{lscommand} -%\noindent Where \emph{environment} is the name of the environment. Environments can be -%nested within each other as long as the correct nesting order is -%maintained. -%\begin{code} -%\verb|\begin{aaa}...\begin{bbb}...\end{bbb}...\end{aaa}| -%\end{code} - 为了排版专用的文本,\LaTeX{} 定义了各种不同格式的环境 (\wi{environment}): -\begin{lscommand} -\ci{begin}\verb|{|\emph{environment}\verb|}|\quad - \emph{text}\quad -\ci{end}\verb|{|\emph{environment}\verb|}| -\end{lscommand} -\noindent -其中 \emph{environment} 是环境的名称。只要保持调用顺序,环境可以嵌套。 -\begin{code} -\verb|\begin{aaa}...\begin{bbb}...\end{bbb}...\end{aaa}| -\end{code} - - -%\noindent In the following sections all important environments are explained. -\noindent 下面的章节对所有重要的环境都做了解释。 - -%\subsection{Itemize, Enumerate, and Description} -\subsection{Itemize、Enumerate 和 Description} - -%The \ei{itemize} environment is suitable for simple lists, the -%\ei{enumerate} environment for enumerated lists, and the -%\ei{description} environment for descriptions. -%\cih{item} -\ei{itemize} 环境适用于简单的列表,\ei{enumerate} 环境适用于有排列序号的列表, 而 \ei{description} 环境用于带描述的列表。 \cih{item} - -%\begin{example} -%\flushleft -%\begin{enumerate} -%\item You can mix the list -%environments to your taste: -%\begin{itemize} -%\item But it might start to -%look silly. -%\item[-] With a dash. -%\end{itemize} -%\item Therefore remember: -%\begin{description} -%\item[Stupid] things will not -%become smart because they are -%in a list. -%\item[Smart] things, though, -%can be presented beautifully -%in a list. -%\end{description} -%\end{enumerate} -%\end{example} - -\begin{example} -\flushleft -\begin{enumerate} -\item You can mix the list -environments to your taste: -\begin{itemize} -\item But it might start to -look silly. -\item[-] With a dash. -\end{itemize} -\item Therefore remember: -\begin{description} -\item[Stupid] things will not -become smart because they are -in a list. -\item[Smart] things, though, -can be presented beautifully -in a list. -\end{description} -\end{enumerate} -\end{example} - -%\subsection{Flushleft, Flushright, and Center} -\subsection{左对齐、右对齐和居中} -%The environments \ei{flushleft} and \ei{flushright} generate -%paragraphs that are either left- or \wi{right-aligned}. \index{left -% aligned} The \ei{center} environment generates centred text. If you -%do not issue \ci{\bs} to specify line breaks, \LaTeX{} will -%automatically determine line breaks. -\ei{flushleft} 和 \ei{flushright} 环境分别产生左对齐 (left-aligned) 和右对齐 (\wi{right-aligned})\index{left - aligned} 的段落。\ei{center} 环境产生居中的文本。如果你不输入命令 \ci{\bs} 指定断行点, - \LaTeX{} 将自行决定。 - -%\begin{example} -%\begin{flushleft} -%This text is\\ left-aligned. -%\LaTeX{} is not trying to make -%each line the same length. -%\end{flushleft} -%\end{example} -\begin{example} -\begin{flushleft} -This text is\\ left-aligned. -\LaTeX{} is not trying to make -each line the same length. -\end{flushleft} -\end{example} - -%\begin{example} -%\begin{flushright} -%This text is right-\\aligned. -%\LaTeX{} is not trying to make -%each line the same length. -%\end{flushright} -%\end{example} -\begin{example} -\begin{flushright} -This text is right-\\aligned. -\LaTeX{} is not trying to make -each line the same length. -\end{flushright} -\end{example} - -%\begin{example} -%\begin{center} -%At the centre\\of the earth -%\end{center} -%\end{example} -\begin{example} -\begin{center} -At the centre\\of the earth -\end{center} -\end{example} - -%\subsection{Quote, Quotation, and Verse} -\subsection{引用、语录和韵文} - -%The \ei{quote} environment is useful for quotes, important phrases and -%examples. -\ei{quote} 环境可以用于引文、语录和例子。 -%\begin{example} -%A typographical rule of thumb -%for the line length is: -%\begin{quote} -%On average, no line should -%be longer than 66 characters. -%\end{quote} -%This is why \LaTeX{} pages have -%such large borders by default -%and also why multicolumn print -%is used in newspapers. -%\end{example} -\begin{example} -A typographical rule of thumb -for the line length is: -\begin{quote} -On average, no line should -be longer than 66 characters. -\end{quote} -This is why \LaTeX{} pages have -such large borders by default -and also why multicolumn print -is used in newspapers. -\end{example} - -%There are two similar environments: the \ei{quotation} and the -%\ei{verse} environments. The \texttt{quotation} environment is useful -%for longer quotes going over several paragraphs, because it indents the -%first line of each paragraph. The \texttt{verse} environment is useful for poems -%where the line breaks are important. The lines are separated by -%issuing a \ci{\bs} at the end of a line and an empty line after each -%verse. -有两个类似的环境:\ei{quotation} 和 \ei{verse} 环境。\texttt{quotation} 环境 -用于超过几段的较长引用,因为它对段落进行缩进。\texttt{verse} 环境用于诗歌,在诗歌中 -断行很重要。在一行的末尾用 \ci{\bs} 断行,在每一段后留一空行。 - - -%\begin{example} -%I know only one English poem by -%heart. It is about Humpty Dumpty. -%\begin{flushleft} -%\begin{verse} -%Humpty Dumpty sat on a wall:\\ -%Humpty Dumpty had a great fall.\\ -%All the King's horses and all -%the King's men\\ -%Couldn't put Humpty together -%again. -%\end{verse} -%\end{flushleft} -%\end{example} -\begin{example} -I know only one English poem by -heart. It is about Humpty Dumpty. -\begin{flushleft} -\begin{verse} -Humpty Dumpty sat on a wall:\\ -Humpty Dumpty had a great fall.\\ -All the King's horses and all -the King's men\\ -Couldn't put Humpty together -again. -\end{verse} -\end{flushleft} -\end{example} - -%\subsection{Abstract} -\subsection{摘要} - -%In scientific publications it is customary to start with an abstract which -%gives the reader a quick overview of what to expect. \LaTeX{} provides the -%\ei{abstract} environment for this purpose. Normally \ei{abstract} is used -%in documents typeset with the article document class. -科学出版物惯常以摘要开始,来给读者一个综述或者预期。 -\LaTeX{} 为此提供了 \ei{abstract} 环境。 -一般 \ei{abstract} 用于 article 类文档。 - -%\newenvironment{abstract}% -% {\begin{center}\begin{small}\begin{minipage}{0.8\textwidth}}% -% {\end{minipage}\end{small}\end{center}} -%\begin{example} -%\begin{abstract} -%The abstract abstract. -%\end{abstract} -%\end{example} -\newenvironment{abstract}% - {\begin{center}\begin{small}\begin{minipage}{0.8\textwidth}}% - {\end{minipage}\end{small}\end{center}} -\begin{example} -\begin{abstract} -The abstract abstract. -\end{abstract} -\end{example} - -%\subsection{Printing Verbatim} -\subsection{原文打印} - -%Text that is enclosed between \verb|\begin{|\ei{verbatim}\verb|}| and -%\verb|\end{verbatim}| will be directly printed, as if typed on a -%typewriter, with all line breaks and spaces, without any \LaTeX{} -%command being executed. -位于 \verb|\begin{|\ei{verbatim}\verb|}| 和 \verb|\end{verbatim}| -之间的文本将直接打印,包括所有的断行和空白,就像在打字机上键入一样, -不执行任何 \LaTeX{} 命令。 - -%Within a paragraph, similar behavior can be accessed with -%\begin{lscommand} -%\ci{verb}\verb|+|\emph{text}\verb|+| -%\end{lscommand} -%\noindent The \verb|+| is just an example of a delimiter character. You can use any -%character except letters, \verb|*| or space. Many \LaTeX{} examples in this -%booklet are typeset with this command. -在一个段落中,类似的功能可由 -\begin{lscommand} -\ci{verb}\verb|+|\emph{text}\verb|+| -\end{lscommand} -\noindent 完成。\verb|+| 仅是分隔符的一个例子。除了 \verb|*| -或空格,可以使用任意一个字符。 这个小册子中的许多%\Latex{}% \Latex{} -例子是用这个命令排印的。 - - -\begin{example} -The \verb|\ldots| command \ldots -\begin{verbatim} -10 PRINT "HELLO WORLD "; -20 GOTO 10 -\end{verbatim} -\end{example} - -%\begin{example} -%\begin{verbatim*} -%the starred version of -%the verbatim -%environment emphasizes -%the spaces in the text -%\end{verbatim*} -%\end{example} -\begin{example} -\begin{verbatim*} -the starred version of -the verbatim -environment emphasizes -the spaces in the text -\end{verbatim*} -\end{example} - -%The \ci{verb} command can be used in a similar fashion with a star: -带星的命令 \ci{verb} 能以类似的方式使用: - -%\begin{example} -%\verb*|like this :-) | -%\end{example} -\begin{example} -\verb*|like this :-) | -\end{example} - -%The \texttt{verbatim} environment and the \verb|\verb| command may not be used -%within parameters of other commands. -\texttt{verbatim} 环境和 \verb|\verb| 命令不能在其他命令的参数中使用。 - -% -%\subsection{Tabular} - -\subsection{表格} - -%\newcommand{\mfr}[1]{\framebox{\rule{0pt}{0.7em}\texttt{#1}}} -\newcommand{\mfr}[1]{\framebox{\rule{0pt}{0.7em}\texttt{#1}}} - -%The \ei{tabular} environment can be used to typeset beautiful -%\wi{table}s with optional horizontal and vertical lines. \LaTeX{} -%determines the width of the columns automatically. -\ei{tabular} 环境能用来排版带有水平和垂直表线的漂亮表格 (\wi{table})。\LaTeX{} 自动确定每一列的宽度。 - -%The \emph{table spec} argument of the -%\begin{lscommand} -%\verb|\begin{tabular}[|\emph{pos}\verb|]{|\emph{table spec}\verb|}| -%\end{lscommand} -%\noindent command defines the format of the table. Use an \mfr{l} for a column of -%left-aligned text, \mfr{r} for right-aligned text, and \mfr{c} for -%centred text; \mfr{p\{\emph{width}\}} for a column containing justified -%text with line breaks, and \mfr{|} for a vertical line. -命令 -\begin{lscommand} -\verb|\begin{tabular}[|\emph{pos}\verb|]{|\emph{table spec}\verb|}| -\end{lscommand} -\noindent 的参量 \emph{table -spec} 定义了表格的格式。用一个 \mfr{l} 产生 -左对齐的列,用一个 \mfr{r} 产生右对齐的列,用一个 \mfr{c} 产生居中的列; -用 \mfr{p\{\emph{width}\}} 产生相应宽度、包含自动断行文本的列; -\mfr{|} 产生垂直表线。 - - -%If the text in a column is too wide for the page, \LaTeX{} won't -%automatically wrap it. Using \mfr{p\{\emph{width}\}} you can define -%a special type of column which will wrap-around the text as in a normal paragraph. -如果一列里的文本太宽, -\LaTeX{} 不会自动折行显示。使用 \mfr{p\{\emph{width}\}} 你可以定义如一般段落里折行效果 -的列。 - -%The \emph{pos} argument specifies the vertical position of the table -%relative to the baseline of the surrounding text. Use either of the -%letters \mfr{t}, \mfr{b} and \mfr{c} to specify table -%alignment at the top, bottom or center. -参量 \emph{pos} 设定相对于环绕文本基线的垂直位置。使用字母 \mfr{t}、 -\mfr{b} 和 \mfr{c} 来设定表格靠上、靠下或者居中放置。 - -%Within a \texttt{tabular} environment, \texttt{\&} jumps to the next -%column, \ci{\bs} starts a new line and \ci{hline} inserts a horizontal -%line. You can add partial lines by using the \ci{cline}\texttt{\{}\emph{j}\texttt{-}\emph{i}\texttt{\}}, -%where j and i are the column numbers the line should extend over. -在 \texttt{tabular} 环境中,用 \verb|&| 跳入下一列,用 \ci{\bs} 开始新的一行, -用 \ci{hline} 插入水平表线。用 \ci{cline}\texttt{\{}\emph{j}\texttt{-}\emph{i}\texttt{\}} 可添加部分表线, -其中 j 和 i 分别表示表线的起始列和终止列的序号。 - -%\index{"|@ \verb."|.} -\index{"|@ \verb."|.} - -%\begin{example} -%\begin{tabular}{|r|l|} -%\hline -%7C0 & hexadecimal \\ -%3700 & octal \\ \cline{2-2} -%11111000000 & binary \\ -%\hline \hline -%1984 & decimal \\ -%\hline -%\end{tabular} -%\end{example} -\begin{example} -\begin{tabular}{|r|l|} -\hline -7C0 & hexadecimal \\ -3700 & octal \\ \cline{2-2} -11111000000 & binary \\ -\hline \hline -1984 & decimal \\ -\hline -\end{tabular} -\end{example} - -%\begin{example} -%\begin{tabular}{|p{4.7cm}|} -%\hline -%Welcome to Boxy's paragraph. -%We sincerely hope you'll -%all enjoy the show.\\ -%\hline -%\end{tabular} -%\end{example} -\begin{example} -\begin{tabular}{|p{4.7cm}|} -\hline -Welcome to Boxy's paragraph. -We sincerely hope you'll -all enjoy the show.\\ -\hline -\end{tabular} -\end{example} - -%The column separator can be specified with the \mfr{@\{...\}} -%construct. This command kills the inter-column space and replaces it -%with whatever is between the curly braces. One common use for -%this command is explained below in the decimal alignment problem. -%Another possible application is to suppress leading space in a table with -%\mfr{@\{\}}. -表格的列分隔符可由 \verb|@{...}| 构造。这个命令去掉表列之间的间隔, -代之为两个花括号间的内容。一个用途在于下面要解释的十进制数对齐问题。 -另一个可能应用在于用 \verb|@{}| 压缩表列右端空间。 - -%\begin{example} -%\begin{tabular}{@{} l @{}} -%\hline -%no leading space\\ -%\hline -%\end{tabular} -%\end{example} -\begin{example} -\begin{tabular}{@{} l @{}} -\hline -no leading space\\ -\hline -\end{tabular} -\end{example} - -%\begin{example} -%\begin{tabular}{l} -%\hline -%leading space left and right\\ -%\hline -%\end{tabular} -%\end{example} -\begin{example} -\begin{tabular}{l} -\hline -leading space left and right\\ -\hline -\end{tabular} -\end{example} - -%% -%% This part by Mike Ressler -%% -% -% This part by Mike Ressler -% - -%\index{decimal alignment} Since there is no built-in way to align -%numeric columns to a decimal point,\footnote{If the `tools' bundle is -% installed on your system, have a look at the \pai{dcolumn} package.} -%we can ``cheat'' and do it by using two columns: a right-aligned -%integer and a left-aligned fraction. The \verb|@{.}| command in the -%\verb|\begin{tabular}| line replaces the normal inter-column spacing with -%just a ``.'', giving the appearance of a single, -%decimal-point-justified column. Don't forget to replace the decimal -%point in your numbers with a column separator (\verb|&|)! A column label -%can be placed above our numeric ``column'' by using the -%\ci{multicolumn} command. -% -%\begin{example} -%\begin{tabular}{c r @{.} l} -%Pi expression & -%\multicolumn{2}{c}{Value} \\ -%\hline -%$\pi$ & 3&1416 \\ -%$\pi^{\pi}$ & 36&46 \\ -%$(\pi^{\pi})^{\pi}$ & 80662&7 \\ -%\end{tabular} -%\end{example} -由于没有内建机制使十进制数按小数点对齐\footnote{如果系统安装了 `tools' 包, -请看一下宏包 \pai{dcolumn}。},我们可以使用两列“作弊”达到这个目的: -整数向右,小数向左对齐。\verb|\begin{tabular}| 行中的命令 \verb|@{.}| 用一个 - ``.'' 取代了列间正常间隔,从而给出了按小数点列对齐的效果。不要忘记用 -列分隔符 (\verb|&|) 取代十进制小数点!使用命令 \ci{multicolumn} 可在 -数值“列”上放置一个列标签。 - -\begin{example} -\begin{tabular}{c r @{.} l} -Pi expression & -\multicolumn{2}{c}{Value} \\ -\hline -$\pi$ & 3&1416 \\ -$\pi^{\pi}$ & 36&46 \\ -$(\pi^{\pi})^{\pi}$ & 80662&7 \\ -\end{tabular} -\end{example} - -%\begin{example} -%\begin{tabular}{|c|c|} -%\hline -%\multicolumn{2}{|c|}{Ene} \\ -%\hline -%Mene & Muh! \\ -%\hline -%\end{tabular} -%\end{example} -\begin{example} -\begin{tabular}{|c|c|} -\hline -\multicolumn{2}{|c|}{Ene} \\ -\hline -Mene & Muh! \\ -\hline -\end{tabular} -\end{example} - -%Material typeset with the tabular environment always stays together on one -%page. If you want to typeset long tables, you might want to use the -%\pai{longtable} environments. -用表格环境排印的材料总是呆在同一页上。如果要排印一个长表格,可以看一下 - \pai{supertabular} 和 \pai{longtabular} 环境。 - -%\section{Floating Bodies} -\section{浮动体} -%Today most publications contain a lot of figures and tables. These -%elements need special treatment, because they cannot be broken across -%pages. One method would be to start a new page every time a figure or -%a table is too large to fit on the present page. This approach would -%leave pages partially empty, which looks very bad. -今天大多数出版物含有许多图片和表格。由于不能把它们分割在不同的页面上,所以需要专门的处理。 -如果一个图片或一个表格太大在当前页面排不下,一个解决办法就是每次新开一页。这个方法在页面上留下 -部分空白,效果看起来很差。 - -%The solution to this problem is to `float' any figure or table that -%does not fit on the current page to a later page, while filling the -%current page with body text. \LaTeX{} offers two environments for -%\wi{floating bodies}; one for tables and one for figures. To -%take full advantage of these two environments it is important to -%understand approximately how \LaTeX{} handles floats internally. -%Otherwise floats may become a major source of frustration, because -%\LaTeX{} never puts them where you want them to be. -对于在当前排不下的任何一个图片或表格,其解决办法是把它们“浮动”到下一页,与此同时当前页面用 -正文文本填充。\LaTeX{} 提供了两个浮动体 (\wi{floating -bodies}) 环境;一个用于图片,一个用于表格。要充分发挥这两个 -环境的优越性,应该大致了解 \LaTeX{} 处理浮动体的内在原理。但是浮动可能成为令人沮丧的主要原因, -因为 \LaTeX{} 总不把浮动体放在你想要的位置。 - -%\bigskip -%Let's first have a look at the commands \LaTeX{} supplies -%for floats: -\bigskip -首先看一下供浮动使用的 \LaTeX{} 命令: - -%Any material enclosed in a \ei{figure} or \ei{table} environment will -%be treated as floating matter. Both float environments support an optional -%parameter -%\begin{lscommand} -%\verb|\begin{figure}[|\emph{placement specifier}\verb|]| or -%\verb|\begin{table}[|\ldots|]| -%\end{lscommand} -%\noindent called the \emph{placement specifier}. This parameter -%is used to tell \LaTeX{} about the locations to which the float -%is allowed to be moved. A \emph{placement specifier} is constructed by building a string -%of \emph{float-placing permissions}. See Table \ref{tab:permiss}. -包含在 \ei{figure} 环境或 \ei{table} 环境中的任何材料都将被视为浮动内容。 -两个浮动环境都支持可选参数 -\begin{lscommand} -\verb|\begin{figure}[|\emph{placement specifier}\verb|]| 或 \verb|\begin{table}[|\ldots\verb|]| -\end{lscommand} -\noindent 称为 \emph{placement specifier},它由{\textbf -浮动许可放置参数}写成的字符串组成。 -请见表 \ref{tab:permiss}。这个参数用于告诉 - \LaTeX{} 浮动体可以被移放的位置。 一个 \emph{placement -specifier} 由一串{\textbf 浮动体许可放置位置} (\emph{float-placing -permissions}) 构成. 参见表 \ref{tab:permiss}。 - -%\begin{table}[!bp] -%\caption{Float Placing Permissions.}\label{tab:permiss} -%\noindent \begin{minipage}{\textwidth} -%\medskip -%\begin{center} -%\begin{tabular}{@{}cp{8cm}@{}} -%Spec&Permission to place the float \ldots\\ -%\hline -%\rule{0pt}{1.05em}\texttt{h} & \emph{here} at the very place in the text -% where it occurred. This is useful mainly for small floats.\\[0.3ex] -%\texttt{t} & at the \emph{top} of a page\\[0.3ex] -%\texttt{b} & at the \emph{bottom} of a page\\[0.3ex] -%\texttt{p} & on a special \emph{page} containing only floats.\\[0.3ex] -%\texttt{!} & without considering most of the internal parameters\footnote{Such as the -% maximum number of floats allowed on one page.}, which could stop this -% float from being placed. -%\end{tabular} -%\end{center} -%Note that \texttt{pt} and \texttt{em} are \TeX{} units. Read more -%on this in table \ref{units} on page \pageref{units}. -%\end{minipage} -%\end{table} -\begin{table}[!bp] -\caption{浮动体放置许可。}\label{tab:permiss} \noindent -\begin{minipage}{\textwidth} -\medskip -\begin{center} -\begin{tabular}{@{}cp{8cm}@{}} -Spec&浮动体许可放置位置 ……\\ -\hline -\rule{0pt}{1.05em}\texttt{h} & \emph{here} 在文本的确切位置上,对于小的浮动体很有用。\\[0.3ex] -\texttt{t} & 在页面的顶部 (\emph{top})\\[0.3ex] -\texttt{b} & 在页面的底部 (\emph{bottom})\\[0.3ex] -\texttt{p} & 在一个只有浮动体的专门的页面 (\emph{page}) 上。\\[0.3ex] -\texttt{!} & -忽略阻止浮动体放置的大多数内部参数\footnote{例如一页上所允许的浮动体的最大数目。}。 -\end{tabular} -\end{center} -注意 \texttt{pt} 和 \texttt{em} 是 \TeX{} 单位。 -请阅读 第 \pageref{units} 页上表 \ref{units} 更多有关的更多内容。 -\end{minipage} -\end{table} - -%A table could be started with the following line e.g.{} -%\begin{code} -%\verb|\begin{table}[!hbp]| -%\end{code} -%\noindent The \wi{placement specifier} \verb|[!hbp]| allows \LaTeX{} to -%place the table right here (\texttt{h}) or at the bottom (\texttt{b}) -%of some page -%or on a special floats page (\texttt{p}), and all this even if it does not -%look that good (\texttt{!}). If no placement specifier is given, the standard -%classes assume \verb|[tbp]|. -一个表格可以由如下命令,例如 -\begin{code} -\verb|\begin{table}[!hbp]| -\end{code} -\noindent 开始,\wi{placement -specifier} \verb|[!hbp]| 允许 \LaTeX{} 把表格就放当前页, -或放在某页的底部 (\texttt{b}),或放在一个专门的浮动页上 (\texttt{p}), -严格按照放置说明符放置即使看起来不好 (\texttt{!})。 -如果没有给定放置说明符,缺省值为 \verb|[tbp]|。 - -%\LaTeX{} will place every float it encounters according to the -%placement specifier supplied by the author. If a float cannot be -%placed on the current page it is deferred either to the -%\emph{figures} or the \emph{tables} queue.\footnote{These are FIFO---`first in first out'---queues!} When a new page is started, -%\LaTeX{} first checks if it is possible to fill a special `float' -%page with floats from the queues. If this is not possible, the first -%float on each queue is treated as if it had just occurred in the -%text: \LaTeX{} tries again to place it according to its -%respective placement specifiers (except `h,' which is no longer -%possible). Any new floats occurring in the text get placed into the -%appropriate queues. \LaTeX{} strictly maintains the original order of -%appearance for each type of float. That's why a figure that cannot -%be placed pushes all further figures to the end of the document. -%Therefore: -\LaTeX{} 将按照作者提供的 placement -specifier ,安排它遇到的每一个浮动体。如果浮动体在当前页 -不能安排,就把它寄存在{\textbf 图片}或{\textbf -表格}等待队列中\footnote{它们是“先来先走”队列!}。 -当新的一页开始的时候,\LaTeX{} 首先检查是否可能用等待队列中的浮动体填充一个专门的“浮动”页面。 -如果这不可能,就像对待刚在文本中出现的浮动体一样,处理等待队列中的第一个浮动体:\LaTeX{} 重新 -尝试按照其相应的放置说明符(除了不再可能的 `h')来处理它。文本中出现的任何一个 -新浮动体寄存在相应的等待队列中。对于每一种浮动体,\LaTeX{} 保持它们出现的顺序。 -这就说明了为什么一个不能安排的图片把所有后来的图片都推到文档末尾的原因。所以: - -%\begin{quote} -%If \LaTeX{} is not placing the floats as you expected, -%it is often only one float jamming one of the two float queues. -%\end{quote} -\begin{quote} -如果 \LaTeX{} 没有像你期望的那样安排浮动体,那么经常是仅有一个浮动体 -堵塞了两个等待队列中的某一个。 -\end{quote} - -%While it is possible to give \LaTeX{} single-location placement -%specifiers, this causes problems. If the float does not fit in the -%location specified it becomes stuck, blocking subsequent floats. -%In particular, you should never, ever use the [h] option---it is so bad -%that in more recent versions of \LaTeX, it is automatically replaced by -%[ht]. -仅给定单个 placement -specifiers 是允许的,但这会引起问题。如果在指定的位置安排不了,它就会成为障碍,堵住 -后续的浮动体。不要单独使用参数 [h],在 \LaTeX{} 最近的版本中,它的效果太差了以至于被 [ht] -自动替换。 - -%\bigskip -%\noindent Having explained the difficult bit, there are some more things to -%mention about the \ei{table} and \ei{figure} environments. -%With the -\bigskip -虽然对浮动体问题已经作了些说明,对 \ei{table} 和 \ei{figure} 环境还有些内容要交代。使用 - -%\begin{lscommand} -%\ci{caption}\verb|{|\emph{caption text}\verb|}| -%\end{lscommand} -\begin{lscommand} -\ci{caption}\verb|{|\emph{caption text}\verb|}| -\end{lscommand} - -%\noindent command, you can define a caption for the float. A running number and -%the string ``Figure'' or ``Table'' will be added by \LaTeX. -\noindent -命令,可以给浮动体定义一个标题。序号和字符串“图”或“表”将由 \LaTeX{} 自动添加。 - -%The two commands -两个命令 - -%\begin{lscommand} -%\ci{listoffigures} and \ci{listoftables} -%\end{lscommand} -\begin{lscommand} -\ci{listoffigures} 和 \ci{listoftables} -\end{lscommand} - -%\noindent operate analogously to the \verb|\tableofcontents| command, -%printing a list of figures or tables, respectively. These lists will -%display the whole caption, so if you tend to use long captions -%you must have a shorter version of the caption for the lists. -%This is accomplished by entering the short version in brackets after -%the \verb|\caption| command. -%\begin{code} -%\verb|\caption[Short]{LLLLLoooooonnnnnggggg}| -%\end{code} -\noindent -用起来和 \verb|\tableofcontents| 命令类似,分别排版一个图形目录和表格目录。 -在这些目录中,所有的标题都将重复。如果打算使用长标题,就必须准备一个 -能放进目录的,较短版本的标题。即在 \verb|\caption| 命令后面的括号内输入 -较短版本的标题。 -\begin{code} -\verb|\caption[Short]{LLLLLoooooonnnnnggggg}| -\end{code} - -%With \verb|\label| and \verb|\ref|, you can create a reference to a float -%within your text. -利用 \verb|\label| 和 \verb|\ref|,在文本中可以为浮动体创建交叉引用。 - -%The following example draws a square and inserts it into the -%document. You could use this if you wanted to reserve space for images -%you are going to paste into the finished document. -下面的例子画一个方形,并将它插入文档。如果想在完成的文档中为你打算嵌入的图片保留空间,你可以 -利用这个例子。 - -%\begin{code} -%\begin{verbatim} -%Figure \ref{white} is an example of Pop-Art. -%\begin{figure}[!hbp] -%\makebox[\textwidth]{\framebox[5cm]{\rule{0pt}{5cm}}} -%\caption{Five by Five in Centimetres.\label{white}} -%\end{figure} -%\end{verbatim} -%\end{code} -\begin{code} -\begin{verbatim} -Figure \ref{white} is an example of Pop-Art. -\begin{figure}[!hbp] -\makebox[\textwidth]{\framebox[5cm]{\rule{0pt}{5cm}}} -\caption{Five by Five in Centimetres.\label{white}} -\end{figure} -\end{verbatim} -\end{code} - -%\noindent In the example above, -%\LaTeX{} will try \emph{really hard} (\texttt{!})\ to place the figure -%right \emph{here} (\texttt{h}).\footnote{assuming the figure queue is -% empty.} If this is not possible, it tries to place the figure at the -%\emph{bottom} (\texttt{b}) of the page. Failing to place the figure -%on the current page, it determines whether it is possible to create a float -%page containing this figure and maybe some tables from the tables -%queue. If there is not enough material for a special float page, -%\LaTeX{} starts a new page, and once more treats the figure as if it -%had just occurred in the text. -\noindent 在上面的例子中,为了把图片{\textbf -就放在当前位置} (\texttt{h})\footnote{假设图片的等待队列已空。}, -\LaTeX{} 尝试得{\textbf 很辛苦} (\texttt{!})。 -如果这不可能,它将试图把图片安排在页面的{\textbf -底部} (\texttt{b})。如果不能将图片安排在 -当前页面,它将决定是否可能开一个浮动页面以放置这张图片或来自表格等待队列中的一些表格。 -如果没有足够的材料来填充一个专门浮动页面,\LaTeX{} 就开一个新页,像对文本中刚出现的图片一样, -再一次处理这个图片。 - -%Under certain circumstances it might be necessary to use the -在一些情况下,可能需要使用命令 - -%\begin{lscommand} -%\ci{clearpage} or even the \ci{cleardoublepage} -%\end{lscommand} -\begin{lscommand} -\ci{clearpage} 或者甚至是 \ci{cleardoublepage} -\end{lscommand} - -%\noindent command. It orders \LaTeX{} to immediately place all -%floats remaining in the queues and then start a new -%page. \ci{cleardoublepage} even goes to a new right-hand page. -\noindent -它命令 \LaTeX{} 立即放置等待队列中所有剩下的浮动体,并且开一新页。 -命令 \ci{cleardoublepage} 甚至会命令 \LaTeX{} 新开奇数页面。 - -%You will learn how to include \PSi{} -%drawings into your \LaTeXe{} documents later in this introduction. -在本书的后面,将介绍如何在 \LaTeXe{} 文档中插入 PostScript 图形。 - -%\section{Protecting Fragile Commands} -\section{保护脆弱命令} - -%Text given as arguments of commands like \ci{caption} or \ci{section} may -%show up more than once in the document (e.g. in the table of contents as -%well as in the body of the document). Some commands will break when used in -%the argument of \ci{section}-like commands. Compilation of your document -%will fail. These commands are called \wi{fragile commands}---for example, -%\ci{footnote} or \ci{phantom}. These fragile commands need protection (don't -%we all?). You can protect them by putting the \ci{protect} command in front -%of them. -作为命令(如 \ci{caption} 或 \ci{section})参量的文本,可能在文档中出现多次(例如,在文档的 -目录和正文中)。当用于类似 \ci{section} 的参量时,一些命令会失效。它们被称为 -脆弱命令 (\wi{fragile commands})。\ci{footnote} 或 \ci{phantom} 是脆弱命令的例子。这些脆弱命令需要的,正是保护。%%%!!!!(don't we all?) -把 \ci{protect} 命令放在它们前面,就能保护它们。 - -%\ci{protect} only refers to the command that follows right behind, not even -%to its arguments. In most cases a superfluous \ci{protect} won't hurt. -\ci{protect} 仅仅保护紧跟其右侧的命令,连它的参量也不惠及。在大多数情形下, -过多的 \ci{protect} 并不碍事。 - -%\begin{code} -%\verb|\section{I am considerate|\\ -%\verb| \protect\footnote{and protect my footnotes}}| -%\end{code} -\begin{code} -\verb|\section{I am considerate|\\ -\verb| \protect\footnote{and protect my footnotes}}| -\end{code} - -% Local Variables: -% TeX-master: "lshort2e" -% mode: latex -% mode: flyspell -% End: diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/usefulmacros.sty b/Master/texmf-dist/doc/latex/lshort-chinese/src/usefulmacros.sty deleted file mode 100644 index 79683137ec5..00000000000 --- a/Master/texmf-dist/doc/latex/lshort-chinese/src/usefulmacros.sty +++ /dev/null @@ -1,105 +0,0 @@ -% usefulmacros.sty -% This file provides several useful LaTeX macros as well as \ifLaTeX@e, -% and \futurenonspacelet. -% Licensed under LPPL. -\catcode`\@=11 -\ifx\@usefulmacros@defined\@undefined -\def\@usefulmacros@defined{\relax} -\def\@usefulmacros@LaTeX@e{LaTeX2e} -\def\ifLaTeX@e{\ifx\fmtname\@usefulmacros@LaTeX@e} -%\ifx\LaTeX\@undefined -\ifLaTeX@e\else -\def\@nnil{\@nil}% -\def\@empty{}% -\def\@fornoop#1\@@#2#3{}% -\long\def\@for#1:=#2\do#3{% - \expandafter\def\expandafter\@fortmp\expandafter{#2}% - \ifx\@fortmp\@empty \else - \expandafter\@forloop#2,\@nil,\@nil\@@#1{#3}\fi}% -\long\def\@forloop#1,#2,#3\@@#4#5{\def#4{#1}\ifx #4\@nnil \else - #5\def#4{#2}\ifx #4\@nnil \else#5\@iforloop #3\@@#4{#5}\fi\fi}% -\long\def\@iforloop#1,#2\@@#3#4{\def#3{#1}\ifx #3\@nnil - \expandafter\@fornoop \else - #4\relax\expandafter\@iforloop\fi#2\@@#3{#4}}% -\def\@tfor#1:={\@tf@r#1 }% -\long\def\@tf@r#1#2\do#3{\def\@fortmp{#2}\ifx\@fortmp\space\else - \@tforloop#2\@nil\@nil\@@#1{#3}\fi}% -\long\def\@tforloop#1#2\@@#3#4{\def#3{#1}\ifx #3\@nnil - \expandafter\@fornoop \else - #4\relax\expandafter\@tforloop\fi#2\@@#3{#4}}% -\long\def\@ifnextchar#1#2#3{% - \let\reserved@d=#1% - \def\reserved@a{#2}% - \def\reserved@b{#3}% - \futurelet\@let@token\@ifnch} -\def\@ifnch{% - \ifx\@let@token\@sptoken - \let\reserved@c\@xifnch - \else - \ifx\@let@token\reserved@d - \let\reserved@c\reserved@a - \else - \let\reserved@c\reserved@b - \fi - \fi - \reserved@c} -\def\:{\let\@sptoken= } \: % this makes \@sptoken a space token -\def\:{\@xifnch} \expandafter\def\: {\futurelet\@let@token\@ifnch} -% -\long\def\@firstoftwo#1#2{#1} -\long\def\@secondoftwo#1#2{#2} -\expandafter\ifx\csname ifcsname\endcsname\relax -\def\@ifundefined#1{% - \expandafter\ifx\csname#1\endcsname\relax - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi} -\else -\def\@ifundefined#1{% - \unless\ifcsname#1\endcsname - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi} -\fi -% -\def\@namedef#1{\expandafter\def\csname #1\endcsname} -% -\def\newcount{\alloc@0\count\countdef\insc@unt} -\def\newdimen{\alloc@1\dimen\dimendef\insc@unt} -\def\newskip{\alloc@2\skip\skipdef\insc@unt} -\def\newmuskip{\alloc@3\muskip\muskipdef\@cclvi} -\def\newbox{\alloc@4\box\chardef\insc@unt} -\def\newtoks{\alloc@5\toks\toksdef\@cclvi} -\def\newread{\alloc@6\read\chardef\sixt@@n} -\def\newwrite{\alloc@7\write\chardef\sixt@@n} -\fi % end if - -\def\@BTcs{} -\let\nexttoken\relax -\let\next\relax -\def\futurenonspacelet#1{\def\@BTcs{#1}% - \afterassignment\@BTfnslone\let\nexttoken= } -\def\@BTfnslone{\expandafter\futurelet\@BTcs\@BTfnsltwo} -\def\@BTfnsltwo{\expandafter\ifx\@BTcs\@sptoken\let\next=\@BTfnslthree - \else\let\next=\nexttoken\fi \next} -\def\@BTfnslthree{\afterassignment\@BTfnslone\let\next= } - -\ifx\fbox\@undefined -\newbox\fbox@tmpbox -\newdimen\fbox@linewidth -\newdimen\fbox@tmpdim -\fbox@linewidth=0.4pt -\long\def\fbox#1{% - \setbox\fbox@tmpbox=\hbox{#1}% - \fbox@tmpdim=2\fbox@linewidth - \advance\fbox@tmpdim\wd\fbox@tmpbox - \leavevmode\hbox{\vbox{\hrule height \fbox@linewidth width \fbox@tmpdim - \hbox{\vrule width \fbox@linewidth height \ht\fbox@tmpbox - #1\vrule width \fbox@linewidth height \ht\fbox@tmpbox}% - \hrule height \fbox@linewidth width \fbox@tmpdim - }}% -} -\fi -\fi diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/zhfont.sty b/Master/texmf-dist/doc/latex/lshort-chinese/src/zhfont.sty deleted file mode 100644 index 660f7a1ac2c..00000000000 --- a/Master/texmf-dist/doc/latex/lshort-chinese/src/zhfont.sty +++ /dev/null @@ -1,143 +0,0 @@ -% zhfont.sty coded by YIN Dian -% Simplify setting various font effects -% Hist: 071204 First coded. -% 071210 Improved. Added \newfontfamilywithslant and -% \newfontfamilywithslantandbold to simplify setting. -% 071211 Added fake bold support. -% 071231 Added underdot support. -% 080102 Minor changes on underdot. Don's use \scantokens. -% Fixed bug of \zhfont in ulem. Added font family -% selection and fake bold support in active hanzi. -\NeedsTeXFormat{LaTeX2e}[1996/12/01] -\def\filedate{2008/01/02} -\ProvidesPackage{zhfont}[\filedate] -\RequirePackage{zhspacing} -\RequirePackage{zhulem} -\newif\ifzhfont@fakebold -\zhfont@fakeboldfalse -\DeclareOption{fakebold}{\zhfont@fakeboldtrue} -\ProcessOptions\relax - -\def\zhs@tmpmacro{} -\def\zhs@curr@fam{-1} - -\zhnfsssavefont -\g@addto@macro\zhs@savefont{% - \long\edef\zhs@tmpmacro{\f@family}% - \def\zhs@curr@fam{0}% - \ifx\zhs@tmpmacro\sfdefault - \def\zhs@curr@fam{1}% - \else\ifx\zhs@tmpmacro\ttdefault - \def\zhs@curr@fam{2}% - \fi\fi - \edef\zhs@tmpmacro{\f@family}% - \ifx\zhs@tmpmacro\sfdefault - \def\zhs@curr@fam{1}% - \else\ifx\zhs@tmpmacro\ttdefault - \def\zhs@curr@fam{2}% - \fi\fi -} -\ifzhfont@fakebold -\def\zhfont@bx{bx} -\g@addto@macro\zhs@savefont{% - \ifx\f@series\zhfont@bx - \special{pdf: literal direct q 0.3 w 2 Tr}% - \fi -} -\g@addto@macro\zhs@restorefont{% - \ifx\f@series\zhfont@bx - \special{pdf: literal direct 0 Tr}% - \fi -} -\fi - -\def\newfontfamilywithslant#1#2{% - \newfontfamily#1[ItalicFont=#2,ItalicFeatures={RawFeature={slant=0.17}},BoldItalicFont=#2,BoldItalicFeatures={RawFeature={slant=0.17}}]{#2}% -} -\def\newfontfamilywithslantandbold#1#2#3{% - \newfontfamily#1[BoldFont=#3,ItalicFont=#2,ItalicFeatures={RawFeature={slant=0.17}},BoldItalicFont=#3,BoldItalicFeatures={RawFeature={slant=0.17}}]{#2}% -} - -%\newfontfamily\zhrmfont[BoldFont=SimHei,ItalicFont=SimSun,ItalicFeatures={RawFeature={slant=0.17}},BoldItalicFont=SimHei,BoldItalicFeatures={RawFeature={slant=0.17}}]{SimSun} -%\newfontfamily\zhsffont[ItalicFont=SimHei,ItalicFeatures={RawFeature={slant=0.17}}]{SimHei} -%\newfontfamily\zhttfont[BoldFont=KaiTi_GB2312,ItalicFont=FangSong_GB2312,ItalicFeatures={RawFeature={slant=0.17}},BoldItalicFont=KaiTi_GB2312,BoldItalicFeatures={RawFeature={slant=0.17}}]{FangSong_GB2312} -\ifzhfont@fakebold -\newfontfamilywithslant\zhrmfont{SimSun} -\newfontfamilywithslant\zhsffont{SimHei} -\newfontfamilywithslant\zhttfont{FangSong_GB2312} -\else -\newfontfamilywithslantandbold\zhrmfont{SimSun}{SimHei} -\newfontfamilywithslant\zhsffont{SimHei} -\newfontfamilywithslantandbold\zhttfont{FangSong_GB2312}{KaiTi_GB2312} -\fi -\def\zhfont{\ifcase\zhs@curr@fam\zhrmfont\or\zhsffont\or\zhttfont\else\zhrmfont\fi} - -\def\setzhmainfont{\newfontfamily\zhrmfont} -\def\setzhsansfont{\newfontfamily\zhsffont} -\def\setzhmonofont{\newfontfamily\zhttfont} - -\enableactivehanzi -\def\zhhanzihook#1{% - % select family - \long\edef\zhs@tmpmacro{\f@family}% - \def\zhs@curr@fam{0}% - \ifx\zhs@tmpmacro\sfdefault - \def\zhs@curr@fam{1}% - \else\ifx\zhs@tmpmacro\ttdefault - \def\zhs@curr@fam{2}% - \fi\fi - \edef\zhs@tmpmacro{\f@family}% - \ifx\zhs@tmpmacro\sfdefault - \def\zhs@curr@fam{1}% - \else\ifx\zhs@tmpmacro\ttdefault - \def\zhs@curr@fam{2}% - \fi\fi - \ifzhfont@fakebold\ifx\f@series\zhfont@bx - \special{pdf: literal direct q 0.3 w 2 Tr}% - \fi\fi - {\XeTeXinterchartokenstate=0\zhs@font #1}% - \ifzhfont@fakebold\ifx\f@series\zhfont@bx - \special{pdf: literal direct 0 Tr}% - \fi\fi -} - -\def\underdot@dot{\XeTeXinterchartokenstate=0\zhpunctfont \vbox to 0.5em{\vss\hbox{·}\vss}} -%\def\underdot@dot{\vbox to 0.5em{\vss\hbox{\bf .}\vss}} -\newskip\underdot@skip -\underdot@skip=2.5pt -\def\underdot{% - \begingroup - \makehanziglobalactive - \def\zhhanzihook##1{% - \setbox0=\hbox{\underdot@dot}% - \leavevmode\vtop{\baselineskip=\underdot@skip\lineskiplimit=-\maxdimen - \advance\baselineskip\ht0 - % select family - \long\edef\zhs@tmpmacro{\f@family}% - \def\zhs@curr@fam{0}% - \ifx\zhs@tmpmacro\sfdefault - \def\zhs@curr@fam{1}% - \else\ifx\zhs@tmpmacro\ttdefault - \def\zhs@curr@fam{2}% - \fi\fi - \edef\zhs@tmpmacro{\f@family}% - \ifx\zhs@tmpmacro\sfdefault - \def\zhs@curr@fam{1}% - \else\ifx\zhs@tmpmacro\ttdefault - \def\zhs@curr@fam{2}% - \fi\fi - \ialign{####\cr\XeTeXinterchartokenstate=0\zhs@font - \ifzhfont@fakebold\ifx\f@series\zhfont@bx - \special{pdf: literal direct q 0.3 w 2 Tr}##1% - \special{pdf: literal direct 0 Tr}\else ##1\fi\else ##1\fi - \cr\hidewidth\box0\hidewidth\cr}}% - }% - \underd@t -} -\def\underd@t#1{% - #1% - \makehanzigloballetter - \endgroup -} - -\endinput diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/zhmath.sty b/Master/texmf-dist/doc/latex/lshort-chinese/src/zhmath.sty deleted file mode 100644 index 88e69f60d7f..00000000000 --- a/Master/texmf-dist/doc/latex/lshort-chinese/src/zhmath.sty +++ /dev/null @@ -1,156 +0,0 @@ -% zhmath.sty coded by YIN Dian -% Use basic CJK characters in math environment. -% Hist: 071202 First coded. -% 071204 Set \XeTeXinterchartokenstate=0 to avoid a XeTeX bug. -% Added \ProvidesPackage. -% 071210 Added another method to set Chinese math fonts in -% LaTeX, via option noactive. Improved format detection. -% Added ability to set alpha and number fonts. -% 071211 Put \setalphanummathfonts in preamble so that -% \usecustommathfonts can be used in document in LaTeX. -% Changed \hbox to \mbox. Changed default option to -% noactive. -% 071215 Removed \XeTeXinterchartokenstate=0, as the XeTeX bug -% is fixed by JK. Changed \mathcjksizec/d to fit the -% main text size. -% 071229 Added \XeTeXinterchartokenstate=0 again, because not -% everyone has the latest version of XeTeX. Added custom -% and nocustom options. -\catcode`\@=11 -\ifx\zhmath@defined\@undefined -\def\zhmath@defined{\relax} -\def\filedate{2007/12/29} -\ifx\zhspacingrevision\@undefined -\input zhspacing.sty -\fi - -\def\zhmath@setXeTeXmathcodefam#1#2#3{% - % set #1..#2's math family to #3 - \count@=#1% - \loop - \XeTeXmathcode\count@=7 #3 \count@ - \unless\ifnum\count@>#2% - \advance\count@ by 1 - \repeat -} - -\def\zhmath@setactivemathchar#1#2#3#4#5#6{% - % set #1..#2 to active math chars, executing \mathchoice #3 #4 #5 #6. - \count@=#1% - \loop - \mathcode\count@="8000 - {\catcode\count@=\active\lccode`\~=\count@ - \lowercase{\xdef~{{\mathchoice{\noexpand#3{\number\count@}}% - {\noexpand#4{\number\count@}}{\noexpand#5{\number\count@}} - {\noexpand#6{\number\count@}}}}}% - }% - \unless\ifnum\count@>#2% - \advance\count@ by 1 - \repeat -} -\newif\ifzhmath@active -\newif\ifzhmath@custom - -\ifLaTeX@e % in LaTeX, similar to mathcjk - -\ProvidesPackage{zhmath}[\filedate] -\DeclareOption{active}{\zhmath@activetrue} -\DeclareOption{noactive}{\zhmath@activefalse} -\DeclareOption{custom}{\zhmath@customtrue} -\DeclareOption{nocustom}{\zhmath@customfalse} -\zhmath@activefalse -\zhmath@customtrue -\ProcessOptions\relax - -\def\mathcjksizea{} -\def\mathcjksizeb{} -\def\mathcjksizec{\dimen@=\dimexpr\f@size pt*6/10\relax\fontsize{\dimen@}{\dimen@}} -\def\mathcjksized{\dimen@=\dimexpr\f@size pt*5/10\relax\fontsize{\dimen@}{\dimen@}} - -\@ifundefined{zhmathfont}{\newfontfamily\zhmathfont{SimSun}}{} - -\ifzhmath@active - \def\zhmath@zhfont@disp#1{{\mbox{\XeTeXinterchartokenstate=0\zhmathfont\mathcjksizea\char#1\relax}}} - \def\zhmath@zhfont@text#1{{\mbox{\XeTeXinterchartokenstate=0\zhmathfont\mathcjksizeb\char#1\relax}}} - \def\zhmath@zhfont@scrp#1{{\mbox{\XeTeXinterchartokenstate=0\zhmathfont\mathcjksizec\char#1\relax}}} - \def\zhmath@zhfont@subs#1{{\mbox{\XeTeXinterchartokenstate=0\zhmathfont\mathcjksized\char#1\relax}}} - - \zhmath@setactivemathchar{"2E80}{"9FFF}{\zhmath@zhfont@disp}% - {\zhmath@zhfont@text}{\zhmath@zhfont@scrp}{\zhmath@zhfont@subs} - - \def\setzhmathfont#1{\let\zhmathfont=#1} -\else - \def\setzhmathfont#1{% - \let\zhmathfont=#1% - \begingroup - \normalfont - \zhmathfont - \xdef\zhmath@fenc{\f@encoding}% - \xdef\zhmath@ffam{\f@family}% - \endgroup - \DeclareSymbolFont{hanzi}{\zhmath@fenc}{\zhmath@ffam}{m}{n}% - } - \setzhmathfont\zhmathfont - \zhmath@setXeTeXmathcodefam{"2E80}{"9FFF}{\symhanzi} -\fi - -\ifzhmath@custom -\def\setalphanummathfonts#1{% - \let\zhmathalphanumfont=#1% - \begingroup - \normalfont - \zhmathalphanumfont - \xdef\zhmath@@fenc{\f@encoding}% - \xdef\zhmath@@ffam{\f@family}% - \endgroup - \DeclareSymbolFont{@letter}{\zhmath@@fenc}{\zhmath@@ffam}{m}{it}% - \DeclareSymbolFont{@number}{\zhmath@@fenc}{\zhmath@@ffam}{m}{n}% - \SetSymbolFont{@letter}{bold}{\zhmath@@fenc}{\zhmath@@ffam}{bx}{it}% - \SetSymbolFont{@number}{bold}{\zhmath@@fenc}{\zhmath@@ffam}{bx}{n}% -} -\@ifundefined{zhmathalphanumfont}{\newfontfamily\zhmathalphanumfont{Times New Roman}}{} -\setalphanummathfonts\zhmathalphanumfont -\def\usecustommathfonts{% - \zhmath@setXeTeXmathcodefam{`\0}{`\9}{\sym@number} - \zhmath@setXeTeXmathcodefam{`\a}{`\z}{\sym@letter} - \zhmath@setXeTeXmathcodefam{`\A}{`\Z}{\sym@letter} -} -\fi - -\else %in plain TeX - -\@ifundefined{zhmathfont}{\font\zhmathfont="SimSun" at 10pt}{} -\newfam\zhmath@fam -\newfam\zhmath@letterfam -\newfam\zhmath@numberfam - -\def\@setzhmathfonts#1#2{% - \edef\zhmath@font{\fontname#1 }% - \font\zhmath@tenfont=\zhmath@font at 10pt - \font\zhmath@sevenfont=\zhmath@font at 7pt - \font\zhmath@fivefont=\zhmath@font at 5pt\relax - \textfont#2=\zhmath@tenfont - \scriptfont#2=\zhmath@sevenfont - \scriptscriptfont#2=\zhmath@fivefont -} -\def\setzhmathfont#1{\@setzhmathfonts{#1}\zhmath@fam} -\setzhmathfont\zhmathfont - -\def\setalphanummathfonts#1#2{% #1: alpha, #2, num - \@setzhmathfonts{#1}\zhmath@letterfam - \@setzhmathfonts{#2}\zhmath@numberfam -} - -\zhmath@setXeTeXmathcodefam{"2E80}{"9FFF}{\zhmath@fam} - -\def\usecustommathfonts{% - \@ifundefined{zhmathletterfont}{\font\zhmathletterfont="Times New Roman/I" at 10pt}{} - \@ifundefined{zhmathnumberfont}{\font\zhmathnumberfont="Times New Roman" at 10pt}{} - \setalphanummathfonts\zhmathletterfont\zhmathnumberfont - \zhmath@setXeTeXmathcodefam{`\0}{`\9}{\zhmath@numberfam} - \zhmath@setXeTeXmathcodefam{`\a}{`\z}{\zhmath@letterfam} - \zhmath@setXeTeXmathcodefam{`\A}{`\Z}{\zhmath@letterfam} -} - -\fi % end if LaTeX -\fi diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/zhspacing.sty b/Master/texmf-dist/doc/latex/lshort-chinese/src/zhspacing.sty deleted file mode 100644 index d68800ad20b..00000000000 --- a/Master/texmf-dist/doc/latex/lshort-chinese/src/zhspacing.sty +++ /dev/null @@ -1,816 +0,0 @@ -% zhspacing.sty version 3.5 -% Simple macro for typesetting mixed Chinese documents in XeTeX -% with punctuation space adjustment and prohibitions -% coded by YIN Dian (yindian@ustc) -% Licensed under GPL -% History: 070804 First usable version. -% 070805 Several line breaking bug fixes. -% 070807 \zhinteropenskip changed to 0.6em. \enfont -% TODO list written. -% 070808 Use macros instead of skips to fit different font size. -% 070809 Tried to use myclass to manage classes, but failed. -% Then I found it works when \relax is added. -% 070810 Changed skip parameters. Removed \relax, only register -% non-empty tokens instead. Now it seems to work right. -% Several bugs fixed. CJK Ext-A/B support added. -% Added three skip schemes. -% 070812 Fixed font switch bug between CJK Ext-A and Ext-B chars. -% Obsoleted the use of \enfont. -% 070822 Fixed bug of unbalanced group when using ulem? Cleared -% XeTeX's pre-defined inter-char tokens. Use seperate -% font for punctuations. -% Deprecated the use of begin/end-groups in LaTeX, in -% order to work properly with ulem. Coded zhulem.sty. -% 070823 Use more flexible way to save font. Changed space -% ignoring mechanism after hanzi to allow \skipenzh added -% between hanzi and boundary if the next non-space token -% is a char and is not fullwidth nor in PUA. -% 070824 Enabled automatic skip between math formulas and CJK -% chars. Changed skip schemes. Added \zhspacingrevision. -% 071008 Fixed bug of missing \skipzh when hanzi next to space. -% Found bug of \zhs@skipspaces --- \iffalse error. -% Found bug?? in 10pt article: -% \fbox{\vbox{\hsize=12.2001pt\scriptsize \parindent=0pt -% \parskip=0pt《口口》口:“}} -% 071014 Found bug introduced by the last bug fix, which breaks -% the punctuation prohibitions. (Fixed on 071020) -% 071015 Fixed bug of not changing punctuation font after space. -% 071019 Fixed the \iffalse bug. Use \the\XeTeXcharclass -% instead of ifcjkchar. -% Defined token patterns to simplify settings, haha. -% 071020 Added ability to deal with space seperated characters. -% Added XeTeX existence test. More intelligent parindent -% setting. Fixed bug of English font change through not -% using \getinterclasstoks, hmmm. -% Seperated fullstop and halfstop skips. They were both -% treated as judou before. Added \halthalfskipscheme. -% 071027 Fixed bug of \halthalfskipscheme. Added class setting -% for some punctuations. -% 071103 Fixed bug of no \skipzh between CJK Ext-A/B chars. -% However, due to the current bug of XeTeX, CJK Ext-B -% chars may not have a correct \meaning, so having them -% after spaces may result in a compiling failure. -% 071117 Use \ifzhs@isvalidchar to avoid the XeTeX \meaning -% bug. Added \ProvidesPackage when under LaTeX. -% 071202 Fixed bug of wrong \ProvidesPackage in plain TeX. -% 071210 Changed usefulmacros.sty. Removed \@foreach because I -% find they are redundant --- \@for already has -% \expandafter #2. Improved LaTeX detecting. -% 071211 Minor change on \simsunskipscheme. -% 071229 Added a few punctuation classification settings. -% Refined code. Added active hanzi hook. Removed some -% debug code for compiling speed. Not thoroughly tested. -% 071231 Use \zhs@@a to reduce memory usage. Removed -% \zhs@active@alphabound because it's not effective. -% Use \lastnodetype and \spacefactor to determine whether -% or not to insert \skipenzh. Added a few punctuation -% classification settings. -% 080102 No \enableactivehanzi by default. Changed \zhhanzihook. -% Use hex number to represent hanzi. Added \zhs@font. -% Added ambiwide and ambinarrow options. Made active -% hanzi protected. -% Note: 1. Catcode test requires letter 'a' to be in category 11, and '!' -% to be in category 12. So don't change the default catcodes. -% 2. To speed up processing long Chinese documents, set \skipzh to -% empty and \XeTeXinterchartoks 1 1={}. This can save 1/4 time. -% 3. \zhspacing will generate a few spaces. Using it in horizontal -% mode will produce unwanted skips. -\catcode`\@=11 -\ifx\XeTeXrevision\@undefined - \errmessage{XeTeX required to use zhspacing}% -\fi -\ifx\XeTeXinterchartokenstate\@undefined - \errmessage{XeTeX 0.997 or above required to use zhspacing}% -\fi -\ifx\zhspacingrevision\@undefined -\def\zhspacingrevision{2008/01/02} -\input usefulmacros.sty -\newif\ifzhs@ambiwide -\zhs@ambiwidetrue -\ifLaTeX@e - \ProvidesPackage{zhspacing}[\zhspacingrevision] - \DeclareOption{ambiwide}{\zhs@ambiwidetrue} - \DeclareOption{ambinarrow}{\zhs@ambiwidefalse} - \ProcessOptions\relax -\fi -\XeTeXlinebreaklocale="zh" -\XeTeXlinebreakskip=0pt plus 0.2em minus 0.1em -\def\zhnobreak{\nobreak} -\def\simsunskipscheme{% should be fit for sim-xxx fonts - % my skip - \def\skipzh{\hskip 0em plus 0.2em minus 0.1em} - \def\skipenzh{\hskip 0.25em plus 0.15em minus 0.05em} - \def\skipzhopen{\hskip -0.0em plus 0.0em minus 0.3em} - \def\skipzhinteropen{\hskip -0.3em plus 0.1em minus 0.1em} - \def\skipzhlinestartopen{\hskip -0.35em} - \def\skipzhclose{\hskip -0.0em plus 0.0em minus 0.3em} - \def\skipzhinterclose{\hskip -0.3em plus 0.1em minus 0.1em} - \def\skipzhlineendclose{\hskip -0.35em} - \def\skipzhhalfstop{\hskip -0.0em plus 0.0em minus 0.5em} - \def\skipzhinterhalfstop{\hskip -0.3em plus 0.1em minus 0.1em} - \def\skipzhlineendhalfstop{\hskip -0.6em} - \def\skipzhfullstop{\hskip -0.0em plus 0.0em minus 0.5em} - \def\skipzhinterfullstop{\hskip -0.3em plus 0.1em minus 0.1em} - \def\skipzhlineendfullstop{\hskip -0.575em} - % neg - \def\skipnegzhlinestartopen{\hskip 0.35em} - \def\skipnegzhlineendclose{\hskip 0.35em} - \def\skipnegzhlineendhalfstop{\hskip 0.6em} - \def\skipnegzhlineendfullstop{\hskip 0.575em} -} -\def\emptyskipscheme{% just for test use - % my skip - \def\skipzh{\hskip 0em plus 0.1em} - \def\skipenzh{\hskip 0em plus 0.2em} - \def\skipzhopen{\hskip 0pt} - \def\skipzhinteropen{\hskip 0pt} - \def\skipzhlinestartopen{\hskip 0pt} - \def\skipzhclose{\hskip 0pt} - \def\skipzhinterclose{\hskip 0pt} - \def\skipzhlineendclose{\hskip 0pt} - \def\skipzhhalfstop{\hskip 0pt} - \def\skipzhinterhalfstop{\hskip 0pt} - \def\skipzhlineendhalfstop{\hskip 0pt} - \def\skipzhfullstop{\hskip 0pt} - \def\skipzhinterfullstop{\hskip 0pt} - \def\skipzhlineendfullstop{\hskip 0pt} - % neg - \def\skipnegzhlinestartopen{\hskip 0pt} - \def\skipnegzhlineendclose{\hskip 0pt} - \def\skipnegzhlineendhalfstop{\hskip 0pt} - \def\skipnegzhlineendfullstop{\hskip 0pt} -} -\def\haltfullskipscheme{% should be fit for Adobe opentype fonts with halfwidth alternative enabled - % my skip - \def\skipzh{\hskip 0em plus 0.2em minus 0.1em} - \def\skipenzh{\hskip 0.25em plus 0.15em minus 0.05em} - \def\skipzhopen{\hskip 0.3em minus 0.3em} - \def\skipzhinteropen{\hskip 0em plus 0.1em } - \def\skipzhlinestartopen{\hskip 0em} - \def\skipzhclose{\hskip 0.3em minus 0.3em} - \def\skipzhinterclose{\hskip 0em plus 0.1em} - \def\skipzhlineendclose{\hskip 0em} - \def\skipzhhalfstop{\hskip 0.4em minus 0.4em} - \def\skipzhinterhalfstop{\hskip 0em plus 0.1em} - \def\skipzhlineendhalfstop{\hskip 0em} - \def\skipzhfullstop{\hskip 0.4em minus 0.4em} - \def\skipzhinterfullstop{\hskip 0em plus 0.1em} - \def\skipzhlineendfullstop{\hskip 0em} - % neg - \def\skipnegzhlinestartopen{\hskip 0em} - \def\skipnegzhlineendclose{\hskip 0em} - \def\skipnegzhlineendhalfstop{\hskip 0em} - \def\skipnegzhlineendfullstop{\hskip 0em} -} -\let\haltskipscheme\haltfullskipscheme % for backward compatibility -\def\halthalfskipscheme{% should be fit for Adobe opentype fonts with halfwidth alternative enabled - % my skip - \def\skipzh{\hskip 0em plus 0.2em minus 0.1em} - \def\skipenzh{\hskip 0.25em plus 0.15em minus 0.05em} - \def\skipzhopen{\hskip 0.0em plus 0.3em} - \def\skipzhinteropen{\hskip 0em plus 0.1em } - \def\skipzhlinestartopen{\hskip 0em} - \def\skipzhclose{\hskip 0.0em plus 0.3em} - \def\skipzhinterclose{\hskip 0em plus 0.1em} - \def\skipzhlineendclose{\hskip 0em} - \def\skipzhhalfstop{\hskip 0.0em plus 0.4em} - \def\skipzhinterhalfstop{\hskip 0em plus 0.1em} - \def\skipzhlineendhalfstop{\hskip -0.15em} - \def\skipzhfullstop{\hskip 0.0em plus 0.4em} - \def\skipzhinterfullstop{\hskip 0em plus 0.1em} - \def\skipzhlineendfullstop{\hskip -0.15em} - % neg - \def\skipnegzhlinestartopen{\hskip 0em} - \def\skipnegzhlineendclose{\hskip 0em} - \def\skipnegzhlineendhalfstop{\hskip 0.15em} - \def\skipnegzhlineendfullstop{\hskip 0.15em} -} -\simsunskipscheme -%\let\mydbgmessage\message -\def\mydbgmessage#1{} - -% font save and restore -\def\zhs@oldf@encoding{} -\def\zhs@oldf@family{} -\def\zhs@oldf@series{} -\def\zhs@oldf@shape{} -\def\zhs@oldf@size{} -\def\zhs@savef@nt#1{% - \expandafter\xdef\csname zhs@#1f@encoding\endcsname{\f@encoding}% - \expandafter\xdef\csname zhs@#1f@family\endcsname{\f@family}% - \expandafter\xdef\csname zhs@#1f@series\endcsname{\f@series}% - \expandafter\xdef\csname zhs@#1f@shape\endcsname{\f@shape}% - \expandafter\xdef\csname zhs@#1f@size\endcsname{\f@size}% -} -\def\zhs@restoref@nt#1{% - \edef\f@encoding{\csname zhs@#1f@encoding\endcsname}% - \edef\f@family{\csname zhs@#1f@family\endcsname}% - \edef\f@series{\csname zhs@#1f@series\endcsname}% - \edef\f@shape{\csname zhs@#1f@shape\endcsname}% - \edef\f@size{\csname zhs@#1f@size\endcsname}% - \selectfont -} -\def\zhs@printf@nt#1{% - \immediate\write16{Font #1 is: \csname zhs@#1f@encoding\endcsname/\csname zhs@#1f@family\endcsname/\csname - zhs@#1f@series\endcsname/\csname zhs@#1f@shape\endcsname/\csname zhs@#1f@size\endcsname}% -} -\def\zhgroupsavefont{% - \let\zhs@savefont=\begingroup - \let\zhs@restorefont=\endgroup -} -\def\zhnfsssavefont{% - \def\zhs@savefont{\zhs@savef@nt{old}} - \def\zhs@restorefont{\zhs@restoref@nt{old}} -} -\ifLaTeX@e - \zhnfsssavefont -\else - \zhgroupsavefont -\fi - -% test CJK char -\def\chartonum#1#2{% #1: an explicit or implicit char; #2: return macro - \ifcat#1a% - \edef#2{\expandafter\@lettertonum\meaning #1\@end}% - \edef#2{\expandafter\number\expandafter\lq #2}% - \else - \ifcat#1!% - \edef#2{\expandafter\@chartonum\meaning #1\@end}% - \edef#2{\expandafter\number\expandafter\lq #2}% - \else - \errmessage{In \string\chartonum, parameter not a letter, nor a character}% - \fi - \fi -} -{\escapechar=-1 - \expandafter\expandafter\expandafter\gdef - \expandafter\expandafter\expandafter\@lettertonum - \expandafter\string\csname the letter \endcsname#1\@end{#1} - \expandafter\expandafter\expandafter\gdef - \expandafter\expandafter\expandafter\@chartonum - \expandafter\string\csname the character \endcsname#1\@end{#1} -} -\let\zhs@tmpchar\relax -\def\zhs@skipspaces{\futurenonspacelet\zhs@tmpchar\zhs@skipsp@ces} -\def\zhs@skipsp@ces{% - %\expandafter\mydbgmessage\expandafter{\meaning\zhs@tmpchar}% - \ifcat a\noexpand\zhs@tmpchar % catcode 11 - \zhs@testskipenzh - \else - \ifcat !\noexpand\zhs@tmpchar % catcode 12 - \zhs@testskipenzh - \else - \ifcat $\noexpand\zhs@tmpchar % catcode 3 - \skipenzh\relax - \fi - \fi - \fi -} -\def\zhs@tmpnum{-1} -\def\ifzhs@isvalidchar#1??#2\ok{\if!#2!} -\def\zhs@testskipenzh{% - \chartonum\zhs@tmpchar\zhs@tmpnum - \expandafter\ifzhs@isvalidchar\zhs@tmpnum??\ok - \edef\zhs@tmpnum{\the\XeTeXcharclass\zhs@tmpnum}% - \else - \edef\zhs@tmpnum{\getclassnum{cjkextb}}% - \fi - \ifnum\zhs@tmpnum = \getclassnum{alphanum}% - \skipenzh\relax - \else - \ifnum\zhs@tmpnum = \getclassnum{hanzi}% - \skipzh\relax - \else - \ifnum\zhs@tmpnum = \getclassnum{closefw}% - %\getinterclasstoks{hanzi}{closefw}% - \zhnobreak - \else - \ifnum\zhs@tmpnum = \getclassnum{halfstop}% - %\getinterclasstoks{hanzi}{halfstop}% - \zhnobreak - \else - \ifnum\zhs@tmpnum = \getclassnum{fullstop}% - \zhnobreak - \else - \ifnum\zhs@tmpnum = \getclassnum{openfw}% - \zhnobreak\skipnegzhlinestartopen\relax % compensate - \else - \ifnum\zhs@tmpnum = \getclassnum{cjkexta}% - \skipzh\relax - \else - \ifnum\zhs@tmpnum = \getclassnum{cjkextb}% - \skipzh\relax - \fi - \fi - \fi - \fi - \fi - \fi - \fi - \fi -} -\def\zhs@aftermathskip{% - \ifnum\lastnodetype=10 % math node - \skipenzh\relax - \fi -} -% Character class settings. -\input myclass.sty -% three base classes: boundary, halfwidth and fullwidth -\newclass{boundary} -\setclassnum{boundary}{255} -\newclass{halfwidth} -\newclass{fullwidth} -\setinterclasstoks{boundary}{fullwidth}{\mydbgmessage{^^JZ}\zhs@savefont\zhfont} -\setinterclasstoks{fullwidth}{boundary}{\mydbgmessage{^^Jz}\zhs@restorefont\ignorespaces} -\setinterclasstoks{halfwidth}{fullwidth}{\mydbgmessage{^^JP}\zhs@savefont\zhfont} -\setinterclasstoks{fullwidth}{halfwidth}{\mydbgmessage{^^Jp}\zhs@restorefont} -% derived class alphanum and hanzi -\newclass[halfwidth]{alphanum} -\setclassnum{alphanum}{0} -\newclass[fullwidth]{hanzi} -\setclassnum{hanzi}{1} -\setinterclasstoks{hanzi}{hanzi}{\skipzh\relax} -%\appendinterclasstoks{alphanum}{hanzi}{\mydbgmessage{^^JQ}\skipenzh\relax} -%\prependinterclasstoks{hanzi}{alphanum}{\mydbgmessage{^^Jq}\skipenzh\relax} -\setinterclasstoks{alphanum}{hanzi}{\mydbgmessage{^^JQ}\skipenzh\relax\zhs@savefont\zhfont} -\setinterclasstoks{hanzi}{alphanum}{\mydbgmessage{^^Jq}\zhs@restorefont\skipenzh\relax} -\setinterclasstoks{hanzi}{boundary}{\mydbgmessage{^^Ji}\zhs@restorefont\zhs@skipspaces} -\setinterclasstoks{boundary}{hanzi}{\mydbgmessage{^^JI}\zhs@aftermathskip\zhs@savefont\zhfont} -% derived class from fullwidth -\newclass[fullwidth]{openfw} % ‘, (, etc -\setclassnum{openfw}{2} -\newclass[fullwidth]{closefw} % ’, ), etc -\setclassnum{closefw}{3} -\newclass[fullwidth]{halfstop} % ,, , etc -\setclassnum{halfstop}{4} -\newclass[fullwidth]{fullstop} % 。 etc -\setclassnum{fullstop}{10} -\newclass[fullwidth]{fwpunct} % extra fullwidth punctuations -\setclassnum{fwpunct}{7} -% patterns -\def\zhs@punct@inter#1{% - \zhnobreak\csname skipzhinter#1\endcsname\relax -} -\def\zhs@leftpunct@after#1{% - \allowbreak\csname skipzh#1\endcsname\nobreak\csname skipnegzhlinestart#1\endcsname\vadjust{}\zhnobreak\csname skipzhlinestart#1\endcsname\relax -} -\def\zhs@leftpunct@after@boundary#1{% - \zhnobreak\csname skipzhlinestart#1\endcsname\relax -} -\let\zhs@tmp\relax -\def\zhs@leftpunct@before@boundary#1{\def\zhs@tmp{#1}\futurenonspacelet\zhs@tmpchar\zhs@leftpunct@before@boundary@} -\def\zhs@leftpunct@before@boundary@{% - %\mydbgmessage{left punct before boundary}% - %\expandafter\mydbgmessage\expandafter{\meaning\zhs@tmpchar}% - \ifcat a\noexpand\zhs@tmpchar % catcode 11 - \zhs@leftpunct@before@boundary@@ - \else - \ifcat !\noexpand\zhs@tmpchar % catcode 12 - \zhs@leftpunct@before@boundary@@ - \fi - \fi -} -\def\zhs@leftpunct@before@boundary@@{% - \chartonum\zhs@tmpchar\zhs@tmpnum - \expandafter\ifzhs@isvalidchar\zhs@tmpnum??\ok - \edef\zhs@tmpnum{\the\XeTeXcharclass\zhs@tmpnum}% - \else - \edef\zhs@tmpnum{\getclassnum{cjkextb}}% - \fi - \zhs@tmp -} -\def\zhs@leftpunct@after@right#1#2{% - \zhnobreak\csname skipzhlineend#2\endcsname\allowbreak\csname skipnegzhlineend#2\endcsname\csname skipzhinter#2\endcsname\csname skipzhinter#1\endcsname\csname skipnegzhlinestart#1\endcsname\vadjust{}\zhnobreak\csname skipzhlinestart#1\endcsname\relax -} -\def\zhs@rightpunct@before#1{% - \zhnobreak\csname skipzhlineend#1\endcsname\allowbreak\csname skipnegzhlineend#1\endcsname\csname skipzh#1\endcsname\relax -} -\def\zhs@rightpunct@before@boundary#1{\def\zhs@tmp{#1}\futurenonspacelet\zhs@tmpchar\zhs@rightpunct@before@boundary@} -\def\zhs@rightpunct@before@boundary@{% - %\mydbgmessage{right punct before boundary}% - %\expandafter\mydbgmessage\expandafter{\meaning\zhs@tmpchar}% - \ifcat a\noexpand\zhs@tmpchar % catcode 11 - \zhs@rightpunct@before@boundary@@ - \else - \ifcat !\noexpand\zhs@tmpchar % catcode 12 - \zhs@rightpunct@before@boundary@@ - \fi - \fi -} -\def\zhs@rightpunct@before@boundary@@{% - \chartonum\zhs@tmpchar\zhs@tmpnum - \expandafter\ifzhs@isvalidchar\zhs@tmpnum??\ok - \edef\zhs@tmpnum{\the\XeTeXcharclass\zhs@tmpnum}% - \else - \edef\zhs@tmpnum{\getclassnum{cjkextb}}% - \fi - \zhs@tmp -} -% open fullwidth punctuation after other characters -\@for\zhs@class:={hanzi,fwpunct,alphanum,halfwidth}\do{%,boundary - \prependinterclasstoks{\zhs@class}{openfw}{\mydbgmessage{^^JA1}\zhs@leftpunct@after{open}} -} -\setinterclasstoks{openfw}{openfw}{\mydbgmessage{^^JA2}\zhs@punct@inter{open}} -\setinterclasstoks{closefw}{openfw}{\mydbgmessage{^^JA3}\zhs@leftpunct@after@right{open}{close}} -\setinterclasstoks{halfstop}{openfw}{\mydbgmessage{^^JA4}\zhs@leftpunct@after@right{open}{halfstop}} -\setinterclasstoks{fullstop}{openfw}{\mydbgmessage{^^JA4}\zhs@leftpunct@after@right{open}{fullstop}} -% close fullwidth punctuation before other characters -\@for\zhs@class:={hanzi,fwpunct,alphanum,halfwidth}\do{%,boundary - \prependinterclasstoks{closefw}{\zhs@class}{\mydbgmessage{^^JB1}\zhs@rightpunct@before{close}} -} -\setinterclasstoks{closefw}{closefw}{\mydbgmessage{^^JB2}\zhs@punct@inter{close}} -\setinterclasstoks{closefw}{halfstop}{\mydbgmessage{^^JB3}\zhs@punct@inter{close}} -\setinterclasstoks{closefw}{fullstop}{\mydbgmessage{^^JB3}\zhs@punct@inter{close}} -% halfstop punctuation before other characters -\@for\zhs@class:={hanzi,fwpunct,alphanum,halfwidth}\do{%,boundary - \prependinterclasstoks{halfstop}{\zhs@class}{\mydbgmessage{^^JC1}\zhs@rightpunct@before{halfstop}} -} -\setinterclasstoks{halfstop}{closefw}{\mydbgmessage{^^Jb2}\zhs@punct@inter{halfstop}} -\setinterclasstoks{halfstop}{halfstop}{\mydbgmessage{^^JC2}\zhs@punct@inter{halfstop}} -\setinterclasstoks{halfstop}{fullstop}{\mydbgmessage{^^JC2}\zhs@punct@inter{halfstop}} -% fullstop punctuation before other characters -\@for\zhs@class:={hanzi,fwpunct,alphanum,halfwidth}\do{%,boundary - \prependinterclasstoks{fullstop}{\zhs@class}{\mydbgmessage{^^JC1}\zhs@rightpunct@before{fullstop}} -} -\setinterclasstoks{fullstop}{closefw}{\mydbgmessage{^^Jb2}\zhs@punct@inter{fullstop}} -\setinterclasstoks{fullstop}{halfstop}{\mydbgmessage{^^JC2}\zhs@punct@inter{fullstop}} -\setinterclasstoks{fullstop}{fullstop}{\mydbgmessage{^^JC2}\zhs@punct@inter{fullstop}} -% open fullwidth punctuation before other characters -\@for\zhs@class:={hanzi,fwpunct,alphanum,halfwidth,closefw,halfstop,fullstop}\do{%,boundary - \prependinterclasstoks{openfw}{\zhs@class}{\mydbgmessage{^^Ja}\zhnobreak} -} -% close fullwidth punctuation after other characters -\@for\zhs@class:={hanzi,fwpunct,alphanum,halfwidth,boundary}\do{% - \prependinterclasstoks{\zhs@class}{closefw}{\mydbgmessage{^^Jb}\zhnobreak} -} -% halfstop punctuation after other characters -\@for\zhs@class:={hanzi,fwpunct,alphanum,halfwidth,boundary}\do{% - \prependinterclasstoks{\zhs@class}{halfstop}{\mydbgmessage{^^Jc}\zhnobreak} -} -% fullstop punctuation after other characters -\@for\zhs@class:={hanzi,fwpunct,alphanum,halfwidth,boundary}\do{% - \prependinterclasstoks{\zhs@class}{fullstop}{\mydbgmessage{^^Jc}\zhnobreak} -} -% boundary special treat -\prependinterclasstoks{boundary}{openfw}{\mydbgmessage{^^JA0}\zhs@leftpunct@after@boundary{open}} -\appendinterclasstoks{closefw}{boundary}{\mydbgmessage{^^JB0}\zhs@rightpunct@before@boundary{% - \ifnum\zhs@tmpnum = \getclassnum{closefw}% - %\getinterclasstoks{closefw}{closefw}% - \zhs@punct@inter{close}% - \else - \ifnum\zhs@tmpnum = \getclassnum{halfstop}% - %\getinterclasstoks{closefw}{halfstop}% - \zhs@punct@inter{close}% - \else - \ifnum\zhs@tmpnum = \getclassnum{fullstop}% - \zhs@punct@inter{close}% - \else - \ifnum\zhs@tmpnum = \getclassnum{openfw}% - %\getinterclasstoks{closefw}{openfw}% - \zhs@leftpunct@after@right{open}{close}% - \zhnobreak\skipnegzhlinestartopen\relax % compensate - \else - \zhs@rightpunct@before{close}% - \fi - \fi - \fi - \fi -}} -\appendinterclasstoks{halfstop}{boundary}{\mydbgmessage{^^JC0}\zhs@rightpunct@before@boundary{% - \ifnum\zhs@tmpnum = \getclassnum{closefw}% - %\getinterclasstoks{halfstop}{closefw}% - \zhs@punct@inter{halfstop}% - \else - \ifnum\zhs@tmpnum = \getclassnum{halfstop}% - %\getinterclasstoks{halfstop}{halfstop}% - \zhs@punct@inter{halfstop}% - \else - \ifnum\zhs@tmpnum = \getclassnum{fullstop}% - \zhs@punct@inter{halfstop}% - \else - \ifnum\zhs@tmpnum = \getclassnum{openfw}% - %\getinterclasstoks{halfstop}{openfw}% - \zhs@leftpunct@after@right{open}{halfstop}% - \zhnobreak\skipnegzhlinestartopen\relax % compensate - \else - \zhs@rightpunct@before{halfstop}% - \fi - \fi - \fi - \fi -}} -\appendinterclasstoks{fullstop}{boundary}{\mydbgmessage{^^JC0}\zhs@rightpunct@before@boundary{% - \ifnum\zhs@tmpnum = \getclassnum{closefw}% - \zhs@punct@inter{fullstop}% - \else - \ifnum\zhs@tmpnum = \getclassnum{halfstop}% - \zhs@punct@inter{fullstop}% - \else - \ifnum\zhs@tmpnum = \getclassnum{fullstop}% - \zhs@punct@inter{fullstop}% - \else - \ifnum\zhs@tmpnum = \getclassnum{openfw}% - \zhs@leftpunct@after@right{open}{fullstop}% - \zhnobreak\skipnegzhlinestartopen\relax % compensate - \else - \zhs@rightpunct@before{fullstop}% - \fi - \fi - \fi - \fi -}} -\appendinterclasstoks{openfw}{boundary}{\mydbgmessage{^^Ja0}\zhs@leftpunct@before@boundary{% - \ifnum\zhs@tmpnum = \getclassnum{openfw}% - %\getinterclasstoks{openfw}{openfw}% - \zhs@punct@inter{open}% - \zhnobreak\skipnegzhlinestartopen\relax % compensate - \fi -}} -% punctuation font change -\@for\zhs@class:={openfw,closefw,halfstop,fullstop,fwpunct}\do{% - \appendinterclasstoks{hanzi}{\zhs@class}{\zhpunctfont} - \appendinterclasstoks{\zhs@class}{hanzi}{\zhfont} - \appendinterclasstoks{boundary}{\zhs@class}{\zhpunctfont} - \appendinterclasstoks{halfwidth}{\zhs@class}{\zhpunctfont} -} -% CJK Ext-A/B support -\newclass[hanzi]{cjkexta} -\setclassnum{cjkexta}{8} -\newclass[hanzi]{cjkextb} -\setclassnum{cjkextb}{9} -\@for\zhs@class:={hanzi,fwpunct,openfw,closefw,halfstop,fullstop,alphanum,halfwidth,boundary}\do{% - \appendinterclasstoks{\zhs@class}{cjkexta}{\zhcjkextafont} - \appendinterclasstoks{\zhs@class}{cjkextb}{\zhcjkextbfont} - \prependinterclasstoks{cjkexta}{\zhs@class}{\zhfont} - \prependinterclasstoks{cjkextb}{\zhs@class}{\zhfont} -} -\setinterclasstoks{cjkexta}{cjkexta}{\skipzh\relax} -\setinterclasstoks{cjkexta}{cjkextb}{\zhcjkextbfont\skipzh\relax} -\setinterclasstoks{cjkextb}{cjkexta}{\zhcjkextafont\skipzh\relax} -\setinterclasstoks{cjkextb}{cjkextb}{\skipzh\relax} -{ -\newcount\n -\n="3400 \loop \ifnum\n<"4E00 \global\XeTeXcharclass\n=8 \advance\n by 1\repeat -\n="20000\loop \ifnum\n<"30000 \global\XeTeXcharclass\n=9 \advance\n by 1\repeat -} -% long fullwidth punctuations -\newclass[fwpunct]{longpunct} % … etc -\setclassnum{longpunct}{5} -\setinterclasstoks{longpunct}{longpunct}{\zhnobreak} -% derived class from halfwidth -\newclass[halfwidth]{hwpunct} % (, ., etc -\setclassnum{hwpunct}{6} - -% Font settings -\ifLaTeX@e - \RequirePackage{fontspec} - \@ifundefined{zhfont}{\newfontfamily\zhfont[BoldFont=SimHei]{SimSun}}{} - \@ifundefined{zhpunctfont}{\newfontfamily\zhpunctfont{SimSun}}{} - \@ifundefined{zhcjkextafont}{\def\zhcjkextafont{\message{CJK Ext-A}}}{} - \@ifundefined{zhcjkextbfont}{\def\zhcjkextbfont{\message{CJK Ext-B}}}{} -\else - \@ifundefined{zhfont}{\font\zhfont="SimSun" at 10pt}{} - \@ifundefined{zhpunctfont}{\font\zhpunctfont="SimSun" at 10pt}{} - \@ifundefined{zhcjkextafont}{\def\zhcjkextafont{\message{CJK Ext-A}}}{} - \@ifundefined{zhcjkextbfont}{\def\zhcjkextbfont{\message{CJK Ext-B}}}{} -\fi - -% code range utils -\newif\ifzhs@result -\newcount\zhs@tmpcnt -\def\@ifnuminrange#1#2#3#4{% #1: num, #2: range with format a->b,c->d - % #3: true block, #4: false block - \zhs@resultfalse - \@for\zhs@range:=#2\do{% - \expandafter\@ifrangecontains\expandafter[\zhs@range]{#1}{\zhs@resulttrue}{}% - }% - \ifzhs@result #3\else #4\fi -} - -\def\@ifrangecontains[#1->#2]#3#4#5{% - \ifnum#3<#1\relax - #5% - \else - \ifnum#3>#2\relax - #5% - \else - #4% - \fi - \fi -} - -\def\@fornuminrange#1:=#2\do#3{% #1: count register, #2: range - \@for\zhs@range:=#2\do{% - \expandafter\@@fornuminrange\expandafter[\zhs@range]{#1}{#3}% - }% -} -\def\@@fornuminrange[#1->#2]#3#4{% - #3=#1% - \loop - \unless\ifnum#3>#2\relax - #4\relax - \advance #3by 1% - \repeat -} - -\def\zhs@hanzirange{% data from unicodeletters.tex - "2E80->"2E99, - "2E9B->"2EF3, - "2F00->"2FD5, - "2FF0->"2FFB, - "3000->"3000, - "3003->"3004, - "3006->"3007, - "3012->"3013, - "3020->"3029, - "3030->"303A, - "303D->"303F, - "3042->"3042, - "3044->"3044, - "3046->"3046, - "3048->"3048, - "304A->"3062, - "3064->"3082, - "3084->"3084, - "3086->"3086, - "3088->"308D, - "308F->"3094, - "309F->"309F, - "30A2->"30A2, - "30A4->"30A4, - "30A6->"30A6, - "30A8->"30A8, - "30AA->"30C2, - "30C4->"30E2, - "30E4->"30E4, - "30E6->"30E6, - "30E8->"30ED, - "30EF->"30F4, - "30F7->"30FA, - "30FF->"30FF, - "3105->"312C, - "3131->"318E, - "3190->"31B7, - "31C0->"31CF, - "3200->"321E, - "3220->"3243, - "3250->"32FE, - "3300->"33FF, - "3400->"4DB5, - "4E00->"9FBB, - "A000->"A014, - "A016->"A48C, - "A490->"A4C6, - "F900->"FA2D, - "FA30->"FA6A, - "FA70->"FAD9, - "FE30->"FE34, - "FE45->"FE46, - "FE49->"FE4F, - "FE51->"FE51, - "FE58->"FE58, - "FE5F->"FE66, - "FE68->"FE68, - "FE6B->"FE6B, - "FF02->"FF03, - "FF06->"FF07, - "FF0A->"FF0B, - "FF0D->"FF0D, - "FF0F->"FF19, - "FF1C->"FF1E, - "FF20->"FF3A, - "FF3C->"FF3C, - "FF3E->"FF5A, - "FF5C->"FF5C, - "FF5E->"FF5E, - "FFE2->"FFE4, - "20000->"2A6D6, - "2F800->"2FA1D -} -\def\zhs@extarange{"3400->"4DB5} -\def\zhs@extbrange{"20000->"2FA1D} - -% set active hanzi for hooking -\def\makehanziglobalactive{% - \@fornuminrange\zhs@tmpcnt:=\zhs@hanzirange\do{% - \global\catcode\zhs@tmpcnt=\active}% -} - -\def\makehanzigloballetter{% - \@fornuminrange\zhs@tmpcnt:=\zhs@hanzirange\do{% - \global\catcode\zhs@tmpcnt=11}% -} - -\def\zhhanzihook#1{{\XeTeXinterchartokenstate=0\zhs@font #1}} - -\def\zhs@h@x#1{\ifcase#1 0\or 1\or 2\or 3\or 4\or 5\or 6\or 7\or 8\or - 9\or A\or B\or C\or D\or E\or F\fi} -\def\zhs@hex#1{\if!#1!\else\ifnum#1<16 \zhs@h@x{#1}\else - \expandafter\zhs@hex\expandafter{\number\numexpr(#1-8)/16}% - \expandafter\zhs@h@x\expandafter{\number\numexpr#1-(#1-8)/16*16}\fi\fi} - -\let\zhs@font\zhfont -\def\enableactivehanzi{% - \def\zhs@@a##1{\zhs@afteralphamathskip - \expandafter\@ifrangecontains\expandafter[\zhs@extarange]{"##1}{\global - \let\zhs@font\zhcjkextafont}{\expandafter\@ifrangecontains - \expandafter[\zhs@extbrange]{"##1}{\global\let\zhs@font\zhcjkextbfont - }{\global\let\zhs@font\zhfont}}% - \zhhanzihook{\char"##1}\zhs@active@lookafter}% - \@fornuminrange\zhs@tmpcnt:=\zhs@hanzirange\do{% - \lccode`\~=\zhs@tmpcnt - \lowercase{\protected\xdef~{\noexpand\zhs@@a{\expandafter\zhs@hex - \expandafter{\number\zhs@tmpcnt}}}}% - }% -} - -\def\zhs@afteralphamathskip{% - \ifhmode - \ifnum\lastnodetype=10 % math node - \skipenzh\relax - \else\ifnum\lastnodetype=0 - \ifnum\spacefactor=999 - \skipenzh - \else\ifnum\spacefactor=1000 - \skipenzh - \fi\fi - \fi\fi - \fi -} - -{\escapechar=-1 - \xdef\zhs@active@ident{\string\zhs@@a} -} -\expandafter\def\expandafter\ifzhs@notactivehanzi\expandafter#\expandafter1% - \zhs@active@ident#2\ok{\if!#2!} -\def\zhs@active@lookafter{\futurenonspacelet\zhs@tmpchar\zhs@active@look@fter} -\def\zhs@active@look@fter{% - %\expandafter\mydbgmessage\expandafter{\meaning\zhs@tmpchar}% - \if\relax\noexpand\zhs@tmpchar % control sequence - \zhs@beforeactivehanziskip - \else - \ifcat a\noexpand\zhs@tmpchar % catcode 11 - \zhs@testskipenzh - \else - \ifcat !\noexpand\zhs@tmpchar % catcode 12 - \zhs@testskipenzh - \else - \ifcat $\noexpand\zhs@tmpchar % catcode 3 - \skipenzh\relax - \fi - \fi - \fi - \fi -} - -\def\zhs@beforeactivehanziskip{% - %\let\zhs@tmp\iffalse % for \if match - \edef\zhs@tmp{\meaning\zhs@tmpchar}% - \expandafter\expandafter\expandafter\ifzhs@notactivehanzi - \expandafter\zhs@tmp\zhs@active@ident\ok - \else - \skipzh\relax - \fi -} - -\def\zhspacing{% - \@for\zhs@char:={`:,`,,`、}\do{\XeTeXcharclass\zhs@char=4} - \@for\zhs@char:={`。,`.,`;}\do{\XeTeXcharclass\zhs@char=10} - \ifzhs@ambiwide - \@for\zhs@char:={`“,`‘}\do{\XeTeXcharclass\zhs@char=2} - \@for\zhs@char:={`”,`’}\do{\XeTeXcharclass\zhs@char=3} - \@for\zhs@char:={`—,`…}\do{\XeTeXcharclass\zhs@char=5} - \else - \@for\zhs@char:={`“,`‘,`”,`’,`—,`…}\do{\XeTeXcharclass\zhs@char=6} - \fi - \@for\zhs@char:={`\!,`\",`\',`\(,`\),`\,,`\-,`\.,`\:,`\;,`\<,`\>,`\?,`\[,`\],`\`,`\{,`\},`\\,`\/}\do{\XeTeXcharclass\zhs@char=6} - \@for\zhs@char:={`℃,`·,`$,`%}\do{\XeTeXcharclass\zhs@char=7} - % clear XeTeX pre-defined toks - \XeTeXinterchartoks 0 1 = {} - \XeTeXinterchartoks 0 2 = {} - \XeTeXinterchartoks 0 3 = {} - \XeTeXinterchartoks 1 0 = {} - \XeTeXinterchartoks 2 0 = {} - \XeTeXinterchartoks 3 0 = {} - \XeTeXinterchartoks 1 1 = {} - \XeTeXinterchartoks 1 2 = {} - \XeTeXinterchartoks 1 3 = {} - \XeTeXinterchartoks 2 1 = {} - \XeTeXinterchartoks 2 2 = {} - \XeTeXinterchartoks 2 3 = {} - \XeTeXinterchartoks 3 1 = {} - \XeTeXinterchartoks 3 2 = {} - \XeTeXinterchartoks 3 3 = {} - \registerXeTeXclasstoks - \XeTeXinterchartokenstate=1\relax - \ifLaTeX@e - \setbox0=\hbox{\normalsize\def\zhs@tmp{\kern 2em}\zhs@tmp}% - \parindent=\wd0 - \else - \parindent=2em\relax - \fi - \message{zhspacing installed.^^J} -} - -\fi diff --git a/Master/texmf-dist/doc/latex/lshort-chinese/src/zhulem.sty b/Master/texmf-dist/doc/latex/lshort-chinese/src/zhulem.sty deleted file mode 100644 index 86365e380ab..00000000000 --- a/Master/texmf-dist/doc/latex/lshort-chinese/src/zhulem.sty +++ /dev/null @@ -1,18 +0,0 @@ -% zhulem.sty coded by YIN Dian -% Fix compatibility problem with ulem -% Hist: 070822 Changed \UL@reskip and \UL@@penalty, able to work. -\NeedsTeXFormat{LaTeX2e}[1996/12/01] -\def\fileversion{0.4} -\def\filedate{2007/08/22} -\ProvidesPackage{zhulem}[\filedate\space\fileversion] -\RequirePackage{ulem}[2000/05/26] -%\let\zhulem@printfont\zhs@printf@nt -\def\zhulem@printfont#1{} -\def\UL@reskip{\zhs@savef@nt{tmp}\UL@stop \zhulem@printfont{tmp}\UL@leaders - \UL@start\zhs@restoref@nt{tmp}} -\def\UL@@penalty{\LA@penalty \ifnum\count@=\z@ - \@ne \else \count@ \fi % zero penalty => no penalty, so use 1 instead. - \zhs@savef@nt{tmp}\UL@stop \zhulem@printfont{tmp}\UL@start - \zhs@restoref@nt{tmp}} - -\endinput -- cgit v1.2.3