参考了[[LaTeX 中文使用] 用带圈数字编号脚注](https://zhuanlan.zhihu.com/p/74515148 "[LaTeX 中文使用] 用带圈数字编号脚注"),作出了下面的 MWE: ```tex \documentclass{ctexart} \usepackage{xpatch,xunicode-addon} \xeCJKDeclareCharClass{Default}{"24EA, "2460->"2473, "3251->"32BF} \newfontfamily\EnclosedNumbers{Source Han Serif SC} \AtBeginUTFCommand[\textcircled]{\begingroup\EnclosedNumbers} \AtEndUTFCommand[\textcircled]{\endgroup} \def\theenumi{\textcircled{\arabic{enumi}}} \begin{document} \begin{enumerate} \item \end{enumerate} \end{document} ``` 结果 ![](https://pics.latexstudio.net/data/images/202003/3a7443b73547165.png) 如何解决? 补充:将 `\textcircled{\arabic{enumi}}` 改为 `\textcircled{1}` 可以正确输出带圈数字

3 回答3

0
如果实在希望效果好,真的比较麻烦。 pifont 有 10个 数字,如果够用,也是选择。 ![](https://pics.latexstudio.net/data/images/202003/83e61fe81ed0448.png)
  • 我知道这个,我有点强迫症,`pifont` 复制出来的不是带圈数字,是字母 `x`,继续折腾 – sikouhjw 2020-03-06 21:22 回复
0
搬运一下 [https://github.com/CTeX-org/forum/issues/102](https://github.com/CTeX-org/forum/issues/102 "https://github.com/CTeX-org/forum/issues/102") 这里 `\arabic` 没有展开,可以把 `\theenumi` 的定义修改为: ```tex \def\theenumi{\expandafter\textcircled\expanded{\arabic{enumi}}} ``` 或者 LaTeX3 写法: ```tex \ExplSyntaxOn \cs_set_nopar:Npn \theenumi { \exp_args:Ne \textcircled { \arabic{enumi} } } % \exp_args:Nx 也可以 \ExplSyntaxOff ``` 补充:无法与 `enumitem` 同时使用,加载就会报错 再补充:如果需要中文风格的列表,可以用定制 `list` 环境,参考[关于列表环境各长度参数(间距)自定义的问题](https://wenda.latexstudio.net/article-5036.html "关于列表环境各长度参数(间距)自定义的问题"),这里给出一个示例: ```tex \newcounter{mylist} \renewenvironment{enumerate}{% \begin{list}{\hspace{2\ccwd}\expandafter\textcircled\expanded{\arabic{mylist}}.}{% \usecounter{mylist}% \setlength{\topsep}{0pt}% \setlength{\partopsep}{0pt}% \setlength{\parsep}{0pt}% \setlength{\itemsep}{0pt}% \setlength{\leftmargin}{0pt}% \setlength{\rightmargin}{0pt}% \setlength{\labelsep}{0pt}% \setlength{\itemindent}{2.0em}% } }{\end{list}} ```
0
可以尝试一下 `circledsteps`宏包

你的回答

请登录后回答

你的回答将会帮助更多人,请务必认真回答问题。