내 문서를 패키지로 설정하려고 하는데 chemmacros
패키지와 충돌이 있는 것 같습니다.babel
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}
babel
둘 중 하나를 제거하면 chemmacros
모든 것이 잘 작동합니다. 그렇지 않으면 오류가 발생합니다.
LaTeX3: Command '\ch' already defined!
파일에서chemformula.sty
참고로 저는 XeTeX
MacOS에서 사용하고 있습니다.
답변1
\ch
로 정의됩니다 russian
. 정의를 해제하세요.
\usepackage[russian]{babel}
\let\ch\undefined
\usepackage{csquotes}
\usepackage{chemmacros}
답변2
MWE를 끓이면 다음과 같습니다.
\documentclass{article}
\usepackage[russian]{babel}
\usepackage{chemformula}
\begin{document}
\end{document}
russian
이는 와 사이에 충돌이 있음을 보여줍니다 chemformula
. Javier는 이미 ch
정의한 것이 필요하지 않은 경우 사용할 수 있는 한 가지 솔루션을 보여줍니다 russian
(설명서와 정의에서 추측해야 하는 경우 코사인 함수에 대한 기호).
하지만 chemmacros
사용할 필요가 없기 때문에 chemformula
다른 해결책이 있습니다. 그것은 mhchem
화학 공식에도 잘 사용될 수 있습니다 . 따라서 이것이 대안이 될 수 있습니다.
\documentclass{article}
\usepackage[russian]{babel}
\usepackage{chemmacros}
\usepackage[version=4]{mhchem}
\chemsetup{
formula = mhchem
}
\begin{document}
\end{document}
세 번째 방법은 가능한 경우 내부 명령만 사용하므로 chemformula
의 명령 이름을 바꾸는 것입니다 .chemmacros
\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}
chemformula
그때 의 화학 명령은 chem
.