Anzeige:
Ergebnis 1 bis 8 von 8

Thema: Global nummerierung an-/abschalten

  1. #1
    Registrierter Benutzer
    Registriert seit
    11.05.2007
    Beiträge
    24

    Global nummerierung an-/abschalten

    Hallo,

    Ich brauche von einem Dokument zwei Versionen. In der einen sollen Alle Gleichungen die mit der "equation"-Umgebung gesetzt würden nummeriert werden und alle die mit der "equation*"-Umgebung gesetzt werden nicht nummeriert werden, in der anderen sollen alle Gleichungen nicht nummeriert werden.

    Wie kann ich durch das setzen einer Option in der Präambel die Nummerierung auch für die "equation"-Umgebung abschalten?

    Ich habe bereits
    Code:
    \renewcommand{\theequation}{}
    versucht, aber dann bleiben die Klammen bei der Nummerierung noch übrig.

    Danke für die Hilfe!

  2. #2
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.863
    Moin moin,
    vielleicht mit amsmath und
    Code:
    \let\eqorg\equation
    \renewcommand\equation{\eqorg\notag}
    in Deiner Präambel?
    MfG,
    Rainer
    There's nothing a good whack with a hammer won't fix!

  3. #3
    Registrierter Benutzer
    Registriert seit
    11.05.2007
    Beiträge
    24
    Das klappt super!

    Leider verstehe ich nicht so ganz wie es funktioniert. Wäre super wenn du mich da kurz erleuchten könntest.

    Außerdem brauche ich das selbe auch noch für die "align"-Umgebung. WIe sieht die entsprechende Zeile dafür aus?

    Mit
    Code:
    \let\alorg\align
    \renewcommand\align{\alorg\notag}
    wird nur die Nummerierung der ersten Zeile unterdrückt.
    Geändert von cgogolin (02-10-2007 um 16:04 Uhr)

  4. #4
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.863
    Moin moin,
    Zitat Zitat von cgogolin Beitrag anzeigen
    Leider verstehe ich nicht so ganz wie es funktioniert. Wäre super wenn du mich da kurz erleuchten könntest.
    Code:
    \let <token1> <token2>
    legt quasi eine Kopie von token2 unter dem Namen token1 an, in diesem Fall wird \eqorg als Kopie von \equation angelegt. In der darauffolgenden Zeile wird dann der \equation-Befehl entsprechend um einen \notag ergänzt, was mit \renewcommand\equation{\equation\notag} nicht machbar wäre...
    Zitat Zitat von cgogolin Beitrag anzeigen
    Außerdem brauche ich das selbe auch noch für die "align"-Umgebung. WIe sieht die entsprechende Zeile dafür aus?
    Versuche es mal mit
    Code:
    \makeatletter
      \renewcommand\print@eqnum{}
    \makeatother
    das Teil ist eigentlich mit {\tagform@\theequation} vorbelegt -- und der Name klingt verdächtig nach ``gib Gleichungsnummer aus´´;-)

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

  5. #5
    Registrierter Benutzer
    Registriert seit
    11.05.2007
    Beiträge
    24
    Vielen Dank für die Erklärung!

    Leider funktioniert dein Vorschlag nicht. LaTeX sagt:
    Code:
    ERROR: LaTeX Error: \print undefined.
    Wenn ich stattdessen
    Code:
    \makeatletter
    \renewcommand{\print@eqnum}{}
    \makeatother
    in die Präambel schreibe dann kommt als Fehler
    Code:
    ERROR: LaTeX Error: Missing \begin{document}.
    Setze ich einen der beiden Code-Blöcke hinter \begin{document} so kann ich zwar kompilieren, es gibt aber keinen sichtbaren Effekt.

    Vielleicht sollte ich noch erwähnen, dass ich LaTeX Beamer verwende und die Nummerierung für die Präsentation Abschalten will. Während dem Vortrag kann sich sowieso niemand die Gleichungsnummern merken...

  6. #6
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.863
    Moin moin,
    Zitat Zitat von cgogolin Beitrag anzeigen
    Vielen Dank für die Erklärung!
    Da doch nich' für.;-)
    Zitat Zitat von cgogolin Beitrag anzeigen
    Leider funktioniert dein Vorschlag nicht. LaTeX sagt:
    Code:
    ERROR: LaTeX Error: \print undefined.
    Klingt so, als hätte der \makeatletter-Befehl nicht gegriffen (der umzudefinierende Befehl aus dem amsmath-Paket lautet \print@eqnum, nicht \print)...
    Zitat Zitat von cgogolin Beitrag anzeigen
    Vielleicht sollte ich noch erwähnen, dass ich LaTeX Beamer verwende und die Nummerierung für die Präsentation Abschalten will.
    Auch mit beamer eigentlich kein Problem...
    Code:
    \documentclass[ngerman]{beamer}
    \usepackage{babel}
    \usepackage[T1]{fontenc}
    \usetheme{Warsaw}
    \mode<presentation>
    \makeatletter
    % nur mit amsmath (wird von der beamer-Klasse bereits geladen)
      \renewcommand\print@eqnum{}
    \makeatother
    \begin{document}
    \begin{frame}
    \frametitle{Test}
    \begin{align}
    c^2 &= a^2+b^2\\\intertext{Wenn}
    a &= b,\\\intertext{dann}
    c &= \sqrt{2\cdot a^2}
    \end{align}
    \end{frame}
    \end{document}
    MfG,
    Rainer
    There's nothing a good whack with a hammer won't fix!

  7. #7
    Registrierter Benutzer
    Registriert seit
    11.05.2007
    Beiträge
    24
    Klingt so, als hätte der \makeatletter-Befehl nicht gegriffen
    Stimmt!

    Wenn der Befehl innerhalb von \mode<...>{} steht, dann funktioniert er scheinbar nicht. Aber mit
    Code:
    \makeatletter
    % nur mit amsmath (wird von der beamer-Klasse bereits geladen)
      \only{\renewcommand\print@eqnum{}}
    \makeatother
    klappt es.

    Nochmals vielen Dank!

  8. #8
    Registrierter Benutzer
    Registriert seit
    11.05.2007
    Beiträge
    24
    Ich habe heute eine für mich zufriedenstellend funktionierende Lösung gefunden.

    Mit dem Paket "mathtools" kann man mittels "\mathtoolsset{showonlyrefs}" die Nummerierung auf diejenigen Gleichungen begrenzen, die auch wirklich referenziert werden.

Lesezeichen

Berechtigungen

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