Anzeige:
Seite 2 von 2 ErsteErste 12
Ergebnis 16 bis 25 von 25

Thema: Probleme mit "new \dimen"

  1. #16
    Registrierter Benutzer
    Registriert seit
    31.03.2010
    Beiträge
    1.039
    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
    Code:
    \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.
    Geändert von Schweinebacke (19-10-2010 um 15:56 Uhr)

  2. #17
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    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.

  3. #18
    Registrierter Benutzer
    Registriert seit
    31.03.2010
    Beiträge
    1.039
    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
    Code:
    \reserveinserts{20}% Zahl ggf. anpassen
    einzufügen.

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

  4. #19
    Registrierter Benutzer
    Registriert seit
    18.10.2010
    Beiträge
    23

    Tausend Dank! Alles funktioniert!

    Zitat Zitat von u_fischer Beitrag anzeigen
    Code:
    \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!

  5. #20
    Registrierter Benutzer
    Registriert seit
    18.10.2010
    Beiträge
    23

    Vielen Dank auch an Schweinebacke!

    Zitat Zitat von Schweinebacke Beitrag anzeigen

    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.

  6. #21
    Registrierter Benutzer
    Registriert seit
    31.03.2010
    Beiträge
    1.039
    Zitat Zitat von Diokletian Beitrag anzeigen
    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.

  7. #22
    Registrierter Benutzer
    Registriert seit
    18.10.2010
    Beiträge
    23
    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.

  8. #23
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    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.

  9. #24
    Registrierter Benutzer
    Registriert seit
    31.03.2010
    Beiträge
    1.039
    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.

  10. #25
    Registrierter Benutzer
    Registriert seit
    18.10.2010
    Beiträge
    23
    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!

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •