博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
02 字斟句酌
阅读量:5036 次
发布时间:2019-06-12

本文共 2544 字,大约阅读时间需要 8 分钟。

字斟句酌

字母到单词

下面看看特殊字符的使用

\documentclass{article}%\usepackage{ctex}  不要同时使用这个包,否则会出错误,我也不知道为什么\usepackage [greek,english]{babel}\begin{document}    \textgreek{abcde}\end{document}
1511360-20190522090627344-396843009.png

\(\LaTeX​\)在排版中会将单词中的一些字母连写为一个符号,即连字(ligature)。连字的有无和多少一般是由使用的字体决定的,在默认的Computer Modern或Latin Modern字体中,小写字母组合ff,fi,fl,ffi,ffl都有连字:

differ find flight difficlut ruffle
1511360-20190522090707978-1594698986.png

偶尔出于意义或美观的考虑,需要取消连字。此时可以使用空的分组,或借用\/命令

dif\/fer f\/ind
1511360-20190522090729402-1011599852.png

我试验了一下,发现空的分组没有什么效果,所以自己以后还是不要用空的分组。

\,命令产生很小的间距,注意\(\LaTeX\)并不会忽略以符号命名的宏前后的空格,所以在它前后都不要加多余的空格。

标点符号

除了在数学模式中表示减号,符号-在\(\LaTeX​\)正文中也有多种用途:单独使用时它是连字符(hyphen);两个连用(--),是en dash,用来表示数字范围;三个连用(---),是em dash,即破折号

------
1511360-20190522090809581-392508655.png

西文的省略号(ellipsis)使用\ldots或\dots命令产生,相比直接输入三个句号,它所略微拉开的间距要合理得多:

Good: One, two, three\ldots     Bad: One, two, three...
1511360-20190522090834331-1923824900.png

\ldots与\dots命令在正文中是等价的,它们会在每个点后面增加一个小的间距,因而直接在\ldots后面再加逗号、句号、叹号等标点,也能得到正确的间距。

标准键盘上不能直接录入的标点符号有10个,它们占据了主键盘上面一排的一大半:

~ # $ % ^ & { } _  \

它们都有特殊作用,其中的许多我们已经熟知:数学模式符号$、注释符%、上标^、分组{}、宏命令。剩下的符号中,~是带子,#用在宏定义中,&用于表格对齐,而_表示数学模式的下标,要在正文中使用这些符号,大部分是在前面加,只有个别例外:

\# \quad \$ \quad \% \quad \& \quad \{ \quad \} \quad \_ \quad \textbackslash
1511360-20190522090900681-62982658.png

文本中的空格起分隔单词的作用,任意多个空格与一个空格的功能相同;只有字符后面的空格是有效的,每行最前面的空格则被忽略,这样有利于复杂代码的对齐;单个换行也被看做是一个空格。

This is       a shortsentence.   This is           another.
1511360-20190522090935164-242612620.png

以字母命名的宏,后面空格会被忽略。如果需要在命令后面使用空格,可以使用 ,它表示两个普通单词间的空格距离;也可以在命令后加一个空的分组{},有时也可以把命令用一个分组包裹起来:

Happy \TeX ing. Happy \TeX\ ing.    Happy \TeX{} ing. Happy \TeX ing.
1511360-20190522090959096-718186565.png

西文的逗号、句号、分号等标点后面应该加空格,这不仅能保证正确的间距,也能保证正确的换行。这是因为标点后如果没有空格,就不能换行\(\LaTeX\)在西文句末(包括句号.问号?和叹号!)后面使用的距离会比单词间的距离大些,这在上面的例子中已经可以看到。更确切地说,\(\LaTeX\)把大写字母后的点看做是缩写标记,把小写字母后的点看做是句子结束,并对它们使用不同的间距;但偶尔也有大写字母结束的句子,或小写字母的缩写,这时就必须明确告诉\(\LaTeX​\)使用普通单词间的空格 ,或用@.指明.是大写字母后的句末。

有时也需要整体禁止这种在标点后的不同的间距,法语排版的习惯就是如此。此时可以使用\frenchspacing命令来禁止标点后的额外间距。

汉字后的空格会被忽略。使用xelatex编译中文文档时,汉字和其他内容之间如果没有空格,xeCJK宏包会自动添加。还有时需要完全禁用汉字与其他内容之间的空格(例如在本书所有\(\LaTeX\)代码中),这时可以使用\CJKsetecglue手工设置汉字与其他内容之间的内容为空(默认是一个空格):

\CJKsetecglue{}

在空格之中,最神奇的一种可能就是被称为幻影(phantom)的空格。幻影命令\phantom有一个参数,作用是产生与参数内容一样大小的空盒子,没有内容,就像是参数的一个幻影一样。偶尔可以使用幻影完成一些特殊的占位和对齐效果:

幻影\phantom{参数}速速隐形    幻影参数速速显形
1511360-20190522091033643-1271056782.png

空行,即用连续两个换行表示分段,段与段之间会自动得到合适的缩进。任意多个空行与一个空行的效果相同。分段也可以用\par命令生成,这种用法一般只在命令或环境定义的内部使用,而普通行文中不宜出现。与连续的空行类似,连续的\par命令也只产生一次分段效果。除了分段,也可以让\(\LaTeX\)直接另起一行,并不分段。有两种相关的命令:\\命令直接另起一行,上一行保持原来的样子;而\linebreak则指定一行的断点,上一行仍按完整一行散开对齐:

这是一行文字\\另一行    这是一行文字\linebreak 另一行
1511360-20190522091059728-433584411.png

\\命令可以带一个可选的长度参数,表示换行后增加的额外垂直间距。如\\[2cm]。因此必须注意在命令\\后面如果确实需要使用方括号(即使括号在下),则应该在\\后面加空的分组以示分隔,否则会发生错误,这种情况在数学公式中非常常见:

\usepackage{amsmath}\begin{align*}    [2 - (3+5)]\times 7 &= 42 \\{}    [2 + (3-5)]\times7 &= 0\end{align*}
1511360-20190522091122412-1288400497.png

转载于:https://www.cnblogs.com/LastKnight/p/10903853.html

你可能感兴趣的文章
在python包管理中使用easy_install软件的步骤
查看>>
JS笔记一:动态修改css样式
查看>>
一道关于数组的前端面试题
查看>>
为何要有交叉编译
查看>>
Retrotranslator使用简介(JDK1.5->1.4)
查看>>
Qss All
查看>>
C# 以ThreadStart方式实现多线程
查看>>
查询近一个月的表空间使用情况
查看>>
PTM人员(产品技术经理)
查看>>
Delphi 的RTTI机制浅探<一>
查看>>
SqlServer中循环和条件语句示例!
查看>>
Sokect异步连接发送
查看>>
Making HTML5 work in IE6, IE7 & IE8
查看>>
在ASP.NET 5中如何方便的添加前端库
查看>>
使用Visual Studio Code开发AngularJS应用
查看>>
8467:鸣人的影分身
查看>>
语法分析的那些算法
查看>>
jQuery each使用
查看>>
立即执行函数
查看>>
第四次寒假作业
查看>>