Вертикальное выравнивание в таблице на латексе
Я хочу составить таблицу и напечатать текст в середине всех случаев. Я использую пакет массива, и я написал:
\begin{table}[H]
\begin{center}
\begin{tabular}{|m{3cm}|m{2.5cm}|m{2.5cm}|m{2.5cm}|m{6cm}|}
Но потом Латекс говорит, что я пропустил один '$' или один '{' в моей таблице... но есть только текст, поэтому я не понимаю. Когда я переключился на:
\begin{table}[H]
\begin{center}
\begin{tabular}{|m{3cm}|C{2.5cm}|C{2.5cm}|C{2.5cm}|C{6cm}|}
все в порядке и работает... но это некрасиво. Я уже много читал об этом на сайте, но никогда не исправлял свою очевидную проблему:/
1 ответ
Вот минимальный пример макета, который я использую для таблиц. Различные комбинации размеров и форматирования показаны. Я не уверен, что это то, что вы просили. Пожалуйста, переформулируйте свой вопрос, если это не так.
\documentclass{scrartcl}
\usepackage{booktabs} % \cmidrule in tables
% \usepackage{caption} % Nice Captions
% \usepackage{longtable} % Tables larger than one page
% \usepackage{multirow} % Mergings Cells
% \usepackage{multicol} % Merging Cells
\usepackage{tabularx}
\begin{document}
\begin{table}
\caption{Some caption, for tables always above}
\label{some label}
\begin{tabularx}{0.99\textwidth}{>{\centering}X>{\raggedleft}X>{\raggedleft}X>{\raggedleft}p{0.5cm}>{\raggedleft}p{3cm}>{\raggedright}X>{\raggedleft\arraybackslash}X}
\toprule
\textsc{Foobar} & $a$ & $b$ & $c$ & $d$ & $e$ & $f$ \\
\cmidrule(r){1-1} \cmidrule(lr){2-2} \cmidrule(lr){3-3} \cmidrule(lr){4-4} \cmidrule(lr){5-5} \cmidrule(lr){6-6} \cmidrule(l){7-7}
1 & 2 & 2 & 2 & 2 & 2 & 2 \\
2 & 4 & 5 & 4 & 4 & 4 & 4 \\
3 & 4 & 3 & 4 & 3 & 3 & 3 \\
\bottomrule
\end{tabularx}
\end{table}
\end{document}