我正在尝试更新\item
命令,在\setlist
命令中如何创建一个枚举列表并在每个项目编号前添加自定义前缀?,但乳胶一直告诉我:
test1.tex:22: Illegal parameter number in definition of \enit@before
You meant to type ## instead of #, right?
Or maybe a } was forgotten somewhere earlier, and things
are all screwed up? I'm going to assume that you meant ##.
但我已经输入了##
。我还尝试输入###
,####
和#####
,但错误仍然相同。如果我将替换##
为单个#
,则 latex 将停止正确创建 PDF。现在,即使弹出该错误,PDF 也能正确生成。
\documentclass{scrbook}
\usepackage{enumitem}
\usepackage{xspace}
\newcounter{descriptcount}
\newlist{enumdescript}{description}{1}
\setlist[enumdescript,1]{%
before={%
\setcounter{descriptcount}{0}%
\renewcommand*\thedescriptcount{\arabic{descriptcount}}%
\let\olditem\item%
\renewcommand{\item}[1][]{%
\olditem##1\space\stepcounter{descriptcount}\thedescriptcount)\xspace}%
},
after={\let\item\olditem},
align=left
}
\begin{document}
\begin{enumdescript}
\item one
\item two
\item[Some Text] three
\item four
\item five
\end{enumdescript}
\end{document}
相关问题
- 错误:\iterate 定义中的参数编号非法
- 如何修复新 Tikz 命令定义中的非法参数数量?
- href: \test 定义中的参数编号非法
- ! \NewValue 定义中的参数数量非法
- 错误:\reserved@a 定义中的参数编号非法
- 使用 latex 时出现 hyperref 错误:“\Hy@temp 定义中的参数编号非法”
- ! \abx@list@location 定义中的参数数量非法
- LaTeX 错误:\pgffor@b 定义中的参数编号非法
- 为什么在重新定义 \appendix 命令时会出现错误“!\appendix 定义中的参数数量非法。”?
- 库 mindmap 和 hyperref 包出现错误“!\tikz@children@list 定义中的参数编号非法。”
- 使用 fncychap 时出现“!\reserved@a 定义中的参数编号非法”
答案1
使用这些键有时很难猜测一个键处于哪个级别,因此我建议使用
\documentclass{scrbook}
\usepackage{enumitem}
\usepackage{xspace}
\newcounter{descriptcount}
\newlist{enumdescript}{description}{1}
\def\renewitem{%
\setcounter{descriptcount}{0}%
\renewcommand*\thedescriptcount{\arabic{descriptcount}}%
\let\olditem\item%
\renewcommand{\item}[1][]{%
\olditem##1\space\stepcounter{descriptcount}\thedescriptcount)\xspace%
}%
}
\setlist[enumdescript,1]{%
before={\renewitem},
after={\let\item\olditem},
align=left,
}
\begin{document}
\begin{enumdescript}
\item one
\item two
\item[Some Text] three
\item four
\item five
\end{enumdescript}
\end{document}