纯 XeTeX 中的段落样式脚注

纯 XeTeX 中的段落样式脚注

我正在尝试在纯 XeTeX 中将脚注设置为段落样式。我已将代码粘贴到fnpara.tex文档的序言中,并通过粘贴以下内容将实际脚注中使用的字体更改为 Palatino Linotype:

\font\footnumberfont="Palatino Linotype:mapping=tex-text" at 8pt

\font\footnotesize="Palatino Linotype:mapping=tex-text" at 8pt

在“fnpara”的代码之后。我的文档中的主要字体设置如下:

\font\pala="Palatino Linotype:+onum,mapping=tex-text" at 10pt

我通过在文本开头放置“\pala”来调用它。除了一件事之外,一切都很好:文本块中的上标脚注参考编号是 Computer Modern (cmr7),这看起来很奇怪,因为其他一切都是 Palatino。我对纯 (Xe)TeX 还不熟悉。

最小工作示例:

%!TEX TS-program = xetex

%!TEX encoding = UTF-8 Unicode

\input eplain

\font\pala="Palatino Linotype:+onum,mapping=tex-text" at 10pt

PLACE CODE FROM "fnpara.tex" HERE

\font\footnumberfont="Palatino Linotype:mapping=tex-text" at 8pt 
\font\footnotesize="Palatino Linotype:mapping=tex-text" at 8pt

\pala

Lorem\footnote{First footnote.} ipsum dolor sit amet,\footnote{Second footnote.
(Every once in a while a long footnote might occur, just to make things difficult.)}
consectetur adipisicing\footnote{Third footnote.} elit,

\bye

我在问题中提出了 MWE;感谢 Torbjørn T。

答案1

我认为我已经解决了。这是一道数学模式问题。我从 https://gist.github.com/wspr/616937

% set up Cambria Math as math roman, symbol and extension families
\font\1="Cambria Math:script=math" at 10pt
\font\2="Cambria Math:script=math;+ssty=0" at 7pt
\font\3="Cambria Math:script=math;+ssty=1" at 5pt
\textfont0=\1 \scriptfont0=\2 \scriptscriptfont0=\3
\textfont2=\1 \scriptfont2=\2 \scriptscriptfont2=\3
\textfont3=\1 \scriptfont3=\2 \scriptscriptfont3=\3
\let\tenrm=\1 \rm

并将其编辑为:

\font\1="Palatino Linotype" at 7pt
\scriptfont0=\1

然后我将其粘贴到 fnpara 的代码后面,它将我的脚注上标放入 Palatino Linotype。我没有使用 XeTeX 来排版数学,所以这就是我所需要的。我只是希望我的上标不在 Computer Modern 中。

答案2

还有另一种(也许更好)的方法。定义一个字体

\font\sups="Palatino Linotype:+sups,mapping=tex-text" at 10pt

然后更换线路

$^{\the\footno}$\@sf\vfootnote}

fnpara.tex 与

{\sups\the\footno}\@sf\vfootnote}

此方法不使用数学模式来生成脚注上标,而是使用 OpenType“sups”标签。

相关内容