我发现这个问题TikZ 日历中的垂直周列表我需要创建一个类似的样式,RTL week list
从右侧开始按周排列
下面是一个例子xelatex
\documentclass[12pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{calendar,positioning}
\usepackage{fontspec}
\setmainfont[Script=Arabic]{Amiri}
\def\pgfcalendarmonthname#1{\translate{\ifcase#1\or جانفي\or فيفري\or مارس\or أفريل
\or ماي\or جوان\or جويلية\or أوت\or سبتمبر\or أكتوبر\or نوفمبر\or ديسمبر\fi} }
\pagestyle{empty}
%\tikzstyle{RTL week list}=[??]
\begin{document}
\begin{tikzpicture}
[every calendar/.style = {
month label above centered,
month text = {\Large{\%mt}},
}]
\calendar[dates=2018-01-01 to 2018-01-last,week list]if (Friday) [red];
\end{tikzpicture}
\end{document}
使用此输出
我需要的是这样的
答案1
使用day xshift=
一些负间距量,请根据您的个人喜好进行调整。样式week list
使用day xshift
等来分隔各个日期,通常使用正值从左到右列出日期,使用负值反转列表。
我不得不禁用字体设置(我没有阿拉伯字体)
\documentclass[12pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{calendar,positioning}
%\usepackage{fontspec}
%\setmainfont[Script=Arabic]{Amiri}
%\def\pgfcalendarmonthname#1{\translate{\ifcase#1\or جانفي\or فيفري\or مارس\or أفريل
%\or ماي\or جوان\or جويلية\or أوت\or سبتمبر\or أكتوبر\or نوفمبر\or ديسمبر\fi} }
\pagestyle{empty}
%\tikzstyle{RTL week list}=[??]
\begin{document}
\begin{tikzpicture}
[every calendar/.style = {
month label above centered,
month text = {\Large{\%mt}},
}]
\calendar[dates=2018-01-01 to 2018-01-last, week list, day xshift=-3ex]if (Friday) [red];
\end{tikzpicture}
\end{document}