斜体の数字をdcolumnに揃える

斜体の数字をdcolumnに揃える

質問は次のようになります:太字にすると、表の小数点が dcolumn と一致しない

dcolumn のあるテーブル内の特定の数字を斜体にして、他の数字と揃えたいです。太字の数字に対して提案されたものに似たものを試しました:

\newcolumntype{I}[3]{>{\textit\DC@{#1}{#2}{#3}}c<{\DC@end}}

しかし、それは機能しません。

例:

\documentclass[12pt]{article}
\usepackage{dcolumn}

\newcolumntype{.}{D{.}{.}{-1}}
\makeatletter
\newcolumntype{B}[3]{>{\boldmath\DC@{#1}{#2}{#3}}c<{\DC@end}}
\makeatother
\begin{document}
    \begin{tabular}{..}
        \hline 
        1.5 & 0.19 \\ 
        \multicolumn{1}{B{.}{.}{-1}}{2.75} & 4.2 \\ 
        3.4 & \textit{8.0} \\ 
        \hline 
    \end{tabular} 
\end{document}

ここに画像の説明を入力してください

答え1

おそらくフォントを2回指定するのが一番簡単でしょう

ここに画像の説明を入力してください

\documentclass[12pt]{article}
\usepackage{dcolumn}
\newcolumntype{.}{D{.}{.}{-1}}
\makeatletter
\newcolumntype{B}[3]{>{\boldmath\DC@{#1}{#2}{#3}}c<{\DC@end}}
\makeatother
\begin{document}
    \begin{tabular}{..}
        \hline 
        1.5 & 0.19 \\ 
        \multicolumn{1}{B{.}{.}{-1}}{2.75} & 4.2 \\ 
        3.4 & \mathit{8}.\mathit{0} \\ 
        \hline 
    \end{tabular} 
\end{document}

答え2

数字をイタリック体で表示する新しい数学バージョンを定義することもできますが、まずはsiunitx(一部はhttps://tex.stackexchange.com/a/334323/4427

\documentclass[12pt]{article}
\usepackage{siunitx,booktabs,etoolbox}

\begin{document}

\begin{table}
\centering

%% local redefinitions
\renewrobustcmd{\bfseries}{\fontseries{b}\selectfont}
\renewrobustcmd{\boldmath}{}

\begin{tabular}{
  S[table-format=1.2,detect-weight,mode=text]
  S[table-format=1.2,detect-weight,mode=text]
}
\toprule
          1.5  &          0.19 \\
\bfseries 2.75 &          4.2  \\
          3.4  & \itshape 8.0  \\
\bottomrule
\end{tabular}

\end{table}

\end{document}

ここに画像の説明を入力してください

代替案dcolumn:

\documentclass[12pt]{article}
\usepackage{dcolumn}

\DeclareMathVersion{italic}
\SetSymbolFont{operators}{italic}{OT1}{\familydefault}{m}{it}

\newcolumntype{.}{D{.}{.}{-1}}
\makeatletter
\newcolumntype{B}[3]{>{\boldmath\DC@{#1}{#2}{#3}}c<{\DC@end}}
\newcolumntype{I}[3]{>{\mathversion{italic}\DC@{#1}{#2}{#3}}c<{\DC@end}}
\makeatother
\begin{document}
    \begin{tabular}{..}
        \hline
        1.5 & 0.19 \\
        \multicolumn{1}{B{.}{.}{-1}}{2.75} & 4.2 \\
        3.4 & \multicolumn{1}{I{.}{.}{-1}}{8.0} \\
        \hline
    \end{tabular}
\end{document}

ここに画像の説明を入力してください

答え3

David と同じアイデアですが、便宜上マクロにラップされています。

\documentclass[12pt]{article}
\usepackage{dcolumn}

\newcolumntype{.}{D{.}{.}{-1}}
\makeatletter
\newcolumntype{B}[3]{>{\boldmath\DC@{#1}{#2}{#3}}c<{\DC@end}}
\makeatother

% call \mathit separately for integer and decimal parts
\newcommand{\itnum}[2]{\mathit{#1}.{\mathit{#2}}}

\begin{document}
    \begin{tabular}{..}
        \hline 
        1.5 & 0.19 \\ 
        \multicolumn{1}{B{.}{.}{-1}}{2.75} & 4.2 \\ 
        3.4 & \itnum{8}{0} \\ 
        \hline 
    \end{tabular} 

関連情報