在旧式英语文本中自动在标点符号前添加空格

在旧式英语文本中自动在标点符号前添加空格

我正在排版 18 世纪风格的英文文本(基于 1725 年版的 Alexander Pope 的《愚人记》)。有没有一个 LaTeX 软件包可以用来自动在标点符号前(和后)添加正确的空格?我需要类似于 babel 中为“法语”提供的空格,但似乎没有为“英语”提供这种选项,我在另一个软件包中找到的最接近的选项是 ecclesiastic.sty,它对拉丁语有类似的功能。

答案1

如果您使用最近的版本,pdflatex您还可以启用法语字距调整microtype

\documentclass{scrbook}
\usepackage[T1]{fontenc}
\usepackage[kerning=true]{microtype}

\begin{document}
What is the result of these settings? 
Some space! 

\microtypecontext{kerning=french}
What is the result of these settings?
Some space!
\end{document}

答案2

您可以制作!?;:字符“活跃”,即将它们转换为控制序列,在本例中,会自动插入“细空格”相应的字符。

\documentclass{article}
\catcode`\!=\active \edef!{\unskip\noexpand\,\string!}
\catcode`\:=\active \edef:{\unskip\noexpand\,\string:}
\catcode`\;=\active \edef;{\unskip\noexpand\,\string;}
\catcode`\?=\active \edef?{\unskip\noexpand\,\string?}

\begin{document}
Hello? World! I'm; here: now.
\end{document}

在此处输入图片描述

相关内容