Создать объединенную таблицу ячеек с несколькими строками
Aug 15 2020

Я хотел бы создать подобные «карточки описания» в латексе с таблицами. Но я не нашел хорошего способа их создать.
Основная идея состоит в том, чтобы создать переменный заголовок столбца (более двух, если это необходимо) с большим текстовым полем ниже, которое в идеале поддерживает изображения.
Как лучше это сделать?
Ответы
3 leandriis Aug 15 2020 at 16:55
Вероятно, следующее поможет вам начать работу. Разумеется, такие детали, как интервал и выравнивание, можно настроить в соответствии с вашими потребностями.

\documentclass{article}
\usepackage{graphicx}
\usepackage{lipsum} % for dummy text
\begin{document}
\noindent
\begin{tabular}{*{2}{|p{\dimexpr 0.5\textwidth-2\tabcolsep}}|}
\hline
\bfseries text & \bfseries other text\\
\hline
\multicolumn{2}{|p{\dimexpr \textwidth-2\tabcolsep}|}{\lipsum[1]}\\
\hline
\end{tabular}
\noindent
\begin{tabular}{*{2}{|p{\dimexpr 0.5\textwidth-2\tabcolsep}}|}
\hline
\bfseries text & \bfseries other text\\
\hline
\multicolumn{2}{|p{\dimexpr \textwidth-2\tabcolsep}|}{\includegraphics[width=2cm]{example-image}
\lipsum[1]}
\\
\hline
\end{tabular}
\noindent
\begin{tabular}{*{4}{|p{\dimexpr 0.25\textwidth-2\tabcolsep}}|}
\hline
\bfseries text & \bfseries other text &\bfseries text & \bfseries other text\\
\hline
\multicolumn{4}{|p{\dimexpr \textwidth-2\tabcolsep}|}{\lipsum[1]}\\
\hline
\end{tabular}
\end{document}
4 Zarko Aug 15 2020 at 16:49

\documentclass{article}
\usepackage{makecell,tabularx}
\setcellgapes{3pt}
\makegapedcells
\setlength\parindent{0pt}
\usepackage{lipsum}
\begin{document}
\begin{tabularx}{\linewidth}{|X|X|}
\hline
text text & text text text \\
\hline
\multicolumn{2}{|>{\hsize=\dimexpr2\hsize+2\tabcolsep+\arrayrulewidth}X|}
{\lipsum[1]} \\
\hline
\end{tabularx}
\end{document}
3 Mico Aug 15 2020 at 16:56
Вот решение, которое создает макрос с именем, \mergedtab
который принимает три аргумента.

\documentclass{article}
\usepackage{lipsum}
\usepackage{tabularx}
\newcolumntype{Y}{>{\hsize=\dimexpr2\hsize+2\tabcolsep+\arrayrulewidth\relax}X}
\newcommand{\mergedtab}[3]{%
\par\bigskip\noindent
\begingroup
\setlength\extrarowheight{2pt}
\frenchspacing
\begin{tabularx}{\textwidth}{|X|X|}
\hline
#1 & #2 \\
\hline
\multicolumn{2}{|Y|}{#3} \\
\hline
\end{tabularx}\endgroup\par\bigskip}
\begin{document}
\mergedtab{Donaudampf\dots}{/naval/rivers/donau/\dots}{\lipsum[2]}
\end{document}