
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
引数を正しく解析できず、コロンに関連する別の問題があり、French によってアクティブになります。ライブラリはドキュメントの開始時に呼び出されているようで、これにより重要な部分の解析が中断されます。
回避策: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 と一緒に使用した場合、フランス語の babel と TikZ には互換性がありません (これは mhchem が行うことです)。
\documentclass[11pt]{article}%
\usepackage[french]{babel} % Typographie
\usepackage{pgf,tikz} % Dessins avec PGF et Tikz
\AtBeginDocument {
\usetikzlibrary{arrows.meta}
}
\begin{document}
abc
\end{document}