
Estoy usando las fuentes libertine
con newtxmath y beramono
junto con el chammacros
paquete para componer datos experimentales. Esto funciona muy bien y obtengo los resultados deseados. Este paquete logra componer la constante de acoplamiento de manera que su prescripción sea muy cercana a la letra J. Cuando intento lograr el mismo texto de resultado, fallo, aunque estoy usando paquetes como mathtools
of leftidx
pero no cumplen con mis requisitos. Lo necesita su versión estándar.
Aquí hay un MWE
\documentclass[a4paper,10pt,bibliography=totoc,listof=totoc]{scrreprt}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{libertine}
\usepackage[scaled=.83]{beramono}
\usepackage[libertine]{newtxmath}
\usepackage{chemmacros}
\chemsetup[nmr]{
delta = (ppm) ,
pos-number = side ,
use-equal,
format = \bfseries,
list=true
}
\usepackage{siunitx}
\sisetup{
separate-uncertainty ,
per-mode = symbol ,
range-phrase = -- ,
detect-mode = false ,
detect-weight = true ,
mode = text ,
text-rm = \libertineLF % use libertine with lining figures
}
\ExplSyntaxOn
\cs_set_protected:Npn \__chemmacros_nmr_coupling:w (#1;#2)
{
\tl_set:Nn \l__chemmacros_nmr_coupling_bonds_tl { #1 \! }
\tl_set:Nn \l__chemmacros_nmr_coupling_nuclei_tl
{
\c_math_subscript_token
{ \chemmacros_chemformula:n { #2 } }
}
\__chemmacros_nmr_coupling_aux_i:w
}
\cs_set_protected:Npn \chemmacros_nmr_number:n #1
{
$ #1 $ \, % put the number in math-mode for lining figures
\chemmacros_atom:V \g__chemmacros_nmr_element_tl
}
\ExplSyntaxOff
\begin{document}
Good way:
\begin{experimental}
\NMR(400)[C6D6] \val{2.01} (d, \J(1;CH)[Hz]{25.0}, \#{24}, \pos{5})
\end{experimental}
Not so good way:
$\prescript{1}{}{J}$ coupling
\end{document}
Creo chemmacros
que lo estoy usando mathtools
internamente por lo que recuerdo de la documentación, pero aparentemente de una manera más inteligente que yo.
Respuesta1
chemmacros usa el modo matemático normal para esto: $^{1}J$
. Tenéis una versión modificada que reduce un poco el espacio: $^{1\!}J$
.
A continuación uso la versión 4.4, chemmacros
que también usa \!
y agrega la posibilidad de decidir cómo se componen los diferentes números (consulte las opciones extendidas en el ejemplo a continuación), por lo que las redefiniciones ya no son necesarias.
\documentclass[a4paper,10pt,bibliography=totoc,listof=totoc]{scrreprt}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{libertine}
\usepackage[scaled=.83]{beramono}
\usepackage[libertine]{newtxmath}
\usepackage{chemmacros}[2014/01/29] % use version 4
\chemsetup[nmr]{
delta = (ppm) ,
pos-number = side ,
use-equal,
format = \bfseries,
list=true ,
coupling-pos-cs = \ensuremath , % <<< added
atom-number-cs = \ensuremath % <<< added
}
\usepackage{siunitx}
\sisetup{
separate-uncertainty ,
per-mode = symbol ,
range-phrase = -- ,
detect-mode = false ,
detect-weight = true ,
mode = text ,
text-rm = \libertineLF % use libertine with lining figures
}
\begin{document}
Good way:
\begin{experimental}
\NMR(400)[C6D6] \val{2.01} (d, \J(1;CH)[Hz]{25.0}, \#{24}, \pos{5})
\end{experimental}
Same way:
$^{1\!}J$ coupling
\end{document}