flechas = pgf en mhchem con TeXLive 2016

flechas = pgf en mhchem con TeXLive 2016

Después de actualizar a TeXLive 2016 (MacTeX 2016), tengo problemas con los archivos TeX previamente compilados correctamente en TeXLive 2015. Es decir, al usar \usepackage[version=4, flechas=pgf]{mhchem} aparece el error:

(/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  
? 

No veo qué cambia con pgf o mhchem, por lo que no entiendo el origen del problema. Borrar la opción flechas=pgf de mhchem permite compilar correctamente. ¿Alguien tiene el mismo problema? Aquí hay un ejemplo básico:

\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}

Eliminar "arrows=pgf" permite que finalice la compilación. Con esta opción, la compilación falla con el mensaje anterior.

Gracias por la ayuda, ciril

Respuesta1

Por alguna razón, probablemente debido a algún cambio en mhchem, la macro \ProvidesFileRCSno puede analizar correctamente su argumento y hay algo más relacionado con los dos puntos, que el francés activa. Aparentemente se llama a la biblioteca al inicio del documento y esto interrumpe el análisis de bits importantes.

Solución alternativa: cargue la arrows.metabiblioteca antes mhchem.

Hágase también un favor y reordene su preámbulo.

\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}

Respuesta2

Yo diría que es una incompatibilidad entre Babel francés y TikZ cuando se usan con AtBeginDocument (que es lo que hace 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}

información relacionada