Anzeige:
Ergebnis 1 bis 3 von 3

Thema: newdim

  1. #1
    Registrierter Benutzer
    Registriert seit
    30.08.2017
    Beiträge
    3

    newdim

    Hallo,

    ich habe eine input-Datei, die u.a. den Befehl
    \newdimen\MRbreite
    enthält. Lädt man diese Datei mehrmals mit \input, wird auch der Befehl \newdim mehrmals ausgeführt, was zu zu vielen \MRbreite führt, und auch den Zähler jedesmal um 1 erhöht, was dann irgendwann auch zu einem Fehler führt, weil der Zähler zu hoch ist.

    Wie kann man das in den Griff bekommen?

    Grüße

  2. #2
    Registrierter Benutzer
    Registriert seit
    20.07.2013
    Beiträge
    193
    Definiere die Dimension außerhalb der Datei.

  3. #3
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.858
    So ich Johannes auch zustimme, hier die eine oder andere Idee:

    Dafür gibt es eigentlich \usepackage & Co: wenn ein Paket bereits geladen wurde (z. B. durch ein anderes Paket), wird es nicht nochmal geladen.

    OTOH kann man eine Datei auch gegen wiederholtes Laden sichern, z. B.
    Code:
    % zu Beginn der per \input einzubindenden Datei
    \csname DateiXbereitsgeladen\endcsname
    \let\DateiXbereitsgeladen\endinput
    Im ersten Aufruf ist \DateiXbereitsgeladen nicht definiert, was dank \csname..\endcsname aber nicht stört.
    In jedem Folgeaufruf ist \DateiXbereitsgeladen definiert als \endinput, d. h. alles, was danach in dieser Datei kommt, wird gar nicht mehr eingelesen.

    BTW: ich wusste gar nicht, daß \newdimen einen Zähler auch erhöht, zumal es gar keinen Zähler definiert...vllt meintest Du ja die Anzahl benutzter Dimensionsregister.

    VG
    Rainer
    There's nothing a good whack with a hammer won't fix!

Lesezeichen

Berechtigungen

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