我正在用 XeLaTeX 制作一份文档,我想对我的段落使用单声道 TTF 字体(Liberation Mono)和特殊(反向)缩进。
我不太理解单词间距和缩进的一些内容。我编写了以下 LaTeX 代码进行测试:
\documentclass[a4paper,13pt]{book}
\usepackage{fontspec}
\setmainfont{Liberation Mono}
\begin{document}
\raggedright
\textbf{Lorem ipsum dolor sit amet}: consectetur adipiscing elit.
Cras sit amet est sit amet urna tincidunt consectetur
eget ut felis. Vestibulum ante ipsum primis in faucibus
orci luctus et ultrices posuere cubilia Curae; Nam dapibus,
\setlength{\parindent}{-5ex}
\setlength{\leftskip}{5ex}%
\textbf{Lorem ipsum dolor sit amet}: consectetur adipiscing elit.
Cras sit amet est sit amet urna tincidunt consectetur
eget ut felis. Vestibulum ante ipsum primis in faucibus
orci luctus et ultrices posuere cubilia Curae; Nam dapibus,
\setlength{\parindent}{-5em}
\setlength{\leftskip}{5em}%
\textbf{Lorem ipsum dolor sit amet}: consectetur adipiscing elit.
Cras sit amet est sit amet urna tincidunt consectetur
eget ut felis. Vestibulum ante ipsum primis in faucibus
orci luctus et ultrices posuere cubilia Curae; Nam dapibus,
\end{document}
我得到了以下结果:
我注意到以下几点:
- 在第一段中:字符没有垂直对齐的原因是什么?单词 interspace 应该是恒定的(使用单色字体),但事实并非如此。
- 在第二段中:字符缩进不正确。通常,5ex 的缩进应为 5 个字符的长度。但是存在差异,缩进的行与第一行不对齐。
- 在第三段中:5em 的缩进长度比 5ex 的缩进更大。但是对于单色字体,ex(“x”的宽度)和 em(“m”的宽度)的长度应该相同。
您是否知道如何将单词间距固定为常数,为什么我的测试段落会出现这些错位,以及我的观察结果出了什么问题(如果有问题)?
答案1
首先你忘了\frenchspacing
。
其次,1ex 不必与 1em 相同。
第三,1ex和1em不是字符宽度的倍数。
\documentclass[a4paper,12pt]{book}
\usepackage{fontspec}
\setmainfont{LiberationMono}[
Extension=.ttf,
UprightFont=*-Regular,
ItalicFont=*-Italic,
BoldFont=*-Bold,
BoldItalicFont=*-BoldItalic,
]
\frenchspacing
\begin{document}
\raggedright
\textbf{Lorem ipsum dolor sit amet}: consectetur adipiscing elit.
Cras sit amet est sit amet urna tincidunt consectetur
eget ut felis. Vestibulum ante ipsum primis in faucibus
orci luctus et ultrices posuere cubilia Curae; Nam dapibus,
\setlength{\parindent}{-5\fontcharwd\font`A}
\setlength{\leftskip}{5\fontcharwd\font`A}
\textbf{Lorem ipsum dolor sit amet}: consectetur adipiscing elit.
Cras sit amet est sit amet urna tincidunt consectetur
eget ut felis. Vestibulum ante ipsum primis in faucibus
orci luctus et ultrices posuere cubilia Curae; Nam dapibus,
\end{document}
字体设置是因为我没有在系统范围内安装 Liberation Mono。
仅供参考,以下是
1ex = \the\dimexpr1ex
1em = \the\dimexpr1em
A = \the\fontcharwd\font`A
还请注意,该选项13pt
根本没有任何作用,字体将为 10pt。我将其更改为12pt
。