提问于:
浏览数:
2927
参考了[[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 回答
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`宏包
你的回答
请登录后回答
你的回答将会帮助更多人,请务必认真回答问题。