我偶然发现|
在文本模式下使用会产生一个破折号。我快速搜索了一下,但找不到提到这一点的参考资料。我想知道这和 之间有什么区别吗---
?否则,只输入一个字符而不是三个字符似乎更容易。
答案1
这是默认字体编码的结果OT1
。它在与 | 相关联的位置放置了一个 —(长破折号)。为了突出显示这一点,请考虑以下示例:
\documentclass{article}
\begin{document}
\showoutput
|
---
\end{document}
\showoutput
将内容添加到.log
显示输出页面构造的 。以下摘录自上述示例.log
:
Completed box being shipped out [1]
\vbox(633.0+0.0)x407.0
.\glue 16.0
.\vbox(617.0+0.0)x345.0, shifted 62.0
..\vbox(12.0+0.0)x345.0, glue set 12.0fil
...\glue 0.0 plus 1.0fil
...\hbox(0.0+0.0)x345.0
..\glue 25.0
..\glue(\lineskip) 0.0
..\vbox(550.0+0.0)x345.0, glue set 527.9436fil
...\write-{}
...\glue(\topskip) 5.69446
...\hbox(4.30554+0.0)x345.0, glue set 319.99998fil
....\hbox(0.0+0.0)x15.0
....\OT1/cmr/m/n/10 |
....\penalty 10000
....\glue(\parfillskip) 0.0 plus 1.0fil
....\glue(\rightskip) 0.0
...\glue(\parskip) 0.0 plus 1.0
...\glue(\baselineskip) 7.69446
...\hbox(4.30554+0.0)x345.0, glue set 319.99998fil
....\hbox(0.0+0.0)x15.0
....\OT1/cmr/m/n/10 | (ligature ---)
....\discretionary
....\penalty 10000
....\glue(\parfillskip) 0.0 plus 1.0fil
....\glue(\rightskip) 0.0
...\glue 0.0 plus 1.0fil
...\glue 0.0
...\glue 0.0 plus 0.0001fil
..\glue(\baselineskip) 23.55556
..\hbox(6.44444+0.0)x345.0, glue set 170.0fil
...\glue 0.0 plus 1.0fil
...\OT1/cmr/m/n/10 1
...\glue 0.0 plus 1.0fil
该字体的使用场景有 3 个:
....\OT1/cmr/m/n/10 |
=|
....\OT1/cmr/m/n/10 | (ligature ---)
=---
...\OT1/cmr/m/n/10 1
= 页码
注意连字---
使用相同的字体字符|
。现在添加
\usepackage[T1]{fontenc}
读完序言,你就会得到
....\T1/cmr/m/n/10 |
=|
....\T1/cmr/m/n/10 ^^V (ligature ---)
=---
...\T1/cmr/m/n/10 1
= 页码
从字体编码下的字体表中|
抓取不同的字符,导致不同的显示。---
T1
我会坚持使用在查看代码时提供一些直观语义的语法。也就是说,如果您想要一个破折号,请使用---
(或) 而—
不是。\usepackage{inputenc}
|
类似地,最好在代码中使用一些类似于输出的内容。例如,使用将\circle
圆定义为输出,而不是输出正方形或直线。