Seite 1 von 1
Label einer Formel abhängig von der Formelnummeriung
Verfasst: Fr 29. Jan 2016, 13:12
von Axel S
Hallo Latex- Forum,
Ich schreibe derzeit an einer Studienarbeit mit einigen Formeln. Ich habe alle Formel mit \label nach den einzelnen Formelnummern benannt.
Nun das Problem:
Ich muss eine neue Formel zwischen existierende Formel einfügen, d.h. ich müsste alle nachfolgenden Labels noch mal neu benennen.
Gibt es also eine Möglichkeit, dass das Label in Abhängigkeit der Formelnummer automatisch generiert wird?
Vielen Dank schon mal für die Hilfe,
euer Axel
Verfasst: Fr 29. Jan 2016, 13:20
von Besserwisser

Die in \label vergebenen Namen sind doch vollkommen unabhängig von der Nummer, die dann von \ref angezeigt wird. Man sollte sich da auch gar nicht dazu versteigen, Namen wie "Gleichung1" zu verwenden. Stattdessen verwendet man logische Namen wie "eq:emc2". Du kannst also zwischen zwei \label beliebig viele \label einfügen, ohne ein einziges ändern zu müssen.
Sollte ich dich nicht richtig verstanden habe, schiebe es bitte darauf, dass du zu geizig für ein
Minimalbeispiel warst, obwohl genau das
explizit gefordert ist.
Verfasst: Fr 29. Jan 2016, 13:54
von Axel S
Dann hast du mich vermutlich falsch verstanden.
Ein minimal Beispiel in Code-Form würde hier wohl nicht weiterhelfe.
Ich möchte genau das, dass der bei \ref ausgegebene Wert automatisch in \label eingefügt wird. Damit eben das Labeln einfacher wird, da ich jede Formel label, da ich nicht weiß auf welche ich später im Text explizit verweisen möchte.
Verfasst: Fr 29. Jan 2016, 13:57
von quietscheentchen
meinst du, dass hinter jeder Formel ein label sein soll, aber nur die tatsächlich zitierten Formeln eine Nummer erhalten sollen?
Verfasst: Fr 29. Jan 2016, 14:05
von Axel S
Also laut Institutsvorgabe muss jede Formel nummeriert werden, z.B. 2.13 für Formel 13 im 2. Kapitel.
Ich versehe jede formel mit einem Label in dem Fall \label{eq:213}
damit ich jederzeit auf jede Formel verweisen kann.
Jetzt das Problem: Vor die Formel 2.13 muss ich eine Formel einfügen.
Die neue Formel ist jetzt 2.13 die alte 2.14
Ist also möglich, dass das Label sich immer auf die aktuelle Nummer bezeiht, also dass die alte Formel automatisch mit \label{eq:214} benannt wird?
Danke schonmal!
Verfasst: Fr 29. Jan 2016, 14:17
von Johannes_B
LaTeX kennt den Label-Ref-Mechanismus. Die Label können völlig beliebig sein, Zahlen und Buchstaben enthalten. Das ganze wird mit \ref aufgerufen, als Ergebnis bekommst du den entsprechenden aktuellen Zählerwert.
Und, wie Besserwisser schon schrieb, es ist Quatsch Label im Sinne von Gleichung1 oder Bild88 zu verwenden, damit bringst du dich nur selbst durcheinander.
\documentclass{article}
\begin{document}
\begin{equation}
E=mc^2 \label{emc2}
\end{equation}
Einstein machte tolles Zeug in \ref{emc2}, aber auch die Griechen
waren nicht ganz doof, siehe \ref{pyth}
\begin{equation}
a^2 + b^2 = c^2\label{pyth}
\end{equation}
\end{document}
EDIT: Auch wenn du kein Label anfugst, nummeriert LaTeX Gleichungen.
Verfasst: Fr 29. Jan 2016, 14:25
von Axel S
Das ist mir schon bewusst und arbeite auch so damit.
Es hätte mir, da ich alle Formeln labeln muss, die arbeit vereinfacht, wenn man ein label für Formel automatisch in Abhänigigkeit von der, von Latex vergebenen, Formelnummer erstellen kann.
Bei meiner nächsten Arbeit werde ich den Fehler nicht noch einmal machen, stur nach Formelnummer zu labeln!
Danke dafür!
Verfasst: Fr 29. Jan 2016, 14:38
von Johannes_B
Würde das Label automatisch generiert, müsstest du erst im Output schauen, wo der Counter gerade ist und diesen dann mit ref beziehen. Ändert sich etwas in der Reihenfolge, musst du *ALLE* folgenden ref ändern. Das ist Handarbeit, welche dir durch korrekte Anwendung des label-ref-Mechanismus erspart bleibt.
Verfasst: Fr 29. Jan 2016, 15:11
von iTob
Und vor allem ist es eine absurde Arbeit, denn dann kann man die Nummer auch direkt im Text schreiben
@Axel: Du kannst aber auch in deiner aktuellen Arbeit einfach ein weiteres Label einfügen, wenn du damit leben kannst, dass die Bezeichnungen der Labels im Code dann nicht mehr mit der Nummerierung übereinstimmen … und ansonsten ja, dann musst du alle labels von Hand ändern …
Verfasst: Fr 29. Jan 2016, 15:25
von Axel S
Wenn mans direkt im Text schreibt hat man dfür aber dann keinen Link...
Ich habe jetzt die Labels alle umgeschrieben, damit ich mir gleich weitere Scherereien spare. Da habe ich wohl nicht weit genug gedacht.
Nochmals vielen Dank für die schnelle Hilfe!