有没有办法翻译其他语言中定理和定义的名称,而无需定义新的名称?

有没有办法翻译其他语言中定理和定义的名称,而无需定义新的名称?

有没有办法翻译其他语言中定理和定义的名称,而无需定义新的名称?

例如,如果我使用

\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

相关内容