TeX
中连用三个-
可以得到一个破折号,但是它的字符宽度只有(约?)一个汉字宽,很明显不符合中文语境的需求,但是如果只是使用scalebox
水平缩放为2倍的话,似乎垂直方向又不在一个汉字的垂直中心,不得不用raisebox
来调整位置,还有破折号的线宽,在这种条件下似乎无法轻易调整。有没有更方便或更完善的方法?
我似乎觉得这个问题还和字体有关:
这个链接里面的不同字体,破折号的长度并不总是2\ccwd
,也并不总不是2\ccwd
,此外如果直接用\rule
,似乎是可以同时控制高度,长度和粗细的...
也许可以在ctex-kit
的issues里面搜索,有不少有关的讨论。
\documentclass[fontset=ubuntu]{ctexart}
\begin{document}
我能吞下玻璃而不伤身体.
你好-远方不远.
你好--远方不远.
你好---远方不远.
你好——远方不远.
你好\rule[.6ex]{2\ccwd}{.5pt}远方不远.
我能吞下玻璃而不伤身体.
\end{document}
xeCJK
中也有一些黑魔法,与标点距离有关的还有这个回答:
\documentclass[fontset=ubuntu]{ctexart}
\xeCJKsetwidth{——}{1.2\ccwd}
\begin{document}
我能吞下玻璃而不伤身体.
你好——远方不远.
你好\rule[.6ex]{2\ccwd}{.5pt}远方不远.
我能吞下玻璃而不伤身体.
\end{document}
ctex宏集在XeTeX引擎下调用xeCJK处理中文,然而xeCJK手册上的叙述居然是允许在破折号之前断行!有点无语……