具有以下 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}
,我们就会得到:
\usepackage[at]{easylist}
虽然可以通过 (a) 使用 XeLaTeX 或 (b)而@
不是 来解决这个问题§
,但是有没有办法让标记在 pdfLaTeX 中§
工作?\usepackage[utf8]{inputenc}
答案1
您可以使用以下技巧将 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}