2

I had asked this question here ... but I am also asking it here as well. I want to reproduce the following table with the logo.

enter image description here

I am not sure how to proceed though. Here is a minimal working example

\documentclass[11pt]{article}
\usepackage{graphicx, array}
\usepackage[margin=1.5cm , a4paper]{geometry}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}

\begin{document}
\begin{table}[ht]

\centering
\begin{tabular}{*{2}{m{0.48\textwidth}}}
\begin{center}
The graphic goes here.

Some more text.


\end{center} &
\begin{center}

Some more text.

\end{center}
\end{tabular}
\end{table}
\end{document}

However it is far from what I want ... How can I achieve the above? Must I use something like multirow or something?

4
  • You've set tag tikz-pgf. And using tikz would indeed be a suggestion to reproduce it. The three frames on the right side could be nodes with centered text. The left one could be a combination of nodes or a node that contains not only text but, e.g., a \parbox with \includegraphics and text. But in your example I cannot see any effort in using TikZ. So what's the reason for using this tag? Do you want to know, how to make the logo with TikZ? This would be a "do it for me" question … – Schweinebacke Nov 10 '17 at 7:56
  • No, I don't want to make the logo... the logo is a picture. I will place it using includegraphics ... I'm interested in the table ... I thought tikz would be a good and flexible idea but I'm interested in other approaches as well. – Tolaso Nov 10 '17 at 8:10
  • You should not accept my answer just yet. There might come much better ones in a few minutes/hours. If there are no better ones within a reasonable period of time, you might accept an answer. – Skillmon Nov 10 '17 at 9:10
  • Ok ! I unaccepted your answer ! – Tolaso Nov 10 '17 at 9:31
4

A TikZ solution.

First we draw three right nodes one below the other, all of them with same width but particular height. The right part is a fit node (as tall as right nodes) with logo and below text defined in its centered label.

\documentclass[tikz,border=2mm]{standalone}
\usetikzlibrary{positioning, fit}

\begin{document}

\begin{tikzpicture}[mybox/.style={draw=orange, line width=1mm, minimum width=4cm, text width=3cm, align=center}]

\node[mybox, minimum height=1cm] (1r) {This is some text};
\node[mybox, minimum height=12mm, below=-\pgflinewidth of 1r] (2r) {Text in \\ two rows};
\node[mybox, minimum height=2cm, below=-\pgflinewidth of 2r] (3r) {Some more text in lower row};

\node[draw=orange, line width=1mm, 
    inner sep=-.5\pgflinewidth, 
    fit={(3r.south west) (1r.north west)}, 
    below left=0 and -\pgflinewidth of 1r.north west, 
    minimum width=4cm, 
    label={[text width=3cm, align=center]center:    
        {\includegraphics[width=3cm]{example-image-A}\\ 
            Some more text below the icon}}]{};
\end{tikzpicture}
\end{document}

enter image description here

3

Using multirow the following does work (note however that this is not the only solution):

\documentclass[border=4mm]{standalone}

\usepackage{array,graphicx,multirow}
\usepackage[table]{xcolor}

\begin{document}
\bgroup
\arrayrulecolor{orange}
\setlength{\arrayrulewidth}{1pt}
\begin{tabular}[]{|*{2}{>{\centering\arraybackslash}m{0.4\linewidth}|}}
  \hline
  \multirow{3}{*}{\parbox[c]{\linewidth}{\centering%
    \includegraphics[width=0.3\linewidth]{example-image}
    text text text text text text}}
  & 
    text\\
    \cline{2-2}
  &  text text text text text text text text\\
    \cline{2-2}
  &  text text text
  \\
  \hline
\end{tabular}
\egroup
\end{document}

enter image description here

The problem with multirow is, that it doesn't know the required height, but guesses it based on the first argument (as 3 normal rows). Therefore using a large logo won't work in this way.

Another approach without multirow which does work for large images doesn't create nice vertical spacing in the second column automatically:

\documentclass[border=4mm]{standalone}

\usepackage{array,graphicx}
\usepackage[table]{xcolor}

\begin{document}
\bgroup
\arrayrulecolor{orange}
\setlength{\arrayrulewidth}{1pt}
\begin{tabular}[]{| m{0.4\linewidth} | @{}l@{} |}
  \hline
  \includegraphics[width=0.7\linewidth]{example-image}
  text text text text text text text text
  &
  \begin{tabular}[c]{>{\centering\arraybackslash}m{0.4\linewidth}}
    text text text\\
    \hline
    text text text text text text\\
    \hline
    text text text text text text text text text
  \end{tabular}\\
  \hline
\end{tabular}
\egroup
\end{document}

enter image description here

Inserting a bit of manual space:

\documentclass[border=4mm]{standalone}

\usepackage{array,graphicx}
\usepackage[table]{xcolor}

\begin{document}
\bgroup
\arrayrulecolor{orange}
\setlength{\arrayrulewidth}{1pt}
\begin{tabular}[]{| m{0.4\linewidth} | @{}l@{} |}
  \hline
  \includegraphics[width=0.7\linewidth]{example-image}
  text text text text text text text text
  &
  \begin{tabular}[c]{>{\centering\arraybackslash}m{0.4\linewidth}}
    text text text\\[0.5em]
    \hline
    \noalign{\vspace*{0.5em}}
    text text text text text text\\[0.5em]
    \hline
    \noalign{\vspace*{0.5em}}
    text text text text text text text text text
  \end{tabular}\\
  \hline
\end{tabular}
\egroup
\end{document}

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.