Überarbeitungsverlauf[Zurück]
Klicke auf Einblenden/Ausblenden von Überarbeitungen 4

20 Mai '19, 19:18

cis's gravatar image

cis
9.6k104461491

Anwenden von pgfkeys in einem xparse-Befehl für referenzierte und personalisierte tags und labels

`Anschlussfrage zu: https://tex.stackexchange.com/questions/491625/amsmath-how-can-i-use-the-equation-numbering-and-label-manually-and-anywhere` <br> `Anschlussfrage zu: https://texwelt.de/wissen/fragen/24809/befehl-mit-mehreren-optionalen-argumenten` <br> `Auch hier gefragt: https://tex.stackexchange.com/questions/491646/amsmath-how-to-make-inline-tags-with-and-without-labels` ___ [![alt text][1]][1] Ich will einen Befehl `\tagx` erstellen, der in der normalen Verwendung die nächste folgende Gleichungsnummer erzeugt, z.B. `(1.2)` (und zwar inline, d.h. an beliebigem Ort, z.B. in einem array). - Allerdings soll der Befehl die optionale Möglichkeit haben, ein Label zu setzen <br> `\tagx[label=eq:foo] .... \eqref{eq:foo}` <br> - oder auch die optionale Möglichkeit, für einen eigenen Namen (z.B. `(***)` statt `(1.2)`) <br> `\tagx[name=***]` <br> - oder eben beides `\tagx[name=***, label=eq:foo]` Aber das Anwenden von pgfkeys in dem Befehl von @egreg (hier label-Angabe Pflichtargument!) \usepackage{xparse} % \tagx[shown text, optional]{label-name} \makeatletter \NewDocumentCommand{\tagx}{om}{% \IfNoValueTF{#1} {% normal equation number \refstepcounter{equation}(\theequation)\label{#2}% } {% personal tag (#1)\def\@currentlabel{#1}\label{#2}% }% } \makeatother doch schwieriger als ich dachte. Was muss ich tun? **Unvollständiges MWE: <br> (mit `LaTeX Warning: Label multiply defined`)** \documentclass[12pt]{scrreprt} \usepackage{amsmath, amsfonts, amssymb} % Ein pgfkey \pgfkeys{/tagx/.cd, label/.initial={\def\@currentlabel{#1}\label{#2}}, name/.initial={} } \usepackage{xparse} % \tagx[shown text, optional]{label-name} \makeatletter \NewDocumentCommand{\tagx}{om}{% \IfNoValueTF{#1} {% normal equation number \refstepcounter{equation}(\theequation)\label{#2}% } {% personal tag (#1)\def\@currentlabel{#1}\label{#2}% }% } \makeatother \usepackage[colorlinks=true]{hyperref} % for highlighting \begin{document} \chapter{First Chapter} An equation for counting: \begin{equation} a+b=c\label{eq:bar1} \end{equation} \bigskip This is an inline-tag \tagx{foo1}, it is also labeled \eqref{foo1}. This is a personalized inline-tag \tagx[***]{foo2}, it is also labeled \eqref{foo2}. \bigskip This is an inline-tag \tagx{}, it is \emph{not} labeled. This is a personalized inline-tag \tagx[***]{}, it is \emph{not} labeled. \bigskip An another equation: \begin{equation} 1+1=2\label{eq:bar2} \end{equation} \end{document} [![alt text][1]][1] [1]: https://texwelt.de/wissen/upfiles/55555555_367.png
Klicke auf Einblenden/Ausblenden von Überarbeitungen 3

20 Mai '19, 17:37

cis's gravatar image

cis
9.6k104461491

Anwenden von pgfkeys in einem xparse-Befehl für referenzierte und personalisierte tags und labels

`Anschlussfrage zu: https://tex.stackexchange.com/questions/491625/amsmath-how-can-i-use-the-equation-numbering-and-label-manually-and-anywhere` <br> `Anschlussfrage zu: https://texwelt.de/wissen/fragen/24809/befehl-mit-mehreren-optionalen-argumenten` <br> `Auch hier gefragt: https://tex.stackexchange.com/questions/491646/amsmath-how-to-make-inline-tags-with-and-without-labels` ___ [![alt text][1]][1] Ich will einen Befehl `\tagx` erstellen, der in der normalen Verwendung die nächste folgende Gleichungsnummer erzeugt, z.B. `(1.2)` (und zwar inline, d.h. an beliebigem Ort, z.B. in einem array). - Allerdings soll der Befehl die optionale Möglichkeit haben, ein Label zu setzen <br> `\tagx[label=eq:foo] .... \eqref{eq:foo}` <br> - oder auch die optionale Möglichkeit, für einen eigenen Namen (z.B. `(***)` statt `(1.2)`) <br> `\tagx[name=***]` <br> - oder eben beides `\tagx[name=***, label=eq:foo]` Aber das Anwenden von pgfkeys in dem Befehl von @egreg (hier label-Angabe Pflichtargument!) \usepackage{xparse} % \tagx[shown text, optional]{label-name} \makeatletter \NewDocumentCommand{\tagx}{om}{% \IfNoValueTF{#1} {% normal equation number \refstepcounter{equation}(\theequation)\label{#2}% } {% personal tag (#1)\def\@currentlabel{#1}\label{#2}% }% } \makeatother doch schwieriger als ich dachte. Was muss ich tun? **Unvollständiges MWE: <br> (mit `LaTeX Warning: Label multiply defined`)** \documentclass[12pt]{scrreprt} \usepackage{amsmath, amsfonts, amssymb} \usepackage{xparse} % \tagx[shown text, optional]{label-name} \makeatletter \NewDocumentCommand{\tagx}{om}{% \IfNoValueTF{#1} {% normal equation number \refstepcounter{equation}(\theequation)\label{#2}% } {% personal tag (#1)\def\@currentlabel{#1}\label{#2}% }% } \makeatother \usepackage[colorlinks=true]{hyperref} % for highlighting \begin{document} \chapter{First Chapter} An equation for counting: \begin{equation} a+b=c\label{eq:bar1} \end{equation} \bigskip This is an inline-tag \tagx{foo1}, it is also labeled \eqref{foo1}. This is a personalized inline-tag \tagx[***]{foo2}, it is also labeled \eqref{foo2}. \bigskip This is an inline-tag \tagx{}, it is \emph{not} labeled. This is a personalized inline-tag \tagx[***]{}, it is \emph{not} labeled. \bigskip An another equation: \begin{equation} 1+1=2\label{eq:bar2} \end{equation} \end{document} [![alt text][1]][1] [1]: https://texwelt.de/wissen/upfiles/55555555_367.pnghttps://texwelt.de/wissen/upfiles/55555555_367.png
Klicke auf Einblenden/Ausblenden von Überarbeitungen 2

20 Mai '19, 17:35

cis's gravatar image

cis
9.6k104461491

Klicke auf Einblenden/Ausblenden von Überarbeitungen 1

20 Mai '19, 17:33

cis's gravatar image

cis
9.6k104461491