# Beautiful table samples

I'm interested in learning about some nice-looking table samples. Colors can make a huge difference, and just providing some color to headers, background, or borders can dramatically change presentation. Any samples you're proud to share?

(BTW here's a sample I like, but unfortunately, not TeX...)

• big-list added, not sure how to make this a CW... feel free to do so – please delete me May 4 '13 at 11:09
• Great question! I kind of given up on tables in LaTeX, as they tend to be pretty ugly and hard to maintain most of the time. Almost all examples/how-tos about tables produce results which are kind of embarrasing... just look at the first answer, it is ridiculous! But maybe someone will come along and shows how to do "beautiful" and easy to maintain tables. – Simon Lehmann May 4 '13 at 13:01
• That green is hard to read. Also, more vspacing may make it look better. – User 17670 May 4 '13 at 18:59
• If you want to make a beautiful table that you can actually enjoy with your family and friends, you start by acquiring specimens of fine hardwood, and then apply those woodworking skills. – Kaz May 5 '13 at 2:52
• Some very nice css tables are here (Perhaps somebody could "transform" those to LaTeX) – Martin Thoma May 8 '13 at 19:47

There seems to be a general consensus that booktabs is the way to go, if you want to have a beautifully typeset table. The result is really elegant, but to some it might appear somewhat... Spartan.

Here are a few examples I gathered from the web:

and last but not least, some contributions from our very own site:

And just for completeness' sake, there is the tabu package. I only list it because I subscribe to the opinion that 'beauty is in the eye of the beholder'. Keep in mind, though, that I neither like the results in the documentation (and the documentation itself is IMHO an eye-sore) nor do I recommend using it - it's been reported to be buggy.

(EDIT: A little pun: Using tabu is taboo. :))

Finally, a little example (from a homework on Fourier series and transformation):

## Code

\documentclass{article}
\usepackage{amsfonts}
\usepackage{booktabs}
\usepackage{siunitx}

\begin{document}

\begin{tabular}{SSSSSSSS} \toprule
{$m$} & {$\Re\{\underline{\mathfrak{X}}(m)\}$} & {$-\Im\{\underline{\mathfrak{X}}(m)\}$} & {$\mathfrak{X}(m)$} & {$\frac{\mathfrak{X}(m)}{23}$} & {$A_m$} & {$\varphi(m)\ /\ ^{\circ}$} & {$\varphi_m\ /\ ^{\circ}$} \\ \midrule
1  & 16.128 & +8.872 & 16.128 & 1.402 & 1.373 & -146.6 & -137.6 \\
2  & 3.442  & -2.509 & 3.442  & 0.299 & 0.343 & 133.2  & 152.4  \\
3  & 1.826  & -0.363 & 1.826  & 0.159 & 0.119 & 168.5  & -161.1 \\
4  & 0.993  & -0.429 & 0.993  & 0.086 & 0.08  & 25.6   & 90     \\ \midrule
5  & 1.29   & +0.099 & 1.29   & 0.112 & 0.097 & -175.6 & -114.7 \\
6  & 0.483  & -0.183 & 0.483  & 0.042 & 0.063 & 22.3   & 122.5  \\
7  & 0.766  & -0.475 & 0.766  & 0.067 & 0.039 & 141.6  & -122   \\
8  & 0.624  & +0.365 & 0.624  & 0.054 & 0.04  & -35.7  & 90     \\ \midrule
9  & 0.641  & -0.466 & 0.641  & 0.056 & 0.045 & 133.3  & -106.3 \\
10 & 0.45   & +0.421 & 0.45   & 0.039 & 0.034 & -69.4  & 110.9  \\
11 & 0.598  & -0.597 & 0.598  & 0.052 & 0.025 & 92.3   & -109.3 \\ \bottomrule
\end{tabular}

\end{document}


## Output

• +1 for the observation that the tabu package documentation is an eyesore. – Charles Staats May 4 '13 at 14:59
• @MarcvanDongen It aligns on the decimalpoint. Probably using the columntype S from siunitx. – Munken May 8 '13 at 8:06
• @MarcvanDongen It aligns the ones, the tens etc – Munken May 11 '13 at 20:18
• Thanks for the templates! I especially like the ones you get with the PERL module. But I don't know PERL, is there a way to get the LaTeX code for those tables? – a_bet Mar 4 '20 at 16:05

I think its worth mentioning the combination tcolorbox-tabularx, which provides an easy way to draw (possibly very much) fancy tables.

Some examples:

\documentclass{article}
\usepackage[usenames,dvipsnames]{xcolor}
\usepackage{tcolorbox}
\usepackage{tabularx}
\usepackage{array}
\usepackage{colortbl}
\tcbuselibrary{skins}

\newcolumntype{Y}{>{\raggedleft\arraybackslash}X}

\tcbset{tab1/.style={fonttitle=\bfseries\large,fontupper=\normalsize\sffamily,
colback=yellow!10!white,colframe=red!75!black,colbacktitle=Salmon!40!white,
coltitle=black,center title,freelance,frame code={
\foreach \n in {north east,north west,south east,south west}
{\path [fill=red!75!black] (interior.\n) circle (3mm); };},}}

\tcbset{tab2/.style={enhanced,fonttitle=\bfseries,fontupper=\normalsize\sffamily,
colback=yellow!10!white,colframe=red!50!black,colbacktitle=Salmon!40!white,
coltitle=black,center title}}

\begin{document}

\begin{tcolorbox}[tab2,tabularx={X||Y|Y|Y|Y||Y}]
Group & One     & Two     & Three    & Four     & Sum      \\\hline\hline
Red   & 1000.00 & 2000.00 &  3000.00 &  4000.00 & 10000.00 \\\hline
Green & 2000.00 & 3000.00 &  4000.00 &  5000.00 & 14000.00 \\\hline
Blue  & 3000.00 & 4000.00 &  5000.00 &  6000.00 & 18000.00 \\\hline\hline
Sum   & 6000.00 & 9000.00 & 12000.00 & 15000.00 & 42000.00
\end{tcolorbox}

\begin{tcolorbox}[tab2,tabularx={X||Y|Y|Y|Y||Y},title=My table,boxrule=0.5pt]
Group & One     & Two     & Three    & Four     & Sum      \\\hline\hline
Red   & 1000.00 & 2000.00 &  3000.00 &  4000.00 & 10000.00 \\
Green & 2000.00 & 3000.00 &  4000.00 &  5000.00 & 14000.00 \\
Blue  & 3000.00 & 4000.00 &  5000.00 &  6000.00 & 18000.00 \\\hline\hline
Sum   & 6000.00 & 9000.00 & 12000.00 & 15000.00 & 42000.00
\end{tcolorbox}

\begin{tcolorbox}[tab1,tabularx={X||YYYY||Y}]
Group & One     & Two     & Three    & Four     & Sum      \\\hline\hline
Red   & 1000.00 & 2000.00 &  3000.00 &  4000.00 & 10000.00 \\
Green & 2000.00 & 3000.00 &  4000.00 &  5000.00 & 14000.00 \\
Blue  & 3000.00 & 4000.00 &  5000.00 &  6000.00 & 18000.00 \\\hline\hline
Sum   & 6000.00 & 9000.00 & 12000.00 & 15000.00 & 42000.00
\end{tcolorbox}

\end{document}


The are almost endless customization possibilities, and everything is a matter of writing a custom tcb style that suits your needs. The examples (with some modifications) are taken from the tcolorbox manual, section /tcb/tabularx.

• My dentist has one of those table s similar to the last one in the waiting room. For documents it's a no-go in my opinion. – percusse May 4 '13 at 12:34
• @percusse Well, it depends. Today the word "document" is used in many ways... I see lots of financial reports with extremely fancy tables (much more than that of your dentist - I just remembered one with a deep blue skyline background!) and many people seem to like them so that they're sometimes required. That's why I usually suspend judgment on matters of taste and beauty and just discuss possibilities. – Old Nick May 4 '13 at 12:44
• To quote from the booktabs documentation: 1. Never, ever use vertical lines. 2. Never use double lines. I tend to agree. – Tom Bombadil May 4 '13 at 12:48
• @TomBombadil I find the "Never, ever" part to really be nonsense. – Old Nick May 4 '13 at 13:19
• @dcmst Maybe it's harsh to say "Never, ever", but I honestly haven't seen any case where it would produce a nice result. It is highly distasteful imho, as are all the tables above – Xavier May 4 '13 at 18:02

I also favour the guidance given by booktabs, and generally prefer simple, unadorned tables. However, it may be that you want to draw attention to say the highest value for a given row --- e.g., a table of your teaching evaluation scores. (That is, a document that might be able to be 'louder' than something you'd want to put in a book.) In this case, perhaps some colour would be appropriate for an electronic form, but you'd rather just have bold for a printed version. Etc., etc.

Here is a simplified version of what I have done before (meant for fontspec-reliant engines):

\documentclass[12pt, oneside, landscape]{memoir}

\newif\ifblackandwhite
% \blackandwhitetrue

\usepackage{fontspec}%
\defaultfontfeatures{Ligatures=TeX}%
\setmainfont[%
Numbers        = OldStyle ,
ItalicFont     = LinLibertineOI ,
BoldItalicFont = LinLibertineOBI ,
BoldFont       = LinLibertineOB ,
]{LinLibertineO}%

\usepackage[hmargin=2cm,vmargin=2.5cm]{geometry}
\usepackage{etoolbox}
\usepackage{longtable}%
\AtBeginEnvironment{longtable}{%
}

\usepackage{pdflscape}
\usepackage[svgnames]{xcolor}
\usepackage{colortbl}%
\newcommand{\myrowcolour}{\rowcolor[gray]{0.925}}
\usepackage{booktabs}

\ifblackandwhite
\newcommand{\highest}[1]{\textbf{#1}}% == highest score for question
\else
\newcommand{\highest}[1]{\textcolor{Maroon}{\textbf{#1}}}%
\fi

\begin{document}
\thispagestyle{empty}
\parindent0pt
%

\cheading{Fake Course Evaluation Summary for \textsc{course
1234y}}{Sept.\ 2010 --- May 2011}

\begin{longtable}{@{}l rr rr rr rr rr rr}
% pairs: absolute number (percentage)

\toprule%
\centering%
& \multicolumn{2}{c}{{{\bfseries Excellent}}}
& \multicolumn{2}{c}{{{\bfseries Very Good}}}
& \multicolumn{2}{c}{{{\bfseries Good}}}
& \multicolumn{2}{c}{{{\bfseries Average}}}
& \multicolumn{2}{c}{{{\bfseries Poor}}}
& \multicolumn{2}{c}{{{\bfseries Very Poor}}} \\

\cmidrule[0.4pt](r{0.125em}){1-1}%
\cmidrule[0.4pt](lr{0.125em}){2-3}%
\cmidrule[0.4pt](lr{0.125em}){4-5}%
\cmidrule[0.4pt](lr{0.125em}){6-7}%
\cmidrule[0.4pt](lr{0.125em}){8-9}%
\cmidrule[0.4pt](lr{0.125em}){10-11}%
\cmidrule[0.4pt](l{0.25em}){12-13}%
% \midrule

Some question about the Instructor or Course & 2 & (7.14) & 4 &
(14.29) & \highest{12} & \highest{(42.86)} & 4
& (14.29) & 6 & (21.43) & 0 & (0.00) \\

\myrowcolour%
Some question about the Instructor or Course & 3 & (10.71) &
\highest{15} & \highest{(53.57)} & 5 & (17.86) & 5 & (17.86) & 0 &
(0.00) & 0 & (0.00) \\

Some question about the Instructor or Course & 4 & (14.29) & 8 &
(28.57) & \highest{15}
& \highest{(53.57)} & 1 & (3.57) & 0 & (0.00) & 0 & (0.00) \\

\myrowcolour%
Some question about the Instructor or Course & 3 & (10.71) & 8 &
(28.57) & \highest{10} & \highest{(35.71)}
& 5 & (17.86) & 2 & (7.14) & 0 & (0.00) \\

Some question about the Instructor or Course & 6 & (21.43) &
\highest{9} & \highest{(32.14)}
& 4 & (14.29) & \highest{9} & \highest{(32.14)} & 0 & (0.00) & 0 & (0.00) \\

\myrowcolour%
Some question about the Instructor or Course & \highest{10} &
\highest{(35.71)} & \highest{10} & \highest{(35.71)}
& 3 & (10.71) & 5 & (17.86) & 0 & (0.00) & 0 & (0.00) \\

Some question about the Instructor or Course & \highest{12} &
\highest{(42.86)} & \highest{12} & \highest{(42.86)} & 3
& (10.71) & 1 & (3.57) & 0 & (0.00) & 0 & (0.00) \\

\myrowcolour%
Some question about the Instructor or Course & \highest{12} &
\highest{(42.86)} & 3 & (10.71) & 7
& (25.00) & 5 & (17.86) & 1 & (3.57) & 0 & (0.00) \\

Some question about the Instructor or Course & \highest{10} &
\highest{(35.71)} & 6 & (21.43) & 6 & (21.43) & 6 & (21.43)
& 1 & (3.57) & 0 & (0.00) \\

\myrowcolour%
Some question about the Instructor or Course & 5 & (17.86) & 5 &
(17.86) & \highest{12} & \highest{(42.86)} & 2 & (7.14)
& 3 & (10.71) & 1 & (3.57)\\

Some question about the Instructor or Course & 3 & (10.71) & 8 &
(28.57) & \highest{11} & \highest{(39.29)} & 3 & (10.71) & 3 & (10.71)
& 0 & (0.00) \\

\myrowcolour%
Some question about the Instructor or Course & \highest{18} &
\highest{(64.29)}
& 5 & (17.86) & 3 & (10.71) & 1 & (3.57) & 1 & (3.57) & 0 & (0.00) \\

Some question about the Instructor or Course & \highest{15} &
\highest{(53.57)}
& 7 & (25.00) & 2 & (7.14) & 2 & (7.14) & 2 & (7.14) & 0 & (0.00) \\

\myrowcolour%
Some question about the Instructor or Course & 3 & (10.71) &
\highest{13} & \highest{(46.43)} & 4 & (14.29) & 6 & (21.43) & 2
& (7.14) & 0 & (0.00) \\

\bottomrule

\end{longtable}

\end{document}


Remarks: Uncomment \blackandwhitetrue if you want to disable colour. And the \addfontfeature command in \AtBeginEnvironment requires the fontspec package.

• While I like the overall layout of this table, I'm disturbed by the fact that bold digits are wider that normal digits, and therefore all digits are not aligned in nice, tidy columns. – adl May 8 '13 at 18:41
• @adl -- This was a concern of mine as well, but I tried colour without the bold and it just didn't look right to me; worse, if you want a black and white version, there is no good way to make the numbers you are interested in stand out; highlighting individual cell backgrounds, e.g., looks terrible. Remember, too, this is an idea I endorse for less formal documents where you are trying to make something stand out ... plus, given the right-alignment, numbers unaligned only on the lefthand side doesn't seem that severe. Of course, to each their own, etc., etc. – jon May 8 '13 at 18:57
• Did you try \npboldmath from the numprint package? It does not seem to work with all fonts, but I have fixed alignment of bold digits in tables with that in the past. – adl May 8 '13 at 19:53
• @adl -- (Sorry for the late response; things got busy.) Thanks for the suggestion. I did not know of this package. It doesn't seem to work well with this font (after a quick test): either it switches the font to CM or the parentheses end up sticking out on the right-hand side instead of the left, but I can see the potential. And I will keep it in mind for the future. Also, if you post a modified/improved example using the package, I'd vote for it! – jon May 12 '13 at 0:37
• Re zebra tables – I prefer to mark every third line because I have less ink in the table (imo a good thing in itself) and I can however easily follow a row because the row to follow ① is marked, ② it's below a marked row or ③ is above a marked row. The only drawback, in my experience, is that while people always recognize the 01010 pattern as a visual aid, sometimes they attribute extra meaning to a 010010010 pattern and ask "Why some lines are highlighted?" – gboffi Sep 25 '19 at 10:45

Not a beautiful table yet but I would like some help to make it beautiful :) Here is my attempt at recreating OP's table.

\documentclass{article}
\usepackage[table]{xcolor}
\usepackage[margin=1in]{geometry}
\usepackage{tabularx}
\usepackage{enumitem}

\setlist{nolistsep}
\definecolor{green}{HTML}{66FF66}
\definecolor{myGreen}{HTML}{009900}

\renewcommand{\familydefault}{\sfdefault}
\renewcommand{\arraystretch}{1.5}

\begin{document}

\begin{center}
\begin{tabularx}{\textwidth}[t]{XX}
\arrayrulecolor{green}\hline
\textbf{\textcolor{myGreen}{Goal 1 Eradicate Extreme Poverty}} & \\
\hline
Target 1.A Halve, between 1990 and 2015, the proportion of the people whose income is less than \$1 a day. & \begin{minipage}[t]{\linewidth}% \begin{itemize} \item[1.1] Proportion of population below \$1 purchasing power parity (PPP) a day$^a$
\item[1.2] Poverty Gap ratio [incidence x depth of poverty]
\item[1.3] Share of the poorest quintile in national consumption
\end{itemize}
\end{minipage}\\

\arrayrulecolor{black}\hline

Target 1.B Achieve full and productive employment and decent work for all, including women and young people &
\begin{minipage}[t]{\linewidth}%
\begin{itemize}
\item[1.4] Growth of GDP per person employed
\item[1.5] Employment to population ratio
\end{table*}

\begin{table*}[] \centering
%\ra{1.3}
\begin{small}
\begin{tabular}{@{}lrrrrrrrrrr@{}}\toprule
& \textbf{1995} & \textbf{1996} & \textbf{1997} & \textbf{1998} & \textbf{1999} & \textbf{2000} & \textbf{2001} & \textbf{2002} & \textbf{Total}\\ \midrule
\textbf{Bank Loans} & \$23.33 & \$42.83 & \$67.43 & \$56.65 & \$72.39 & \$110.89 & \$108.48 & \$62.20 & \$557.88\\ \hdashline \textbf{Bonds} & 3.79 & 4.79 & 7.70 & 9.79 & 19.79 & 20.81 & 25.00 & 13.80 & 109.26\\ \hdashline \textbf{Development Agencies} & 17.59 & 18.96 & 22.05 & 20.97 & 16.62 & 17.69 & 18.75 & 18.75 & 162.63\\ \hdashline \textbf{Total Debt} & 44.71 & 66.58 & 96.98 & 87.41 & 108.80 & 149.39 & 152.23 & 94.75 & 829.77\\ \hdashline \textbf{Equity} & 19.16 & 28.54 & 41.56 & 37.46 & 46.70 & 64.02 & 65.24 & 40.61 & 355.68\\ \midrule \textbf{Total} & \$63.88 & \$95.12 & \$138.54 & \$124.87 & \$155.68 & \$213.40 & \$217.47 & \$135.36 & \$1185.63\\ \midrule
\textbf{Bank Loans} & 37\% & 45\% & 49\% & 45\% & 46\% & 52\% & 50\% & 46\% & 42\% \\ \hdashline
\textbf{Bonds} & 6 & 5 & 5 & 8 & 13 & 10 & 11 & 10 & 9\\ \hdashline
\textbf{Development Agencies} & 28 & 20 & 16 & 17 & 11 & 8 & 9 & 14 & 14\\ \hdashline
\textbf{Total Debt} & 70 & 70 & 70 & 70 & 70 & 70 & 70 & 70 & 70\\ \hdashline
\textbf{Equity} & 30 & 30 & 30 & 30 & 30 & 30 & 30 & 30 & 30\\ \midrule
\textbf{Total} & 100  & 100  & 100  & 100  & 100  & 100  & 100  & 100  & 100\\
\bottomrule
\end{tabular}
\end{small}
\caption{Project funding by source (US\$billions) \emph{(Finnerty, 2013)}} \end{table*} \begin{table*}[] \centering %\ra{1.3} \begin{small} \begin{tabular}{@{}lllrrr@{}}\toprule \textbf{Rank} & \textbf{Lead Arranger} & \textbf{Number of Deals} & \textbf{Dollar Amount} & \textbf{Market Share} & \textbf{Equator Principles Adoption}\\ \midrule \textbf{1} & State Bank of India & 52 & \$21,631.6 & 10.1\% & NA\\ \hdashline
\textbf{2} & Mitsubishi UFJ Financial & 88 & 9,486.1 & 4.4 & Dec 2005\\ \hdashline
\textbf{3} & Sumitomo Mitsui & 71 & 8,188.1 & 3.8 & Jan 2006\\ \hdashline
\textbf{4} & Credit Agrocole & 60 & 6,506.4 & 3.1 & Jun 2005\\ \hdashline
\textbf{5} & Mizuho Financial & 55 & 5,797.5 & 2.7 & Oct 2003\\ \hdashline
\textbf{6} & Soci\'{e}t\'{e} Generale & 55 & 5,760.5 & 2.7 & Sep 2007\\ \hdashline
\textbf{7} & BNP Paribas & 55 & 5,390.8 & 2.5 & Oct 2008\\ \hdashline
\textbf{8} & Axis Bank & 18 & 5,216.9 & 2.4 & NA\\ \hdashline
\textbf{9} & IDBI Bank & 10 & 5,162.3 & 2.4 & NA\\ \hdashline
\textbf{10} & ING & 49 & 4,916.1 & 2.3 & Jun 2003\\ \midrule
& Others & 102 & 135,430.4 & 63.6 & \\ \midrule
& Total Market & 615 & \\$213,486.7 & 100\% & \\
\bottomrule
\end{tabular}
\end{small}
\caption{Global project bank facility lead arrangers \emph{(Finnerty, 2013)}}
\end{table*}

\end{document}


An interesting and simple gallery is presented at Wikibooks - LaTeX/Tables

BTW, my contribution is:

\documentclass{beamer}
\usepackage{booktabs}

\begin{document}

\frame{
\frametitle{Simple Table}

\begin{center}

\begin{tabular}{cccc}
\toprule
Dec        & Bin               & Octal         & Hexa \\
\midrule
\midrule
\midrule
\midrule
\bottomrule
\end{tabular}

\end{center}

}

\end{document}


Result:

• Er... Most of the examples there look really awful :-( – Stephan Lehmke May 4 '13 at 12:06
• For me it looks like a gallery of what is possible - NOT a gallery of what is beautiful. – hpekristiansen May 4 '13 at 12:30
• No vertical lines + booktabs is the way to go :) – jub0bs May 4 '13 at 12:55

I recently did this timetable in tikz. I found it easy to set things out in columns rather than rows. The original inspiration for this method was taken from http://www.texample.net/tikz/examples/timetable/

I'm happy with both the ease and flexibility in laying it out and the final look.

\documentclass{article}

\usepackage[landscape,a4paper]{geometry}
\usepackage{microtype}
\usepackage[default,semibold,light]{sourcesanspro}
\usepackage{realscripts}
\usepackage{parskip}
\pagestyle{empty}

\newcommand*{\roomtwelve}{Bethany Hall}
\newcommand*{\roomfood}{\roomsix\slash\roomtwelve}
\newcommand*{\roommdgs}{Room listed on booklet cover}
\newcommand*{\roomseminars}{Rooms listed on p.~\pageref{seminars}}
\newcommand*{\roomworkshops}{Rooms listed on p.~\pageref{workshops}}

\newcommand*{\firstspeaker}{Gary Millar}
\newcommand*{\secondspeaker}{Reuben Salagaras}

\newcommand*{\timetablefont}{\scriptsize}

\newcommand*{\yscale}{0.862}

\newlength{\timewidth}
\settowidth{\timewidth}{\timetablefont\bfseries

\newlength{\activitywidth}
\setlength{\activitywidth}{\textwidth}
\setlength{\activitywidth}{0.25\activitywidth}

\usepackage[cmyk]{xcolor}
\definecolor{mdg}{cmyk}{0,0.3,0.24,0.03}
\definecolor{talk}{cmyk}{0.13,0,0,0}
\definecolor{coach}{cmyk}{0,0.02,0.22,0}
\definecolor{food}{cmyk}{0,0.2,0.41,0.06}
\definecolor{seminar}{cmyk}{0.08,0,0.11,0.04}
\definecolor{workshop}{cmyk}{0,0,0,0.11}

\usepackage{tikz}
\usetikzlibrary{positioning,chains}

\begin{document}

\begin{tikzpicture}[
remember picture,
overlay,
node distance=0 cm,
chain default direction=going below,
inner sep=0pt,
outer sep=1pt,
font=\timetablefont,
time/.style args={#1,#2}{
anchor=north west,
minimum width=\timewidth,
minimum height=\yscale*#1cm-2pt,
node contents={},
append after command={
node[anchor=north east, inner sep=0pt, outer sep=3pt,
at (\tikzlastnode.north east) {#2}
},
on chain
},
activity/.style args={#1,#2,#3}{
anchor=north west,
minimum width=\activitywidth,
minimum height=\yscale*#1cm-2pt,
node contents={},
append after command={
node[anchor=north west, inner sep=0pt, outer sep=3pt,
text width=\activitywidth-6pt]
at (\tikzlastnode.north west) {\textbf{#2}\\#3}
},
on chain
}
]
\begin{scope}[start chain]
\node (fri-time) [time={1,}];
\node[time={10,}];
\node[time={2,18:00}];
\node[time={1.5,20:00}];
\node[time={1,21:30}];
\end{scope}
\begin{scope}[start chain]
\node (fri) [right=of fri-time.north east, activity={1,\Large\hfill
Friday\hfill\strut,}];
\node[activity={10,,}];
\node[activity={2,Registration,\roomfour}];
\node[activity={1.5,Talk 1: \firstspeaker,\roomone},fill=talk];
\node[activity={1,Supper,\roomtwo}];
\end{scope}
\begin{scope}[start chain]
\node (sat-time) [right=of fri.north east, time={1,}];
\node[time={1,8:00}];
\node[time={1.5,9:00}];
\node[time={0.75,10:30}];
\node[time={1.25,11:15}];
\node[time={0.5,12:45}];
\node[time={1.5,13:00}];
\node[time={1.5,14:30}];
\node[time={0.5,16:00}];
\node[time={1.5,16:30}];
\node[time={1.5,18:00}];
\node[time={1.5,19:30}];
\node[time={1.5,21:00}];
\end{scope}
\begin{scope}[start chain]
\node (sat) [right=of sat-time.north east, activity={1,\Large\hfill
Saturday\hfill\strut,}];
\node[activity={1,Breakfast,\roomfood}, fill=food];
\node[activity={1.5,Talk 2: \secondspeaker,\roomone}, fill=talk];
\node[activity={0.75,Morning tea,}];
\node[activity={1.25,Ministry Discussion Group 1,Room listed on booklet
cover}, fill=mdg];
\node[activity={0.5,Coach's briefing,}];
\node[activity={1.5,Lunch,\roomfood}, fill=food];
\node[activity={1.5,Free time\slash Coaching slot 1,}, fill=coach];
\node[activity={0.5,Afternoon tea,}];
\node[activity={1.5,Free time\slash Coaching slot 2,}, fill=coach];
\node[activity={1.5,Dinner,\roomfood}, fill=food];
\node[activity={1.5,Talk 3: \firstspeaker,\roomone}, fill=talk];
\node[activity={1.5,Supper,\roomtwo}];
\end{scope}
\begin{scope}[start chain]
\node (sun-time) [right=of sat.north east, time={1,}];
\node[time={0.5,}];
\node[time={1,8:30}];
\node[time={1.25,9:30}];
\node[time={0.5,10:45}];
\node[time={1.25,11:15}];
\node[time={1,12:30}];
\node[time={1,13:30}];
\node[time={1.5,14:30}];
\node[time={0.5,16:00}];
\node[time={1.5,16:30}];
\node[time={1.5,18:00}];
\node[time={2,19:30}];
\node[time={1,21:30}];
\end{scope}
\begin{scope}[start chain]
\node (sun) [right=of sun-time.north east, activity={1,\Large\hfill
Sunday\hfill\strut,}];
\node[activity={0.5,,}];
\node[activity={1,Breakfast,\roomfood}, fill=food];
\node[activity={1.25,Seminars,\roomseminars}, fill=seminar];
\node[activity={0.5,Morning tea,}];
\node[activity={1.25,Workshops,\roomworkshops}, fill=workshop];
\node[activity={1,Lunch,\roomfood}, fill=food];
\node[activity={1,Ministry Discussion Group 2,\roommdgs}, fill=mdg];
\node[activity={1.5,Free time\slash Coaching slot 3,}, fill=coach];
\node[activity={0.5,Afternoon tea,}];
\node[activity={1.5,Free time\slash Coaching slot 4,}, fill=coach];
\node[activity={1.5,Dinner,\roomfood}, fill=food];
\node[activity={2,Talk 4: \secondspeaker,\roomone}, fill=talk];
\node[activity={1,Supper,\roomtwo}];
\end{scope}
\begin{scope}[start chain]
\node (mon-time) [right=of sun.north east, time={1,}];
\node[time={0.5,}];
\node[time={0.5,8:30}];
\node[time={1,9:00}];
\node[time={0.5,10:00}];
\node[time={1,10:30}];
\node[time={1.5,11:30}];
\node[time={1,13:00}];
\end{scope}
\begin{scope}[start chain]
\node[right=of mon-time.north east, activity={1,\Large\hfill
Monday\hfill\strut,}];
\node[activity={0.5,,}];
\node[activity={0.5,Light breakfast,}];
\node[activity={1,Ministry Discussion Group 3,\roommdgs}, fill=mdg];
\node[activity={0.5,Personal reflection\slash prayer,}];
\node[activity={1,Brunch,\roomtwo}, fill=food];
\node[activity={1.5,Talk 5: \firstspeaker,\roomone}, fill=talk];
\node[activity={1,Pack up and leave,}];
\end{scope}
\end{tikzpicture}%

\end{document}

• Nice result. However the code seems to be a bit complicated. If the height and position of the activity "cells" would be calculated automatically from the time span, it would be much easier to insert activities. – student Aug 24 '20 at 12:20

The package tablestyles was designed to offer convenient typesetting of good-looking tables.

Preamble:

\usepackage{tabularx}
\usepackage[table]{xcolor}
\usepackage{colortbl}
\usepackage{tablestyles}


Content:

\begin{table}
%
\tablestyle[sansbold]
%
\begin{tabular}{*{2}{p{0.45\textwidth}}}
\tbody
%
content  & content \\
content  & content \\
content  & content \\
%