diff options
Diffstat (limited to 'info/lshort/chinese/src/chap/chap.05.style.tex')
-rw-r--r-- | info/lshort/chinese/src/chap/chap.05.style.tex | 96 |
1 files changed, 51 insertions, 45 deletions
diff --git a/info/lshort/chinese/src/chap/chap.05.style.tex b/info/lshort/chinese/src/chap/chap.05.style.tex index 460dd7c81c..e7e48e70b4 100644 --- a/info/lshort/chinese/src/chap/chap.05.style.tex +++ b/info/lshort/chinese/src/chap/chap.05.style.tex @@ -126,7 +126,7 @@ He likes {\LARGE large and 幸好大部分时候,许多字体宏包为我们完成了整套配置,我们可以在调用宏包之后,照常使用 \cmd{bfseries} 或 \cmd{ttfamily} 等我们熟悉的命令。 表 \ref{tbl:font-pkgs} 列出了较为常用的字体宏包,其中相当多的宏包还配置了数学字体,或者文本、数学字体兼而有之。 -更多的的字体配置参考 \cite{survey,fontcatalogue}。 +更多的字体配置参考 \cite{survey,fontcatalogue}。 \subsection{字体编码}\label{subsec:font-encs} @@ -154,7 +154,7 @@ He likes {\LARGE large and \caption{常见的 \LaTeX{} 字体宏包}\label{tbl:font-pkgs} \begin{tabular}{lp{30em}} \hline - \multicolumn{2}{c}{\textbf{文本 / 数学字体搭配的宏包}} \\ + \multicolumn{2}{c}{\textbf{文本/数学字体搭配的宏包}} \\ \hline \pkg{lmodern} & Latin Modern 字体,对 Computer Modern 字体的扩展 \\ \pkg{cmbright} & 仿 Computer Modern 风格的无衬线字体 \\ @@ -167,8 +167,8 @@ He likes {\LARGE large and \pkg{newpxtext},\pkg{newpxmath} & \pkg{pxfonts} 的改进版本,分别设置文本和数学字体 \\ \pkg{mathptmx} & \pkg{psnfss} 字体宏集之一,Times 风格,较为陈旧,不推荐使用 \\ \pkg{mathpazo} & \pkg{psnfss} 字体宏集之一,Palatino 风格,较为陈旧,不推荐使用 \\ - \pkg{fourier} & fourier 风格数学字体,配合 Utopia 正文字体 \\ - \pkg{fouriernc} & fourier 风格数学字体,配合 New Century Schoolbook 正文字体 \\ + \pkg{fourier} & Fourier 风格数学字体,配合 Utopia 正文字体 \\ + \pkg{fouriernc} & Fourier 风格数学字体,配合 New Century Schoolbook 正文字体 \\ \pkg{arev} & Arev 无衬线字体宏包,Vera Sans 风格 \\ \pkg{mathdesign} & 配合 Charter / Garamond / Utopia 正文字体的数学字体宏包 \\ \hline @@ -212,14 +212,15 @@ He likes {\LARGE large and \cmd{setsansfont}\marg{font name}\oarg{font features} \\ \cmd{setmonofont}\marg{font name}\oarg{font features} \end{command} -其中 \Arg{font name} 使用字体的文件名(带扩展名)或者字体的英文名称。\Arg{font features} 用来手动配置对应的粗体或斜体 -,比如为 Windows 下的无衬线字体 Arial 配置粗体和斜体(通常情况下自动检测并设置对应的粗体和斜体,无需手动指定): +其中 \Arg{font name} 使用字体的文件名(带扩展名)或者字体的英文名称。\Arg{font features} 用来 +手动配置对应的粗体或斜体,比如为 Windows 下的无衬线字体 Arial 配置粗体和斜体(通常情况下自动检测 +并设置对应的粗体和斜体,无需手动指定): \begin{verbatim} -\setsansfont[BoldFont={Arial Bold}, ItalicFont={Arial Italic}]{Arial} +\setsansfont{Arial}[BoldFont={Arial Bold}, ItalicFont={Arial Italic}] \end{verbatim} \Arg{font features} 还能配置字体本身的各种特性,这里不再赘述,感兴趣的读者请参考 \pkg{fontspec} 宏包的帮助文档。 -需要注意的是:\pkg{fontspec} 宏包会覆盖数学字体设置。需要调用表 \ref{tbl:font-pkgs} 中列出的一些数学字体宏包时, +需要注意的是,\pkg{fontspec} 宏包会覆盖数学字体设置。需要调用表 \ref{tbl:font-pkgs} 中列出的一些数学字体宏包时, 应当在调用 \pkg{fontspec} 宏包时指定 \texttt{no-math} 选项。\pkg{fontspec} 宏包可能被其它宏包或文档类(如 \pkg{ctex} 文档类)自动调用时, 则在文档开头的 \cmd{document\-class} 命令里指定 \texttt{no-math} 选项。 @@ -253,9 +254,7 @@ Unicode 数学字体是一类 OpenType 字体,包含了 Unicode 字符集中 \cmd{setmathfont}\marg{font name}\oarg{font features} \end{command} -绝大多数时候,只需要给定字体名称 \Arg{font name} 即可。由于篇幅所限,在此不介绍可选参数 \Arg{font feature} 涉及的配置,有兴趣的读者请参考宏包的帮助文档。 - -Unicode 数学字体相比于正文字体的选择余地不多。表 \ref{tbl:uni-math-fonts} 给出了较为常用的 Unicode 数学字体。 +绝大多数时候,只需要给定字体名称 \Arg{font name} 即可。由于篇幅所限,在此不介绍可选参数 \Arg{font feature} 涉及的配置,有兴趣的读者请参考宏包的帮助文档。Unicode 数学字体相比于正文字体的选择余地不多。表 \ref{tbl:uni-math-fonts} 给出了较为常用的 Unicode 数学字体。 \begin{table}[htp] \centering\small @@ -263,27 +262,31 @@ Unicode 数学字体相比于正文字体的选择余地不多。表 \ref{tbl:un \label{tbl:uni-math-fonts} \begin{tabular}{llp{20em}} \hline -\textbf{数学字体名称} & \textbf{配套正文字体名称} & \textbf{备注}\\ +\textbf{数学字体名称} & \textbf{配套正文字体名称} & \textbf{备注} \\ \hline \multicolumn{3}{c}{开源字体,发布于 CTAN} \\ \hline -\texttt{Latin Modern Math} & \texttt{Latin Modern} & 基于 Computer Modern 风格 \\ -\texttt{STIX Math} & \texttt{STIX} & Times 风格 \\ -\texttt{XITS Math} & \texttt{XITS} & 基于 STIX,Times 风格,有粗体 XITS Math Bold 可用 \\ -\texttt{TeX Gyre Pagella Math} & \texttt{TeX Gyre Pagella} & Palatino 风格 \\ -\texttt{TeX Gyre Termes Math} & \texttt{TeX Gyre Termes} & Times 风格 \\ -\texttt{Libertinus Math} & \texttt{Libertinus} & Linux Libertine 风格 \\ -\texttt{Fira Math} & \texttt{Fira Sans} & 无衬线数学字体 \\ +Latin Modern Math & Latin Modern & 基于 Computer Modern 风格 \\ +STIX Math & STIX & Times 风格 \\ +XITS Math & XITS & 基于 STIX,Times 风格,有粗体 XITS Math Bold 可用 \\ +TeX Gyre Pagella Math & TeX Gyre Pagella & Palatino 风格 \\ +TeX Gyre Termes Math & TeX Gyre Termes & Times 风格 \\ +TeX Gyre DejaVu Math & DejaVu Serif & DejaVu 风格 \\ +Libertinus Math & Libertinus & Linux Libertine 风格 \\ +Garamond Math & EB Garamond & Garamond 风格 \\ +Fira Math & Fira Sans & 无衬线数学字体 \\ \hline \multicolumn{3}{c}{商业字体} \\ \hline -\texttt{Cambria Math} & \texttt{Cambria} & 较新版本的微软 Office 预装数学字体 \\ -\texttt{Lucida Bright Math OT} & \texttt{Lucida Bright OT} & 须购买商业授权 \\ -\texttt{Minion Math} & \texttt{Minion Pro} & 须购买商业授权 \\ +Cambria Math & Cambria & 微软 Office 预装的数学字体 \\ +Lucida Bright Math OT & Lucida Bright OT & 须购买商业授权 \\ +Minion Math & Minion Pro & 须购买商业授权 \\ \hline \end{tabular} \end{table} +\pkg{unicode-math} 宏包与传统数学字体、符号包并不兼容,但其本身已经提供了大量的符号和字体样式。实际上,\ref{subsec:math-alpha} 和 \ref{subsec:math-bold} 小节中介绍的内容均已被 \pkg{unicode-math} 所涵盖,无需调用其他宏包就可以获得覆盖完整、风格较为统一的字体样式。具体使用方法请参考宏包帮助文档。 + \section{文字装饰和强调}\label{sec:emphasize} 强调文字的方法,或者是添加下划线等装饰物,或者是改变文字的字体。 @@ -552,52 +555,55 @@ but it also breaks the line. \pkgindex{geometry} \pinyinindex{xuanxiang}{选项(宏包/文档类)} -\pkg{geometry} 宏包的调用方式类似于 \pkg{graphicx},在 \texttt{latex} + \texttt{dvipdfmx} 命令下需要指定选项 \texttt{dvipdfm} -(注意这里不是 \texttt{dvipdfmx});\texttt{pdflatex} 和 \texttt{xelatex} 编译命令下不需要。 +\pkg{geometry} 宏包的调用方式类似于 \pkg{graphicx},在 \texttt{latex} + \texttt{dvipdfmx} 命令下 +需要指定选项 \texttt{dvipdfm} 或 \texttt{dvipdfmx}% +\footnote{早期版本的 \pkg{geometry} 宏包仅支持 \texttt{dvipdfm} 选项。}; +\texttt{pdflatex} 和 \texttt{xelatex} 编译命令下不需要。 \cmdindex[geometry]{geometry} -你既可以调用 \pkg{geometry} 宏包然后用其提供的 \cmd{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 英寸,于是我们可以通过如下两种等效的方式之一设定页边距: +比如,符合 Microsoft Word 习惯的页面设定是 A4 纸张,上下边距 1 英寸,左右边距 1.25 英寸,于是我们 +可以通过如下两种等效的方式之一设定页边距: \begin{verbatim} -\usepackage[left=1.25in,right=1.25in,% - top=1in,bottom=1in]{geometry} +\geometry{a4paper,left=1.25in,right=1.25in,top=1in,bottom=1in} % or like this: -\usepackage[hmargin=1.25in,vmargin=1in]{geometry} +\geometry{a4paper,hmargin=1.25in,vmargin=1in} \end{verbatim} -又比如,需要设定周围的边距一致为1.25英寸,可以用更简单的语法: +又比如,需要设定周围的边距一致为 1.25 英寸,可以用更简单的语法: \begin{verbatim} -\usepackage[margin=1.25in]{geometry} +\geometry{margin=1.25in} \end{verbatim} -对于书籍等双面文档,习惯上奇数页右边、偶数页左边留出较多的页边距,而书脊一侧的奇数页左边、偶数页右边页边距较少。我们可以这样设定: +对于书籍等双面文档,习惯上奇数页右边、偶数页左边留出较大的页边距,而靠近书脊一侧的奇数页左边、 +偶数页右边页边距较小。我们可以这样设定: \begin{verbatim} -\usepackage[inner=1in,outer=1.25in]{geometry} +\geometry{inner=1in,outer=1.25in} \end{verbatim} -\pkg{geometry} 宏包本身也能够修改纸张大小、页眉页脚高度、边注宽度等等参数。更详细的用法不再赘述, -感兴趣的用户可查阅 \pkg{geometry} 宏包的帮助文档。 +需要指出的是,通过 \pkg{geometry} 宏包设置的纸张大小是输出 PDF 文件的真实大小,而在文档类选项中 +设置的参数(见 \ref{subsec:classes} 小节)实际上只影响输出区域。\pkg{geometry} 宏包还能够修改 +页眉页脚高度、边注宽度等参数,并且能比较好地处理各参数之间的依赖关系。更详细的用法不再赘述,感兴趣 +的用户可查阅其帮助文档。 \subsection{页面内容的垂直对齐}\label{subsec:raggedbottom} -\LaTeX{} 默认将页面内容在垂直方向分散对齐。对于有大量图表的文档,许多时候想要做到排版匀称的页面很困难, -垂直分散对齐会造成某些页面的垂直间距过宽,还可能报大量的 \texttt{Underfull} \cmd{vbox} 消息。 +\LaTeX{} 默认将页面内容在垂直方向分散对齐。对于有大量图表的文档,许多时候想要做到排版匀称的页面 +很困难,垂直分散对齐会造成某些页面的垂直间距过宽,还可能报大量的 \verb|Underfull \vbox| 警告。 \LaTeX{} 还提供了另一种策略:将页面内容向顶部对齐,给底部留出高度不一的空白。 \cmdindex{raggedbottom, flushbottom} -以下命令分别令页面在垂直方向向顶部对齐 / 分散对齐: +以下命令分别令页面在垂直方向向顶部对齐/分散对齐: \begin{command} \cmd{raggedbottom} \\ \cmd{flushbottom} @@ -678,8 +684,8 @@ but it also breaks the line. \begin{description} \item[\cls{article} 文档类,\texttt{twoside} 选项] 偶数页为页码和节标题,奇数页为小节标题和页码; \item[\cls{article} 文档类,\texttt{oneside} 选项] 页眉为节标题和页码; - \item[\cls{book/report} 文档类,\texttt{twoside} 选项] 偶数页为页码和章标题,奇数页为节标题和页码; - \item[\cls{book/report} 文档类,\texttt{oneside} 选项] 页眉为章标题和页码。 + \item[\cls{report} / \cls{book} 文档类,\texttt{twoside} 选项] 偶数页为页码和章标题,奇数页为节标题和页码; + \item[\cls{report} / \cls{book} 文档类,\texttt{oneside} 选项] 页眉为章标题和页码。 \end{description} \cmdindex{pagenumbering} @@ -718,7 +724,7 @@ but it also breaks the line. \markright{\thesection\quad #1}} \end{verbatim} -其中 \cmd{thechapter}、\cmd{thesection} 等命令为章节计数器的数值(详见 \ref{sec:counters} 节)。以上代码适用于 \cls{report/book} 文档类。 +其中 \cmd{thechapter}、\cmd{thesection} 等命令为章节计数器的数值(详见 \ref{sec:counters} 节)。以上代码适用于 \cls{report} / \cls{book} 文档类。 对于 \cls{article} 文档类,与两个页眉相关的命令分别为 \cmd{sec\-tion\-mark} 和 \cmd{sub\-sec\-tion\-mark}。 \subsection{\pkg{fancyhdr} 宏包}\label{subsec:fancyhdr} @@ -734,7 +740,7 @@ but it also breaks the line. \cmd{fancyhead}\oarg{position}\marg*{\ldots}\\ \cmd{fancyfoot}\oarg{position}\marg*{\ldots} \end{command} -其中 \Arg{position} 为 L(左)/C(中)/R(右) 以及与 O(奇数页)/E(偶数页)字母的组合。\cmd{fancyhf} 用于同时定义页眉和页脚, +其中 \Arg{position} 为 L(左)/C(中)/R(右)以及与 O(奇数页)/E(偶数页)字母的组合。\cmd{fancyhf} 用于同时定义页眉和页脚, 习惯上使用 \cmd{fancyhf}\marg*{} 来清空页眉页脚的设置。 源代码 \ref{code:fancyhdr} 给出了 \pkg{fancyhdr} 基础用法的一个示例,效果为将章节标题放在和 headings 一致的位置,但使用加粗格式; |