我再次测试了我的解决方案(使用从我的答案中复制的代码)......并且它按预期工作。结果如答案所示。我不知道你是如何让我的 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]
。