Ich versuche, mein Dokument mit Paket einzurichten chemmacros
, und es scheint, als ob es einen Konflikt gibt mitbabel
Hier ist MWE:
\documentclass[12pt, a4paper, final]{extarticle}
\usepackage{fontspec}
\usepackage{xunicode}
\usepackage{xltxtra}
\defaultfontfeatures{Ligatures=TeX}
\setmainfont{Times New Roman}
\newfontfamily\cyrillicfont{Times New Roman}
\usepackage[russian]{babel}
\usepackage{csquotes}
\usepackage{chemmacros}
\begin{document}
Just some text
\end{document}
Wenn ich entweder babel
oder entferne chemmacros
, funktioniert alles einwandfrei. Andernfalls tritt ein Fehler auf:
LaTeX3: Command '\ch' already defined!
aus Dateichemformula.sty
Als Referenz: Ich verwende es XeTeX
unter MacOS.
Antwort1
\ch
wird definiert durch russian
. Heben Sie einfach die Definition auf:
\usepackage[russian]{babel}
\let\ch\undefined
\usepackage{csquotes}
\usepackage{chemmacros}
Antwort2
Wenn man das MWE reduziert, erhält man
\documentclass{article}
\usepackage[russian]{babel}
\usepackage{chemformula}
\begin{document}
\end{document}
was zeigt, dass der Konflikt zwischen russian
und besteht. Javier hat bereits eine Lösung gezeigt, die Sie verwenden können, wenn Sie das durch definierte chemformula
nicht benötigen (ein Symbol für die Kosinusfunktion, wenn ich anhand des Handbuchs und der Definition raten müsste).ch
russian
Aber da chemmacros
es nicht notwendig ist, chemformula
gibt es eine andere Lösung. Man kann genauso gut mhchem
seine chemischen Formeln verwenden. Das hier könnte also eine Alternative sein:
\documentclass{article}
\usepackage[russian]{babel}
\usepackage{chemmacros}
\usepackage[version=4]{mhchem}
\chemsetup{
formula = mhchem
}
\begin{document}
\end{document}
Eine dritte Möglichkeit wäre, chemformula
den Befehl umzubenennen, da chemmacros
der interne Befehl nur verwendet wird, wenn er verfügbar ist:
\documentclass{article}
\usepackage{chemformula}
\ExplSyntaxOn
\NewDocumentCommand \chem { O{}m }
{ \chemformula_ch:nn {#1} {#2} }
\cs_undefine:N \ch
\ExplSyntaxOff
\usepackage[russian]{babel}
\usepackage{chemmacros}
\begin{document}
\end{document}
Der Chemiebefehl chemformula
wäre ab dann als verfügbar chem
.