GFS + 列挙の問題

GFS + 列挙の問題

2 つの列挙環境をネストしようとしています。2 つ目の環境を 1 つ目の環境の中に入れています。xgreek パッケージを使用しており、2 つ目の列挙を (α')、(β')、(γ') などとして生成します。ただし、2 つの GFS フォント (Elpis と Heraklit) を使用すると、列挙内の ' に関する問題が発生します。

ネストされた列挙を含む.texファイルが50個以上あるため、自動的な方法で実行し、ネストされた列挙ごとにラベルを追加する必要がないようにしたいと考えています。この郵便受け

ここに画像の説明を入力してください

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}

答え1

GFS ElpisとGFS HeraklitフォントにはU+0374 GREEK NUMERAL SIGNのグリフがないので、

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;!

これらのフォントが使用されている場合、第 2 レベルの列挙の各項目に対して。

グリフを持つフォントを使用してフォールバックを提供することができます。以下のコードでは、GFS Artemisia を採用しました。

\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}

ちなみに、enumerateenumitemは互いに競合するため、一緒にロードしないでください。 後者のみをロードしてください。

ここに画像の説明を入力してください

関連情報