
Aus mir unbekannten Gründen erzeugt der folgende minimierte Latex-Code eine
(/opt/local/share/texmf-texlive/tex/latex/mdwtools/syntax.sty) (./text.aux)) ! Unvollständiges \iffalse; der gesamte Text nach Zeile 12 wurde ignoriert.
Fehler von pdflatex. Er stammt aus meinem Dokument, in dem das Problem begann, als ich versuchte, das Syntaxpaket hinzuzufügen:
\documentclass[a4paper,fontsize=12pt,parskip=half,toc=listofnumbered,toc=bib]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{syntax}
\begin{document}
\begin{quotation}
As a rule of thumb, if you can tell which computer you are using, you are not using a distributed system.
\end{quotation} from \cite{DOS_Tanenbaum}
\end{document}
Es scheint, dass es irgendwie mit Bibtex interferiert, da beim Entfernen von \cite ein PDF generiert wird.
Antwort1
Die einfachste Lösung besteht darin, Folgendes zu tun \usepackage[nounderscore]{syntax}
. Sie können die Verwendung jedoch in Beschriftungen oder Zitaten korrigieren.
\documentclass{article}
\usepackage{syntax}
\makeatletter
\def\@uscore.{%
\ifmmode
\expandafter\@firstoftwo
\else
\expandafter\@secondoftwo
\fi
\sb
{\@usc@re}%
}
\def\@usc@re{%
\ifincsname
\expandafter\@firstoftwo
\else
\expandafter\@secondoftwo
\fi
{\string_}%
{\textunderscore\@ifnextchar_{}{\usc@builtindischyphen}}%
}
\if@uscore
\AtBeginDocument{%
\catcode`\_\active%
\begingroup%
\lccode`\~`\_%
\lowercase{\endgroup\protected\def~{\@uscore.}}%
}
\fi
\begin{document}
This is an underscore ``_''; also \cite{DOS_Tanenbaum} and $a_1$
\end{document}