在 tikz 日历中突出显示一整周(或一系列天)

在 tikz 日历中突出显示一整周(或一系列天)

我想在日历中突出显示一系列日期tikz(例如假期或会议)。我目前的方法是简单地(愚蠢?)突出显示每一天(参见代码),但肯定有更好的选择。

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calendar}

\begin{document}
\begin{tikzpicture}
    \calendar[dates=2018-10-01 to 2018-10-last,
              week list,
              month label above centered]
        if (weekend) [black!50]
        if (equals=2018-10-01) [black!50]
        if (equals=2018-10-02) [black!50]
        if (equals=2018-10-03) [black!50]
        if (equals=2018-10-04) [black!50];
\end{tikzpicture}
\end{document}

正如我所说,这是可行的(见截图),但有没有一个选项如何指定日期范围在条件内if(或其他地方)?

十月

答案1

当然!使用if (between=date and date)而不是多个if (equals=date)

\begin{document}
    \begin{tikzpicture}
    \calendar[dates=2018-10-01 to 2018-10-last,
    week list,
    month label above centered]
    if (weekend) [black!50]
    if (equals=2018-10-01) [black!50]
    if (equals=2018-10-02) [black!50]
    if (equals=2018-10-03) [black!50]
    if (equals=2018-10-04) [black!50]
    if (between=2018-10-15 and 2018-10-18) [red!50];
    \end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容