easylist 和 \usepackage[utf8]{inputenc}

easylist 和 \usepackage[utf8]{inputenc}

具有以下 MWE:

\documentclass{article}
% \usepackage[utf8]{inputenc}
\usepackage{easylist}

\begin{document}
\begin{easylist}[enumerate]
  § A first item
      §§ A sub item
      §§ another subitem    
\end{easylist}
\end{document}

我們得到想要的輸出:

在此輸入影像描述

但如果該行\usepackage[utf8]{inputenc}未註釋,我們會得到:

在此輸入影像描述

雖然可以透過 (a) 使用 XeLaTeX 或 (b)代替來解決此問題,\usepackage[at]{easylist}但有沒有辦法讓標記在 pdfLaTeX 中使用?@§§\usepackage[utf8]{inputenc}

答案1

您可以使用以下 hack 將 unicode 字元 § 變更為環境easylist中的項目easylist

\documentclass{article}

\usepackage[utf8]{inputenc}
\usepackage{easylist}

\DeclareUnicodeCharacter{00A7}{\easylistitemornot}
\let\easylistitemornot\S

\def\easylist{%
  \def\easylistitemornot{\futurelet\elNextToken\elCreateItem}%
  \begingroup\elPredefinedStyle}%
\def\endeasylist{\endgroup\par}
\def\Activate{%
  \def\easylistitemornot{\futurelet\elNextToken\elCreateItem}%
}
\def\Deactivate{%
  \let\easylistitemornot\S
}

\begin{document}
\begin{easylist}[enumerate]
  § A first item
      §§ A sub item
      §§ another subitem    
\end{easylist}

Here we have a real §.
\end{document}

儘管如此,我還是建議使用例如at更改項目標記的選項:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[at]{easylist}

\begin{document}
\begin{easylist}[enumerate]
  @ A first item
      @@ A sub item
      @@ another subitem    
\end{easylist}
\end{document}

相關內容