我在 Debian 和 Minion Pro 上使用 XeLaTeX TeXLive 排版带有许多脚注系列的评论(使用 bigfoot)。Minion Pro 缺少“c”上标,因此realscript
用普通 c 替换它。这是我的最小工作示例:
\documentclass{scrbook} % KOMA-Script book
\usepackage[T1]{fontenc}
\usepackage[parts]{classicthesis} % ,manychapters
\usepackage{xltxtra}
\usepackage{bigfoot} %
\DeclareNewFootnote[para]{default} %
\DeclareNewFootnote[para]{H}[alph] % huettenexemplar
\usepackage{xpatch}
\makeatletter
\xpatchcmd{\FN@allmarks}{266}{256}{}{}
\makeatother
\setmainfont[Numbers=OldStyle,Mapping=tex-text,Ligatures={TeX,Common,Required}]{Minion Pro}
\begin{document}
Das Seiende\footnoteH{ja ‚ich‘}, dessen\footnoteH{Aber}
Analyse\footnoteH{Welches?} zur Aufgabe\footnoteH{daß es}\\
\end{document}
我手动修复了这个问题(“f”和其他字母也会出现这个问题):
\begin{document}
Das Seiende\footnoteH{ja ‚ich‘}, dessen\footnoteH{Aber}
Analyse\textsuperscript*{c}\footnotetextH[3]{Welches?} zur
Aufgabe\footnoteH[4]{daß es}
\end{document}
一种可能性是不使用xltxtra
,但我希望使用印刷上标,而不是其他字母的缩放上标。任何帮助都非常感谢 :) 谢谢!
答案1
MinionPro 没有在功能中涵盖所有拉丁字母,这应该是有原因的sups
。
示例,基于您的示例,但有一些差异:
- 而不是
xltxtra
直接加载realscripts
(避免前者) \usepackage[T1]{fontenc}
不应与 (Xe|Lua)LaTeX 一起使用classicthesis
如今大多与scrbook
Ligatures=TeX
是预定义的Ligatures=Common
默认启用Ligatures=Required
MinionPro 不支持\setlength{\textheight}{3cm}
只是为了制作更小的图片
\documentclass{book}
\usepackage[parts]{classicthesis} % ,manychapters
\usepackage{realscripts}
\usepackage{bigfoot} %
\DeclareNewFootnote[para]{default} %
\DeclareNewFootnote[para]{H}[alph] % huettenexemplar
\usepackage{xpatch}
\makeatletter
\xpatchcmd{\FN@allmarks}{266}{256}{}{}
\makeatother
\setmainfont[Numbers=OldStyle]{Minion Pro}
\setlength{\textheight}{3cm}
\begin{document}
Ligatures: ``fi ff fl''
Das Seiende\footnoteH{ja ‚ich‘}, dessen\footnoteH{Aber}
Analyse\footnoteH{Welches?} zur Aufgabe\footnoteH{daß es}
\bigskip
Superscript letters: {\addfontfeatures{VerticalPosition=Superior}abcdefghijklmnopqrstuvwxyz}
\end{document}
如您所见,MinionPro(至少在我拥有的版本中,来自 Adobe Acrobat Reader)缺少几个与所sups
调用功能相关的字母VerticalPosition=Superior
(与软件包相同realscripts
)。
文档realscripts
警告了这个问题,似乎其他 Adobe 字体缺少上标
您可以看到问题与 MinionPro 完全相同。
您能做什么?实际上,如果您想保留,除了手动修复错误的脚注标记外,什么也做不了realscripts
。您可以考虑使用具有所需字形变体的字体。
\documentclass{book}
\usepackage[parts]{classicthesis} % ,manychapters
\usepackage{realscripts}
\usepackage{bigfoot} %
\DeclareNewFootnote[para]{default} %
\DeclareNewFootnote[para]{H}[alph] % huettenexemplar
\usepackage{xpatch}
\makeatletter
\xpatchcmd{\FN@allmarks}{266}{256}{}{}
\makeatother
\setmainfont[Numbers=OldStyle]{Libertinus Serif}
\textheight=3cm
\begin{document}
Ligatures: ``fi ff fl''
Das Seiende\footnoteH{ja ‚ich‘}, dessen\footnoteH{Aber}
Analyse\footnoteH{Welches?} zur Aufgabe\footnoteH{daß es}
\bigskip
Superscript letters: {\addfontfeatures{VerticalPosition=Superior}abcdefghijklmnopqrstuvwxyz}
\end{document}
这是“手动修复”的一个例子:
\documentclass{book}
\usepackage[parts]{classicthesis} % ,manychapters
\usepackage{realscripts}
\usepackage{bigfoot} %
\DeclareNewFootnote[para]{default} %
\DeclareNewFootnote[para]{H}[alph] % huettenexemplar
\usepackage{xpatch}
\makeatletter
\xpatchcmd{\FN@allmarks}{266}{256}{}{}
\ExplSyntaxOn
\RenewDocumentCommand{\@makefnmark}{}
{
\mbox{\footnotemarkfont \__dsv_textsuperscript:e {\@thefnmark }}
}
\cs_new_protected:Nn \__dsv_textsuperscript:n
{
\str_case:nnF { #1 }
{
{c}{\fakesuperscript{c}}
{f}{\fakesuperscript{f}}
{j}{\fakesuperscript{j}}
{k}{\fakesuperscript{k}}
{p}{\fakesuperscript{p}}
{q}{\fakesuperscript{q}}
{u}{\fakesuperscript{u}}
{v}{\fakesuperscript{v}}
{w}{\fakesuperscript{w}}
{x}{\fakesuperscript{x}}
{y}{\fakesuperscript{y}}
{z}{\fakesuperscript{z}}
}
{\realsuperscript{#1}}
}
\cs_generate_variant:Nn \__dsv_textsuperscript:n { e }
\ExplSyntaxOff
\makeatother
\setmainfont[Numbers=OldStyle]{Minion Pro}
\setlength{\textheight}{3cm}
\begin{document}
Ligatures: ``fi ff fl''
Das Seiende\footnoteH{ja ‚ich‘}, dessen\footnoteH{Aber}
Analyse\footnoteH{Welches?} zur Aufgabe\footnoteH{daß es}
\bigskip
Superscript letters: {\addfontfeatures{VerticalPosition=Superior}abcdefghijklmnopqrstuvwxyz}
\end{document}