microtype 包 (v.2.5 beta 06) 和脚注突出

microtype 包 (v.2.5 beta 06) 和脚注突出

根据microtype手册第 6 节(2011/02/07 版 v.2.5,第 23 页),下面的代码应该为脚注编号设置自定义突出部分。但是,\microtypecontext设置命令后,它会完全取消脚注标记。我运行了 lualatex(beta-0.70.1-2011061410),但无论您使用的是 pdflatex 还是 xelatex,结果都是一样的。有什么想法吗?

以下是 MWE:

\documentclass{article}

\usepackage{geometry}
\geometry{a5paper,showframe}

\usepackage[protrusion=true,factor=2000]{microtype}

\makeatletter

\SetProtrusion[context=footnote]%
    {font=*/*/*/*/scriptsize}% adapt if necessary; "footnotesize" corrected to "scriptsize" after Werner's note
    {1={,650},%
    2={,400},%
    3={,400},%
    4={,400},%
    5={,400},%
    6={,400},%
    7={,500},%
    8={,400},%
    9={,400},%
    0={,400}}

\newcommand*\new@makefnmark{\hbox{\@textsuperscript{\normalfont
    \microtypecontext{protrusion=footnote}\@thefnmark}}}
\renewcommand*\@footnotemark{%
    \leavevmode \ifhmode\edef\@x@sf{\the\spacefactor}\nobreak\fi
    \new@makefnmark \ifhmode\spacefactor\@x@sf\fi \relax}

\makeatother

%\setcounter{footnote}{123}

\begin{document}

Here's some text to show the behaviour of footnote marker at%
%
\footnote{A footnote}
%
the end of a line, which disappears when the code for setting microtypecontext is used in fnmark redefinition.

\end{document}

请注意,microtype 包的版本是2.5 测试版 06它支持 xelatex 和 lualatex 的跟踪功能。

同样的问题压缩文本.tex。如有必要,我会同步它们。


更新:Robert 在 comp.text.tex 上回复了几条,并通过更新软件包(microtype beta 现在是 2.5 beta 08)解决了与此问题相关的大部分问题。唯一仍然存在的问题是,整个文档中的数字(不仅是脚注)始终是行号,含义LowercaseProportional选项将fontspec被忽略,因此文本图形无法以正常方式使用。使用Renderer=Basic选项fontspecNumbers=Lowercase选项会应用,但Numbers=Proportional仍然不会。

答案1

正如@Thorsten 提到的,问题在于microtype无法正确将你的突出设置与脚注关联起来。这是因为你只通过不正确的大小指定了字体类型——\footnotesize在本例中。pdfTeX 产生的警告是

Package microtype Warning: I cannot find a protrusion list for font
(microtype)                `OT1/cmr/m/n/7' (context: `footnote'). Switching off
(microtype)                protrusion for this font on input line 40.

导致:

微型凸起不正确

使用

{font=*/*/*/*/scriptsize}% adapt if necessary

或者

{encoding=OT1}% You could add `,family=cmr` to be more specific

代替

{font=*/*/*/*/footnotesize}% adapt if necessary

结果是:

正确的微型突出

我在 Windows 下使用 TeXLive 2011 版本microtype2.4。我的您突出显示的文档使用了与上述建议相同的修改。我在 lualatex 下获得了类似的结果,但我知道microtype在 下不受支持xelatex,并产生以下警告:

Package microtype Warning: You don't seem to be using pdftex.
(microtype)                `microtype' only works with pdftex.
(microtype)                Try running `pdflatex' instead of `xelatex'.

相关内容