dcolumn 表中的彩色文本

dcolumn 表中的彩色文本

我想使用自己的颜色定义突出显示表格中的文本。表格就是表格dcolumn。它不起作用,我收到错误消息! Missing } inserted.! Extra }, or forgotten $.重复了三次。

下面是该课程的一个最小示例beamer(我没有检查其他课程)。

\documentclass{beamer}

\usepackage[utf8]{inputenc}
\usepackage{default}
\usepackage{color, colortbl}
\usepackage{booktabs, dcolumn}
# Now I create my own color to highlight text
\definecolor{red4}{rgb}{0.545,0.000,0.000}
\newcommand{\mcdr}[1]{{{\bf \color{red4}#1}}}

\begin{document}
#-----------
\begin{frame}

\begin{table}
  \begin{tabular}{p{1cm} D{.}{.}{3.5}@{} }
    \toprule
    average & {\mcdr{-0.01}}     \\
  \end{tabular}
\end{table}

\end{frame}
#-----------
\end{document}

但是,嵌入\mcdr在普通表中,一切正常:

  \begin{center}
   \begin{tabular}{l | l }
     early& {\mcdr{0.1}}  \tabularnewline
     late& \textit{0.11} \tabularnewline
   \end{tabular}
  \end{center}

答案1

D 列类型由两个(子)列组成。例如,如果您在数字 -0,01 前放置 \color{red4},您将看到,只有数字 (-1) 的第一部分变为 red4 色。在任何宏中关闭此数字都会隐藏“。”,它是(子)列之间的分隔符。

与此接近的解决方案(据我了解)可以是:

\documentclass{beamer}

%\usepackage[utf8]{inputenc}
%\usepackage{default}
\usepackage{color, colortbl}
\usepackage{booktabs, dcolumn}
% Now I create my own color to highlight text
\definecolor{red4}{rgb}{0.545,0.000,0.000}
\newcommand{\mcdr}[1]{{{\bf \color{red4}#1}}}
    \newcolumntype{F}[3]{>{\color{red4}\DC@{#1}{#2}{#3}}c<{\DC@end}}
    \newcolumntype{d}[1]{F{.}{.}{#1}}

\begin{document}
%-----------
\begin{frame}

\begin{table}
  \begin{tabular}{p{1cm} D{.}{.}{3.5}@{} }
    \toprule
    average & \mcdr{-0}.\mcdr{01}     \\
    \bottomrule
  \end{tabular}
\end{table}

\end{frame}
%-----------
\end{document}

在此处输入图片描述

答案2

我建议(至少对于此应用程序)不要加载dcolumn包及其列类型,而是加载包并使用其列类型。另外,我认为您应该使用颜色或粗体,但不能同时使用两者;我会选择使用颜色来突出显示文档中的项目。DsiunitxSbeamer

在此处输入图片描述

\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usepackage{xcolor, booktabs, siunitx}
% Now I create my own color to highlight text
\definecolor{red4}{rgb}{0.545,0.000,0.000}
\newcommand{\mcdr}{\color{red4}}

\begin{document}
\begin{frame}
\begin{table}
  \begin{tabular}{p{1.5cm} 
                  S[table-format=3.5, group-digits=false] 
                  @{} }
    \toprule
    average    & \mcdr -0.01      \\
    difference & \mcdr -12.34567  \\
  \end{tabular}
\end{table}
\end{frame}
\end{document}

相关内容