我想在日历中突出显示一系列日期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}