Based on the answer of the topic calendar with tikz I tried to translate the names of the days to German. However, it somehow doesn't align very well. How can I fix this?
Screenshot
MWE
\documentclass[tikz,border=5]{standalone}
\usepackage[utf8]{inputenc}
\renewcommand\familydefault\sfdefault
\usetikzlibrary{positioning,calendar}
\colorlet{darkgreen}{green!50!black}
\newcommand{\calrow}[1]{%
\node[anchor=base east](Mon){Mo};
\node[base right=of Mon](Tue){Di};
\node[base right=of Tue](Wed){Mi};
\node[base right=of Wed](Thu){Do};
\node[base right=of Thu](Fri){Fr};
\node[base right=of Fri](Sat){Sa};
\node[base right=of Sat](Sun){So};
\node[darkgreen, above=of Thu]{\textbf{#1}};
}
\newcommand{\calperiod}[2][\currentyear]{%
\calendar[dates=\currentyear-#2-01 to \currentyear-#2-last]
if (Sunday) [black!50];}
\edef\currentyear{\the\year}
\begin{document}
\begin{tikzpicture}[every calendar/.style={week list},
year label/.style={
fill=white,text=darkgreen,font=\bfseries\Large
}, current year/.store in=\currentyear,
current year=2017]
\matrix[%
row 1/.style={darkgreen,node distance=.3ex},%
row 3/.style={darkgreen,node distance=.3ex},
row 5/.style={darkgreen,node distance=.3ex},
row 7/.style={darkgreen,node distance=.3ex},
column sep=1ex,%
draw=darkgreen,thick,rounded corners=5pt
]{%
% first row: week day and month
\calrow{Januar} & \calrow{Februar} & \calrow{März} \\
\calperiod{01} & \calperiod{02} & \calperiod{03} \\[1ex]
% second row: calendar
\calrow{April} & \calrow{Mai} & \calrow{Juni} \\
\calperiod{04} & \calperiod{05} & \calperiod{06} \\[1ex]
% third row: week day and month
\calrow{Juli} & \calrow{August} & \calrow{September} \\
\calperiod{07} & \calperiod{08} & \calperiod{09} \\[1ex]
% forth row: calendar
\calrow{Oktober} & \calrow{November} & \calrow{Dezember} \\
\calperiod{10} & \calperiod{11} & \calperiod{12} \\[1ex]\\
};
\end{tikzpicture}
\end{document}
My problem
I don't know how to modify
\newcommand{\calrow}[1]{%
\node[anchor=base east](Mon){Mo};
\node[base right=of Mon](Tue){Di};
\node[base right=of Tue](Wed){Mi};
\node[base right=of Wed](Thu){Do};
\node[base right=of Thu](Fri){Fr};
\node[base right=of Fri](Sat){Sa};
\node[base right=of Sat](Sun){So};
\node[darkgreen, above=of Thu]{\textbf{#1}};
}
to get things to align perfectly.
day xshift=19pt
or another length fo your choice to\begin{tikzpicture}
(see chapter 45, page 525 of the pgf manual)