ЛАТЕКС является замечательным языком для записи документов. С hyperref
пакет и pdflatex
, Вы легко генерируете документы с метаданными, хорошая функция для получения документов, на которые ссылаются прямо в сети.
Я часто использую шаблоны как:
\documentclass[11pt]{article}
\usepackage[pdftex, pdfusetitle,colorlinks=false,pdfborder={0 0 0}]{hyperref}%
\hypersetup{%
pdftitle={My title},%
pdfauthor={My name},%
pdfkeywords={my first keyword, my second keyword, more keywords.},%
}%
\begin{document}
\title{My title}
\author{My name}
\date{}
\maketitle
{\bf Keywords:} my first keyword, my second keyword, more keywords.%
My text is here...
\end{document}
До сих пор это хорошо. Мой вопрос появляется из примера: есть ли способ определить строковые переменные в заголовке так, чтобы они могли быть переданы как аргументы hyperref
и затем к frontmatter или к тексту. Что-то как:
\documentclass[11pt]{article}
%-------definitions-----
\def\Author{My name}
\def\Title{My title}
\def\Keywords{my first keyword, my second keyword, more keywords.}
%--------------------------
\usepackage[pdftex, pdfusetitle,colorlinks=false,pdfborder={0 0 0}]{hyperref}%
\hypersetup{%
pdftitle={\Title},%
pdfauthor={\Author},%
pdfkeywords={\Keywords},%
}%
\begin{document}
\title{\Title}
\author{\Author}
\date{}
\maketitle
{\bf Keywords:} \Keywords %
My text is here...
\end{document}
Это перестало работать для \maketitle
часть и для hyperref
метаданные с ! Use of \Title doesn't match ! Argument of \let has an extra }.
но также и для включения ключевых слов.
Правильный шаблон должен выглядеть так:
\documentclass[11pt]{article}
%-------definitions-----
\newcommand{\Author}{My name}
\newcommand{\Title}{My title}
\newcommand{\Keywords}{my first keyword, my first keyword, more keywords.}
%--------------------------
\usepackage[pdftex, pdfusetitle,colorlinks=false,pdfborder={0 0 0}]{hyperref}%
\hypersetup{%
pdftitle={\Title},%
pdfauthor={\Author},%
pdfkeywords={\Keywords},%
}%
\begin{document}
\title{\Title}
\author{\Author}
\date{}
\maketitle
{\bf Keywords:} \Keywords %
My text is here...
\end{document}
Компилируется нормально и метаданные нормально отображаются в pdf-ридере.
Попробуйте использовать \ newcommand {\ Author} {My name}
вместо \ def
.