答案中的代码不起作用:禁忌表文本颜色标题

答案中的代码不起作用:禁忌表文本颜色标题

我再次测试了我的解决方案(使用从我的答案中复制的代码)......并且它按预期工作。结果如答案所示。我不知道你是如何让我的 mwe 无法按预期工作。你应该有一些对我来说隐藏的东西。我只能建议你问新的问题,你在其中展示你的测试 mwe 和获得的结果,并清楚地表明什么不符合你的预期。也许其他人会看到,问题是什么。

问题描述: 我们有一个tabu具有自定义标题样式的乳胶表:它与其他表行具有不同的对齐方式、颜色和形状。

BTWXeLaTeX已使用。

有必要对标题文本应用以下样式:

  • 大胆的;
  • 与水平中心对齐;

  • 垂直居中对齐(适用于单行或自动换行的情况);

  • 自定义颜色是#0070C0

删除了旧版本的 MiKTeX。我们安装了最新版本的 MiKTeX (2.9)。我们修复了 fontspec 软件包的一个错误(现在的版本是 2.6d)。

期望结果: 在此处输入图片描述

实际结果: 在此处输入图片描述

我们在同事的电脑上测试了此代码。结果是一样的。

为什么对齐不起作用,而其他人都在运行?可能是什么原因?还有人可以验证此代码吗?

还有其他方法可以解决原来的问题吗?这对我们很重要。

我从回复中复制了此代码Tabu 表文本颜色标题:垂直和水平对齐、一行和自动换行

\documentclass[10pt, oneside, a4paper]{report}
\usepackage[left=2cm,right=1.5cm,
    top=2cm,bottom=2cm,bindingoffset=0cm]{geometry}
\usepackage{indentfirst}
\usepackage{titlesec}
\usepackage{tabu}
\usepackage[svgnames]{xcolor}
\definecolor{DarkBlue}{HTML}{0070C0}
\definecolor{Blue}{HTML}{1C8CCC}
\usepackage{multirow}
%\usepackage{polyglossia} % i haven't this fonts
%\setmainfont[Ligatures=TeX]{Arial}% i haven't this fonts

\newcommand\ch[1]{\begin{tabular}{@{}>{\color{Blue}\bfseries}c@{}}% <-- added
                    #1
                  \end{tabular}
                  }

\begin{document}
\taburulecolor{DarkBlue}
\tabulinesep=1mm       
\begin{tabu} to 170 mm {
    |X[2]       %  |X[2,m]
    |X[1.5]     %  |X[1.5,m]
    |X[0.6, C]  %  |X[0.6, C,m]
    |X[2]       %  |X[2,m]
    |X[0.6, C]| %  |X[0.6, C,m]|
    }
\hline
\ch{Status}
    & \ch{Visual indication:\\ color and\\ indication type}
    & \ch{Symbol}
    & \ch{Audible signal}
    & \ch{Priority}\\ \hline   

Alarm active, not acknowledge
    & Red, blinking
    & picture
    & Accompanied by an audible signal, as 3 short audible signals repeated every 7 s
    & High
    \\ \hline    
Alarm active, silenced
    & Red, blinking
    & picture
    & Silent
    &
    \\ \hline
\end{tabu}
\end{document}

答案1

\multicolumn{1}{c}{...}我建议您通过以下宏将每个标题放入其中:

\newcommand{\chbody}[1]{\begin{tabular}{@{}>{\color{Blue}\bfseries}c@{}}#1\end{tabular}}
\newcommand{\ch}[1]{\multicolumn{1}{c|}{\chbody{#1}}}
\newcommand{\fch}[1]{\multicolumn{1}{|c|}{\chbody{#1}}}

(这\fch仅适用于第一列,左侧也需要垂直线)。

这给出了居中的标题

示例输出

\documentclass[10pt, oneside, a4paper]{report}

\usepackage[left=2cm,right=1.5cm,
    top=2cm,bottom=2cm,bindingoffset=0cm]{geometry}
\usepackage{tabu}
\usepackage[svgnames]{xcolor}
\definecolor{DarkBlue}{HTML}{0070C0}
\definecolor{Blue}{HTML}{1C8CCC}

\newcommand{\chbody}[1]{\begin{tabular}{@{}>{\color{Blue}\bfseries}c@{}}#1\end{tabular}}
\newcommand{\ch}[1]{\multicolumn{1}{c|}{\chbody{#1}}}
\newcommand{\fch}[1]{\multicolumn{1}{|c|}{\chbody{#1}}}

\begin{document}

\taburulecolor{DarkBlue}%
\tabulinesep=1mm
\begin{tabu} to 170 mm {
    |X[2]       %  |X[2,m]
    |X[1.5]     %  |X[1.5,m]
    |X[0.6, C]  %  |X[0.6, C,m]
    |X[2]       %  |X[2,m]
    |X[0.6, C]| %  |X[0.6, C,m]|
    }
\hline
\fch{Status}
    & \ch{Visual indication:\\ color and\\ indication type}
    & \ch{Symbol}
    & \ch{Audible signal}
    & \ch{Priority}\\ \hline
\tabuphantomline
Alarm active, not acknowledge
    & Red, blinking
    & picture
    & Accompanied by an audible signal, as 3 short audible signals repeated every 7 s
    & High
    \\ \hline
Alarm active, silenced
    & Red, blinking
    & picture
    & Silent
    &
    \\ \hline
\end{tabu}
\end{document}

注意我已\tabuphantomline按照软件包文档的建议进行了添加,并且已从序言中删除了其他未使用的软件包。

答案2

还可以添加我的命令定义中遗漏的部分(真尴尬)\ch

    \newcommand\ch[1]{\centering% <-- missed, sorry
            \begin{tabular}{@{}>{\color{Blue}\bfseries}c@{}}
                        #1
                      \end{tabular}
                      }

抱歉,我两次忽略了这一点……(结果复制了我“开发”的答案的错误版本):-)。我也将此更正添加到原始答案中

现已完成姆韦是(也用 xelatex 测试过):

\documentclass[10pt, oneside, a4paper]{report}
\usepackage[left=2cm,right=1.5cm,
    top=2cm,bottom=2cm,bindingoffset=0cm]{geometry}
\usepackage{indentfirst}
\usepackage{titlesec}
\usepackage{tabu}
\usepackage[svgnames]{xcolor}
\definecolor{DarkBlue}{HTML}{0070C0}
\definecolor{Blue}{HTML}{1C8CCC}
\usepackage{multirow}
%\usepackage{polyglossia} % i haven't this fonts
%\setmainfont[Ligatures=TeX]{Arial}% i haven't this fonts

\newcommand\ch[1]{\centering% <-- added
        \begin{tabular}{@{}>{\color{Blue}\bfseries}c@{}}
                    #1
                  \end{tabular}
                  }

\begin{document}
\taburulecolor{DarkBlue}
\tabulinesep=1mm
\begin{tabu} to 170 mm {
    |X[2]       %  |X[2,m]
    |X[1.5]     %  |X[1.5,m]
    |X[0.6, C]  %  |X[0.6, C,m]
    |X[2]       %  |X[2,m]
    |X[0.6, C]| %  |X[0.6, C,m]|
    }
\hline
\ch{Status (now centered)}
    & \ch{Visual indication:\\ color and\\ indication type}
    & \ch{Symbol}
    & \ch{Audible signal}
    & \ch{Priority}\\ \hline

Alarm active, not acknowledge
    & Red, blinking
    & picture
    & Accompanied by an audible signal, as 3 short audible signals repeated every 7 s
    & High
    \\ \hline
Alarm active, silenced
    & Red, blinking
    & picture
    & Silent
    &
    \\ \hline
\end{tabu}
\end{document}

在此处输入图片描述

注意:使用不同的字体(由 xelatex 启用)可能需要增加列宽,较窄的列:|X[0.6, C]

相关内容