覆盖标题的默认列对齐方式 - 您能解释这种行为吗?

覆盖标题的默认列对齐方式 - 您能解释这种行为吗?

感谢本网站上的各种帖子,我几乎成功构建了一个可读的表格!特别是,我添加了\newcolumntype允许我插入\newline表格的功能,并且构建了表格标题格式,\head以便我可以轻松地对表格的标题单元格使用不同的格式。

我对格式的行为有点困惑。只有当我使用来定义我的列(即或而不是或)head时,标题似乎才会按需要对齐。示例如下。\newcolumntypeLRlr

\documentclass[11pt, a4paper, twoside, fleqn]{article}

\usepackage{xspace}

\usepackage{array}
\newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{R}[1]{>{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcommand{\head}[1]{\centering\textbf{#1}}

\newcommand{\COtwo}{CO$_{2}$\xspace}

\begin{document}

\begin{table}
  \centering 
  \footnotesize
  \begin{tabular}{ | R{2cm} | r | r | R{2cm} | }
  \hline
  \head{\COtwo} & \head{\COtwo} & \head{Ozone} & \head{Water\newline Vapour} \tabularnewline [0.5ex]
  \hline
  1.2 & 1.55555555 & 2.44444444444444444 & 1.3\\ 
  \hline
  \end{tabular}
  \caption{Blah} 
\end{table}

\end{document}

最终看起来像这样:

我的示例代码的屏幕截图

我不明白为什么会这样 - 为什么我的\head命令在使用时不能覆盖默认的列对齐方式?使用代替r没什么大不了的,但我很好奇,因为我对 LaTeX 还比较陌生。Rr

答案1

这只是一种解决方法,以避免R在您想要使用时使用r

使用

\multicolumn{1}{c|}{\head{\COtwo}}

在您希望内容居中的单元格中。

平均能量损失

\documentclass[11pt, a4paper, twoside, fleqn]{article}

\usepackage{xspace}

\usepackage{array}
\newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{R}[1]{>{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcommand{\head}[1]{\centering\textbf{#1}}

\newcommand{\COtwo}{CO$_{2}$\xspace}

\begin{document}

\begin{table}
  \centering
  \footnotesize
  \begin{tabular}{ | R{2cm} | r | R{2cm} | R{2cm} | }
  \hline
  \head{\COtwo} & \multicolumn{1}{c|}{\head{\COtwo}} & \head{Ozone} & \head{Water\newline Vapour} \tabularnewline
  \hline
  1.2  & 1.55555555  &   2.4   &     1.3\\
  \hline
  \end{tabular}
  \caption{Blah}
\end{table}

\end{document} 

输出:

在此处输入图片描述

相关内容