
У меня есть таблица с уже определенной длиной и шириной каждого столбца. Мне просто нужно использовать \multicolumn и при этом сохранить длину и ширину. Когда я попробовал, я получил ошибку, поэтому я не знаю, как именно это написать.
Таблица должна иметь ширину страницы или немного меньше, поэтому я использую \parbox.
Вот что я попробовал:
\documentclass[11pt,fleqn]{article}
\usepackage[english]{babel}
\usepackage{mathtools}
\usepackage{geometry}
\usepackage{xcolor,fancyhdr}
\usepackage{array,multirow,colortbl}
\begin{document}
\setlength{\fboxsep}{0pt}%
\colorbox{lightgray}{%
\arrayrulecolor{white}%
\begin{tabular}{| l | l | l |}
\hline
\parbox[c][0.28in][c]{2.9in}{\smallskip\centering\textbf{Component}} &
\parbox\multicolumn{2}{c}[0.28in]{2.9in}{\smallskip\centering\textbf{Component equations}}\\ \hline
\parbox[c][0.64in][c]{3in}{\centering{Resistance}} &
\parbox[c][0.64in][c]{3in}{\centering{ U_{R}(t) = R\cdot i_{R} (t) }} &
\parbox[c][0.64in][c]{3in}{\centering{U_{R}(t) = R\cdot i_{R}(t) }}\\ \hline
\end{tabular}%
}
\end{document}
решение1
Было трудно увидеть предполагаемый макет, так как были не связанные с этим ошибки (например, уравнения должны быть в математическом режиме), но я не понимаю, зачем вам \parboxes
это вообще нужно. Я думаю, что нечто подобное и есть предполагаемый макет с гораздо более простой разметкой.
Две версии: одна с заданной естественной шириной, другая с указанной шириной столбцов.
\documentclass[11pt,fleqn]{article}
\usepackage[english]{babel}
\usepackage{mathtools}
\usepackage{geometry}
\usepackage{xcolor,fancyhdr}
\usepackage{array,multirow,colortbl}
\begin{document}
\begin{center}
\setlength{\fboxsep}{0pt}%
\colorbox{lightgray}{%
\arrayrulecolor{white}%
\renewcommand\arraystretch{2.5}%
\begin{tabular}{| c | c | c |}
\hline
\textbf{Component} &
\multicolumn{2}{c}{\textbf{Component equations}}\\ \hline
Resistance &
$ U_{R}(t) = R\dot i_{R} (t)$ &
$U_{R}(t) = R\dot i_{R}(t) $\\ \hline
\end{tabular}%
}
\end{center}
\hrule
\begin{center}
\setlength{\fboxsep}{0pt}%
\colorbox{lightgray}{%
\arrayrulecolor{white}%
\renewcommand\arraystretch{2.5}%
\begin{tabular}{| wc{3.5cm} | wc{5cm} | wc{5cm} |}
\hline
\textbf{Component} &
\multicolumn{2}{c}{\textbf{Component equations}}\\ \hline
Resistance &
$ U_{R}(t) = R\dot i_{R} (t)$ &
$U_{R}(t) = R\dot i_{R}(t) $\\ \hline
\end{tabular}%
}
\end{center}
\end{document}
решение2
С помощью , tabularx
чтобы убедиться, что ширина таблицы равна ширине текста, пользовательского типа столбца, чтобы горизонтально центрировать содержимое \rowcolors
(что доступно при загрузке xcolor
пакета с tables
возможностью окрашивания фона таблицы), \setlength{\arrayrulewidth}{1pt}
чтобы увеличить видимость строк и cellspace
пакета, чтобы добавить немного пространства над и под содержимым каждой ячейки:
\documentclass[11pt,fleqn]{article}
\usepackage[english]{babel}
\usepackage{mathtools}
\usepackage{geometry}
\usepackage[table]{xcolor}
\usepackage{tabularx}
\usepackage[column=0]{cellspace}
\setlength{\cellspacetoplimit}{1.5\tabcolsep}
\setlength{\cellspacebottomlimit}{\cellspacetoplimit}
\newcolumntype{C}{>{\centering\arraybackslash}X}
\addparagraphcolumntypes{X,C}
\begin{document}
\arrayrulecolor{white}
\rowcolors{1}{lightgray}{lightgray}
\setlength{\arrayrulewidth}{1pt}
\noindent
\begin{tabularx}{\textwidth}{0{C} | >{\(}0{C}<{\)} | >{\(}0{C}<{\)} }
\textbf{Component} &
\multicolumn{2}{c}{\textbf{Component equations}}\\ \hline
Resistance &
U_{R}(t) = R\cdot i_{R} (t) &
U_{R}(t) = R\cdot i_{R}(t) \\
\end{tabularx}
\end{document}