![列出具有数学环境的项目?](https://linux22.com/image/478821/%E5%88%97%E5%87%BA%E5%85%B7%E6%9C%89%E6%95%B0%E5%AD%A6%E7%8E%AF%E5%A2%83%E7%9A%84%E9%A1%B9%E7%9B%AE%EF%BC%9F.png)
我目前正在处理一份包含大量列表的数学内容繁多的文档。是否可以定义一个\item
自动将其内容置于数学模式以避免一直书写的程序\item $ $
?我设想如下:
\begin{itemize}
\mathitem some math
\item some text
\end{itemize}
我知道您可以制作整个 itemize 环境的数学版本,但这并没有真正的帮助,因为有许多列表同时包含数学和文本条目。
答案1
以下解决方案可能对您有用。但您必须避免(至少)两件事:
- 避免空洞的论点
\mathitem
, - 的内容
\mathitem
必须放在一行内(实际上,行尾就是 的参数分隔符\mathitem
)。
这是代码...
\documentclass{article}
% https://tex.stackexchange.com/questions/125549/using-end-of-line-delimiter-in-plain-tex-macro
% (OPmac-solution)
% ------------------
\def\eoldef#1{%
\def#1{\begingroup \catcode`\^^M=12 \eoldefA#1}%
\expandafter\def\csname\string#1:M\endcsname}
{\catcode`\^^M=12
\gdef\eoldefA#1#2^^M{\endgroup\csname\string#1:M\endcsname{#2}}}
% definition of \mathitem (avoid empty arguments)
\eoldef\mathitem #1{%
\item $#1$}
\begin{document}
\begin{itemize}
\item first item
\item second item
\mathitem 4x^2\cdot\sinh (x)
\item third one
\mathitem \zeta ^\star (2,1)=2\zeta (3)
\end{itemize}
\end{document}