
更新到 TeXLive 2016 (MacTeX 2016) 後,我在處理之前在 TeXLive 2015 下正確編譯的 TeX 檔案時遇到了問題。
(/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 一起使用時,這是法語 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}