
Ich versuche, zwei Enumerationsumgebungen zu verschachteln, die zweite in der ersten. Ich verwende das xgreek-Paket, das die zweite Enumeration als (α'), (β'), (γ') usw. generiert. Bei Verwendung von zwei der GFS-Schriftarten (Elpis und Heraklit) habe ich jedoch Probleme mit dem ' in der Enumeration.
Da ich über 50 .tex-Dateien mit verschachtelten Aufzählungen habe, würde ich es lieber auf eine automatische Art und Weise machen und nicht jeder verschachtelten Aufzählung ein Label hinzufügen müssen, wie indieser Beitrag.
MWE:
\documentclass[12pt]{article}
\usepackage{enumerate, enumitem, moreenum}
\usepackage{multicol}
\usepackage{fontspec,xgreek, polyglossia}
\defaultfontfeatures{Mapping=tex-text}
\setmainfont[Mapping=tex-text]{CMU Serif}
\setdefaultlanguage{english}
\newfontfamily\myfontfirst{GFS Elpis}
\newfontfamily\myfontsecond{GFS Artemisia}
\newfontfamily\myfontthird{GFS Heraklit}
\begin{document}
\begin{multicols}{2}
CMU Serif
\begin{enumerate}
\item
\begin{enumerate}
\item
\item
\item
\item
\item
\item
\end{enumerate}
\item
\end{enumerate}
{\myfontfirst
GFS Elpis
\begin{enumerate}
\item
\begin{enumerate}
\item
\item
\item
\item
\item
\item
\end{enumerate}
\item
\end{enumerate}
}
\end{multicols}
\begin{multicols}{2}
{\myfontsecond
GFS Artemisia
\begin{enumerate}
\item
\begin{enumerate}
\item
\item
\item
\item
\item
\item
\end{enumerate}
\item
\end{enumerate}
}
{\myfontthird
GFS Heraklit
\begin{enumerate}
\item
\begin{enumerate}
\item
\item
\item
\item
\item
\item
\end{enumerate}
\item
\end{enumerate}
}
\end{multicols}
\end{document}
Antwort1
Die Schriftarten GFS Elpis und GFS Heraklit haben keine Glyphe für U+0374 GREEK NUMERAL SIGN und tatsächlich erhalten Sie
Missing character: There is no ʹ in font GFS Elpis/OT:script=latn;language=dflt;!
Missing character: There is no ʹ in font GFS Heraklit-Regular/OT:script=latn;language=dflt;!
für jedes Element in den Aufzählungen der zweiten Ebene, wenn diese Schriftarten verwendet werden.
Sie können einen Fallback mithilfe einer Schriftart bereitstellen, die das Glyph enthält. Im folgenden Code habe ich GFS Artemisia übernommen.
\documentclass[12pt]{article}
\usepackage{fontspec}
\usepackage{xgreek}
\usepackage{enumitem,moreenum}
\usepackage{multicol}
\setmainfont{CMU Serif}
\newfontfamily\myfontfirst{GFS Elpis}
\newfontfamily\myfontsecond{GFS Artemisia}
\newfontfamily\myfontthird{GFS Heraklit}
\makeatletter
%%% avoid so many spurious warnings
\protected\def\anw@false{\protected\def\anw@print{}}
\protected\def\anw@true{\protected\def\anw@print{\numer@lsign}}
%%% provide a fall back for U+0374 GREEK NUMERAL SIGN
\protected\def\numer@lsign{\iffontchar\font`ʹ ʹ\else{\myfontsecond ʹ}\fi}
\makeatother
\begin{document}
\begin{multicols}{2}
CMU Serif
\begin{enumerate}
\item
\begin{enumerate}
\item
\item
\item
\item
\item
\item
\end{enumerate}
\item
\end{enumerate}
{\myfontfirst
GFS Elpis
\begin{enumerate}
\item
\begin{enumerate}
\item
\item
\item
\item
\item
\item
\end{enumerate}
\item
\end{enumerate}
}
\end{multicols}
\begin{multicols}{2}
{\myfontsecond
GFS Artemisia
\begin{enumerate}
\item
\begin{enumerate}
\item
\item
\item
\item
\item
\item
\end{enumerate}
\item
\end{enumerate}
}
{\myfontthird
GFS Heraklit
\begin{enumerate}
\item
\begin{enumerate}
\item
\item
\item
\item
\item
\item
\end{enumerate}
\item
\end{enumerate}
}
\end{multicols}
\end{document}
Übrigens, laden Sie enumerate
und nicht enumitem
zusammen, da sie sich gegenseitig bekämpfen. Laden Sie nur Letzteres.