字符、断行、断页

字符、断行、断页

Latex中的字符

空格和分段

空格

空格键和Tab键输入的空白字符视为“空格”。连续的若干个空白字符视为一个空格。一行开头的空格忽略不计。行末的换行符视为一个空格,此时换行与另起一段是不同的。

分段

但连续两个换行符,也就是空行,会将文字分段。多个空行被视为一个空行。也可以在行末使用\par命令分段。

注释

LATEX用**%**字符作为注释。在这个字符之后直到行末,所有的字符都被忽略,行末的换行符也不引入空格

特殊符号

以下字符在LATEX里有特殊用途,如%表示注释,$、^、_等用于排版数学公式,&用于排版表格,等等。直接输入这些字符得不到对应的符号,还往往会出错:

#$%&{}_^~\
\#\$\%\&\{\}\_\^{}\~{}\textbackslash

其中^和~两个命令需要一个参数,加一对花括号的写法相当于提供了空的参数,否则它们可能会将后面的字符作为参数,形成重音效果。

\\被直接定义成了手动换行的命令,输入反斜线就需要用\textbackslash。(在markdown语法中可以使用两个反斜线表示一个反斜线)

连字

西文排版中经常会出现连字(ligatures),常见的有ff/fi/fl/ffi/ffl。可以在两个字符之间插入{}来阻止连字的出现,如f{}f{}i

标点符号

中文的标点符号(绝大多数为非ASCII字符)使用中文输入法输入即可,一般不需要过多留意。而输入西文标点符号时,有不少地方需要留意。

引号

LTEX中单引号‘和’分别用`和’输入;双引号输入两个就("可以输入后双引号,但没有直接输入前双引号的字符,习惯上用’'输入以和``更好地对应)。

中文的引号‘’和“”与西文的引号实际上是同一组符号。

连字号和破折号

LTEX中有三种长度的“横线”可用:连字号(hyphen)、短破折号(en-dash)和长破折号(em-dash)。它们分别有不同的用途:连字号-用来组成复合词;短破折号–用来连接数字表示范围;长破折号—用来连接单词,语义上类似中文的破折号。

daughter-in-law,X-rated\\
pages13--67\\
yes---orno?
省略号

LATEX提供了\ldots命令表示省略号,相对于直接输入三个点的方式更为合理。\dots\ldots命令等效。

断行和断页

LATEX将文字段落在合适的位置进行断行,尽可能做到每行的疏密程度匀称,单词间距不会过宽或过窄。文字段落和公式、图表等内容从上到下顺序排布,并在合适的位置断页,分割成匀称的页面。在绝大多数时候,我们无需自己操心断行和断页。但偶尔会遇到需要手工调整的地方。

断行

特定位置断行的禁用

在西文排版实践中,断行的位置优先选取在两个单词之间,也就是在源代码中输入的“空格”。“空格”本身通常生成一个间距,它会根据行宽和上下文自动调整,文字密一些的地方,单词间距就略窄,反之略宽。

文字在单词间的“空格”处断行时,“空格”生成的间距随之舍去。我们可以使用字符~输入一个不会断行的空格),通常用在英文人名、图表名称等上下文环境:

Fig.~2a\\
Donald~E. Knuth
手动断行
\\[⟨length⟩]
\\*[⟨length⟩]
\newline

它们有两点区别:一是\\可以带可选参数⟨length⟩,用于在断行处向下增加垂直间距),而\newline不带可选参数;二是\\也在表格、公式等地方用于换行,而\newline只用于文本段落中。带星号的\\表示禁止在断行处分页。

另外需要注意的是,使用\\断行命令不会令内容另起一段,而是在段落中直接开始新的一行。

词中断行

如果LATEX遇到了很长的英文单词,仅在单词之间的“空格”处断行无法生成疏密程度匀称的段落时,就会考虑从单词中间断开。对于绝大多数单词,LATEX能够找到合适的断词位置,在断开的行尾加上连字符-

如果一些单词没能自动断词,我们可以在单词内手动使用\-命令指定断词的位置:

Ithinkthisis:su\-per\-cal\-%注释符号后的换行不引入空格
i\-frag\-i\-lis\-tic\-ex\-pi\-%
al\-i\-do\-cious.

手动断页

\newpage
\clearpage

通常情况下两个命令都起到另起一页的作用,区别在于:第一,在双栏排版模式中\newpage起到另起一栏的作用,\clearpage则能够另起一页;第二,在涉及浮动体的排版上行为不同。

优先级断行、断页

有时候我们不满足于LATEX默认的断行和断页位置,需要进行微调,可以用以下命令告诉LATEX哪些地方适合断行或断页,哪些地方不适合:

\linebreak[⟨n⟩] \nolinebreak[⟨n⟩]
\pagebreak[⟨n⟩] \nopagebreak[⟨n⟩]

以上命令都带一个可选参数,用数字⟨n⟩代表适合/不适合的程度,取值范围为0–4,不带可选参数时,缺省为4。比如\linebreak或者\linebreak[4]意味着此处需要强行断行;\nopagebreak\nopagebreak[4]意味着禁止在此处断页。

以上命令适合给出优先考虑断行断页/禁止断行断页的位置,但不适合直接拿来断行或断页,使用\newline\newpage等命令是更好的选择。因为\newline\newpage会在断行/断页位置填充适当的间距,但\linebreak\pagebreak不能,使用这些命令强行断行/断页可能会制造出糟糕的排版效果,并导致LATEX报Underfull \hbox等警告。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值