2011-02-08 2 views
4

Я хотел бы сделать таблицу с использованием табличной среды, и в одной из ячеек в моей таблице мне нужно указать фактическую дату. Тогда разумный подход будет использовать команду \ date {}, но я не могу заставить его работать с командой \ date {} внутри табличной среды ... это невозможно? date {} в табличной среде!

Приветствия,

Карстен

ответ

5

\date не получает дату, он устанавливает дату документа. Если вы просматриваете latex.ltx исходный код, который вы найдете:

\def\date#1{\gdef\@date{#1}} 

Так что, если дата документа устанавливается в преамбуле, вы можете получить его с помощью \@date. К сожалению (для вас) этот макрос имеет @, поэтому вы не можете использовать его прямо в тексте обычного документа. Таким образом, вы должны поставить это в преамбуле:

\makeatletter 
\let\insertdate\@date 
\makeatother 

Затем \insertdate является псевдонимом \@date и вставить дату, указанную в преамбуле в текущий текст.

Но вы также указали «фактическую» дату, которая может означать текущая дата с момента составления документа. Эта информация хранится TeX в \today.

BTW, вы можете найти целую коллекцию на TeX StackExchange, где вопрос, связанный с TeX, слишком мал.

+0

Привет Мэтью, спасибо много. Это отлично работает! :-) –

+0

@Karsten: Пожалуйста, отметьте ответ Мэтью, принятый, если он сработает для вас. – gotgenes

+1

@ Карстен: рад, что это сработало. Вы также можете рассмотреть вопрос о задаче для потомков. Например, было ли это '\ insertdate' или' \ today', что было ответом на ваш реальный вопрос? –

0

Вы можете поместить следующее в ПРЕАМБУЛЕ

\usepackage{datetime} 
\newdateformat{bkdate}{\THEYEAR-\shortmonthname-\twodigit{\THEDAY}} 

, а затем напечатать дату в любом месте в теле документа

\bkdate\today 
Смежные вопросы