Tikzカレンダーにはいくつかの問題があります

Tikzカレンダーにはいくつかの問題があります

お店の提案には決して満足できなかったので、自分の提案を実行しようとしてきました。今では、ほぼ希望通りのものが手に入りました。まだ回避できない小さな問題が残っています。もし誰かに何かアドバイスがあれば教えてください。

  1. カレンダーには月曜日、木曜日、金曜日のみ表示します (各週のページの右上隅に表示されます)。これまでのところ、私が見つけた唯一の有効な解決策は、表示したくない日に負の「xshift」を使用することです。そうしないと、空白スペースが残ります。しかし、何らかの理由で、月曜日が木曜日と金曜日以外の月になる週を除いて、正常に機能します。その場合、何らかの理由でより大きな空白スペースが追加されますが、その理由はわかりません。

  2. 各ページに表示されるカレンダーには、日付テキストに使用する表形式の定義で記述されているにもかかわらず、最後の縦線が表示されません...

  3. 曜日と月の名前がフランス語に翻訳されません。理由がわかりません。usepackage の位置に注意しましたが、それでも機能しません。

  4. 素晴らしいアイシングは、週に応じて異なるカレンダーを表示することです (私のコードでは、\n の値は、\n が奇数の場合はあるカレンダー、\n が偶数の場合は別のカレンダーです)。その方法がわかりません。

第2号と第3号を含む通常の週 第2号と第3号を含む通常の週 第 1 号 (そして、第 2 号と第 3 号も) のひどい 1 週間 第 1 号 (そして、第 2 号と第 3 号も) のひどい 1 週間

ご意見をいただければ幸いです。よろしくお願いします。

私のコードは以下の通りです:

\documentclass{article}
\usepackage{advdate}

\makeatletter
\renewcommand\AdvanceDate[1][\@ne]{\global\advance\day#1 \FixDate}
\makeatother

\usepackage{tgheros,tikz,array}
\usetikzlibrary{calendar}
\usepackage[margin=1.25in,noheadfoot=true]{geometry}
\usepackage[french]{babel}
\usepackage[french]{translator}


%=========================================================
%== Page characteristics (Page Setup) ====================
\setlength{\textwidth}{126mm}
\setlength{\textheight}{230.0mm}
\setlength{\topmargin}{-30mm}
\setlength{\hoffset}{-20mm}
\setlength{\marginparwidth}{-20mm}
\setlength{\footskip}{0mm}
\setlength{\headheight}{11mm}
\setlength{\headsep}{4mm}
\setlength{\parindent}{0cm}
%=========================================================

\usetikzlibrary{backgrounds, positioning, scopes}
\newcommand{\textoverline}[1]{$\overline{\mbox{#1}}$}
\usepackage[absolute,overlay,showboxes]{textpos}
\usepackage{xcolor}
\usepackage{colortbl}
\definecolor{mygrey}{RGB}{239,239,239}
\usepackage{lastpage}
\usepackage{fancyhdr}
\begin{document}

\setlength{\arrayrulewidth}{0.1pt}
\sffamily
\footnotesize

\newcommand\mondaytext[2]{%
  \begin{tabular}{|>{\mdseries\footnotesize}cp{1cm}|cp{1cm}|}
    \multicolumn{2}{c}{#1 #2} \\
    \hline
    \begin{tabular}{@{}c@{}}8:35 \\ 9:30\end{tabular}& \\ \hline
    \begin{tabular}{@{}c@{}}9:30 \\ 10:25\end{tabular} & \textbf{4D} \\\hline\hline
    \begin{tabular}{@{}c@{}}10:40 \\ 11:35\end{tabular} & \textbf{4B}\\\hline
    \begin{tabular}{@{}c@{}}11:35 \\ 12:30\end{tabular} & \\\hline\hline
    \begin{tabular}{@{}c@{}}12:30\\ 13:05\end{tabular}  & \\\hline\hline
    \begin{tabular}{@{}c@{}}13:05\\14:00 \end{tabular}  & \\\hline
    \begin{tabular}{@{}c@{}}14:00\\14:55 \end{tabular} & \begin{tabular}{@{}c|c@{}}&\textbf{4B}\end{tabular}\\\hline\hline
    \begin{tabular}{@{}c@{}}15:10\\16:05 \end{tabular}& \textbf{4C}\\\hline
  \end{tabular}
}
\newcommand\thursdaytext[2]{%
  \begin{tabular}{|>{\mdseries\footnotesize}cp{1cm}|cp{1cm}|}
    \multicolumn{2}{c}{#1 #2} \\
    \hline
    \begin{tabular}{@{}c@{}}8:35 \\ 9:30\end{tabular}& \textbf{4D}\\ \hline
    \begin{tabular}{@{}c@{}}9:30 \\ 10:25\end{tabular} & \textbf{4B}\\\hline\hline
    \begin{tabular}{@{}c@{}}10:40 \\ 11:35\end{tabular} & \textbf{4C}\\\hline
    \begin{tabular}{@{}c@{}}11:35 \\ 12:30\end{tabular} & \\\hline\hline
    \begin{tabular}{@{}c@{}}12:30\\ 13:05\end{tabular}  & \\\hline\hline
    \begin{tabular}{@{}c@{}}13:05\\14:00 \end{tabular}  & \begin{tabular}{@{}c|c@{}}\textbf{4D}&\end{tabular}\\\hline
    \begin{tabular}{@{}c@{}}14:00\\14:55 \end{tabular} & \\\hline\hline
    \begin{tabular}{@{}c@{}}15:10\\16:05 \end{tabular}& \\\hline
  \end{tabular}
}
\newcommand\fridaytext[2]{%
  \begin{tabular}{|>{\mdseries\footnotesize}p{1cm}|cp{1cm}|}
    \multicolumn{2}{c}{#1 #2} \\
    \hline
    \begin{tabular}{@{}c@{}}8:35 \\ 9:30\end{tabular}& \textbf{DF:3C}\\ \hline
    \begin{tabular}{@{}c@{}}9:30 \\ 10:25\end{tabular} & \textbf{4D} \\\hline\hline
    \begin{tabular}{@{}c@{}}10:40 \\ 11:35\end{tabular} & \\\hline
    \begin{tabular}{@{}c@{}}11:35 \\ 12:30\end{tabular} & \\\hline\hline
    \begin{tabular}{@{}c@{}}12:30\\ 13:05\end{tabular}  & \\\hline\hline
    \begin{tabular}{@{}c@{}}13:05\\14:00 \end{tabular}  & \begin{tabular}{@{}c|c@{}}& \textbf{4C}\end{tabular} \\\hline
    \begin{tabular}{@{}c@{}}14:00\\14:55 \end{tabular} & \textbf{4D}\\\hline\hline
    \begin{tabular}{@{}c@{}}15:10\\16:05 \end{tabular}& \textbf{4C}\\\hline
  \end{tabular}
}

\setlength{\skip\footins}{0cm}
\pagestyle{empty}
\SetDate[31/08/2020]
\foreach \n in {1,...,45}{

\begin{textblock}{8}(2,1.25)

  \textblockcolour{mygrey!40}
  \vspace{5mm}
    { \qquad \bfseries Notes : }
  \vspace{26mm}

  \vspace{25mm}
\end{textblock}
\begin{textblock}{15}(2,14.5)

  \textblockcolour{mygrey!40}
  \vspace{2mm}
    { \quad \bfseries Remarques : }
  \vspace{18mm}
\end{textblock}
\enlargethispage{40pt}
\setlength{\arrayrulewidth}{0.5pt}
\arrayrulecolor{black}
\LARGE PLANNING DE LA SEMAINE \n \footnotesize
\begin{tikzpicture}[remember picture, overlay,shift={(5,-3.5)}]
  \calendar (cal)
  [dates=\year-\month-\day to \year-\month-\day+5,day list right,day xshift=3cm,
   execute before day scope=
  {
    \ifdate{Tuesday,Wednesday}{\pgftransformxshift{-3cm}}{}
    },
    day text={},
    execute at begin day scope={
    \ifdate{Monday}{\tikzmonthcode}{}},
    set style={{every month}+=[anchor=base east,font=\bfseries\large,xshift=-2.5em,yshift=12em]},
%  execute after day scope={\ifdate{Sunday}{\pgftransformyshift{-30em},\pgftransformxshift{-10.1cm}}{}}
  ]
  if(Monday) [day text={\mondaytext{\%wt}{\%d0}}]
  if(Thursday) [day text={\thursdaytext{\%wt}{\%d0}}]
  if(Friday) [day text={\fridaytext{\%wt}{\%d0}}]  
  if (weekend) [font=\bfseries]
  if (Sunday) [red];
%  \node[above right,font=\bfseries\footnotesize] at (cal-2020-09-14.north west)
%    {14--18 Septembre 2020};
\end{tikzpicture}
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\setlength{\arrayrulewidth}{0.1pt}
\arrayrulecolor{black!60}
\begin{tabular}{p{19cm}}
\textbf{LUNDI :} \\
\hline \\
\hline \\
\hline \\
\hline \\
\hline \\
\hline \\
\hline \\
\hline \\
\hline \\
\hline \\
\hline \\
\hline \\
\hline \\
\hline \\
\hline \\
\\
\textbf{JEUDI :} \\
\hline \\
\hline \\
\hline \\
\hline \\
\hline \\
\hline \\
\hline \\
\hline \\
\hline \\
\hline \\
\hline \\
\hline \\
\hline \\
\hline \\
\hline \\
\\
\textbf{VENDREDI :} \\
\hline \\
\hline \\
\hline \\
\hline \\
\hline \\
\hline \\
\hline \\
\hline \\
\hline \\
\hline \\
\hline \\
\hline \\
\hline \\
\hline \\
\hline \\
\hline 
\end{tabular}

\AdvanceDate[7]

\newpage
}

\end{document}

関連情報