PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit "new \dimen"



Diokletian
18-10-2010, 21:47
Nachdem ich mir einen Netbook zugelegt habe, um meine Diss auch schön in einer Bibliothek zu schreiben, habe ich den Emacs sowie Miktex, Ghostview- und script mit allen Komponenten installiert und die Welt schien mir gewogen. Allein als es ans Kompilieren meiner zugegebnermaßen Monsterbuchdatei ging, erhielt ich 27 Fehlermeldungen, von denen ich mir erlaube drei zu posten:

! No room for a new \dimen .
\ch@ck ...\else \errmessage {No room for a new #3}
\fi
l.808 \newdimen\multicolundershoot

[...]

(C:\Users\Thrasymachos\AppData\Roaming\MiKTeX\2.8\ tex\latex\fancybox\fancybox.s
ty
Package: fancybox 2010/05/15 1.4

Style option: `fancybox' v1.4 <2010/05/15> (tvz)
\@fancybox=\box74
! No room for a new \dimen .
\ch@ck ...\else \errmessage {No room for a new #3}
\fi
l.55 \newdimen\shadowsize

(That was another \errmessage.)

[...]

(C:\Users\Thrasymachos\AppData\Roaming\MiKTeX\2.8\ tex\latex\pst-plot\pst-plot.s
ty
Package: pst-plot 2010/01/22 package wrapper for pst-plot.tex

(C:\Users\Thrasymachos\AppData\Roaming\MiKTeX\2.8\ tex\generic\pst-plot\pst-plot
.tex

[...]

\multido@count=\count200
\multidocount=\count201
\multido@stuff=\toks43
) v1.21, 2010/09/28 (tvz,hv)
! No room for a new \dimen .
\ch@ck ...\else \errmessage {No room for a new #3}
\fi
l.39 \newdimen\pstRadUnit

etc. pp.

Nun kompiliere ich via TexnicCenter und nicht über den Emacs (wg. der Graphiken), da man mit diesem m.E. nicht PS=>PDF kompilieren kann. Meine Argumentationsprofilie habe ich überprüft, im Grunde zeigt er auch alles mit Ausnahme des Personenverzeichnis (darunter auch recht komplexe Stammbäume) artig an. Allein plötzlich baut er mir ca. 100 Seiten zusätzlich zwischen einem Kapitel im Zähler ein und zeigt ab S. 147 eine Fußnote nur noch mit einem Wort an. Zugegeben, ich arbeite auf Grund philologischer Kommentare transkribierter Texte mit mehr als zwei Fußnotenzählern, aber wenn das nicht mit Tex geht, weiß ich auch nicht. Sehr kurios, da auf meinem alten Rechner alles wunderpärchtig lief :-(
Vielleicht liegt es daran, daß die Packages fancybox und pst-plot neueren Datums sind?

Um Euch nicht mit einem Minimalbeispiel zu "erschlagen", ein kleiner Auszug aus meiner Prinzipaldatei:

\documentclass[openany, DIV=calc, cleardoublepage=empty, listof=totoc, bibliography=totoc, index=totoc, BCOR10mm, headtopline, headsepline]{scrbook}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{pst-tree}
\usepackage{verse}
\usepackage{german, longtable}
\usepackage{xcolor}
\usepackage{color}
\usepackage{natbib}
\usepackage{multibib}
\usepackage{nomencl}
\usepackage{epigraph}
\usepackage[%
linktocpage=true,
bookmarks,
bookmarksnumbered=true,
bookmarksopen=true,
bookmarksopenlevel=1,
hyperfootnotes=true,
colorlinks=true,
urlcolor=blue,
filecolor=blue,
linkbordercolor={0 1 1},
menubordercolor={0 1 1},
urlbordercolor={1 0 0},
hyperfootnotes=true,
hyperindex=true,
pdfpagelayout=OneColumn,
plainpages=false,
pdfpagelabels,
pdfusetitle,
pdfstartpage={1},
pdfstartview={FitH}
]{hyperref}
\usepackage{graphicx}
\usepackage[figbotcap]{subfigure}
\usepackage{geometry}
\usepackage{textcomp}
\usepackage{babelbib}
\usepackage[ibycus, french, german]{babel}
\usepackage{currvita}
%\usepackage{relsize}
%\usepackage{soul}
%\usepackage{xspace}
%\usepackage{picins}
\usepackage{url}
\usepackage{setspace}
\usepackage{makeidx}
\usepackage{amsmath,amsfonts,amssymb}
\usepackage{lscape}
%\usepackage{pict2e}
\usepackage{anysize}
\usepackage{tikz}
\usepackage{array, hhline}
\usepackage{booktabs}
\usepackage{tabularx}
\usepackage{scrpage2}
%\usepackage[bf]{caption2}
%\usepackage[labelfont=bf]{caption}
\usepackage[format=hang,labelfont=bf,font={small,sf}, margin=10pt]{caption}
\usepackage{multicol}
\usepackage{nicefrac} %Brüche
\usepackage{fancybox}
\usepackage{pst-plot}
\usepackage{lineno}
\usepackage[marginal, multiple]{footmisc}
\usepackage[para]{manyfoot}
\usepackage[avantgarde]{quotchap}
\renewcommand\chapterheadstartvskip{\vspace*{3\bas elineskip}}
\usepackage{helvet}
\usepackage{mparhack}
%\usepackage{longtable}
\usepackage{multirow}



\renewcommand\sectfont{\sffamily\bfseries}

\newcites{sec}{Veröffentlichte Quellen (mit Siglen)}

\newcites{int}{Internetquellen}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Seitenrand beschriftung

%\newcommand\mpar[1]{\marginpar {\flushleft\sffamily\small #1}}
%\setlength{\marginparwidth}{3cm}

\setlength{\marginparwidth}{2.5cm}
\let\oldmarginpar\marginpar
\renewcommand\marginpar[1]{\-\oldmarginpar[\raggedleft\footnotesize #1]%
{\raggedright\footnotesize #1}}
\setlength{\marginparsep}{2mm} % Abstand der \marginspars zum Text

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Abstand Fußnote Text
%\deffootnote{1em}{1em}{%
%\textsuperscript{\thefootnotemark\ }
%}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Gliederung sebenen in Überschriften
\setcounter{secnumdepth}{5}
\setcounter{tocdepth}{5}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Bildunter schriten
\addto\captionsgerman{
\renewcommand{\figurename}{Abb.}%
\renewcommand{\tablename}{Tab.}%
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%In dex-Layout
\makeatletter
% Gruppenkopf
\newcommand*{\heading}[1]{%
\makebox[0pt][l]{% Box für Linie
\rule[-3pt]{\linewidth}{0.5pt}}% Linie über Textbreite
\textsf{\textbf{\Large #1}}\hfil\nopagebreak\vspace{4pt}}

% zweispaltige theindex-Umgebung
\renewenvironment{theindex}{%
\setlength{\columnseprule}{0.4pt}
\setlength{\columnsep}{2em}
\begin{multicols}{2}[\chapter*{\indexname}]
\parindent\z@
\parskip\z@ \@plus .3\p@\relax
\let\item\@idxitem}%
{\end{multicols}\clearpage}
\makeatother

\makeindex
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%Inhaltsverzeichnismodifikation


\makeatletter
% Gliederungsnummer
\renewcommand{\numberline}[1]{%
\makebox[0.9cm][l]{#1}\hspace{3mm}}

% chapter
\renewcommand{\l@chapter}[2]{%
\addvspace{2ex}% vert. Abstand
\pagebreak[3]% Seitenumbruch hier erlauben
\noindent% nicht einrücken
\makebox[0pt][l]{% Box für Linie
\rule[-3pt]{\textwidth}{0.5pt}}% Linie über Textbreite
{\large\textbf{#1}}\hfill#2% Text + Nummer
\par% Zeilenumbruch
\nopagebreak% Seitenumbruch nicht erlauben
\addvspace{1ex}% vert. Abstand
}

% section
\renewcommand{\l@section}[2]{%
\addvspace{0.5ex}% vert. Abstand
\noindent\hspace{1cm}% hor. Einrücken (1cm)
#1\hfill#2% Text + Nummer
\par% Zeilenumbruch
\nopagebreak[2]% möglichst kein Seitenumbruch
}

% subsection
\renewcommand{\l@subsection}[2]{%
\addvspace{0.2ex}% vert. Abstand
\noindent\hspace{2cm}% hor. Einrücken (2cm)
#1\hfill#2% Text + Nummer
\par% Zeilenumbruch
}

% subsubsection
\renewcommand{\l@subsubsection}[2]{%
\addvspace{0.2ex}% vert. Abstand
\noindent\hspace{2.5cm}% hor. Einrücken (2.5cm)
#1\hfill#2% Text + Nummer
\par% Zeilenumbruch
}
\makeatother


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%Genealogischer Baum
\renewcommand{\dotfill}{\leaders\hbox to 5pt{\hss.\hss}\hfill}

\newcommand{\nbr}[1]{\oldstylenums{#1}}
\newcommand{\fup}[1]{% Adapted from the `french' package
\leavevmode%
%\raise+0.55ex
\hbox{\tiny\lowercase{#1}}\kern+.17em}

% Defaut edge
\renewcommand{\psedge}{\ncangle[angleA=-90,angleB=90,armB=0.6\baselineskip]}

% Macro to define one person
\newcommand{\Person}[3][]{%
\TR[#1]{\setlength{\tabcolsep}{0mm}\begin{tabular}[t]{#2}#3\end{tabular}}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%
%\captionstyle{hang}
%\renewcommand*\captionfont{\small\itshape}
%\renewcommand*\captionlabelfont{\upshape}
%\renewcommand{\figurename}{Abb.}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Tabel lenlayout

\newcommand{\tablefontsize}{ \small}
\newcommand{\tableheadfontsize}{\small}

% Layout der Tabelle: Ausrichtung, Schrift, Zeilenabstand
\newcommand\tablestylecommon{%
\renewcommand{\arraystretch}{1.4} % Groessere Abstaende zwischen Zeilen
\normalfont\normalsize %
\sffamily\tablefontsize % Serifenlose und kleine Schrift
\centering% % Tabelle zentrieren
}

\newcommand{\tablestyle}{
\tablestylecommon
%\tablealtcolored
}


% Tabellenkopf: Serifenlos+fett+schraeg+Schriftfarbe
\newcommand\tablehead{%
\tableheadfontsize%
\sffamily\bfseries%
%\slshape
%\color{white}
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Abkürzungsverzeichnis
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\clearscrheadings

\let\abk\nomenclature
% Deutsche Überschrift
\renewcommand{\nomname}{Abbreviaturen- und Siglenverzeichnis}
% Punkte zw. Abkürzung und Erklärung
\setlength{\nomlabelwidth}{.20\hsize}
\renewcommand{\nomlabel}[1]{#1 \dotfill}
% Zeilenabstände verkleinern
\setlength{\nomitemsep}{-\parsep}
\makenomenclature

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\DeclareCaptionFont{. . . }{. . . } und
%\captionsetup{font=. . . ,labelfont=. . .}


%\renewcommand{\captionfont}{\small\itshape}
%\renewcommand{\figurename}{Abb.}
%\thispagestyle{empty}
\bibpunct[: ]{(}{)}{;}{a}{}{:}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Neuer Fußnotenstil für Anhang
\DeclareNewFootnote[para]{C}[roman]
\DeclareNewFootnote[para]{D}[roman]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%andere Halter bei mehreren Fußnoten
\renewcommand*{\multfootsep}{--}

\begin{document}

[...]

Tut mir leid, daß es so viel geworden ist, aber es handelt sich wirklich um ein ziemlich großes Latex-Projekt. Der Versuch, mit dem Package "etex" das Problem zu lösen, hat leider auch nicht gefruchtet, statt dessen kamen tausende von Fehlermeldungen :confused:

Für Eure Hilfe wäre ich sehr dankbar!

Gruß,

Dio

voss
18-10-2010, 22:14
Nachdem ich mir einen Netbook zugelegt habe, um meine Diss auch schön in einer Bibliothek zu schreiben, habe ich den Emacs sowie Miktex, Ghostview- und script mit allen Komponenten installiert und die Welt schien mir gewogen. Allein als es ans Kompilieren meiner zugegebnermaßen Monsterbuchdatei ging, erhielt ich 27 Fehlermeldungen, von denen ich mir erlaube drei zu posten:

! No room for a new \dimen .


Deine Präambel sieht aus, als hättest alles mögliche eingebunden, was dir mal
so über den Weg gelaufen ist ... die Hälfte ist garantiert überflüssig ...


\usepackage{etex}

von Fehlern ist immer nur der erste interessant, der Rest sind fast immer nur Folgefehler ...

Herbert

Diokletian
19-10-2010, 00:57
Erst einmal danke, Herbert, daß Du Dich dem Wirrwarr angenommen hast!


Deine Präambel sieht aus, als hättest alles mögliche eingebunden, was dir mal
so über den Weg gelaufen ist ... die Hälfte ist garantiert überflüssig ...

Also das glaube ich ehrlich gesagt mitnichten, da ich die Pakete ja nicht aus Spaß in die Präambel eingebunden habe, sondern diese mit den Befürfnissen "mitgewachsen" ist, das heißt sich mich zunehmender Komplexität des Dokuments erweitert hat (andere Tabellen, eigenes Inhaltsverzeichnis, zwei Verschiedene Fußnotenapparate, nummerierte Transkriptionen, ein individuelles Personenverzeichnis, Verszitate, vorgelagerte Kapitelzitate, ca. 15 Stammbäume mit Ps-Tricks, eigens gestaltete Kapitelüberschriften etc. pp.). Da kommt schon was zusammen, findest Du nicht?




\usepackage{etex}


von Fehlern ist immer nur der erste interessant, der Rest sind fast immer nur Folgefehler ...

Also ich habe das etex-Paket noch einmal eingebunden, leider - wie ich das erste Mal - ohne Erfolg :(

Das sind die ersten Fehlermeldungen:

Writing index file HisPromoPrinzipal.idx
\@nomenclaturefile=\write8
Writing nomenclature file HisPromoPrinzipal.nlo
! No room for a new \dimen .
\ch@ck ...\else \errmessage {No room for a new #3}
\fi
l.253 \DeclareNewFootnote[para]{C}[roman]

This error message was generated by an \errmessage
command, so I can't give any explicit help.
Pretend that you're Hercule Poirot: Examine all clues,
and deduce the truth by order and method.

! Missing number, treated as zero.
<to be read again>
\footinsC
l.253 \DeclareNewFootnote[para]{C}[roman]

A number should have been here; I inserted `0'.
(If you can't figure out why I needed to see a number,
look up `weird error' in the index to The TeXbook.)

! Missing \endcsname inserted.
<to be read again>
\footinsC
l.253 \DeclareNewFootnote[para]{C}[roman]

The control sequence marked <to be read again> should
not appear between \csname and \endcsname.

! Extra \endcsname.


Itzo bin ich erneut ratlos! :(

Schweinebacke
19-10-2010, 08:28
Eventuell eTeX früher einbinden. Ansonsten können wir mit der Präambel alleine natürlich nicht testen. Dafür brauchen wir schon ein vollständiges Minimalbeispiel (http://www.minimalbeispiel.de). Übrigens gehst Du mit Leerzeichen/Zeilenumbrüchen etwas sorglos um:

\addto\captionsgerman{ Da gehört unbedingt ein Prozentzeichen hinter die Klammer! Anderenfalls hast Du ein Leerzeichen in der Sprachumschaltung, was beispielsweise bei Kopfzeilen zu einem Problem werden kann.

voss
19-10-2010, 09:25
\usepackage{etex}
Also ich habe das etex-Paket noch einmal eingebunden, leider - wie ich das erste Mal - ohne Erfolg :(


direkt nach \documentclass einfügen.

Herbert

voss
19-10-2010, 09:29
Übrigens gehst Du mit Leerzeichen/Zeilenumbrüchen etwas sorglos um: Da gehört unbedingt ein Prozentzeichen hinter die Klammer! Anderenfalls hast Du ein Leerzeichen in der Sprachumschaltung, was beispielsweise bei Kopfzeilen zu einem Problem werden kann.

gib mal ein Beispiel, wo dieses Leerzeichen sichtbar wird.

Herbert

Schweinebacke
19-10-2010, 10:12
gib mal ein Beispiel, wo dieses Leerzeichen sichtbar wird.
Bei neueren Versionen von babel kann man das Problem eventuell nur noch mit expliziten \selectlanguage provozieren:
\listfiles
\documentclass{article}
%
\usepackage[german]{babel}
\addto\captionsgerman{
\renewcommand{\figurename}{Abb.}%
\renewcommand{\tablename}{Tab.}%
}
\begin{document}
H\selectlanguage{german}ier beispielsweise.
\end{document}Bei älteren trat es wohl auch bei anderen Gelegenheiten auf, weshalb die Leerzeichen in den \captions...-Erweiterungen älterer blindtext-Versionen häufiger als Fehler bemängelt und schließlich beseitigt wurden. siehe beispielsweise http://groups.google.com/group/de.comp.text.tex/browse_thread/thread/aa7d5b1cd0b87448/48384e2be9ba6628

Vermutlich ist http://www.mrunix.de/forums/showthread.php?t=54893 auch genau durch solche Leerzeichen verursacht.

Auf jeden Fall gibt es hier (http://www.mrunix.de/forums/showpost.php?p=288661&postcount=4) genau dieses Problem.

Ich denke, das dürften genügend Beispiele sein.

voss
19-10-2010, 11:30
Bei neueren Versionen von babel kann man das Problem eventuell nur noch mit expliziten \selectlanguage provozieren:
\listfiles
\documentclass{article}
%
\usepackage[german]{babel}
\addto\captionsgerman{
\renewcommand{\figurename}{Abb.}%
\renewcommand{\tablename}{Tab.}%
}
\begin{document}
H\selectlanguage{german}ier beispielsweise.
\end{document}Ich denke, das dürften genügend Beispiele sein.

das ist alles klar. Meine Frage kam auch nur, weil du von Kopfzeilen gesprochen hast ...

HErbert

Diokletian
19-10-2010, 12:10
@Schweinebacke und Voss: Erst einmal danke für Eure Hinweise.


Da gehört unbedingt ein Prozentzeichen hinter die Klammer! Anderenfalls hast Du ein Leerzeichen in der Sprachumschaltung, was beispielsweise bei Kopfzeilen zu einem Problem werden kann.

Darum habe ich mich gekümmert:


\addto\captionsgerman{%
\renewcommand{\figurename}{Abb.}%
\renewcommand{\tablename}{Tab.}%
}

Das müßte jetzt gut funktionieren.

Nun zum Hauptproblem:


\usepackage{etex}



direkt nach \documentclass einfügen.

Auch wenn ich es direkt nach dem \documentclass- Befehl eingebe, produziert er tausende von Fehlern. Ich habe daher mein Hauptdokument in ein lauffähiges Minimalbeispiel umgewandelt, so daß die Schwierigkeiten sichtbar werden. Ich hänge es einfach mal an, wenn das ok ist.

Gruß,

Dio

u_fischer
19-10-2010, 12:35
Es ist schon erstaunlich, was heutzutage "minimal" genannt wird.

Du solltest dir schon die Mühe geben, einen Teil der Pakete und des Codes, die nichts mit dem Problem zu tun haben, rauszunehmen. Ich zumindest habe keine Lust, alle möglichen Pakete erstmal zu installieren.

Da du demonstrieren willst, dass etex nicht hilft, gehört es natürlich auch ins Minimalbeispiel. Außerdem solltest du die log-Datei mitsenden. In ihr steht nämlich welches Paket die Register verbraucht.

rstuby
19-10-2010, 12:36
Nur mal am Rand: \maketitle UND eine titlepage-Umgebung gehen auch nicht zusammen.

Und überhaupt solltest du den Chaos-Dokument noch mal ausdünnen, bis du EINEN Fehler eingekreist hast, den wir dir lösen helfen sollen. Das ist deine Arbeit, nicht unsere.

Schweinebacke
19-10-2010, 13:08
Nun zum Hauptproblem:


\usepackage{etex}Auch wenn ich es direkt nach dem \documentclass- Befehl eingebe, produziert er tausende von Fehlern. Ich habe daher mein Hauptdokument in ein lauffähiges Minimalbeispiel umgewandelt, so daß die Schwierigkeiten sichtbar werden. Ich hänge es einfach mal an, wenn das ok ist.

Die erste Zeile nach dem Einbinden der Klasse lautet in diesem Beispiel aber nicht wie von Herbert empfohlen
\usepackage{etex}Das zeigt also nicht, dass das Problem trotz dem rechtzeitigen Laden von etex.sty auftritt … auch, wenn das trotzdem der Fall ist.

Ansonsten ist beispielsweise \bf überholt. Siehe dazu l2tabu (http://www.ctan.org/pkg/l2tabu).

Desweiteren gibt es in der Präambel Dinge, die garantiert nicht notwendig sind. So würde ich beispielsweise zusätzlich zu xcolor nicht auch noch color laden und das Problem bleibt auch erhalten, wenn man die erste Option beim Laden von babel entfernt. Also kannst Du das durchaus noch weiter minimieren und solltest das auch tun.

Diokletian
19-10-2010, 15:08
Es ist schon erstaunlich, was heutzutage "minimal" genannt wird.

Du solltest dir schon die Mühe geben, einen Teil der Pakete und des Codes, die nichts mit dem Problem zu tun haben, rauszunehmen. Ich zumindest habe keine Lust, alle möglichen Pakete erstmal zu installieren.

Es tut mir sehr leid, wenn hier der Eindruck entstanden ist, daß ich keine "Mühe" obwalten lassen wollte. Aber ich sitze an dem Problem seit Tagen und schreibe an dem Ding seit 5 Jahren. Mangelnde Mühbereitschaft kann ich daraus nicht ablesen. Auch verwundert mich etwas der Ton. Es ist nicht besonders liebenswürdig, einem gleich das Schlechteste zu unterstellen. Das mag zwar dem rohen Zeitgeist zu huldigen, fördert indes nicht das harmonische Miteinander (@rstuby + fischer).

Ich habe mich jetzt bemüht, das Prinzipaldokument so weit wie möglich auszudünnen und obsolete Pakete sowie Layoutspezifisches zu entfernen, aber der Hinweis ein "Minimalbeispiel, das den Fehler einkreist" zu präsentieren halte ich in meinem Fall für nicht leistbar und damit wenig hilfreich. Denn dieses Postulat würde ein monokausales Problem (das man zudem kenne müßte, ich in meinem Fall habe keine Ahnung) unterstellen, um welches es sich hier nach erfolgtem Test nicht handelt. Denn die vielen Pakete und Layoutmodifikationen scheinen nicht perfekt ineinanderzugreifen. "Schmelze" ich alles auf ein rudimentäres Beispiel herunter, das heißt ohne die vielen Verzeichnisse und Fußnotenstrukturen, besteht die Schwierigkeit nicht mehr. Demnach ist die Forderung nach einem Minimalbeispiel bestimmt häufig angebracht und richtig, aber eben nicht immer!

Denn wenn ich mir das alles so anschaue, denke ich, daß es weniger an den Kleinigkeiten wie dem Umstand, daß man möglichst den alten "\bf"-Befehl oder "maketitel" und die "titlepage"-Umgebung vermeiden soll, liegt als vielmehr an den vielen Zählern, die in dem Dokument Verwendung finden.

In concreto bedeutet dies, daß ich fürchte, daß Latex an seine natürlichen Grenzen kommt, wenn man

1.) ein modifiziertes Inhaltsverzeichnis
2.) veränderte Zähler bei den Überschriften
3.) ein Tabellen-, Abbildungs-, Abkürzungs- und Personenverzeichnis
4.) drei unterschiedliche Quellenverzeichnisse
5.) sowie drei unterschiedliche Fußnotenapparate mit eigenen Zählern
6.) 20 auf pstricks und fancybox basierende Stammbäume mit 300 definierten Personen auf 500 Seiten Text

verwendet. Das soll jetzt nicht großsprecherisch klingen, aber ich bin davon überzeugt, daß man in diesem speziellen Fall nichts kleineres als Beispiel präsentieren kann - so gerne ich das würde.

Eine Log-Datei mit und einmal ohne "etex" schließe ich diesen Zeilen bei zusamt mit der abgespeckten Prinzipaldatei bei.

Gruß und Dank für Eure Hilfe,

Dio

voss
19-10-2010, 15:21
In concreto bedeutet dies, daß ich fürchte, daß Latex an seine natürlichen Grenzen kommt, wenn man

1.) ein modifiziertes Inhaltsverzeichnis
2.) veränderte Zähler bei den Überschriften
3.) ein Tabellen-, Abbildungs-, Abkürzungs- und Personenverzeichnis
4.) drei unterschiedliche Quellenverzeichnisse
5.) sowie drei unterschiedliche Fußnotenapparate mit eigenen Zählern
6.) 20 auf pstricks und fancybox basierende Stammbäume mit 300 definierten Personen auf 500 Seiten Text


LaTeX kommt an vieles aber selten an irgendwelche Grenzen ...
500 Seiten Text sind geradezu nichts gegen meine 1700 mit über 1000 Beispielen, Gleichungen, usw ..

Herbert

u_fischer
19-10-2010, 15:29
\usepackage{etex}
\reserveinserts{30}

Schweinebacke
19-10-2010, 15:51
Nur, um einmal zu zeigen, wie weit man tatsächlich minimieren kann, habe ich einfach mal streng nach Anleitung genau das gemacht und bin bei
\documentclass{book}
\usepackage{etex}
\usepackage{pst-tree}
\usepackage{german}
\usepackage{longtable}
\usepackage{nomencl}
\usepackage{hyperref}
\usepackage[figbotcap]{subfigure}
\usepackage{geometry}
\usepackage[german]{babel}
\usepackage{amsmath}
\usepackage{tikz}
\usepackage{booktabs}
\usepackage{tabularx}
\usepackage{caption}
\usepackage{multicol}
\usepackage[marginal, multiple]{footmisc}
\usepackage[para]{manyfoot}

\DeclareNewFootnote[para]{C}[roman]
\DeclareNewFootnote[para]{D}[roman]

\begin{document}
Test
\end{document} gelandet.

Das ist schon ein erheblicher Unterschied zu dem, was Du geliefert hast.

Wenn ich mir das dann anschaue, fällt auf, dass die Pakete german und babel niemals zusammen verwendet werden sollten, da sie an der gleichen Stelle ansetzen. Wenn ich nun german rauswerfe, läuft es bereits. Ob das dann auch bei Dir der Fall ist, kann ich nicht sagen, denn eigentlich verwundert mich die Fehlermeldung aus einem ganz anderen Grund: \DeclareNewFootnote wird zwar ein \newinsert aufgerufen, aber AFAIK kein \newdimen. Man müsste dem also ggf. noch etwas tiefer auf den Grund gehen. Da ich aber bereits das Minimalbeispiel für Dich erstellt habe, spare ich mir das jetzt.

Das nächste Mal solltest Du also vielleicht keine Romane erzählen, sondern die Anleitung zum Erstellen eines Minimalbeispiels wirklich anwenden und l2tabu dabei gleich noch mit befolgen.

u_fischer
19-10-2010, 16:00
Um mal Heiko zu zitieren:

> what on earth is that \reserveinserts for?

"Inserts" need a group of different register types (count, dimen,
skip, box). They are allocated downwards: 254, 253, 251, ...
Now, if \newdimen (or \newcount, ...) switches to the extended
pool, it also means that all \dimen registers below 256 are
allocated. That leaves no space for a new insertion register,
because there isn't a \dimen register left.

\reserveinserts reservs space that is not yet occupied by
insert registers. \newdimen (or \newcount, ...) do not invade
this area and switches to the extended pool earlier.
Then a later \newinsert will succeed.

Schweinebacke
19-10-2010, 16:15
Achso. Dann hilft es also ggf. zusätzlich zum Rauswerfen von german die ganze Fußnotengeschichte weiter vor zu ziehen oder direkt nach dem Laden von etex.sty ein
\reserveinserts{20}% Zahl ggf. anpassen einzufügen.

Schönen Dank für die Erklärung.

Diokletian
19-10-2010, 18:00
\usepackage{etex}
\reserveinserts{30}


Ich bin entzückt!!! :) Jetzt wieder alles gut! Tausend Dank an Ulrike Fischer!! Das war der entscheidende Hinweis. Keine Fehler mehr. Eine morose Odyssee nahm soeben ihr glückliches Ende! :D

Diokletian
19-10-2010, 18:17
Das ist schon ein erheblicher Unterschied zu dem, was Du geliefert hast.

Wenn ich mir das dann anschaue, fällt auf, dass die Pakete german und babel niemals zusammen verwendet werden sollten, da sie an der gleichen Stelle ansetzen. Wenn ich nun german rauswerfe, läuft es bereits. Ob das dann auch bei Dir der Fall ist, kann ich nicht sagen, denn eigentlich verwundert mich die Fehlermeldung aus einem ganz anderen Grund: \DeclareNewFootnote wird zwar ein \newinsert aufgerufen, aber AFAIK kein \newdimen. Man müsste dem also ggf. noch etwas tiefer auf den Grund gehen. Da ich aber bereits das Minimalbeispiel für Dich erstellt habe, spare ich mir das jetzt.

Das nächste Mal solltest Du also vielleicht keine Romane erzählen, sondern die Anleitung zum Erstellen eines Minimalbeispiels wirklich anwenden und l2tabu dabei gleich noch mit befolgen.

Vielen Dank, daß Du Dir die Mühe mit dem Minimalbeispiel gemacht hast! Traun, das ist in der Tat ein großer Unterschied zu dem, was ich verzapft habe. Allein mir war nicht klar, welche Pakete ich weglassen kann und welche nicht, um noch annäherend zu dem zu gelangen, was ich zeigen wollte. Schließlich dachte ich auch, daß der ganzen Layoutveränderungen liegen könnte. Folglich habe ich die auch nicht weglassen wollen. Aber lange Rede kurzer Sinn. Deinen Ratschlag mit den Fußnoten sowie dem Babelpaket greife ich dankbar auf! Nur lernen mich kurz zu fassen, das wird noch ein wenig dauern. Schließlich schreibe ich nicht umsonst 500 seitige Bücher die kein Mensch liest... ;)


\DeclareNewFootnote wird zwar ein \newinsert aufgerufen, aber AFAIK kein \newdimen

Merkwürdig, warum Latex keine \newdimen aufruft, das sollte es eigentlich nach dem DeclareNewFootnote Befehl machen. Mit Ulrikes Hinweis hat es ja dann geklappt, aber kurios, daß man das händisch machen muß, ist das schon. :confused:

Schweinebacke
20-10-2010, 07:48
Allein mir war nicht klar, welche Pakete ich weglassen kann und welche nicht, um noch annäherend zu dem zu gelangen, was ich zeigen wollte. Schließlich dachte ich auch, daß der ganzen Layoutveränderungen liegen könnte.
Meinst Du ich wusste das im Voraus? Du hast offenbar die Anleitung zum Erstellen eines vollständigen Minimalbeispiels gar nicht gelesen. Ausprobieren ist hier angesagt! Ich habe ca. 20 LaTeX-Läufe durchgeführt, bei denen ich immer wieder Code-Teile rausgeworfen und zurückgeholt habe. Den Teil zwischen \begin{document} und \end{document} bin ich dabei allerdings auf einen Schlag los geworden. Die Idee lag nahe, da der Fehler bereits vor \begin{document} gemeldet wurde ...

Was das Problem mit den inserts ist und warum ein \newinsert sowohl Mangel an \dimen als auch diversen anderen Registern melden kann, hat Ulrike mit ihrem Zitat ja erklärt.

Diokletian
20-10-2010, 13:58
Du hast offenbar die Anleitung zum Erstellen eines vollständigen Minimalbeispiels gar nicht gelesen. Ausprobieren ist hier angesagt! Ich habe ca. 20 LaTeX-Läufe durchgeführt, bei denen ich immer wieder Code-Teile rausgeworfen und zurückgeholt habe. Den Teil zwischen \begin{document} und \end{document} bin ich dabei allerdings auf einen Schlag los geworden. Die Idee lag nahe, da der Fehler bereits vor \begin{document} gemeldet wurde ...

Du hast ja recht, daß man mit permanentem Ausprobieren irgendwann ans Ziel gelangt wäre. Das ist mir jetzt auch klar geworden und ich werde es inskünftig beherzigen! Allein die Unterstellung, ich hätte die Anleitung zum Minimalbeispiel nicht gelesen, weise ich zurück! Du setzt dabei nämlich zwei Schritte in einen: Lesen und Verstehen. Augenscheinlich war ich durch das Lesen allein nicht in der Lage die dortigen - zugegebenermaßen klar formulierten Anleitungen - auf meinen Fall zu applizieren. Folglich kam ich wohl an die Grenzen meiner kognitiven Fähigkeiten.



Was das Problem mit den inserts ist und warum ein \newinsert sowohl Mangel an \dimen als auch diversen anderen Registern melden kann, hat Ulrike mit ihrem Zitat ja erklärt.

Das habe ich dann auch gesehen und sogar trotz meines bescheidenen Englischs verstanden. Allein der letzte Grund, WARUM


Now, if \newdimen (or \newcount, ...) switches to the extended
pool, it also means that all \dimen registers below 256 are
allocated. That leaves no space for a new insertion register,
because there isn't a \dimen register left.

Es muß doch einen Grund dafür geben, warum nur 256 Dimen-Register a priori vorhanden sind, die dann irgendwann verbraucht sind und mithin Probleme verursachen.

u_fischer
20-10-2010, 14:14
Es muß doch einen Grund dafür geben, warum nur 256 Dimen-Register a priori vorhanden sind,

TeX ist alt. Früher war Speicherplatz eine wertvolle Ressource und die Computer waren viel langsamer.

Schweinebacke
20-10-2010, 14:19
Der Satz "Jetzt werden die Pakete wieder einzeln nach und nach herausgenommen." aus der Anleitung für Minimalbeispiele ist so leicht zu verstehen, dass ich mir schlicht nicht vorstellen konnte, dass jemand den liest und trotzdem nicht versteht. Das gilt ebenso für die Anleitung, wie man den Teil zwischen \begin{document} und \end{document} verkleinert. Tu mir leid, dass ich Dir ein zu großes kognitives Leistungsvermögen unterstellt habe.

256 Register ist schlicht die Grenze, die TeX selbst hat. Diese jeweils 256 Register in unterschiedlichen Typen (\dimen, \skip, \box etc.) sind durch statische Speicher realisiert, auf die dadurch sehr schnell zugegriffen werden kann. Die erweiterten Register, die e-TeX bereit stellt, werden dann hingegen durch main memory realisiert und verlangsamen deshalb theoretisch den Zugriff. Außerdem gehen sie zu lasten, des - ebenfalls statischen - main memory.

Diokletian
21-10-2010, 00:28
Kein Problem, Schweinebacke, kann passieren, wenn man zu induktiv vorgeht. ;)

Jetzt bin ich (in Abwandlung an Goethes Faust) "klüger als wie zu vor". Ganz ohne Flax: Beeindruckend was Du und Ulrike so über Tex wissen! :eek: