从项目中提取文本

从项目中提取文本

这是我的文件:

\documentclass{scrreprt}
\newcommand\foo[1]{#1}

\begin{document}
\foo{%
\begin{itemize}
\item[x] hello
\item[y] world
\end{itemize}
}

\end{document}

我想提取每\item行的商品标签和商品文本。文档将使用 LuaTeX 进行处理,因此我可以在商品标签中插入节点,也许在行末插入节点,以便稍后进行分析。我的想法是,我可以插入特殊标记,例如

\item[(m1)x(m2)](m3) hello(m4)
\item[(m1)x(m2)](m3) world(m4)

其中 m1,...m4 是\directlua{}插入特殊标记的调用。

(如何)是否可以增强命令\item以插入这些m_n标记?其中的文本\foo是固定的,无法更改。

答案1

用调用替换\mi\mii\directlua

\documentclass{scrreprt}
\usepackage{fontspec}
\newcommand\foo[1]{#1}
\let\Item\item
\renewcommand\item[1][]{\Item[\mi#1\mii]}
\def\mi{<m1>}
\def\mii{<m2>}

\begin{document}
    \foo{%
        \begin{itemize}
            \item[x] hello
            \item[y] world
        \end{itemize}
    }

\end{document}

相关内容