我注意到一些关于csquotes
的问题\textelp
,似乎以前没有人在这里问过。使用最少的 LaTeX 输入
\documentclass{article}
\usepackage{csquotes}
\begin{document}
Lorem ipsum \textelp{} sit amet
\end{document}
我得到这个输出:
This is pdfTeX, Version 3.14159265-2.6-1.40.21 (TeX Live 2020/NixOS.org) (preloaded format=pdflatex 2021.2.2) 13 FEB 2021 12:20
entering extended mode
[...]
LaTeX2e <2020-10-01>
L3 programming layer <2020-10-05> xparse <2020-03-03>
括号内省略号右侧的空间比左侧的空间大(具体而言,在上面放大的图像中,右侧有 17 个像素,左侧有 13 个像素(即,右侧的空间大约 31%)。
在这个现实世界中,未缩放的不对称示例中,括号内的省略号右侧有 7 个像素,左侧有 5 个像素(即右侧的空间增加了 40%),从而使不对称更加明显:
\textelp
我在的文档中没有看到这一点csquotes.pdf
。这种不对称是预期的行为吗?如果是,为什么?如果不是,为什么会发生这种情况,以及(对我来说更重要的是)是否可以csquotes
修复,或者我是否容易修补?
答案1
标准省略号保留了句号的空间因素,如果省略号结束一个句子,则是正确的,如果后面还有其他内容,则省略号无关紧要。
\textelp
相反,命令不应该结束一个句子,所以\@
应该添加。
在下面的例子中,句子结束句号后的额外空格被放大,以更好地显示发生的情况。
\documentclass{article}
\usepackage{csquotes}
\begin{document}
\xspaceskip=20pt % to make the spacing more evident
% this is the default definition
% \newcommand{\mktextelp}{[\textellipsis\unkern]}
Lorem ipsum \textelp{} sit amet
% the fix
\renewcommand{\mktextelp}{[\textellipsis\unkern]\@}
Lorem ipsum \textelp{} sit amet
\end{document}
也\mktextelpins
应该以同样的方式重新定义:
\renewcommand{\mktextelpins}[1]{[\textellipsis\unkern\@] [#1]}