本质上,这与这个问题。
我正在同时使用脚注和尾注,所以我想将尾注改为罗马字体。两年前提出这个问题时给出的解决方案是添加
\robustify{\textlatin}
序言部分,所以它看起来像
\documentclass[10pt,twoside, openright]{book}
\usepackage[greek, english]{babel}
\usepackage{endnotes, etoolbox}
\robustify{\textlatin}
\renewcommand{\theendnote}{\roman{endnote}}
\begin{document}
Once\endnote{Or maybe twice} upon a time $t\ge0\ldots$.
\theendnotes
\end{document}
这在我的 TeXLive '15 环境中有效,但如果我使用 TeXLive '17 则无效。
我收到一条消息
./text.tex:11: Incomplete \iffalse; all text was ignored after line
11. <inserted text>
\fi l.11 Once\endnote{Or maybe twice}
upon a time $t\ge0\ldots$.
关于如何使它与 TeXLive '17 配合使用,您有什么想法吗?我使用 MacTex,macOS 10.13.2。
答案1
还可以增强\ensureascii
:
\documentclass[10pt,twoside, openright]{book}
\usepackage[greek, english]{babel}
\usepackage{endnotes, etoolbox}
\robustify{\textlatin}
\AtBeginDocument{\robustify{\ensureascii}}
\renewcommand{\theendnote}{\roman{endnote}}
\begin{document}
Once\endnote{Or maybe twice} upon a time $t\ge0\ldots$.
\theendnotes
\end{document}
该\textlatin
宏不再在的上下文中使用\roman
,因此可能不需要对其进行强化,但这也不会造成任何损害。
答案2
\romannumeral
您可以通过直接使用计数器值来绕过一些扩展问题
\documentclass[10pt,twoside, openright]{book}
\usepackage[greek,main=english]{babel}
\usepackage{endnotes, etoolbox}
\renewcommand{\theendnote}{\romannumeral\value{endnote}}
\begin{document}
Once\endnote{Or maybe twice} upon a time $t\ge0\ldots$\endnote{Really twice}.
\textgreek{aaabbbccc\endnote{\textgreek{dddeeefff}}}
\theendnotes
\end{document}