我想在表格中自动显示日期。自动显示日期意味着我想指定一个开始日期,该日期显示在表格的第一行,其余每一行显示下一个合适的日期。
我已经为相应的行实现了一个新命令。我现在需要的是一种通过计数器值增加指定日期的方法。
这是我的命令:
\newcommand{\pweek}[3]{
\setcounter{weekCounter}{1}
\section*{Tagesberichte Woche #1}
\begin{table}[h]
\begin{tabular}{|p{1cm}|p{14cm}|}
#2
\end{tabular}
\end{table}
\newpage
\section*{Wochenbericht #1}
#3
\newpage
}
\newcommand{\pday}[1]{
\hline
\arabic{weekCounter}\stepcounter{weekCounter} & #1 \\ \hline
}
我想用\arabic{weekCounter}
在命令的参数列表中以某种方式指定的相应日期来替换。
你知道如何实现这个目标吗?
答案1
您可以使用advdate
包来更改当前日期,datenumber
并datetime
使用包来格式化日期。
\documentclass[a4paper,12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{advdate} % Advancing/saving dates
\usepackage{datetime} % Dates formatting
\usepackage{datenumber} % Counters for dates
\newcommand{\pweek}[4]{
\SaveDate % Saves current date (advdate macro)
\SetDate[#1] % Sets custom date (advdate macro)
\setdate{\the\year}{\the\month}{\the\day} % Saves custom date to
% predefined counter from datenumber
\SetDate % Restores current date (advdate macro)
\section*{Tagesberichte Woche #2}
\begin{table}[h]
\begin{tabular}{|p{5cm}|p{5cm}|}
#3
\hline
\end{tabular}
\end{table}
\newpage
\section*{Wochenbericht #2}
#4
\newpage
}
\newcommand{\pday}[1]{
\hline
\twodigit{\thedateday}.\twodigit{\thedatemonth}.{\thedateyear} % Prints it in custom formatting
%\datedate % For default format use \datedate
\nextdate % Goes to the next day
& #1 \\
}
\begin{document}
\pweek{30/10/2010}
{Hello}
{
\pday{One}
\pday{Two}
\pday{Three}
\pday{Four}
}
{Bye}
\end{document}
表明: