有没有办法翻译其他语言中定理和定义的名称,而无需定义新的名称?
例如,如果我使用
\usepackage[romanian]{babel}
这个单词证明被替换为示威游行。但我还想替换所有出现的定理和定理。
我知道我可以用类似的东西
\newtheorem{teorema}[theorem]{Teorema}
但我不想查看代码并替换
\begin{theorem}
...
\end{theorem}
和
\begin{teorema}
...
\end{teorema}
是否有捷径可寻?
更新
我也尝试过使用
\newtheorem{theorem}{Teorema}[section]
但我收到错误“命令 \theorem 已定义”。我该如何避免这种情况?
答案1
如果你不想更改文件中定理的名称Thesis.cls
,你可以在主 TeX 文件中更正名称;只需在加载其他包后(hyperref
应该是最后一个,除非也cleveref
使用),添加
\usepackage{etoolbox}
\patchcmd{\theorem}{Theorem}{Teorema}{}{}
\patchcmd{\corollary}{Corollary}{???}{}{}
\patchcmd{\lemma}{Lemma}{???}{}{}
\patchcmd{\proposition}{Proposition}{???}{}{}
\patchcmd{\axiom}{Axiom}{???}{}{}
\patchcmd{\example}{Example}{???}{}{}
\patchcmd{\definition}{Definition}{???}{}{}
\patchcmd{\remark}{Remark}{???}{}{}
将每一个单词改为???
正确的罗马尼亚语单词。
然后使用\begin{theorem}
将打印定理其它固定环境也一样。不要删除空组{}
:虽然它们看起来没用,但它们对于 来说是必不可少的\patchcmd
。