\centering
命令,我在我的文档中使用时给出了奇怪的输出 - 值不均等地居中
下面的图片应该可以让你理解(红框内的元素和表格中两个没有框住的“值”字符串,没有居中) 此页面/文档的代码:
\documentclass[twoside,titlepage]{article}
\usepackage[polish]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[a4paper,inner=3.5cm,outer=2.0cm,top=2.0cm,bottom=2.0cm]{geometry}
\usepackage{multicol}
\usepackage[titletoc,title]{appendix}
\usepackage[table]{xcolor}
\usepackage{multirow}
\usepackage{mathtools}
\newcommand{\appendixtitle}[2]{\begin{center}(#1)\\ ~ \\ {\Large #2}\end{center}}
\newcolumntype{z}[1]{%
>{\centering\hspace{0pt}}m{#1}}%
\newcommand{\tnl}{\tabularnewline}
\usepackage{lipsum}
\begin{document}
\begin{appendices}
\section[~]{\centering}
\appendixtitle{type}{appendix title}
\newlength{\celllen}
\setlength{\celllen}{\textwidth/5}
\lipsum[1]
\begin{table}[!htb]
\caption{multirowed}
\centering
\begin{tabular}{|*{4}{z{\celllen}|}}
\hline
\multirow{2}{\celllen}{\centering
very very very long cell \newline symbol \newline unit
} & \multicolumn{3}{c|}{ \textbf{ Description } } \tnl
& value & value & value \tnl \hline
\end{tabular}
\end{table}
\begin{table}[!htb]
\caption{final}
\centering
\begin{tabular}{|*{4}{z{\celllen}|}}
\hline
\multirow{5}{\celllen}{\centering
very very very long cell \newline symbol \newline unit
} & \multicolumn{3}{c|}{ \textbf{ Description } } \tnl
& value & value & value \tnl \cline{2-4}
& \multicolumn{3}{c|}{ \textbf{ Description }, symbol, unit } \tnl
& value & value & value \tnl \cline{2-4}
& \multicolumn{3}{c|}{ \textbf{ Description }, symbol, unit } \tnl \hline
value \newline (comment) & value & value & value \tnl \hline
value \newline (comment) & value & value & value \tnl \hline
\end{tabular}
\end{table}
\end{appendices}
\end{document}
我怎样才能使所有那些红框文本(以及我忘记框起来的“值”字符串)居中,就像其他字符串一样
非常感谢 PS 对第一个表格(文本溢出)的帮助;)
答案1
不要使用\newline
但是\\
。
\documentclass{article}
\begin{document}
\centering
aaa\\ bbbbbb\\ cccccc
aaa\newline bbbbbb\newline cccccc
\end{document}
并尝试制作更简单的例子。费尽心思等等,\multirow
调试代码并不容易。
答案2
的机制\newline
使该命令等同于\\
,因此它之前的内容将被视为普通的“段落”(以\parfillskip
粘连结尾,弄乱居中)。(您在表格内使用它,这意味着您不应该\\
直接使用。)
更改\newline
为\break
,避免所有花哨的添加(但也避免所有检查),并且每一行都会根据需要居中。