昨天学习有限元的一维线性元去了,今天继续学习latex排版,但一看学习内容感觉蛮枯燥且混乱的。现在就要看自己的语言和结构组织能力了~
本来第一个学习内容是特殊字符的,但是我想了想觉得应该用的少甚至用不上?所以打算从第二个学习内容开始。
标点符号学习目录
- 单双引号
- 连字符、破折号等
- 省略号
- 键盘无法直接输入编译得到的特殊符号
- 空格和换行
- 保持正确间距和换行的方式
无特别说明都是英文状态下的标点符号!
1.引号-----单引号和双引号
- 单引号:使用一次单引号 ' ;
- 双引号:使用两次单引号 ' 或者shift+键盘上有单双引号的按钮;
- 同时使用单引号和双引号:用 , 隔开(编译之后双引号和单引号之间会有一个小空格);
代码:【以后的代码就只放核心了,开头和结束的文档说明就不加了】
documentclass{article}
begin{document}
teshuteshu,teshu,teshu, teshu, teshu. ``,`A' or `B?','' he asked.
``It's Knuth's book.''
``It's Knuth's book.''
end{document}

比较一下中文状态和英文状态下的引号的区别:先把文档类型换成可输入中文的状态【把article换称ctexart】,再测试;
代码:
teshuteshu,teshu,teshu, teshu, teshu. ``,`A' or `B?','' he asked.
``It's Knuth's book.''(1)
``It's Knuth's book.''(2)
``这是Knuth's的书。''(3)
“这是Knuth's的书。”(4)
“这是knuth’s的书。”(5)
teshuteshu,teshu,teshu, teshu, teshu. “,‘A’ or ‘B?’” he asked.(6)

(1)-英文双引号+英文单引号;(2)-英文两次单引号得到双引号+英文状态单引号;(3)-英文双引号,即shift+单双引号键+英单引号;(4)-英双引号前半部分+中文双引号后半部分+英文单引号;(5)-中文双引号+英文单引号;(6)-中文双引号+中文单引号;(7)-中文状态双引号+单引号;
结论:
英文状态下两次单引号和一次双引号效果一致;中文状态引号比英文状态引号间隔稍大一丢丢;
✔所以采用如下方式:写中文文档时,编写TEX文档用中文状态下的引号;写英文文档时,编写TEX文档用英文状态下的引号。
2.破折号/减号?
- 连字符:-
- 范围:方式1:--;方式2:$sim$(数学模式);
- 破折号:---
代码:
An inter-word dash or, hyphen, as in X-ray.(1)
A medium dash for number ranges, like 1--2.(2)
A medium dash for number ranges, like 1$sim$2.(3)
A punctuation dash---like this.(4)

3.省略号
用法:ldots和dots效果一致。
代码:
Good: One, two, threeldots(1)
Good: One, two, three ldots(2)
Good: One, two, three...(3)
Good: One, two, three。。。(4)
She $ldots$ she got it.(5)
在句中一般都要在ldots或dots的前后加上空格,如果在句末使用省略号,则会有4个点。

4.部分键盘上无法直接得到的符号
这些都是直接在符号前面加可编译得到结果;另外quad表示空格。
# quad $ quad % quad & quad { quad } quad _ quad textbackslash

5.空格和换行
- 空格编译之后是一个空格;
- 多个空格编译之后仍旧是一个空格;
- 换行编译之后也是一个空格的效果;
- 字母命名的宏后面的空格会被忽略,如果需要空格,采用以下方式:
方式一:在后面加上空格;
方式二:在后面加上{}空格;
方式三:直接用{字母命名的宏}空格可以与后面单词分隔开;
6.保持正确间距和换行的方式
- 空格:一般在标点符号的后面都要加个空格再开始下一句话(这样是为了方便换行)。
latex会默认把大写字母后面的点看作是缩写标记,把小写字母后面的点看作是句子结束,因而会使用不同间距。
特殊情况:如果出现大写字母.表示结束的句子或者是小写字母.表示缩写,则需要用命令修改默认形式:空格(表明是普通间的空格) 或者 @.(表明是大写字母后的句末)。
至于具体区别就不解释了,自己看代码和效果就能意会到了。
A sentence. And another.
U. S. A. means United States Army?
Tinker et al. made the double play.
Tinker et al. made the double play.
Roman number XII @. Yes.
Roman number XII. Yes.

- 中文的空格会被自动忽略掉。
但是如果采用XeLaTeX编译,则中文和英文之间会自动加上空格。
代码:
中文和English的混排效果并不依赖于 space 的有无。
中文和English的混排效果并不依赖于space的有无。
中文和English的 混排 效果并不依赖于 space 的有无。
XeLaTeX编译的结果:

pdfLaTeX编译的结果:

- 如果要取消XeLaTeX这种自动产生空格的效果:使用mbox{}
代码:
条目a不同于条目b
mbox{条目}a不同于条目b

- XeLaTeX编译下禁用全文的中文与其他内容之间的空格:CJKsetecglue{}
代码:
%CJKsetecglue{}
中文和English的混排效果并不依赖于 space 的有无。
中文和English的混排效果并不依赖于space的有无。
中文和English的 混排 效果并不依赖于 space 的有无。
条目a不同于条目b
mbox{条目}a不同于条目b
没加命令之前:

加入命令之后:

- 空行:表示分段
- 直接另起一而不分段:或者linebreak(指定一行的断点,上一行按照完整的一行分散对齐)。但其实这两个命令都用的比较少,除非是需要非常精细的排版。还有一些具体的情况就不说了。
代码:
这是一行文字另一行
这是一行文字linebreak 另一行
