3

I am trying to create a latex table as the one shown below and looking for any help possible as I am stuck.

enter image description here

However, the result that I have come to is really bad and I'm pretty much stuck. the MWE gives me somthing that is somewhat an ugly compromise and have the following problems:

  • I'm not able to put in an itemize in a multicolum cell, so I can utilize the full space of the row.
  • The coloured cell does not have a \hline
  • I have not control of where to put the vertical lines that mark up the cells.
  • I have tried normal itemize but did not work, so I used a tabitem environment as given in bullet in table not aligned

Ideally, I would have wanted a 3 column table with multicolumns spanding 1.5 columns with itemize inside, but as I could not find any solution to this I made like that. Anyway, any help in making it look as the 'golden sample' above is very much appreciated!

\documentclass{article}

\usepackage{xcolor,colortbl}
\usepackage{paralist}
\usepackage{booktabs}
\newenvironment{tabitem}{%
    \vspace*{-0.5\baselineskip}%
    \setdefaultitem{\normalfont\bfseries\textbullet}%
    {\normalfont\bfseries\textendash}{}{}%
    \setdefaultleftmargin{1.1em}{1.1em}{}{}{}{}%
    \begin{compactitem}%
    }{%
    \end{compactitem}%
    \vspace*{-\baselineskip}%
}

\begin{document}

\begin{table}

    \begin{tabular}{|p{0.16\textwidth}p{0.16\textwidth}p{0.16\textwidth}p{0.16\textwidth}p{0.16\textwidth}p{0.16\textwidth}|}
        \bottomrule
        \multicolumn{6}{|c|}{\textbf{Work system snapshot}}\\ \hline

        \multicolumn{3}{|c|}{\cellcolor{black!25}Customers} & \multicolumn{3}{c|}{\cellcolor{black!25}Products \& services}\\ \hline

        \multicolumn{3}{|l|}{People who have a need for the Smartdevice} & &
        \begin{tabitem} 
            \item smartdevice in white 
            \item smartdevice in black \end{tabitem} & \\ \hline

        \multicolumn{6}{|c|}{\cellcolor{black!25}Major activities or processes}\\ \hline

        \begin{tabitem} 
            \item Procurement 
            \item  Inventory Management 
            \item sales 
            \item Manufacturing 
            \item Billing system \end{tabitem} &&&&& \\ \hline

        \multicolumn{2}{|l|}{\cellcolor{black!25}Participants} & \multicolumn{2}{l|}{\cellcolor{black!25} Information} & \multicolumn{2}{l|}{\cellcolor{black!25}Technologies} \\ \hline

        \begin{tabitem}
            \item Owner 
            \item  Employees 
            \item  Customers 
            \item Users 
        \end{tabitem}
        &&
        \begin{tabitem}
            \item BOM 
            \item Order database which consist of: sales-, purchase and production orders)
            \item Inventory information
        \end{tabitem}
        &&
        \begin{tabitem}
            \item ERP system 
            \item ME \& MII system 
            \item Web interface 
        \end{tabitem} & \\ \toprule[0.2em]

    \end{tabular}

\end{table}
\end{document}

enter image description here

2
  • surprised that no one has noticed the original model is setting the cells ragged right. that improves the appearance by a lot. – barbara beeton Dec 29 '17 at 21:11
  • I just changed that when I implemented the solution. But you're absolutely right. – LRO Dec 30 '17 at 9:19
5

You could use something like the following:

\documentclass{article}
\usepackage{xcolor,colortbl}
\usepackage{enumitem}
\newlist{tabitemize}{itemize}{1}
\setlist[tabitemize]{label=\textbullet,nosep,after=\strut,align=parleft,leftmargin=*,}

\usepackage{calc}
\newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1\textwidth-2\tabcolsep-0.6pt}}
\begin{document}
\noindent
\begin{tabular}{|*6{P{0.16}}|}
\hline
\multicolumn{6}{|c|}{\textbf{Work system snapshot}}\\ \hline
\rowcolor{black!25}\multicolumn{3}{|c}{Customers} & \multicolumn{3}{|c|}{Products \& services}\\ \hline
\multicolumn{3}{|P{0.5}}{
      \begin{tabitemize} 
      \item People who have a need for the Smartdevice 
      \end{tabitemize}} &
\multicolumn{3}{|P{0.5}|}{
      \begin{tabitemize} 
      \item smartdevice in white
      \item smartdevice in black 
      \end{tabitemize}}\\ \hline
\rowcolor{black!25}\multicolumn{6}{|c|}{Major activities or processes}\\ \hline
\multicolumn{3}{|P{0.5}}{
      \begin{tabitemize} 
      \item Procurement
      \item inventory management
      \item Sales
      \end{tabitemize}} &
\multicolumn{3}{P{0.5}|}{
      \begin{tabitemize} 
      \item Manufactoring
      \item Billing System
      \end{tabitemize}}\\ \hline
\rowcolor{black!25}\multicolumn{2}{|c|}{Participants} & \multicolumn{2}{c|}{Information} & \multicolumn{2}{c|}{Technologies}\\ \hline
\multicolumn{2}{|P{0.33}|}{
      \begin{tabitemize} 
      \item Owner 
      \item  Employees 
      \item  Customers 
      \item Users
      \end{tabitemize}} &
\multicolumn{2}{P{0.33}|}{
      \begin{tabitemize} 
       \item BOM 
       \item Order database which consist of: sales-, purchase and production orders)
       \item Inventory information
      \end{tabitemize}} &
\multicolumn{2}{P{0.33}|}{
      \begin{tabitemize} 
      \item ERP system 
      \item ME \& MII system 
      \item Web interface 
      \end{tabitemize}}\\ \hline

\end{tabular}
\end{document}

enter image description here

To decresae vertical spaces above and below the items, you can add something like ,after=\vspace{-\baselineskip},before=\vspace{-0.5\baselineskip} to the \setlist command.

Here are some additional alternative approaches, as you don't really need all the vertical lines to make your table understandable:

\documentclass{article}
\usepackage{booktabs}
\usepackage{enumitem}
\newlist{tabitemize}{itemize}{1}
\setlist[tabitemize]{label=\textbullet,nosep,after=\strut,align=parleft,leftmargin=*,after=\vspace{-\baselineskip},before=\vspace{-0.75\baselineskip}}

\usepackage{calc}
\usepackage{array}
\newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1\textwidth-2\tabcolsep}}


\begin{document}
\noindent
\begin{tabular}{*6{P{0.16}}}
\toprule
\multicolumn{6}{c}{\textbf{Work system snapshot}}\\
\midrule
\multicolumn{3}{l}{Customers} & \multicolumn{3}{l}{Products \& services}\\
\midrule
\multicolumn{3}{P{0.5}}{
      \begin{tabitemize} 
      \item People who have a need for the Smartdevice 
      \end{tabitemize}} &
\multicolumn{3}{P{0.5}}{
      \begin{tabitemize} 
      \item smartdevice in white
      \item smartdevice in black 
      \end{tabitemize}}\\
      \midrule
\multicolumn{6}{c}{Major activities or processes}\\
\midrule
\multicolumn{3}{P{0.5}}{
      \begin{tabitemize} 
      \item Procurement
      \item inventory management
      \item Sales
      \end{tabitemize}} &
\multicolumn{3}{P{0.5}}{
      \begin{tabitemize} 
      \item Manufactoring
      \item Billing System
      \end{tabitemize}}\\ 
      \midrule
\multicolumn{2}{l}{Participants} & \multicolumn{2}{l}{Information} & \multicolumn{2}{l}{Technologies}\\ 
\midrule
\multicolumn{2}{P{0.33}}{
      \begin{tabitemize} 
      \item Owner 
      \item  Employees 
      \item  Customers 
      \item Users
      \end{tabitemize}} &
\multicolumn{2}{P{0.33}}{
      \begin{tabitemize} 
       \item BOM 
       \item Order database which consist of: sales-, purchase and production orders)
       \item Inventory information
      \end{tabitemize}} &
\multicolumn{2}{P{0.33}}{
      \begin{tabitemize} 
      \item ERP system 
      \item ME \& MII system 
      \item Web interface 
      \end{tabitemize}}\\ 
      \bottomrule
\end{tabular}
\end{document}

enter image description here

\documentclass{article}
\usepackage{booktabs}
\usepackage{xcolor,colortbl}
\usepackage{enumitem}
\newlist{tabitemize}{itemize}{1}
\setlist[tabitemize]{label=\textbullet,nosep,after=\strut,align=parleft,leftmargin=*,after=\vspace{-\baselineskip},before=\vspace{-0.5\baselineskip}}

\usepackage{calc}
\newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1\textwidth-2\tabcolsep}}

\begin{document}
\noindent
\begin{tabular}{*6{P{0.16}}}
\toprule
\multicolumn{6}{c}{\textbf{Work system snapshot}}\\

\rowcolor{black!25}\multicolumn{3}{l}{Customers} & \multicolumn{3}{l}{Products \& services}\\

\multicolumn{3}{P{0.5}}{
      \begin{tabitemize} 
      \item People who have a need for the Smartdevice 
      \end{tabitemize}} &
\multicolumn{3}{P{0.5}}{
      \begin{tabitemize} 
      \item smartdevice in white
      \item smartdevice in black 
      \end{tabitemize}}\\

\rowcolor{black!25}\multicolumn{6}{c}{Major activities or processes}\\

\multicolumn{3}{P{0.5}}{
      \begin{tabitemize} 
      \item Procurement
      \item Inventory management
      \item Sales
      \end{tabitemize}} &
\multicolumn{3}{P{0.5}}{
      \begin{tabitemize} 
      \item Manufactoring
      \item Billing System
      \end{tabitemize}}\\ 

\rowcolor{black!25}\multicolumn{2}{l}{Participants} & \multicolumn{2}{l}{Information} & \multicolumn{2}{l}{Technologies}\\ 

\multicolumn{2}{P{0.33}}{
      \begin{tabitemize} 
      \item Owner 
      \item  Employees 
      \item  Customers 
      \item Users
      \end{tabitemize}} &
\multicolumn{2}{P{0.33}}{
      \begin{tabitemize} 
       \item BOM 
       \item Order database which consist of: sales-, purchase and production orders)
       \item Inventory information
      \end{tabitemize}} &
\multicolumn{2}{P{0.33}}{
      \begin{tabitemize} 
      \item ERP system 
      \item ME \& MII system 
      \item Web interface 
      \end{tabitemize}}\\ 
      \bottomrule
\end{tabular}
\end{document}

enter image description here

4
  • That works brilliantly! Thank you! I had not looked into the enumitem package to solve the problem. Can you tell me then, why the table is wider than textwidth when I have six columns spanding 1/6 textwidth each? – LRO Dec 30 '17 at 9:30
  • 1
    Found the solution myself. It is of course the tabcolsep. As seen in this question: tex.stackexchange.com/questions/269742/…. – LRO Dec 30 '17 at 9:39
  • ragged right, please. (also spelling of "Peolpe".) – barbara beeton Dec 30 '17 at 17:54
  • @barbarabeeton Thanks for pointing this out. I will later edit my answer accordingly. – leandriis Dec 30 '17 at 18:26
1

Here is a solution based on a series of 3 tabularxs environments nested in a tabular with a single centred column. I used makecell for the formatting of the column heads, and enumitem for the formatting of the lists:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[showframe]{geometry}
\usepackage[table, svgnames]{xcolor}
\usepackage{enumitem}
\usepackage{tabularx, makecell}
\usepackage{booktabs}
\usepackage{multicol}

\makeatletter
\newcommand*{\compress}{\@minipagetrue}
\makeatother

\begin{document}

\begin{table}
  \renewcommand{\theadfont}{\cellcolor{Gainsboro!60! Lavender}\normalsize}
  \renewcommand{\theadalign}{lc}
  \setlength{\extrarowheight}{4pt}\setlist{wide = 0pt, leftmargin = *, itemsep = 0pt, after = \vspace*{\dimexpr-\baselineskip-\partopsep+ \topsep}}
    \sffamily
  \begin{tabular}{|@{}c@{}|}
    \bottomrule
    \textbf{Work system snapshot} \\ [0.5ex]
    \hline
    \begin{tabularx}{\linewidth}{ >{\compress}X|>{\compress}X|}
      \thead{Customers} & \thead{Products \& services} \\%
      \hline
      \begin{itemize}
        \item People who have a need for the Smartdevice \end{itemize} &
      \begin{itemize}
        \item smartdevice in white
        \item smartdevice in black \end{itemize}
    \end{tabularx} \\ \hline
    %
    \begin{tabularx}{\linewidth}{>{\compress}X|}
      \thead[cc]{Major activities or processes} \\ \hline
      \begin{multicols*}{2}
        \begin{itemize}
          \item Procurement
          \item Inventory Management
          \item sales \columnbreak
          \item Manufacturing
          \item Billing system \end{itemize}
      \end{multicols*}
    \end{tabularx} \\ [-1.5ex]
    \hline
    %
    \begin{tabularx}{\linewidth}{*{3}{>{\compress}X|}}
      \thead{Participants} & \thead{Information} & \thead{Technologies} \\ \hline
      \begin{itemize}
        \item Owner
        \item Employees
        \item Customers
        \item Users
      \end{itemize}
                           &
      \begin{itemize}
        \item BOM
        \item Order database which consist of: sales-, purchase and production orders)
        \item Inventory information
      \end{itemize}
                           &
      \begin{itemize}
        \item ERP system
        \item ME \& MII system
        \item Web interface
      \end{itemize} \\
       \toprule[0.2em]
    \end{tabularx}
  \end{tabular}
\end{table}

\end{document} 

enter image description here

2
  • Thank you. It is a fine solution, however it requires me to add more packages which I don't find necessary. – LRO Dec 30 '17 at 9:31
  • 1
    Note it only uses only very classic packages, and has the advantage, from my point of view, of keeping the code clean and well-structured. One cannot always reinvent the wheel ;o) – Bernard Dec 30 '17 at 10:11

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.