我不知道问题出在哪里:
文件
\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{moodle}
\begin{document}
\begin{quiz}{My first quiz}
% \begin{numerical}[points=2]{Basic addition}
%What is $8+3$?
%\item 11
%\end{numerical}
\begin{shortanswer}[case sensitive=true]{Newton’s name}
What was Newton’s first name?
\item Isaac
\item[fraction=0, feedback={No, silly!}] Fig
\item{fraction=0} Sir
\end{shortanswer}
\begin{multi}[points=3]{A first derivative}
What is the first derivative of $x^3$?
\item $\frac{1}{4} x^4+C$
\item* $3x^2$
\item $51$
\end{multi}
\end{quiz}
\end{document}
moodle.sty 是从 CTAN 下载的。
答案1
这里存在以下问题:
moodle.sty
不适用于任何软件包。我amsmath
在这里保留了这些软件包,以便提供 PDF,但请注意,Moodle 中数学公式的渲染是由MathJax,而不是 LaTeX 本身;对于简单的公式没有问题,但你需要检查它们。“牛顿的名字”中的撇号不是 ASCII 撇号,但是Unicode 字符‘右单引号’ (U+2019).
moodle.sty
无法处理这个问题pdflatex
;尤其是在测验的名称中,生成的 XML 混淆了(坦白说很穷) Moodle 解析器。
此文件(仍然带有你喜欢的撇号):
\documentclass[12pt]{article}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{moodle}
\begin{document}
\begin{quiz}{My first quiz}
\begin{shortanswer}[case sensitive=true]{Newton’s name}
What was Newton’s first name?
\item Isaac
\item[fraction=0, feedback={No, silly!}] Fig
\item{fraction=0} Sir
\end{shortanswer}
\begin{multi}[points=3]{A first derivative}
What is the first derivative of $x^3$?
\item $\frac{1}{4} x^4+C$
\item* $3x^2$
\item $51$
\end{multi}
\end{quiz}
\end{document}
如果用lualatex
(可能xelatex
也用,没有检查)进行编译,则会给出正确的 XML:
答案2
我注意到这个包与 UTF-8 源文件不兼容。即使您使用 latin1 inputenc 环境,生成的 XML 也会将 UTF-8 声明为其编码。您可以手动将其更改为 ISO-8859-1 或使用我编写的一些脚本:
#! /bin/bash
for i in *.xml; do
sed -i 's/UTF-8/ISO-8859-1/g' $i;
done
exit 0;
请注意,它将作用于该文件夹中的任何 XML 文件。转换 XML 文件后,它在这里工作正常。
希望能帮助到你。