Ich schreibe gerade an einem Laborbericht, in welchem ich spektroskopische NMR Daten angeben muss - dafür möchte ich das Paket chemmacros verwenden. Wenn ich folgendermaßen vorgehe

Öffne in Overleaf
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{chemmacros}
    \usechemmodule{all}

\begin{document}

\begin{experimental}[format=\bfseries]
    \NMR(600)[CDCl3] \val{1}
\end{experimental}

\end{document}

sieht der Output in etwa so aus: 1H-NMR (600 MHz, CDCl3): ...

Ist es möglich, dass ausschließlich das 1H-NMR fett ausgegeben wird, der Rest hingegen normal: 1H-NMR (600 MHz, CDCl3): ...?

gefragt 26 Jan '17, 21:58

maxim87's gravatar image

maxim87
2512
Akzeptiert-Rate: 0%

bearbeitet 27 Jan '17, 07:56

saputello's gravatar image

saputello
11.1k154365


Kurze Antwort: nein. Längere Antwort: nicht, ohne eine Interne Funktion zu erweitern.

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{chemmacros}
\usechemmodule{spectroscopy}

\ExplSyntaxOn
\tl_new:N \l__chemmacros_nmr_base_format_tl

\chemmacros_define_keys:nn {spectroscopy}
  { nmr-base-format .tl_set:N = \l__chemmacros_nmr_base_format_tl }

\cs_set_protected:Npn \__chemmacros_nmr_base:nn #1#2
  {
    \group_begin:
      \tl_use:N \l__chemmacros_nmr_base_format_tl
      \tl_if_blank:VF \g__chemmacros_nmr_element_coupled_tl
        {
          \tl_put_left:Nn \g__chemmacros_nmr_element_coupled_tl { \{ }
          \tl_put_right:Nn \g__chemmacros_nmr_element_coupled_tl { \} }
        }
      \tl_put_left:Nn \g__chemmacros_nmr_element_coupled_tl {#2}
      \chemmacros_chemformula:n { ^{#1} }
      \bool_if:NTF \l__chemmacros_nmr_parse_bool
        { \chemformula_ch:nV {} \g__chemmacros_nmr_element_coupled_tl }
        { \chemmacros_chemformula:V \g__chemmacros_nmr_element_coupled_tl }
      \tl_use:N \l__chemmacros_nmr_element_method_connector_tl
      \tl_use:N \l__chemmacros_nmr_method_tl
    \group_end:
  }
\ExplSyntaxOff

\begin{document}

\begin{experimental}[nmr-base-format=\bfseries]
  \NMR(600)[CDCl3] \val{1}
\end{experimental}

\end{document}

alt text

Da die Lösung auf internen Funktionen beruht, wird sie evtl nicht dauerhaft zuverlässig funktionieren. Wenn ich's nicht vergesse, werde ich das offiziell einbauen und die Antwort dann überarbeiten.

Anmerkung:

Ohne Hack aber mit \sisetup{detect-weight} hättest Du

alt text

Was evtl auch eine Lösung sein könnte.

Permanenter link

beantwortet 26 Jan '17, 22:10

cgnieder's gravatar image

cgnieder
22.1k243463
Akzeptiert-Rate: 60%

bearbeitet 23 Jan '20, 15:54

stefan's gravatar image

stefan ♦♦
18.1k143048

Super! Vielen, vielen Dank, genau das, wonach ich gesucht habe!

(27 Jan '17, 01:29) maxim87

Hallo,

ich stehe im Moment vor dem selben Problem. Leider funktioniert bei mir der "Hack" nicht und ich erhalte folgende Fehlermeldung. Hat jemand eine Idee, wie dies zu beheben ist? Beste Grüße!

LaTeX3 Error: Control sequence \l\_\_chemmacros_nmr_base_format_tl already(LaTeX3) defined. \tl\_new:N \l\_\_chemmacros\_nmr\_base\_format\_tl

(23 Jan '20, 14:01) barmaritter
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

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ügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×8

gestellte Frage: 26 Jan '17, 21:58

Frage wurde gesehen: 6,475 Mal

zuletzt geändert: 23 Jan '20, 15:53