我们有一个tabu
具有自定义标题样式的乳胶表:它与其他表行具有不同的对齐方式、颜色和形状。
BTWXeLaTeX
已使用。
标题可以较短,请参见图片和最小工作示例(最后的 MWE)。
有必要对标题文本应用以下样式:
- 大胆的;
- 与水平中心对齐;
- 垂直居中对齐(适用于单行或自动换行的情况);
- 自定义颜色是
#0070C0
;
期望结果
我们已经将\rowfont{}
命令应用于第一个tabu
表格行,如答案所示https://tex.stackexchange.com/a/26363/123948
\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]|
}
\rowfont{\centering\bfseries\color{Blue}}
%...
和:
- 文本使用 变为粗体
\bfseries
; \centering
使用;对齐到水平中心- 颜色是
\definecolor{Blue}{HTML}{1C8CCC}
; - 尝试了
tabu
的m
列类型来对齐垂直中心,但它只适用于换行的情况(单行不行),并且它影响整个表,但我们只需要标题。
实际结果
没有m
类型,因为它会影响整个表
问题
- 如何使用
\rowfont{}
(或其他方式)仅垂直对齐标题文本? - 标题行的水平对齐和着色是否正确实现或者有更好的方法?
最小工作示例
使用 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}
\setmainfont[Ligatures=TeX]{Arial}
%--------------------------------------------
\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]|
}
\rowfont{\centering\bfseries\color{Blue}}
\hline
Status
& Visual indication: color and indication type %% WORD WRAP
% & Visual indication %% one line
& Symbol
& Audible signal
& 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
编辑:
tabu
是个不错的软件包,功能齐全,但不幸的是它有缺陷并且不再维护。- 问题出在使用中
color{...}
(与所用的latex
引擎无关) - 作为解决方法,看看以下解决方案是否适合您
- 消除
\rowcolor{...}
- 定义新命令(见姆韦下面,让它的名字为
\ch
(列标题) 约粗体字体,颜色字体和垂直间距细胞含量
- 消除
\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}
& \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}