Ich habe ein ziemlich spezielle Frage zu dem Paket chemnum:

Ich habe meine Grafiken fröhlich mit tags versehen und immer mit

Open in Online-Editor
\replacecmpd[tag=irgend-ein-tag]{tag1}

gelabelt.

Funktioniert alles schön und gut soweit, nur nun habe ich folgendes Problem:

Ich möchte ein Label in einer Grafik zwar ersetzen, aber nicht als neue Zählung definieren, sprich ich hätte gerne ein Äquivalent beim Ersetzen eines tags zu \cmpd+{tag1} im freien Textfluss.

Ist so eine Option in das Packet eingearbeitet?
Beim Durchlesen der Dokumentation ist mir nichts aufgefallen.

gefragt 12 Mai '15, 06:21

otti's gravatar image

otti
232
Akzeptiert: 100%

bearbeitet 12 Mai '15, 15:52

Clemens's gravatar image

Clemens
19.0k113060

1

@otti: Willkommen auf TeXwelt!.

Es ist hier üblich und immer sinnvoll ein vollständiges Minimalbeispiel und nicht nur ein Codefragment anzugeben. Das gilt auch bei grundsätzlichen oder allgemeinen Fragen, damit nicht diverse Helfer sich für ihre Tests und Antworten erst Beispiele einfallen lassen müssen. Es ist also auch eine Frage der Effizienz. In vielen Fällen ist es sogar eine schlichte Notwendigkeit, um die Frage überhaupt verstehen und zielgerichtet bearbeiten zu können.

(13 Mai '15, 03:07) saputello

Im Manual zu chemnum fehlt die vollständige Beschreibung von \replacecmpd. Sie lautet:

  • \replacecmpd+[<Optionen>]{<Label-Angaben>}

Das optionale + sollte hier die gleiche Funktion haben, wie bei \cmpd: [it] only refers to an already defined label but does not define a label itself. Das heißt, der Befehl sollte die analoge Option haben. Tatsächlich stimmt das bis Version 1.1 aber leider nicht:

Der Befehl ruft intern \labelcmpd auf, das heißt [it] [...] defines a new label, und zwar unabhängig von gesetztem +, was eindeutig ein Fehler in der Definition ist. Es sollte natürlich geprüft werden, ob das + gesetzt wurde oder nicht. In Version v1.1a ist das behoben. Mit älteren Versionen (ab v1.0) bleibt Dir nur, folgendes in die Präambel zu kopieren, damit die +-Option auch funktioniert:

Open in Online-Editor
\ExplSyntaxOn
\cs_set_protected:Npn \chemnum_cmpd_replace:nnn #1#2#3
  {
    \bool_if:nF {#1} { \labelcmpd[{#2}]{#3} }% <<<< geänderte Zeile
    % set specific replacement options
    \keys_set_groups:nnn {chemnum} {replace} { replace=false, #2 }
    \bool_if:nTF
      {
        \l__chemnum_compound_replace_auto_bool &&
        \l__chemnum_compound_replace_auto_this_bool
      }
      {
        \int_incr:N \l__chemnum_compound_replace_int
        \tl_set:Nx \l__chemnum_compound_replace_tl
          {
            \exp_not:V \l__chemnum_compound_replace_tag_tl
            \exp_not:V \l__chemnum_compound_replace_int
          }
      }
      {
        \tl_set_eq:NN
          \l__chemnum_compound_replace_tl
          \l__chemnum_compound_replace_tag_tl
        \bool_set_true:N \l__chemnum_compound_replace_auto_this_bool
      }
    % replace in EPS, this must not be in a group:
    \bool_if:NTF \l__chemnum_replace_local_bool
      {
        \__chemnum_psfrag:VVVx
          \l__chemnum_compound_replace_tl
          \l__chemnum_psfrag_local_texpos_tl
          \l__chemnum_psfrag_local_pspos_tl
          {
            \group_begin:
              \exp_not:V \l__chemnum_compound_replace_local_format_tl
              \exp_not:n
                { \chemnum_cmpd:nnnn { \c_false_bool } { #1 } { #2 } { #3 } }
            \group_end:
          }
      }
      {
        \__chemnum_psfrag:VVVx
          \l__chemnum_compound_replace_tl
          \l__chemnum_psfrag_texpos_tl
          \l__chemnum_psfrag_pspos_tl
          {
            \group_begin:
              \exp_not:V \l__chemnum_compound_replace_format_tl
              \exp_not:n
                { \chemnum_cmpd:nnnn { \c_false_bool } { #1 } { #2 } { #3 } }
            \group_end:
          }
      }
    % clean up local options:
    \keys_set_groups:nnn {chemnum} {replace} { replace=false }
    \__chemnum_set_psfrag_local_pos:VV
      \l__chemnum_psfrag_texpos_tl
      \l__chemnum_psfrag_pspos_tl
    \tl_set_eq:NN
      \l__chemnum_compound_replace_local_format_tl
      \l__chemnum_compound_replace_format_tl
  }
\ExplSyntaxOff
Permanenter link

beantwortet 13 Mai '15, 04:26

Clemens's gravatar image

Clemens
19.0k113060

bearbeitet 15 Mai '15, 09:40

1

Update an CTAN ist raus

(13 Mai '15, 04:57) Clemens

wow, vielen Dank für deine schnelle Antwort und deine tolle Arbeit bzgl des Pakets, habe es in jeder meiner bisherigen Arbeiten verwendet. Mit der Präambel funktioniert es auch einwandfrei, danke ;)

(13 Mai '15, 07:26) otti
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×8

Frage gestellt: 12 Mai '15, 06:21

Frage wurde angeschaut: 1,482 Mal

Zuletzt aktualisiert: 15 Mai '15, 09:40