Как выровнять матрицу по левому краю внутри таблицы?

Как выровнять матрицу по левому краю внутри таблицы?

У меня есть таблица, содержащая две матрицы. Я хочу выровнять эти матрицы по левому краю, а не по центру. Я использую формат IEEE. Кроме того, скобка []матрицы находится очень близко к скобке \hlineтаблицы. Можно ли как-то сделать отступ между скобкой и линией hline?

\begin{table*}[!t]
\renewcommand{\arraystretch}{1.3}
\caption{This is table}
\label{table_network_architecture}
\centering
\begin{tabular}{c|c}
\hline
\bfseries Name & \bfseries Matrix  \\
\hline\hline
%Dense 2
Text 1 & $\left[ \begin{array}{c} 30 \times 30 \\ 30 \times 30 \end{array}\right]$\\
\hline
Text 1 & $\left[ \begin{array}{c} 30 \times 30 \\ 30 \times 30 \end{array}\right]-100$\\
\hline
\hline
\end{tabular}   
\end{table*}

решение1

Я бы предпочел booktabsспособ, показанный gernot, но если вы настаиваете на правке таблицы, вы можете использовать makecell:

\documentclass{article}
\usepackage{amsmath}
\usepackage{newtxtext,newtxmath}
\usepackage{makecell}

\begin{document}

\begin{table}[htp]
\centering

\caption{This is table}
\label{table_network_architecture}
\medskip

\setcellgapes{3pt}\makegapedcells

\begin{tabular}{l|l}
\hline
\multicolumn{1}{c|}{\bfseries Name} & \multicolumn{1}{c}{\bfseries Matrix} \\
\hline
Text 1 & $\begin{bmatrix} 30 \times 30 \\ 30 \times 30 \end{bmatrix}$ \\
\hline
Text 2, longer & $\begin{bmatrix} 30 \times 30 \\ 30 \times 30 \end{bmatrix}-100$ \\
\hline
\end{tabular}

\end{table}

\end{document}

введите описание изображения здесь

решение2

Чтобы выровнять элементы в столбце по левому краю, используйте lвместо cas спецификатор столбца.

Проблему с дополнительным пространством нельзя решить простым увеличением \arraystretch, поскольку это влияет на таблицу так же, как и массивы. Можно сбросить значение \arraystretchна 1 непосредственно перед массивами, но это все равно не даст хорошего пространства. Один из способов решения — использовать пакет booktabs.

Последнее замечание: Вместо \left[\begin{array}{c} ... \end{array}\right]можно использовать \begin{bmatrix} ... \end{bmatrix}; bmatrixопределено в пакете amsmath.

введите описание изображения здесь

\documentclass{IEEEtran}
\usepackage{booktabs}
\usepackage{amsmath}
\begin{document}
\begin{tabular}{cl}
\toprule
\bfseries Name & \bfseries Matrix  \\
\midrule
Text 1 & 
$\begin{bmatrix} 30 \times 30 \\ 30 \times 30 \end{bmatrix}$\\
\midrule
Text 1 &
$\begin{bmatrix} 30 \times 30 \\ 30 \times 30 \end{bmatrix}-100$\\
\bottomrule
\end{tabular}   
\end{document}

решение3

Можно добавить \fboxsepзазор в 2 пункта ( } со всех сторон, используя \fboxwith \fboxrule=0pt.

\documentclass[twocolumn]{article}
\usepackage{mathtools}
\begin{document}
\begin{table*}[!t]
\renewcommand{\arraystretch}{1.3}
\setlength{\fboxrule}{0pt}
\caption{This is table}
\label{table_network_architecture}
\centering
\begin{tabular}{c|l}
\hline
\bfseries Name & \bfseries Matrix  \\
\hline\hline
%Dense 2
Text 1 & \fbox{$\left[ \begin{array}{c} 30 \times 30 \\ 30 \times 30 \end{array}\right]$}\\
\hline
Text 1 & \fbox{$\left[ \begin{array}{c} 30 \times 30 \\ 30 \times 30 \end{array}\right]-100$}\\
\hline
\hline
\end{tabular}   
\end{table*}
\end{document}

демо


В качестве альтернативы можно добавить соответствующие распорки для очень большого текста, используя

\documentclass[twocolumn]{article}
\usepackage{mathtools}

\newcommand{\arraybox}[1]% #1 = extra large text
{\bgroup
  \sbox0{#1}% measure
  \rule{0pt}{\arraystretch\ht0}% top strut
  \rule[-\arraystretch\dp0]{0pt}{0pt}% bottom strut
  \box0
\egroup}

\begin{document}
\begin{table*}[!t]
\renewcommand{\arraystretch}{1.3}
\caption{This is table}
\label{table_network_architecture}
\centering
\begin{tabular}{c|l}
\hline
\bfseries Name & \bfseries Matrix  \\
\hline\hline
%Dense 2
Text 1 & \arraybox{$\left[ \begin{array}{c} 30 \times 30 \\ 30 \times 30 \end{array}\right]$}\\
\hline
Text 1 & \arraybox{$\left[ \begin{array}{c} 30 \times 30 \\ 30 \times 30 \end{array}\right]-100$}\\
\hline
\hline
\end{tabular}   
\end{table*}
\end{document}

демо 2

Связанный контент