|
25.03.09, Alexander I Rozhenko<CyrTeX-ru@vsu.ru> написал(а):
> Проблема в том, что после вывода титула в стандартных классах выполняется
> такая команда
>
> \global\let\@title\@empty
>
> Другими словами, после \maketitle команда \@title уже потеряла своё
> содержимое
Ага, вот в чём собака-то зарыта! Я пока сделал так:
% ------------------------------------------------------ %
% ДАННЫЕ ПУБЛИКАЦИИ %
% ------------------------------------------------------ %
% --------------- Данные для ввода --------------- %
\newcommand{\FullAuthor}{Иван Васильевич Грозный} % Полное имя (full)
\newcommand{\NameAuthor}{Иван Грозный} % Имя и фамилия (name)
\newcommand{\ShrtAuthor}{И.\,В.~Грозный} % И.О. Фамилия (short)
\newcommand{\TrueAuthor}{Рюриков Иван Васильевич} % Настоящее имя (true)
\newcommand{\FullSeriesName}{Указ царя Всея Руси} % Полное название серии
\newcommand{\SeriesAbbr}{ЦУ} % Короткое название серии
\newcommand{\NumberNoYear}{1} % Номер в серии за год
\newcommand{\NumberNoTotal}{155} % Номер в серии за всё время
\newcommand{\FullTitle}{Как беречь и~приумножать державу русскую} %
Название работы
\newcommand{\ShrtTitle}{Как беречь державу\ldots} % Короткое название раБоты
\newcommand{\SubTitle}{Инструкция для государей} % Подназвание
\newdate{PubDate}{25}{01}{1565} % Дата публикации, значение
\newdate{Wr1Date}{15}{01}{1565} % Дата написания начальная, значение
\newdate{WrDate}{24}{01}{1565} % Дата написания конечная, значение
\newdate{RevDate}{}{}{} % Дата внесения уточнений, значение
\newdate{AddDate}{}{}{} % Дата внесения дополнений, значение
\newcommand{\BBK}{} % ББК
\newcommand{\UDK}{} % УДК
\newcommand{\ISBN}{} % ISBN
\newcommand{\KeyWords}{} % Список ключевых слов для поиска в интернете
% --------------- Настройки стиля --------------- %
\usepackage{datetime} % ЗАГРУЖАТЬ ПОСЛЕ babel!
\newcommand{\PubDateFull}{\displaydate{PubDate}} % Дата публикации
вида: 25 января 1565 г.)
\newcommand{\PubDateShrt}{\MyTeX{\displaydate{PubDate}}} % Дата
публикации вида: 1565/01/25
\newcommand{\PubYear}{\getdateyear{PubYear}} % Год публикации (publish)
\newcommand{\WrDate}{\displaydate{Wr1Date} "--- \displaydate{WrDate}}
% Дата или диапазон написания
\newcommand{\WrYear}{\getdateyear{WrYear}} % Год написания
\newcommand{\FullNumberName}{\FullSeriesName
№\,\NumberNoYear\,(\NumberNoTotal),~\PubYear} % Полное название
серийного номера
\newcommand{\AbbrNumberName}{\SeriesAbbr-\NumberNoYear(\NumberNoTotal)-\PubYear}
% Аббревиатура серийного номера
% ---------------------------------------------------- %
Соответственно, далее применяем:
\hypersetup{
pdftitle=\FullAuthor. \FullTitle,
pdfauthor=\TrueAuthor,
pdfsubject=\FullSeries: \FullTitle,
pdfkeywords={\KeyWords}
}
\renewcommand*{\leftmark}{\FullTitle}
\renewcommand*{\title}{\FullTitle}
\renewcommand*{\author}{\NameAuthor}
и т. д.
Идея мне нравится всё больше и больше, можно было даже такой пакет
сделать, многим бы пригодилось, что все данные можно было бы вводить
в одном месте. Правда, я вряд ли справлюсь, у меня слишком мало опыта.
И надо бы причесать. Во-первых, какие могут ещё понадобиться категории
(тут пригодился бы опыт написания диссертаций, периодических публикаций
в институте, например). Во-вторых, оптимальным образом задать команды.
Так, не знаю, нужно ли возиться с диапазоном дат написания, которые
приводятся обычно в конце (типа "январь 1969 г., Комарово "--- май
1970 г., Киев"). Но если возиться, то надо оптимизировать, чтобы,
например, в
\newcommand{\WrDate}{\displaydate{Wr1Date} "--- \displaydate{WrDate}}
% Дата или диапазон написания
первая дата автоматически игнорировалась бы, если ничего не задано
(чтобы не править каждый раз вручную).
|
|