我正在用 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
选项(而不是french
)babel
以exercise
自动将宏翻译成法语。spanish
、dutch
和)都有效,那么现在它似乎对、和都italian
不起作用。french
frenchb
总结:要将这些名字翻译成法语,有两个解决方案:
\renewcommand{\ExerciseName}{Nouveau nom de mes exercices}
通过类似命令手动翻译每一个。加载frenchb
选项babel
(而不是french
一个):已经实现的翻译将被自动使用;
编辑:对于最新的(即 TeXlive 2012 之后的)LaTeX 发行版, 和中的选项似乎frenchb
都无法与包的自动翻译一起使用(参见french
babel
exercice
使用 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}
。