Graphics, Figures & Tablesclean code of calendar table

Information and discussion about graphics, figures & tables in LaTeX documents.
Post Reply
OlaffTheGreat
Posts: 5
Joined: Mon Sep 30, 2013 4:59 pm

clean code of calendar table

Post by OlaffTheGreat »

Hi folk,

I follow my idea of creating an agenda booklet.

Now, I work on making a computed version of a couple of months, just for the try.
I included a couple of (french) days off, grayed sundays column, moons and zodiac signs (to play with extra symbols).
On that state it couldn't be use as a template yet.
I just managed to make it "displayable".

On a first step, I'd like to have your ideas, how to make the code simpler, clean it.
I'll see about an automated version with some variables on a further step.

A couple of uncoutered mischafts I could solve: (e.g. this first lines)

Code: Select all

49: \begin{tabular}{|m{0.5cm}||p{2cm}|p{2cm}|p{2cm}|p{0cm}|p{2cm}|p{2cm}|p{2cm}|>{\columncolor{gray!20}}p{2cm}||p{0cm}|}
50: \hline
51: \centering{X} & \centering{Monday} & \centering{Tuesday} & \centering{Wednesday} & & \centering{Thursday} & \centering{Friday} & \centering{Saturday} & \centering{Sunday}  & \\
52: \hline\hline
53: \raggedleft{40} & \raggedleft{ \textcolor{gray}{30} }     & \raggedleft{ 1}   & \raggedleft{ 2}         & & \raggedleft{ 3}        & \raggedleft{ 4}      & \raggedleft{{\scriptsize {\textcolor{gray}{\newmoon}}}  5}        & \raggedleft{  6} &       \\[2cm]     
54: \hline
%[...]
65: \end{tabular}


1 - I couldn't yet make a centering macro or environment for a whole line, so of course I added a "\centering{}" macro for each day, which makes the code heavy, and uneasy to read when I use it to make the following month. Same with "\raggedleft{}".

2 - Because of \raggedleft{}, I had troubles with last columns: first, I just wanted to finish sunday column with ||:

Code: Select all

49: \begin{tabular}{|  [...]   |p{2cm}||}
50: \hline
51: \centering{X} & [...] & \centering{Sunday} \\
52: \hline\hline
53: \raggedleft{40} & [...] & \raggedleft{  6} \\[2cm]
But this way breaks the table.
I tryed with a gap "p[0cm]" instead of "||", same deal. So I managed by adding a last "p[0cm] gapped column after "||".
But I guess there's a better way to do it, furthermore it's suppose to not fit in a A4 size paper by doing so (according to the crafted version I made and measured).

3 - On the first column, I wanted to have number of weeks centered in the row, but the "|m{0.5}" does not work.

For the number of the month, I will use some stylish roman number, but I didn't yet.

Here, I give you the whole code:

Code: Select all

%------------------------------------------------------------------------------
%       DOCUMENT BASE CONFIGURATIONS
%------------------------------------------------------------------------------
\documentclass[a4paper]{article}
  %landscape 

%------------------------------------------------------------------------------
%       PACKAGES
%------------------------------------------------------------------------------
%    \usepackage{calendar}
%    \usepackage[landscape,margin=0.5in]{geometry}
     \usepackage[table]{xcolor}
     \usepackage{vmargin}
     \usepackage{pifont} 
     \usepackage{array}
     \usepackage{wasysym}
%     \usepackage{mathabx}
	%\usepackage[french]{babel}      % pour dire que le texte est en français
	%\usepackage{a4}                 % pour indiquer le format du document
	%\usepackage[T1]{fontenc}        % pour les font postscript
	%\usepackage[cyr]{aeguill}       % police vectorielle TrueType, guillemets français
	%\usepackage{float}              % pour le placement des figures
 
%------------------------------------------------------------------------------
%       INTRO
%------------------------------------------------------------------------------
    \begin{document}
	
	\pagestyle{empty} % Removes the page number from the bottom of the page
	\noindent
	%\StartingDayNumber=2 % Calendar starting day, default of 1 means Sunday, 2 for Monday, etc
	\setmargins{1cm}{0.5cm}{0cm}{0cm}{0cm}{0cm}{0cm}{0cm}
%------------------------------------------------------------------------------
%       MONTH AND YEAR SECTION
%------------------------------------------------------------------------------
	%\begin{center}
	%\textsc{\LARGE Month}\\ % Month
	%\textsc{\large Year} % Year
	%\end{center}

%------------------------------------------------------------------------------
%	TABLES
%------------------------------------------------------------------------------
    %------------------------------
    %		TOP 
    %------------------------------
       %-------------------------------OCTOBER
       % - - - - - - - -|   1    |   2  |  3   |  4   |   5    |  6   |  7   |  8   |  9   |10|
       	\begin{tabular}{|m{0.5cm}||p{2cm}|p{2cm}|p{2cm}|p{0cm}|p{2cm}|p{2cm}|p{2cm}|>{\columncolor{gray!20}}p{2cm}||p{0cm}|}
	  \hline
		\centering{X} & \centering{Monday} & \centering{Tuesday} & \centering{Wednesday} & & \centering{Thursday} & \centering{Friday} & \centering{Saturday} & \centering{Sunday}  & \\
	  \hline\hline
		\raggedleft{40} & \raggedleft{ \textcolor{gray}{30} }     & \raggedleft{ 1}   & \raggedleft{ 2}         & & \raggedleft{ 3}        & \raggedleft{ 4}      & \raggedleft{{\scriptsize {\textcolor{gray}{\newmoon}}}  5}        & \raggedleft{  6} &       \\[2cm]
	  \hline
		\raggedleft{41} & \raggedleft{7}      & \raggedleft{8}       & \raggedleft{9}         & & \raggedleft{10}       & \raggedleft{{\scriptsize {\textcolor{gray}{\leftmoon}}} 11}     & \raggedleft{12}       & \raggedleft{13}    &  \\[2cm]
	  \hline
		\raggedleft{42} & \raggedleft{14}     & \raggedleft{15}      & \raggedleft{16}        & & \raggedleft{17}       & \raggedleft{18}     & \raggedleft{{\scriptsize {\textcolor{gray}{\fullmoon}}} 19}       & \raggedleft{20}   &   \\[2cm]
	  \hline
		\raggedleft{43} & \raggedleft{21}     & \raggedleft{{\scriptsize {\textcolor{gray}{\libra}}} 22}      & \raggedleft{{\scriptsize {\textcolor{gray}{\scorpio}}} 23}        & & \raggedleft{24}       & \raggedleft{25}     & \raggedleft{{\scriptsize {\textcolor{gray}{\rightmoon}}} 26}       & \raggedleft{27}  &    \\[2cm]
	  \hline
		\raggedleft{44} & \raggedleft{28}     & \raggedleft{29}      & \raggedleft{30}        & & \cellcolor{gray!20} \raggedleft{ {\textcolor{gray}{\tiny Toussaint}} {\textcolor{gray}{ 1}}}        &        &          &     &   \\[2cm]
	  \hline
%		   &        &         &           & &          &        &          &     &    \\[2cm]
%	  \hline
	\end{tabular}

       %--------------- NOVEMBER
	\begin{tabular}{|p{0.5cm}||p{2cm}|p{2cm}|p{2cm}|p{0cm}|p{2cm}|p{2cm}|p{2cm}|>{\columncolor{gray!20}}p{2cm}||p{0cm}|}
	  \hline
		 \centering{XI} & \centering{Monday} & \centering{Tuesday} & \centering{Wednesday} & & \centering{Thursday} & \centering{Friday} & \centering{Saturday} & \centering{Sunday} & \\
	  \hline\hline
		\raggedleft{44} & \raggedleft{  }      & \raggedleft{  }      & \raggedleft{  }        & & \raggedleft{ \textcolor{gray}{30}}        & \cellcolor{gray!20} \raggedleft{ {\tiny \textcolor{gray}{Toussaint}}  1}      & \raggedleft{ 2}        & \raggedleft{ 3}   &    \\[2cm]
	  \hline
		\raggedleft{45} & \raggedleft{{\scriptsize {\textcolor{gray}{\leftmoon}}} 4}      & \raggedleft{ 5}       & \raggedleft{ 6}         & & \raggedleft{ 7}        & \raggedleft{ 8}      & \raggedleft{ 9}       & \raggedleft{{\textcolor{gray}{\leftmoon}} 10} &     \\[2cm]
	  \hline
		\raggedleft{46} & \cellcolor{gray!20} \raggedleft{ {\tiny \textcolor{gray}{Armist. 1918}} 11}     & \raggedleft{12}      & \raggedleft{13}        & & \raggedleft{14}       & \raggedleft{15}     & \raggedleft{16}       & \raggedleft{{\scriptsize {\textcolor{gray}{\fullmoon}}} 17}  &    \\[2cm]
	  \hline
		\raggedleft{47} & \raggedleft{18}     & \raggedleft{19}      & \raggedleft{20}        & & \raggedleft{21}       & \raggedleft{{\scriptsize {\textcolor{gray}{\scorpio}}} 22}     & \raggedleft{{\scriptsize {\textcolor{gray}{\sagittarius}}} 23}       & \raggedleft{24} &     \\[2cm]
	  \hline
		\raggedleft{48} & \raggedleft{{\scriptsize {\textcolor{gray}{\rightmoon}}} 25}     & \raggedleft{26}      & \raggedleft{27}        & & \raggedleft{28}       & \raggedleft{29}     & \raggedleft{30}       & \raggedleft{ \textcolor{gray}{1}}    &   \\[2cm]
	  \hline
%		   &        &         &           & &          &        &          &     &   \\[2cm]
%	  \hline
	\end{tabular}

       %--------------DECEMBER
	\begin{tabular}{|p{0.5cm}||p{2cm}|p{2cm}|p{2cm}|p{0cm}|p{2cm}|p{2cm}|p{2cm}|>{\columncolor{gray!20}}p{2cm}||p{0cm}|}
	  \hline
		 \centering{XII} & \centering{Monday} & \centering{Tuesday} & \centering{Wednesday} & & \centering{Thursday} & \centering{Friday} & \centering{Saturday} & \centering{Sunday} & \\
	  \hline\hline
		\raggedleft{48} & \raggedleft{  }      & \raggedleft{  }      & \raggedleft{  }        & & \raggedleft{  }        & \raggedleft{  }      & \raggedleft{ \textcolor{gray}{30} }        & \raggedleft{ 1}  &     \\[2cm]
	  \hline
		\raggedleft{49} & \raggedleft{ 2}      & \raggedleft{{\scriptsize {\textcolor{gray}{\newmoon}}} 3}       & \raggedleft{ 4}         & & \raggedleft{ 5}        & \raggedleft{ 6}      & \raggedleft{ 7}       &  \raggedleft{ 8} &     \\[2cm]
	  \hline
		\raggedleft{50} & \raggedleft{{\scriptsize {\textcolor{gray}{\leftmoon}}} 9}     & \raggedleft{10}      & \raggedleft{11}        & & \raggedleft{12}       & \raggedleft{13}     & \raggedleft{14}       & \raggedleft{15}    &  \\[2cm]
	  \hline
		\raggedleft{51} & \raggedleft{16}      & \raggedleft{{\scriptsize {\textcolor{gray}{\fullmoon}}} 17}        & \raggedleft{18}     & & \raggedleft{19}     & \raggedleft{20}       & \raggedleft{{\scriptsize {\textcolor{gray}{\sagittarius}}} 21} & \raggedleft{{\scriptsize {\textcolor{gray}{\capricornus}}} 22}  &   \\[2cm]
	  \hline
		\raggedleft{52} & \raggedleft{23}     & \raggedleft{24}      & \cellcolor{gray!20} \raggedleft{{\textcolor{gray}{{\tiny No\"el} {\scriptsize \rightmoon}}} 25}        & & \raggedleft{26}       & \raggedleft{ 27}     & \raggedleft{28}       & \raggedleft{29}  &     \\[2cm]
	  \hline
		\raggedleft{ 1} & \raggedleft{30}  & \raggedleft{31}	   & \cellcolor{gray!20} \raggedleft{\textcolor{gray}{{\tiny New Year} 1}}       & & \raggedleft{  }         &        &          &   &     \\[2cm]
	  \hline
	\end{tabular}


       %--------------JANUARY
	\begin{tabular}{|p{0.5cm}||p{2cm}|p{2cm}|p{2cm}|p{0cm}|p{2cm}|p{2cm}|p{2cm}|>{\columncolor{gray!20}}p{2cm}||p{0cm}|}
	  \hline
		 \centering{I} & \centering{Monday} & \centering{Tuesday} & \centering{Wednesday} & & \centering{Thursday} & \centering{Friday} & \centering{Saturday} & \centering{Sunday} & \\
	  \hline\hline
		\raggedleft{ 1} & \raggedleft{  }      & \raggedleft{ \textcolor{gray}{ 31}}      & \cellcolor{gray!20} \raggedleft{{\textcolor{gray}{{\tiny New Year} {\scriptsize \newmoon}}}  1}        & & \raggedleft{ 2}        & \raggedleft{ 3}      & \raggedleft{ 4}         & \raggedleft{ 5}  &     \\[2cm]
	  \hline
		\raggedleft{ 2} & \raggedleft{ 6}      & \raggedleft{ 7}       & \raggedleft{{\scriptsize {\textcolor{gray}{\leftmoon}}} 8}         & & \raggedleft{ 9}        & \raggedleft{10}      & \raggedleft{11}       &  \raggedleft{12} &     \\[2cm]
	  \hline
		\raggedleft{ 3} & \raggedleft{13}     & \raggedleft{14}      & \raggedleft{15}        & & \raggedleft{{\scriptsize {\textcolor{gray}{\fullmoon}}} 16}       & \raggedleft{17}     & \raggedleft{18}       & \raggedleft{19}    &  \\[2cm]
	  \hline
		\raggedleft{ 4} & \raggedleft{{\scriptsize {\textcolor{gray}{\capricornus}}} 20}      & \raggedleft{{\scriptsize {\textcolor{gray}{\aquarius}}} 21}        & \raggedleft{22}     & & \raggedleft{23}     & \raggedleft{{\textcolor{gray}{{\scriptsize \rightmoon}}} 24}       & \raggedleft{ 25} & \raggedleft{ 26}  &   \\[2cm]
	  \hline
		\raggedleft{ 5} & \raggedleft{27}     & \raggedleft{28}      & \cellcolor{gray!20} \raggedleft{ 29}        & & \raggedleft{{\textcolor{gray}{{\scriptsize \newmoon}}} 30}       & \raggedleft{31}     & \raggedleft{\textcolor{gray}{  1}}       & \raggedleft{  }  &     \\[2cm]
	  \hline
		%\raggedleft{ 1} & \raggedleft{30}  & \raggedleft{31}	   & \cellcolor{gray!20} \raggedleft{\textcolor{gray}{{\tiny New Year} 1}}       & & \raggedleft{  }         &        &          &   &     \\[2cm]
	  %\hline
	\end{tabular}
%----------------------------------------------------------------------------------------
%       OUTRO
%----------------------------------------------------------------------------------------
	%\finishCalendar
	%\end{calendar}
    \end{document}
Any constructive remark is welcome.
Beginner with LaTeX
Using it for sciences and linguistics works
Debian and Archlinux user

Recommended reading 2024:

LaTeXguide.org • LaTeX-Cookbook.net • TikZ.org

NEW: TikZ book now 40% off at Amazon.com for a short time.

And: Currently, Packt sells ebooks for $4.99 each if you buy 5 of their over 1000 ebooks. If you choose only a single one, $9.99. How about combining 3 LaTeX books with Python, gnuplot, mathplotlib, Matlab, ChatGPT or other AI books? Epub and PDF. Bundle (3 books, add more for higher discount): https://packt.link/MDH5p

Post Reply