dcolumn에 맞춰 정렬된 테이블의 굵은 행

dcolumn에 맞춰 정렬된 테이블의 굵은 행

저는 특정 행 하나를 강조 표시(굵게)해야 하는 여러 TeX 테이블(Stata 포함)을 생성 중입니다. 그러나 첫 번째 열만 수정할 수 있으므로 열의 첫 번째 셀에 명령을 배치하여 굵게 표시하고 싶습니다.

지금까지 나는 이것을 사용하고 있습니다 "표의 첫 번째 행을 모두 굵게 표시", 내가 원하는 것을 정확히 수행합니다.

\documentclass[12pt]{standalone}
\usepackage{dcolumn}    
\newcolumntype{X}{>{\rowstyle{\relax}}l}
\newcolumntype{Y}{>{\currentrowstyle}c}
\newcommand{\rowstyle}[1]{\gdef\currentrowstyle{#1}}
\begin{document}
\begin{tabular}{XYY}
normal row & 1.1 & 2.2\\
bold row \rowstyle{\bfseries} & 1.1 & 2.2\\
\end{tabular}
\end{document}

이제 전환하기로 결정했습니다.dcolumn . 이는 훌륭하지만 수학 모드에서 셀을 래핑하므로 대담한 해결 방법이 깨졌습니다. David가 여기서 제공한 솔루션(표의 소수점은 굵게 표시된 경우 dcolumn과 정렬되지 않습니다.\multicolumn{1}{B}{...})은 모든 굵은 셀에 이 필요하기 때문에 실제로 작동하지 않습니다 .

단순히 mathbf대신 사용하는 것은 트릭을 수행하지 않는 것 같습니다. 어떤 제안이라도 대단히 감사하겠습니다.

답변1

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

\makeatletter  
\newcolumntype{X}{>{\rowstyle{\relax}}l}
\newcolumntype{D}[3]{>{\currentrowstyle\DC@{#1}{#2}{#3}}c<{\DC@end}}
\makeatother
\newcommand{\rowstyle}[1]{\gdef\currentrowstyle{#1}}
\begin{document}
\begin{tabular}{XD..{-1}D..{-1}}
normal row & 1.1 & 2.2\\
bold row \rowstyle{\bfseries\boldmath} & 1.1 & 2.2\\
\end{tabular}
\end{document}

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

답변2

패키지를 사용한 솔루션 siunitx:

\documentclass[12pt]{standalone}

\usepackage{array}
\usepackage{siunitx}

\newcolumntype{X}{%
  >{\rowstyle{\relax}}l%
}
\newcolumntype{Y}{%
  >{\currentrowstyle}S[detect-weight]%
}
\newcommand{\rowstyle}[1]{%
  \protected\gdef\currentrowstyle{#1}%
}

\begin{document}
  \begin{tabular}{XYY}
    normal row & 1.1 & 2.2\\
    normal row & 12.34 & 56.78\\
    bold row \rowstyle{\bfseries} & 1.1 & 2.2\\
    bold row \rowstyle{\bfseries} & 12.34 & 56.78\\
  \end{tabular}
\end{document}

결과

답변3

나는 이것을 사용합니다 :

\newsavebox\CBox
\def\mathBF#1{\sbox\CBox{#1}\resizebox{\wd\CBox}{\ht\CBox}{\ensuremath{\mathbf{#1}}}}
\newcommand{\best}[1]{\mathBF{#1}}  % for table

그런 다음 테이블에서 \best{1.1}숫자를 굵게 표시하고 싶은 곳이면 어디든지 할 수 있습니다.

이는 특히 수학 모드용이며 siunitx.

다음에서 영감을 얻었습니다.여기. 또한 참조하십시오여기.

관련 정보