我正在 LaTex TexShop 4.27 下编写这个简单的测验
\documentclass[12pt]{article}
\usepackage{moodle}
\def\EN{{\bf A}}
\def\XV{3}
\def\YV{4}
%---------------------------
\begin{document}
\begin{quiz}{MyQuiz}
\begin{essay}{Question A}
Report on study case \EN\ with numerical values:
\begin{center}
\begin{tabular}{|c|c|} \hline
$x$ & $y$ \\ \hline
\XV & \YV \\ \hline
\end{tabular}
\end{center}
\item Case \EN\ with numerical values \XV,\YV
\end{essay}
\end{quiz}
\end{document}
我得到了一个不错的 pdf 文件。但是在 moodle.xml 文件中,定义的值没有出现在任何地方,问题主体是:
<text><![CDATA[<p>Report on study case \EN with numerical values: <CENTER>\begin {tabular}{|c|c|} \hline \(x\) & \(y\) <BR/> \hline \XV & \YV <BR/> \hline \end {tabular}</CENTER> </p>]]></text>
在 moodle 中产生了这个丑陋的结果:
我的定义和表格环境发生了什么?
答案1
答案2
如果你真的需要表格,我认为最好的解决方案是将其打包成图像。例如,参见这个答案。
但是,对于您的宏,我发现有一个未记录的实用程序可以在写入 XML 文件之前声明它们以供包扩展:\htmlregister
。对于您的情况,只需将其放在序言的末尾即可:
\def\EN{{\bf A}}
\def\XV{3}
\def\YV{4}
\htmlregister{\EN}
\htmlregister{\XV}
\htmlregister{\YV}
在软件包的开发版本中,我引入了触发所有随后使用(以及类似的东西)\moodleregisternewcommands
定义的宏的扩展的命令。请参阅此\newcommand
已修复问题。本例中的用法是:
\moodleregisternewcommands
\newcommand{\EN}{{\bf A}}
\newcommand{\XV}{3}
\newcommand{\YV}{4}