Crie uma tabela de células mescladas com várias linhas

Aug 15 2020

Gostaria de criar "cartões de descrição" como estes em látex com tabelas. Mas não encontrei uma boa maneira de criá-los.

A ideia básica é criar um cabeçalho de coluna variável (mais de 2, caso seja necessário) com uma grande caixa de texto abaixo, que idealmente suporta imagens.

Qual é uma boa maneira de fazer isso?

Respostas

3 leandriis Aug 15 2020 at 16:55

Provavelmente o seguinte pode ajudá-lo a começar. É claro que detalhes como espaçamento e alinhamento podem ser ajustados para atender às suas necessidades.

\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

Aqui está uma solução que cria uma macro chamada \mergedtabque leva três argumentos.

\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}