Beamer-Dok. bei zu vielen Chemfig-Formeln nicht kompilierbar
Verfasst: Mo 6. Jan 2014, 19:37
Ich habe ein sehr hinterhältiges Problem bei Beamer-Präsentationen, das erst bei ausreichend umfangreichen Dokumenten auftritt.
Und zwar lassen sich Dokumente mit zu vielen Chemfig-Formeln irgendwann nicht mehr kompilieren. Ich habe mal zwei Versionen zusammengestellt. Verzeiht mir allerdings, dass das Minimalbeispiel nicht ganz minimal ist, weil der Fehler erst bei ausreichend großen Dokumenten auftritt.
Die erste Variante ist kompilierbar:
Fügt man die letzte Folie einfach noch einmal hinzu, dann scheitert die ganze Angelegenheit mit hoher Wahrscheinlichkeit, aber eben auch nicht immer:
Mit dem zweiten Beispiel erhalte ich ein korruptes PDF-Dokument. Es scheint so, als ob LaTeX einfach abbricht. Eine Fehlermeldung gibt es leider nicht. Manchmal erhalte ich aber doch ein korrektes PDF. Vor dem Kompilieren habe ich stets alle Dateien bis auf die Tex-Datei gelöscht. Beim erneuten Kompilieren ohne Löschen der Hilfsdatei, kommt:
Die einzige Lösung für dieses Problem zur Zeit, die ich auch bereits bei einer anderen Präsentation angewandt habe, ist, in ein paar Folien immer die Formeln auszukommentieren (ich habe die per \input in andere Dateien ausgelagert) und am Ende ein komplettes PDF aus alles Einzelteilen zusammenzustellen.
Ich hoffe mal, dass sich irgendwo ein einfacher, blöder Fehler versteckt, damit ich mich bei zukünftigen Präsentationen nicht wieder ärgern muss. Bei größeren Arbeiten, bspw. mit der Klasse scrreprt mit 50 Seiten, vollgepackt mit Strukturformeln, hatte ich das Problem nie.
Würde mich freuen, wenn ihr über diese etwas umfangreicheren Beispiele schaut.
Viele Grüße,
Diego
PS: Für alle Chemiker: Ja, die Strukturformeln sind noch nicht alle hundertprozentig korrekt.
Und zwar lassen sich Dokumente mit zu vielen Chemfig-Formeln irgendwann nicht mehr kompilieren. Ich habe mal zwei Versionen zusammengestellt. Verzeiht mir allerdings, dass das Minimalbeispiel nicht ganz minimal ist, weil der Fehler erst bei ausreichend großen Dokumenten auftritt.
Die erste Variante ist kompilierbar:
\documentclass[dvipsnames]{beamer} \beamertemplatenavigationsymbolsempty \useoutertheme{infolines} \usepackage[ngerman]{babel} \usepackage[utf8]{inputenc} \usepackage{lmodern} \usepackage[T1]{fontenc} \usepackage{chemmacros} \chemsetup[option]{language=ngerman,circletype=math} \chemsetup[phases]{pos=sub} \chemsetup[ox]{explicit-sign=true} \chemsetup[nmr]{format=\bfseries,delta=(ppm),use-equal} \renewtagform{reaction}[R~]{(}{)} \usepackage{chemfig} \setatomsep{1.2em} \setbondstyle{thick} \setcrambond{3pt}{0.6pt}{1.5pt} \setdoublesep{2.25pt} \setbondoffset{1.0pt} \setarrowdefault{,1.0,} \renewcommand*\printatom[1]{\scriptsize\ensuremath{\mathsf{#1}}} \usepackage{chemnum} \usepackage{amsmath,amssymb,amstext} \usepackage{icomma} \usepackage{units} \usepackage{cancel} \usepackage[normalem]{ulem} \usepackage{xfrac} \usepackage{gensymb} \usepackage{textgreek} \usepackage[mla]{ellipsis} \usepackage{float} \usepackage{graphicx} \graphicspath{{Bilder/}{Diagramme/}{Anhang/}{Schemata/}{Abbildungen/}{Chemfig/}} \usepackage{tabu} \newcolumntype{L}{>{\raggedright\arraybackslash}X} \newcolumntype{R}{>{\raggedleft\arraybackslash}X} \newcolumntype{C}{>{\centering\arraybackslash}X} \usepackage{booktabs} \usepackage{ctable} \usepackage{multirow} \usepackage[format=plain, labelsep=quad, textformat=simple, justification=justified, font=small, labelfont=bf]{caption} \captionsetup[table]{singlelinecheck=false,position=above,skip=3pt} % Tabellen: captions linksbündig \captionsetup[figure]{singlelinecheck=true,position=bottom,skip=10pt} % Bilder: captions zentriert \usepackage{subcaption} \captionsetup[sub]{labelformat=parens,justification=justified,font=footnotesize} \addto\captionsngerman{\renewcommand{\figurename}{Abb.} \renewcommand{\tablename}{Tab.}} \usepackage[backend=bibtex,style=chem-angew,useprefix=true,hyperref=true, maxcitenames=2]{biblatex} \bibliography{Literatur.bib} \DefineBibliographyStrings{ngerman}{andothers={\textit{et~al.}}} \usepackage[babel,german=quotes]{csquotes} \usepackage[ngerman]{varioref} \newcommand{\scite}[1]{\textsuperscript{\cite{#1}}} \setbeamertemplate{bibliography item}[text] \begin{document} \section{Überblick} \subsection{Carbazol-Steroid-Hybridmoleküle} \begin{frame} \frametitle{Carbazol-Steroid-Hybridmoleküle} \centering \schemestart \chemname{\chemfig{*6((-HO)-=*6(---*6(-*5(---(=O)--)(<:[::-114]H)-(<[::-6])----)(<[::0]H)-(<:[::120]H)--)-=-=)}}{\scriptsize Estron (\cmpd{Estron})} \arrow(Estron--){->}[-120,0.9] \chemname{\chemfig{[:54]N*5(-*6(-=*6(---*6(-*5(---(=O)--)(<:[::-114]H)-(<[::-6])----)(<[::0]H)-(<:[::120]H)--)-=-=)--*6(-=-(-HO)=-=)--)}}{\scriptsize\cmpd{DJ-OH1}} \arrow(@Estron--){->}[-60,0.9] \chemname{\chemfig{[:54]N*5(-*6(-=*6(---*6(-*5(---(=O)--)(<:[::-114]H)-(<[::-6])----)(<[::0]H)-(<:[::120]H)--)-=-=)--*6(-=(-HOOC)-=-=)--)}}{\scriptsize\cmpd{DJ-COOH1}} \schemestop \end{frame} \section{Hydroxy-substituiertes Carbazol \cmpd{DJ-OH1}} \subsection{Syntheseweg} \renewcommand*\printatom[1]{\tiny\ensuremath{\mathsf{#1}}} \begin{frame} \frametitle{Synthese des Hydroxy-substituierten Carbazols \cmpd{DJ-OH1}} \centering \scriptsize \schemestart \chemname{\chemfig{*6((-HO)-=*6(---*6(-*5(---(=O)--)(<:[::-114]H)-(<[::-6])----)(<[::0]H)-(<:[::120]H)--)-=-=)}}{\tiny\cmpd{Estron}} \arrow{->} \chemname{\chemfig{*6((-TfO)-=*6(---*6(-*5(---(=O)--)(<:[::-114]H)-(<[::-6])----)(<[::0]H)-(<:[::120]H)--)-=-=)}}{\tiny\cmpd{DJ-TF1}} \arrow{->} \schemestop \\ \schemestart \chemname{\chemfig{\chembelow{N}{H}(-[:150]*6(-=-=(-MeO)-=))-[:30]*6(-=*6(---*6(-*5(---(=O)--)(<:[::-114]H)-(<[::-6])----)(<[::0]H)-(<:[::120]H)--)-=-=)}}{\tiny\cmpd{DJ-BH2}} \arrow{->} \chemnameinit{} \chemname{\chemfig{[:54]N*5(-*6(-=*6(---*6(-*5(---(=O)--)(<:[::-114]H)-(<[::-6])----)(<[::0]H)-(<:[::120]H)--)-=-=)--*6(-=-(-MeO)=-=)--)}}{\tiny\cmpd{DJ-Cyc2}} \schemestop \\ \schemestart \arrow{->} \chemname{\chemfig{[:54]N*5(-*6(-=*6(---*6(-*5(---(=O)--)(<:[::-114]H)-(<[::-6])----)(<[::0]H)-(<:[::120]H)--)-=-=)--*6(-=-(-HO)=-=)--)}}{\tiny\cmpd{DJ-OH1}} \schemestop \end{frame} \renewcommand*\printatom[1]{\scriptsize\ensuremath{\mathsf{#1}}} \subsection{Synthese} \begin{frame} \frametitle{Synthese des Estron-Triflats~\cmpd{DJ-TF1}} %\begin{scheme} \centering \schemestart \chemname{\chemfig{*6((-HO)-=*6(---*6(-*5(---(=O)--)(<:[::-114]H)-(<[::-6])----)(<[::0]H)-(<:[::120]H)--)-=-=)}}{\scriptsize\cmpd{Estron}} \arrow{->[\scriptsize\begin{tabular}{l} \unit[1,2]{eq.} \ch{Tf2O} \\ \unit[3]{eq.} 2,6-Lutidin \end{tabular}][\scriptsize \begin{tabular}{c} DCM, \unit[-8]{\degree C} $\rightarrow$ RT, \unit[17]{h} \\ \\ \unit[90,8]{\%} \end{tabular}]}[,2.2] \chemname{\chemfig{*6((-TfO)-=*6(---*6(-*5(---(=O)--)(<:[::-114]H)-(<[::-6])----)(<[::0]H)-(<:[::120]H)--)-=-=)}}{\scriptsize\cmpd{DJ-TF1}} \schemestop %\end{scheme} \end{frame} \begin{frame} \frametitle{Buchwald-Hartwig-Aminierung mit \textit{m}-Anisidin} \centering \schemestart \chemname{\chemfig{*6((-TfO)-=*6(---*6(-*5(---(=O)--)(<:[::-114]H)-(<[::-6])----)(<[::0]H)-(<:[::120]H)--)-=-=)}}{\scriptsize\cmpd{DJ-TF1}} \arrow{->[\scriptsize\begin{tabular}{l} \unit[1,2]{eq.} \normalsize \chemfig{[:120]*6((-MeO)-=(-NH_2)-=-=)} \\ \unit[1,4]{eq.} \ch{Cs2CO3} \\ \unit[0,05]{eq.} \ch{Pd(OAc)2} \\ \unit[0,1]{eq.} X-Phos \end{tabular}][\scriptsize\begin{tabular}{c} Toluol, RF, \unit[18]{h} \\ \\ \unit[12,9]{\%} \end{tabular}]}[,1.8] \chemname{\chemfig{\chembelow{N}{H}(-[:150]*6(-=-=(-MeO)-=))-[:30]*6(-=*6(---*6(-*5(---(=O)--)(<:[::-114]H)-(<[::-6])----)(<[::0]H)-(<:[::120]H)--)-=-=)}}{\scriptsize\cmpd{DJ-BH2}} \schemestop \end{frame} \end{document}
Fügt man die letzte Folie einfach noch einmal hinzu, dann scheitert die ganze Angelegenheit mit hoher Wahrscheinlichkeit, aber eben auch nicht immer:
\documentclass[dvipsnames]{beamer} \beamertemplatenavigationsymbolsempty \useoutertheme{infolines} \usepackage[ngerman]{babel} \usepackage[utf8]{inputenc} \usepackage{lmodern} \usepackage[T1]{fontenc} \usepackage{chemmacros} \chemsetup[option]{language=ngerman,circletype=math} \chemsetup[phases]{pos=sub} \chemsetup[ox]{explicit-sign=true} \chemsetup[nmr]{format=\bfseries,delta=(ppm),use-equal} \renewtagform{reaction}[R~]{(}{)} \usepackage{chemfig} \setatomsep{1.2em} \setbondstyle{thick} \setcrambond{3pt}{0.6pt}{1.5pt} \setdoublesep{2.25pt} \setbondoffset{1.0pt} \setarrowdefault{,1.0,} \renewcommand*\printatom[1]{\scriptsize\ensuremath{\mathsf{#1}}} \usepackage{chemnum} \usepackage{amsmath,amssymb,amstext} \usepackage{icomma} \usepackage{units} \usepackage{cancel} \usepackage[normalem]{ulem} \usepackage{xfrac} \usepackage{gensymb} \usepackage{textgreek} \usepackage[mla]{ellipsis} \usepackage{float} \usepackage{graphicx} \graphicspath{{Bilder/}{Diagramme/}{Anhang/}{Schemata/}{Abbildungen/}{Chemfig/}} \usepackage{tabu} \newcolumntype{L}{>{\raggedright\arraybackslash}X} \newcolumntype{R}{>{\raggedleft\arraybackslash}X} \newcolumntype{C}{>{\centering\arraybackslash}X} \usepackage{booktabs} \usepackage{ctable} \usepackage{multirow} \usepackage[format=plain, labelsep=quad, textformat=simple, justification=justified, font=small, labelfont=bf]{caption} \captionsetup[table]{singlelinecheck=false,position=above,skip=3pt} % Tabellen: captions linksbündig \captionsetup[figure]{singlelinecheck=true,position=bottom,skip=10pt} % Bilder: captions zentriert \usepackage{subcaption} \captionsetup[sub]{labelformat=parens,justification=justified,font=footnotesize} \addto\captionsngerman{\renewcommand{\figurename}{Abb.} \renewcommand{\tablename}{Tab.}} \usepackage[backend=bibtex,style=chem-angew,useprefix=true,hyperref=true, maxcitenames=2]{biblatex} \bibliography{Literatur.bib} \DefineBibliographyStrings{ngerman}{andothers={\textit{et~al.}}} \usepackage[babel,german=quotes]{csquotes} \usepackage[ngerman]{varioref} \newcommand{\scite}[1]{\textsuperscript{\cite{#1}}} \setbeamertemplate{bibliography item}[text] \begin{document} \section{Überblick} \subsection{Carbazol-Steroid-Hybridmoleküle} \begin{frame} \frametitle{Carbazol-Steroid-Hybridmoleküle} \centering \schemestart \chemname{\chemfig{*6((-HO)-=*6(---*6(-*5(---(=O)--)(<:[::-114]H)-(<[::-6])----)(<[::0]H)-(<:[::120]H)--)-=-=)}}{\scriptsize Estron (\cmpd{Estron})} \arrow(Estron--){->}[-120,0.9] \chemname{\chemfig{[:54]N*5(-*6(-=*6(---*6(-*5(---(=O)--)(<:[::-114]H)-(<[::-6])----)(<[::0]H)-(<:[::120]H)--)-=-=)--*6(-=-(-HO)=-=)--)}}{\scriptsize\cmpd{DJ-OH1}} \arrow(@Estron--){->}[-60,0.9] \chemname{\chemfig{[:54]N*5(-*6(-=*6(---*6(-*5(---(=O)--)(<:[::-114]H)-(<[::-6])----)(<[::0]H)-(<:[::120]H)--)-=-=)--*6(-=(-HOOC)-=-=)--)}}{\scriptsize\cmpd{DJ-COOH1}} \schemestop \end{frame} \section{Hydroxy-substituiertes Carbazol \cmpd{DJ-OH1}} \subsection{Syntheseweg} \renewcommand*\printatom[1]{\tiny\ensuremath{\mathsf{#1}}} \begin{frame} \frametitle{Synthese des Hydroxy-substituierten Carbazols \cmpd{DJ-OH1}} \centering \scriptsize \schemestart \chemname{\chemfig{*6((-HO)-=*6(---*6(-*5(---(=O)--)(<:[::-114]H)-(<[::-6])----)(<[::0]H)-(<:[::120]H)--)-=-=)}}{\tiny\cmpd{Estron}} \arrow{->} \chemname{\chemfig{*6((-TfO)-=*6(---*6(-*5(---(=O)--)(<:[::-114]H)-(<[::-6])----)(<[::0]H)-(<:[::120]H)--)-=-=)}}{\tiny\cmpd{DJ-TF1}} \arrow{->} \schemestop \\ \schemestart \chemname{\chemfig{\chembelow{N}{H}(-[:150]*6(-=-=(-MeO)-=))-[:30]*6(-=*6(---*6(-*5(---(=O)--)(<:[::-114]H)-(<[::-6])----)(<[::0]H)-(<:[::120]H)--)-=-=)}}{\tiny\cmpd{DJ-BH2}} \arrow{->} \chemnameinit{} \chemname{\chemfig{[:54]N*5(-*6(-=*6(---*6(-*5(---(=O)--)(<:[::-114]H)-(<[::-6])----)(<[::0]H)-(<:[::120]H)--)-=-=)--*6(-=-(-MeO)=-=)--)}}{\tiny\cmpd{DJ-Cyc2}} \schemestop \\ \schemestart \arrow{->} \chemname{\chemfig{[:54]N*5(-*6(-=*6(---*6(-*5(---(=O)--)(<:[::-114]H)-(<[::-6])----)(<[::0]H)-(<:[::120]H)--)-=-=)--*6(-=-(-HO)=-=)--)}}{\tiny\cmpd{DJ-OH1}} \schemestop \end{frame} \renewcommand*\printatom[1]{\scriptsize\ensuremath{\mathsf{#1}}} \subsection{Synthese} \begin{frame} \frametitle{Synthese des Estron-Triflats~\cmpd{DJ-TF1}} %\begin{scheme} \centering \schemestart \chemname{\chemfig{*6((-HO)-=*6(---*6(-*5(---(=O)--)(<:[::-114]H)-(<[::-6])----)(<[::0]H)-(<:[::120]H)--)-=-=)}}{\scriptsize\cmpd{Estron}} \arrow{->[\scriptsize\begin{tabular}{l} \unit[1,2]{eq.} \ch{Tf2O} \\ \unit[3]{eq.} 2,6-Lutidin \end{tabular}][\scriptsize \begin{tabular}{c} DCM, \unit[-8]{\degree C} $\rightarrow$ RT, \unit[17]{h} \\ \\ \unit[90,8]{\%} \end{tabular}]}[,2.2] \chemname{\chemfig{*6((-TfO)-=*6(---*6(-*5(---(=O)--)(<:[::-114]H)-(<[::-6])----)(<[::0]H)-(<:[::120]H)--)-=-=)}}{\scriptsize\cmpd{DJ-TF1}} \schemestop %\end{scheme} \end{frame} \begin{frame} \frametitle{Buchwald-Hartwig-Aminierung mit \textit{m}-Anisidin} \centering \schemestart \chemname{\chemfig{*6((-TfO)-=*6(---*6(-*5(---(=O)--)(<:[::-114]H)-(<[::-6])----)(<[::0]H)-(<:[::120]H)--)-=-=)}}{\scriptsize\cmpd{DJ-TF1}} \arrow{->[\scriptsize\begin{tabular}{l} \unit[1,2]{eq.} \normalsize \chemfig{[:120]*6((-MeO)-=(-NH_2)-=-=)} \\ \unit[1,4]{eq.} \ch{Cs2CO3} \\ \unit[0,05]{eq.} \ch{Pd(OAc)2} \\ \unit[0,1]{eq.} X-Phos \end{tabular}][\scriptsize\begin{tabular}{c} Toluol, RF, \unit[18]{h} \\ \\ \unit[12,9]{\%} \end{tabular}]}[,1.8] \chemname{\chemfig{\chembelow{N}{H}(-[:150]*6(-=-=(-MeO)-=))-[:30]*6(-=*6(---*6(-*5(---(=O)--)(<:[::-114]H)-(<[::-6])----)(<[::0]H)-(<:[::120]H)--)-=-=)}}{\scriptsize\cmpd{DJ-BH2}} \schemestop \end{frame} \begin{frame} \frametitle{Buchwald-Hartwig-Aminierung mit \textit{m}-Anisidin} \centering \schemestart \chemname{\chemfig{*6((-TfO)-=*6(---*6(-*5(---(=O)--)(<:[::-114]H)-(<[::-6])----)(<[::0]H)-(<:[::120]H)--)-=-=)}}{\scriptsize\cmpd{DJ-TF1}} \arrow{->[\scriptsize\begin{tabular}{l} \unit[1,2]{eq.} \normalsize \chemfig{[:120]*6((-MeO)-=(-NH_2)-=-=)} \\ \unit[1,4]{eq.} \ch{Cs2CO3} \\ \unit[0,05]{eq.} \ch{Pd(OAc)2} \\ \unit[0,1]{eq.} X-Phos \end{tabular}][\scriptsize\begin{tabular}{c} Toluol, RF, \unit[18]{h} \\ \\ \unit[12,9]{\%} \end{tabular}]}[,1.8] \chemname{\chemfig{\chembelow{N}{H}(-[:150]*6(-=-=(-MeO)-=))-[:30]*6(-=*6(---*6(-*5(---(=O)--)(<:[::-114]H)-(<[::-6])----)(<[::0]H)-(<:[::120]H)--)-=-=)}}{\scriptsize\cmpd{DJ-BH2}} \schemestop \end{frame} \end{document}
Es muss auch nicht unbedingt diese eine Folie sein. Man kann beliebige mit Chemfig-Formeln ergänzen, irgendwann ist das Dokument nicht mehr kompilierbar. Ich erhalte also ab einer bestimmten Anzahl von Chemfig-Formeln kaputte PDFs, wobei das aber auch nicht immer der Fall ist. Zum Verrücktwerden. Ich weiß nicht, ob ich hier vielleicht irgendwo eine Sammlung von Fehlern mitschleppe, die nicht angezeigt werden, aber irgendwann die ganze Sache zum Scheitern bringen. Eventuell hängt das ganze auch von irgendeinem wiederkehrenden „Konstrukt“ in meinen Chemfig-Formeln ab, dass mir das Dokument zerhaut, wenn es nur häufig genug auftaucht.! File ended while scanning use of \@writefile.
<inserted text>
\par
l.66 \begin{document}
Die einzige Lösung für dieses Problem zur Zeit, die ich auch bereits bei einer anderen Präsentation angewandt habe, ist, in ein paar Folien immer die Formeln auszukommentieren (ich habe die per \input in andere Dateien ausgelagert) und am Ende ein komplettes PDF aus alles Einzelteilen zusammenzustellen.
Ich hoffe mal, dass sich irgendwo ein einfacher, blöder Fehler versteckt, damit ich mich bei zukünftigen Präsentationen nicht wieder ärgern muss. Bei größeren Arbeiten, bspw. mit der Klasse scrreprt mit 50 Seiten, vollgepackt mit Strukturformeln, hatte ich das Problem nie.
Würde mich freuen, wenn ihr über diese etwas umfangreicheren Beispiele schaut.
Viele Grüße,
Diego
PS: Für alle Chemiker: Ja, die Strukturformeln sind noch nicht alle hundertprozentig korrekt.
