使用 latex 中“moodle”包的数字问题中使用公差的问题

使用 latex 中“moodle”包的数字问题中使用公差的问题

在向数字问题添加公差时,会出现错误,如下例所示:

\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内容如下:

PDF 输出

在 Moodle 中它的工作原理是:

测验的 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

此修复将很快在开发版本中发布。

相关内容