TeXLive 2016을 사용하는 mhchem의 화살표 = pgf

TeXLive 2016을 사용하는 mhchem의 화살표 = pgf

TeXLive 2016(MacTeX 2016)으로 업데이트한 후 이전에 TeXLive 2015에서 올바르게 컴파일된 TeX 파일에 문제가 있습니다. 즉, \usepackage[version=4, arrows=pgf]{mhchem}을 사용하면 오류가 발생합니다.

(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.meta.code.tex
Runaway argument?
Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibraryarrows.meta.\ETC.
/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.m
eta.code.tex:11: Paragraph ended before \pgf@parseid was complete.
<to be read again> 
               \par 
l.11  
? 

pgf 또는 mhchem에서 어떤 변경 사항이 표시되지 않으므로 문제의 원인을 이해할 수 없습니다. mhchem의 arrows=pgf 옵션을 지우면 올바르게 컴파일할 수 있습니다. 누군가 같은 문제가 있습니까? 기본적인 예는 다음과 같습니다.

\documentclass[11pt]{article}%
\usepackage[T1]{fontenc}    % Saisie en français
\usepackage{textcomp}
\usepackage[scr=boondoxo,frak=boondox,bb=boondox]{mathalfa}
\usepackage[french]{babel}  % Typographie   
\usepackage[utf8]{inputenc} % Encodage
\usepackage[top=2cm,bottom=1.5cm]{geometry} % Taille de la feuille
\usepackage[svgnames]{xcolor}       % Gestion des couleurs
\usepackage{pgf,tikz}   % Dessins avec PGF et Tikz
\usetikzlibrary{decorations,arrows,backgrounds,patterns}
\usetikzlibrary{decorations.pathreplacing,decorations.text,shapes,snakes}
\usepackage[version=4,arrows=pgf]{mhchem}%
%@@@@@@@@@@%
\begin{document}

\begin{center}
\ce{H2O ->[h\nu] H + OH}
\end{center}

\end{document}

"arrows=pgf"를 제거하면 컴파일이 완료됩니다. 이 옵션을 사용하면 위 메시지와 함께 컴파일이 실패합니다.

도움을 주셔서 감사합니다, 시릴

답변1

어떤 이유로, 아마도 의 일부 변경으로 인해 mhchem매크로가 \ProvidesFileRCS인수를 올바르게 구문 분석할 수 없으며 프랑스어에서 활성화하는 콜론과 관련된 다른 것이 있습니다. 분명히 시작 문서에서 라이브러리가 호출되고 있으며 이로 인해 중요한 비트의 구문 분석이 중단됩니다.

해결 방법: arrows.meta이전에 라이브러리를 로드합니다 mhchem.

또한 자신에게 호의를 베풀고 서문을 다시 정렬하십시오.

\documentclass[11pt]{article}

\usepackage[T1]{fontenc}    % Saisie en français
\usepackage[utf8]{inputenc} % Encodage
\usepackage[french]{babel}  % Typographie

\usepackage[top=2cm,bottom=1.5cm]{geometry} % Taille de la feuille

\usepackage{textcomp}
\usepackage[scr=boondoxo,frak=boondox,bb=boondox]{mathalfa}

\usepackage[svgnames]{xcolor}       % Gestion des couleurs
\usepackage{pgf,tikz}   % Dessins avec PGF et Tikz
\usetikzlibrary{decorations,arrows,backgrounds,patterns}
\usetikzlibrary{decorations.pathreplacing,decorations.text,shapes,snakes,arrows.meta}

\usepackage[version=4,arrows=pgf]{mhchem}%

\begin{document}

\begin{center}
\ce{H2O ->[h\nu] H + OH}
\end{center}

\end{document}

답변2

AtBeginDocument(mhchem이 수행하는 작업)와 함께 사용할 경우 프랑스어 babel과 TikZ가 호환되지 않는다고 말하고 싶습니다.

\documentclass[11pt]{article}%
\usepackage[french]{babel}  % Typographie   
\usepackage{pgf,tikz}   % Dessins avec PGF et Tikz
\AtBeginDocument {
  \usetikzlibrary{arrows.meta}
}
\begin{document}
abc
\end{document}

관련 정보