使用數組包的表格的中間對齊選項,沒有寬度參數

使用數組包的表格的中間對齊選項,沒有寬度參數

考慮一個基本tabular環境。兩列,第一列必須包含tikzpicture不確定大小的列,第二列包含確定(和使用者指定)寬度的描述。如果第一列的內容受到很好的限制,則可以這樣做:

\begin{tabular}{m{2cm}p{6cm}}

然而,第一列的內容並沒有得到很好的限制,所以我想知道我們是否可以達到與此相同的效果:

\begin{tabular}{mp{6cm}}

或者

\begin{tabular}{m{}p{6cm}}

第一列居中對齊,但沒有寬度參數。如果需要澄清,我會發布一個 mwe。

答案1

根據第一列所需的水平對齊方式,您可以簡單地為第一列選擇l(左對齊)、c(水平居中)或r(右對齊)。這將自動適應包含的 tikzpicture 的寬度。為了使第二列中的文字相對於 tikzpicture 垂直居中,請使用m{6cm}第二列並將其baseline=(current bounding box.center)作為選項新增至每個 tikzpicture 中。

由於此設定可能會導致表格比文字寬度更寬,因此您可能還想嘗試tabularx。我還在tabularx下面的 MWE 中包含了一個範例。請注意,我用\hline眼睛作為引導。在實際的表格中,我只會使用套件\hline中的行booktabs或完全不使用水平線:

在此輸入影像描述

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}
\usepackage{array}
\usepackage{tabularx}
\renewcommand\tabularxcolumn[1]{m{#1}}
\begin{document}

\begin{tabular}{cm{6cm}}
\hline
\begin{tikzpicture}[baseline=(current bounding box.center)] 
\node[draw=black] (text1) {some text here};
\node[draw=black] (text2) [below left =of text1] {some other text here}edge [->] node {}(text1) ;
\end{tikzpicture}
& some explanatory text that is vertically centered with respect to the tikz picture\\
\hline
\begin{tikzpicture}[baseline=(current bounding box.center)] 
\node[draw=black] (text1) {A};
\node[draw=black] (text2) [below left =of text1] {B}edge [->] node {}(text1) ;
\end{tikzpicture}
& some explanatory text that is vertically centered with respect to the tikz picture\\
\hline
\end{tabular}

\bigskip

\begin{tabularx}{\textwidth}{cX}
\hline
\begin{tikzpicture}[baseline=(current bounding box.center)] 
\node[draw=black] (text1) {some text here};
\node[draw=black] (text2) [below left =of text1] {some other text here}edge [->] node {}(text1) ;
\end{tikzpicture}
& some explanatory text that is vertically centered with respect to the tikz picture\\
\hline
\begin{tikzpicture}[baseline=(current bounding box.center)] 
\node[draw=black] (text1) {A};
\node[draw=black] (text2) [below left =of text1] {B}edge [->] node {}(text1) ;
\end{tikzpicture}
& some explanatory text that is vertically centered with respect to the tikz picture\\
\hline
\end{tabularx}
\end{document}

相關內容