我发现标点符号后的脚注标记间距非常不令人满意,尤其是使用无衬线字体并与字母后的间距相比。示例如下:
我自己想出了一个小宏,尝试手动修改这个问题。
\documentclass{article}
% URW Classico is a font that makes the issue apparent
\renewcommand{\sfdefault}{uop}
\renewcommand{\familydefault}{\sfdefault}
% define punctuation-aware footnote macro
\newlength{\punctuationfootlength}
\newcommand{\punctuationfootnote}[2]{#2\settowidth{\punctuationfootlength}%
{#2}\hspace{-\punctuationfootlength}\footnote{#1}}
% define a very small type area and don't care about margins
\setlength{\textwidth}{150pt}
\setlength{\textheight}{5\baselineskip}
\begin{document}
\noindent The three little pigs built their houses
out of straw\punctuationfootnote{not to be confused with hay},
sticks\footnote{or lumber according to some sources} and
bricks\punctuationfootnote{probably fired clay bricks}.
\end{document}
它将会像这样:
我不得不说,我也不喜欢这个。所以我稍微修改了一下,把脚注标记往后移了一半
以及标点符号宽度的三分之一。
就我个人而言,我最喜欢最后一个 ( ) 的外观-.3\punctuationfootlength
。但我有点担心,似乎没有人同意我的观点,如果有什么的话,那就是在字母和脚注标记之间留出一个微小的间隙,但从未减少字距。所以,如果有任何排版大师能就此事给我指点迷津,那就太好了。我也很高兴听到任何人对此的第二或第三意见。
编辑:我最初也在这里询问了更好的 TeX 方法。但由于这是一个单独的问题,因此我将其移至这里。
编辑 3:该问题导致了一个新的包,,fnpct
它应该用于自动调整 LaTeX 文档中的脚注字距。
编辑 2:Jon 的评论让我屈服于一直以来尝试在解决方案 2 和 3 之间添加中间体的诱惑。这似乎是一个非常小的变化,但这里是-.4\punctuationfootlength
:
但无法决定。经过一番思考,我觉得 3 比 1 更接近一些,我猜 1 不会让事情变得更容易。
答案1
(强制性 Bringhurst 参考警告)
布林赫斯特对脚注有一些挑战性的评论,包括温和的“不要那样做”,但与这个问题相关的是(印刷风格的元素,v3.2,第 68-69 页):
4.3.2 检查上标的粗细和间距。...“上标经常出现在短语或句子的末尾。如果它们高于行高,可以将其字距调整到逗号或 [句号] 上,但这可能会影响可读性,尤其是在文本设置为适中大小的情况下。”
答案2
我想我会按照建议在所有常规脚注前使用 .06em 的空格http://www.read.seas.harvard.edu/~kohler/latex.html(参考 Jan Tschichold)以及标点脚注的负微距(实际上链接建议的微距是 .08em,但.3\punctuationfootlength
奇迹般地变成了 .0828em,但仍然……)。这接近于我感觉最好的手动字距调整
The three little pigs built their houses out of
straw,\hspace{-.06em}\footnote{not to be confused with hay}
sticks\hspace{.07em}\footnote{or lumber according to some sources} and
bricks.\hspace{-.08em}\footnote{probably fired clay bricks}
讨论将纸张放在铸造金属种类之间……
总的来说
\documentclass{article}
% URW Classico is a font that makes the issue apparent
\renewcommand{\sfdefault}{uop}
\renewcommand{\familydefault}{\sfdefault}
% define punctuation-aware footnote macro
\let\origfootnote\footnote
\renewcommand{\footnote}[1]{\kern.06em\origfootnote{#1}}
\newcommand{\punctfootnote}[1]{\kern-.06em\origfootnote{#1}}
% define a very small
\setlength{\textwidth}{150pt}
\setlength{\textheight}{5\baselineskip}
\begin{document}
\noindent The three little pigs built their houses out of
straw,\punctfootnote{not to be confused with hay}
sticks\footnote{or lumber according to some sources} and
bricks.\punctfootnote{probably fired clay bricks}
\end{document}
看起来像这样:
这也应该解决关于参数顺序和数量的争论,因为它\punctfootnote
成为了的替代品\footnote
。
非常感谢您的意见!当然,我们仍然欢迎您提出进一步的评论。