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

글꼴을 두 번 지정하는 것이 가장 쉬운 방법일 것입니다.

여기에 이미지 설명을 입력하세요

\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} 

관련 정보