
Meine erste htlatex-Ausgabe im Jahr 2014 und das auch noch am ersten Tag :)
Ich habe diese Zeile hinzugefügt
\chapter*{\centering \begin{normalsize}my chapter title\end{normalsize}}
das funktioniert gut mit pdflatex, aber htlatex gibt
! TeX capacity exceeded, sorry [input stack size=5000].
Als ich das entfernte \centering
, gab htlatex diesen Fehler aus
(./foo2.aux) [1] [2] [1] [2] [3] [1] [2]
! Argument of \im:g has an extra }.
<inserted text>
\par
l.12 ...begin{normalsize}Abstract\end{normalsize}}
Ich bin mir also nicht wirklich sicher, wo das Problem liegt. Ich wollte im Grunde eine abstrakte Seite im Buchstil erstellen und fand das obigeLösung hierdas funktioniert wirklich gut mit pdflatex, aber aus irgendeinem Grund hat htlatex ein Problem beim Parsen dieser Befehle innerhalb des \chapter
Eintrags. Es scheint, dass es Latex-Befehle innerhalb von Argumenten nicht mag \chapter{....}
. Vielleicht muss man sie schützen? Fragile Probleme? Aber pdflatex kommt damit gut zurecht?
Gibt es eine Problemumgehung, sodass ich mit htlatex einfach einen Titel in die Mitte einer Seite setzen kann?
MWE:
\documentclass[12pt]{book}%
\usepackage{lipsum}
\begin{document}
\frontmatter
\title{htlatex issue 010114}
\author{me}
\maketitle
\chapter*{\centering \begin{normalsize}my chapter title\end{normalsize}} %crash
%\chapter*{\begin{normalsize}Abstract\end{normalsize}} %parse error
%\chapter*{Abstract} %only this work
\noindent
\lipsum[75]
\clearpage
\tableofcontents
\mainmatter
\chapter{one}
\section{one}
\lipsum[75]
\end{document}
Befehl zum Kompilieren:
>htlatex foo2.tex
This is pdfTeX, Version 3.1415926-2.5-1.40.14 (TeX Live 2013)
restricted \write18 enabled.
.....
(/usr/local/texlive/2013/texmf-dist/tex/generic/tex4ht/html4-math.4ht))
(/usr/local/texlive/2013/texmf-dist/tex/generic/tex4ht/html4.4ht)
(/usr/local/texlive/2013/texmf-dist/tex/generic/tex4ht/html4-math.4ht))
(./foo2.aux) [1] [2] [1] [2] [3] [1] [2]
! TeX capacity exceeded, sorry [input stack size=5000].
\centering ->\let \\
\@centercr \rightskip \@flushglue \leftskip \@flushglue ...
l.10 ...rmalsize}my chapter title\end{normalsize}}
%crash
Output written on foo2.dvi (7 pages, 13108 bytes).
Transcript written on foo2.log.
Ein Text aus der Protokolldatei, der zeigt, wo das Problem liegt:
LaTeX Font Info: ... okay on input line 3.
--- file foo2.css ---
[1
] [2
] [1] [2
] [3]
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <14.4> on input line 8.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <7> on input line 8.
[1] [2]
! TeX capacity exceeded, sorry [input stack size=5000].
\centering ->\let \\
\@centercr \rightskip \@flushglue \leftskip \@flushglue ...
l.10 ...rmalsize}my chapter title\end{normalsize}}
%crash
If you really absolutely need more capacity,
Verwenden von TexLive 2013 unter Linux Mint.
Um den Titel zu zentrieren, funktioniert dies für htlatex:
\begin{center}
\chapter*{Abstract} %only this work
\end{center}
Mit der obigen Lösung kann ich also machen, was ich will. Ich werde diese Frage aber hier lassen, da sie ein Problem zeigt.
Antwort1
Wie ich bereits sagte ineine andere Frage, Sie können nichts als Parameter von Abschnittsbefehlen eingeben, da es verarbeitet wird, um das zu erstellen TOC
. Es funktioniert also zwar in normalem LaTeX, aber nicht mit tex4ht. Aus konzeptioneller Sicht ist Ihr Workaround also viel besser als Ihr erster Versuch. Ich denke, dass \chapter
es besser wäre, statt Befehle zu missbrauchen, andere Mittel zu verwenden, um Ihr Problem, nämlich abstract
das Drucken, zu lösen. Wie wäre es mit einer neuen Umgebung, die auch die Notwendigkeit löst, noindent
und clearpage
in den Dokumenttext einzufügen?
\documentclass[12pt]{book}%
\usepackage{lipsum}
\def\abstracttitle{Abstract}
\newenvironment{abstract}{\begin{center}\abstracttitle\end{center}\par\noindent}{\clearpage}
\begin{document}
\frontmatter
\title{htlatex issue 010114}
\author{me}
\maketitle
\begin{abstract}
\lipsum[75]
\end{abstract}
\tableofcontents
\mainmatter
\chapter{one}
\section{one}
\lipsum[75]
\end{document}
Ich habe eine neue Umgebung definiert, abstract
der Überschriftentext wird im Makro gespeichert, \abstracttitle
sodass er bei Bedarf neu definiert werden kann. Diese Lösung funktioniert sofort mit tex4ht
: