我定义了一个新命令
由于使用了detokenize,写入到文件时意外地出现了空格,导致语法高亮无法正常显示
以下是我手动删除空格的语法高亮显示
\begin {multicols*}{3}\noindent
\hyperlink {gainian:1}{1\songti 名词—\pageref {gainian:1}}\\
\hyperlink {gainian:2}{2\songti 动词—\pageref {gainian:2}}\\
\end {multicols*}
\NewDocumentCommand{\Gai@qv@Nian@qv}{m}{%
\stepcounter{gainian}%递增计数器
\label{gainian:\arabic{gainian}}
\textbf{\songti\arabic{gainian}概念:#1}
\immediate\write\gainianfile{%
\detokenize{\hyperlink}\string{\detokenize{gainian:}\arabic{gainian}\string}\string{\arabic{gainian}\detokenize{\songti#1—\pageref}\string{\detokenize{gainian:}\arabic{gainian}\string}\string}\detokenize{\\}}%写入文件
}
\begin{document}
\tableofcontents
\chapter{第一章}
\section{第一节}
\makeatletter
\Gai@qv@Nian@qv{名词}
\clearpage
\Gai@qv@Nian@qv{动词}
\makeatother
\end{document}