我正在尝试在纯 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”标签。