我目前正在处理一份包含大量列表的数学内容繁多的文档。是否可以定义一个\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}