在向数字问题添加公差时,会出现错误,如下例所示:
\documentclass[10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[spanish]{babel}
\usepackage{moodle}
\begin{document}
\begin{quiz}{Prueba}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{numerical}[points=5,tolerance={0.0001}]{Pregunta01}
$\pi$ es igual a
\item 3.14159
\end{numerical}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{cloze}{Pregunta02}
$\pi$ es igual a
\begin{numerical}[points=2, ,tolerance={0.0001}]
\item 3.14159
\end{numerical}
$e$ es igual a
\begin{numerical}[points=2, ,tolerance={0.0001}]
\item 2.71828
\end{numerical}
\end{cloze}
\end{quiz}
\end{document}
答案1
更新:Matthieu (@mgk) 发现问题在于(经常发生)该babel
包使用字符类别代码来实现其简写。我的建议是,至少对于西班牙语,始终加载babel
不带简写的包并使用 Unicode 直接输入特殊字符。
实际上,似乎分布式moodle.sty
(版本 0.9)存在问题,但(如果您不激活西班牙语的简写)它在 1.0 中得到了修复。
我正在运行 1.0来源,并运行稍微变化的代码lualatex
(提示:如果你不是用英语书写,请lualatex
直接使用 utf8 输入你的文件,而不使用 babel 的任何简写 --- 它们大多数都不起作用),我得到了正确的行为:
\documentclass[10pt]{article}
\usepackage[english, spanish, es-noshorthands, shorthands=off]{babel}
\usepackage{moodle}
\begin{document}
\begin{quiz}{Prueba}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{numerical}[points=5,tolerance={0.0001}]{Pregunta01}
$\pi$ es igual a
\item 3.14159
\end{numerical}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{cloze}{Pregunta02}
$\pi$ es igual a
\begin{numerical}[points=2, ,tolerance={0.0001}]
\item 3.14159
\end{numerical}
$e$ es igual a
\begin{numerical}[points=2, ,tolerance={0.0001}]
\item 2.71828
\end{numerical}
\end{cloze}
\end{quiz}
\end{document}
PDF内容如下:
在 Moodle 中它的工作原理是:
从主要消息来源来看,新版本正在制作中,这是个好消息。
答案2
楼主遇到了一个 bug已修复修复已在最近发布的在 1.0 版本中包的moodle
。
@Rmano 发现了另一个问题:这个问题我以前不知道。据我了解,spanish
该包的选项babel
似乎会更改符号<
和 的 catcode >
。这些符号用于moodle
编写 XML 代码...
序言中放置的以下代码应能moodle
更好地适应所引入的更改babel
:
{\catcode`\<=12\gdef\otherlessthan{<}
\catcode`\>=12\gdef\othergreaterthan{>}}
\makeatletter
\html@action@def\HTMLtag#1{%
\xa\g@addto@macro\xa\htmlize@output\xa{\otherlessthan#1\othergreaterthan}%
}%
\makeatother
此修复将很快在开发版本中发布。