arrows=pgf 在 mhchem 中使用 TeXLive 2016

arrows=pgf 在 mhchem 中使用 TeXLive 2016

更新到 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(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}

相关内容