包裹练习:将“exercise”更改为法语“exercice”

包裹练习:将“exercise”更改为法语“exercice”

我正在用 LaTeX 为我的学生准备家庭作业,所以我使用了\usepackage{exercise}。在.pdf文件中我得到了“练习”,我希望它是法语(exercice)而不是英语。

我放了\usepackage[french]{babel},但什么都没改变。

这是我的代码:

\documentclass[12pt,a4paper]{article}
\usepackage[T1]{fontenc}     
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\usepackage{exercise}

\begin{document}
\maketitle

\begin{Exercise}[title=...]

\Question{....}

\end{Exercise}

答案1

exercise文档(§5.2),你可以看到文本“常量”(例如练习列表锻炼习题答案,...)的定义。它分别通过以下宏完成:

\def\listexercisename{List of exercises}%
\def\ExerciseName{Exercise}%
\def\AnswerName{Answer of exercise}%
...

因此,您可以使用以下宏来根据您的需要进行调整:

\renewcommand{\ExerciseName}{Exercice}

但是,对于某些语言(西班牙语、意大利语、荷兰语……和法语),Paul Pichaureau(此软件包的创建者)已经完成了这项工作。当您在 中加载语言时,这应该会自动完成babel;但是如何做到呢?
您可以看到(在同一段中),exercise通过以下命令识别加载的语言:\@ifpackageloaded{babel}{\addto{\captions<LANGUAGE>}{...

对于法语,命令为:\addto{\captionsfrenchb}{,因此您应该加载-packagefrenchb选项(而不是frenchbabelexercise自动将宏翻译成法语。 → 如果这对大多数语言(至少spanishdutch和)都有效,那么现在它似乎对、和都italian不起作用。frenchfrenchb


总结:要将这些名字翻译成法语,有两个解决方案

  • \renewcommand{\ExerciseName}{Nouveau nom de mes exercices}通过类似命令手动翻译每一个。
  • 加载frenchb选项babel(而不是french一个):已经实现的翻译将被自动使用;

编辑:对于最新的(即 TeXlive 2012 之后的)LaTeX 发行版, 和中的选项似乎frenchb都无法与包的自动翻译一起使用(参见frenchbabelexercice使用 Babel 进行练习)然后您应该将这些行复制粘贴到您的.tex文件中以模拟翻译:

\renewcommand\listexercisename{Liste des exercices}%
\renewcommand\ExerciseName{Exercice}%
\renewcommand\AnswerName{Solution de l'exercice}%
\renewcommand\ExerciseListName{Ex.}%
\renewcommand\AnswerListName{Solution}%
\renewcommand\ExePartName{Partie}%

答案2

也许最简单的方法是:的第 74 行exercise.sty,替换addto{\captionsfrenchb}addto{\captionsfrench}

相关内容