Мне нужно создать книгу аннотаций, которая представляет собой сборник из примерно 20 аннотаций. Каждая аннотация должна быть размещена на одной странице, и каждая аннотация должна иметь свое название и одного или нескольких авторов с их аффилированностью. Книга аннотаций должна включать TOC, включая все названия и соответствующих авторов.
Я пока не уверен, какой класс Latex лучше всего подойдет для такой задачи и как использовать аффилиации для отдельных аннотаций (поскольку я не могу использовать \maketitle, так как у меня много аннотаций).
Вот небольшой пример всего с двумя аннотациями:
\documentclass[11pt,a4paper]{article}
\usepackage[ngerman]{babel}
\usepackage[utf8x]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{blindtext}
\setlength{\parindent}{0cm} % Default is 15pt.
\begin{document}
{\centering \section*{This is a test title of an abstract}}
\vspace{\baselineskip}
First Author1, Second Author2\\
1Ministry of Silly Walks\\
2Institute of Everything Important\\
\vspace{\baselineskip}
\blindtext[3]
\pagebreak
{\centering \section*{This is a second abstract}}
\vspace{\baselineskip}
First Author1\\
1Ministry of Tomatoes\\
\vspace{\baselineskip}
\blindtext[3]
\end{document}
Какие настройки формата лучше всего использовать, или кто-то уже создал коллекцию аннотаций? Как создать TOC с заголовками и авторами?
решение1
Вы можете использовать этот ответ в качестве отправной точки.
Прежде всего, пакет tocloft
позволяет нам создать «Список рефератов».
\usepackage[titles]{tocloft}
\newcommand{\listabstractname}{List of Abstracts}
\newlistof[section]{abstracts}{abs}{\listabstractname}
Затем мы определяем нашу собственную среду abstracts
, которая принимает название в качестве аргумента.
\newenvironment{abstracts}[1]{%
\refstepcounter{abstracts}%
\small%
\begin{center}%
\textbf{#1}%
\end{center}%
\quotation%
\addcontentsline{abs}{abstracts}{#1}%
}{%
\endquotation%
\clearpage%
}
Наконец, мы создаем новую команду \abstractauthor
для печати автора(ов) в документе и добавления их в «Список аннотаций».
\newcommand\abstractauthor[1]{\authortoabs{#1}\printabstractauthor{#1}}
\newcommand{\printabstractauthor}[1]{%
{\noindent\centering\scshape#1\par\nobreak\vspace*{35pt}}%
}
\newcommand{\authortoabs}[1]{%
\addtocontents{abs}{\vskip-10pt}%
\addtocontents{abs}{%
\protect\contentsline{section}{\hskip1.3em\mdseries\scshape\protect\scriptsize#1}{}{}}%
\addtocontents{abs}{\vskip5pt}%
}
Чтобы отобразить список, вам нужно вызвать команду
\listofabstracts
и abstracts
окружающая среда должна быть чем-то вроде
\begin{abstracts}{This is a test title of an abstract}
\abstractauthor{First Author, Second Author}
abstract contents
\end{abstracts}
К сожалению, мне не удалось добавить аффилированность к авторам. Вы можете изменить мой код, чтобы добиться этого....
МВЭ:
\documentclass[11pt,a4paper]{article}
\usepackage[ngerman]{babel}
\usepackage[utf8x]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{blindtext}
\setlength{\parindent}{0cm} % Default is 15pt.
\usepackage[titles]{tocloft}
\newcommand{\listabstractname}{List of Abstracts}
\newlistof[section]{abstracts}{abs}{\listabstractname}
\newenvironment{abstracts}[1]{%
\refstepcounter{abstracts}%
\small%
\begin{center}%
\textbf{#1}%
\end{center}%
\quotation%
\addcontentsline{abs}{abstracts}{#1}%
}{%
\endquotation%
\clearpage%
}
\newcommand\abstractauthor[1]{\authortoabs{#1}\printabstractauthor{#1}}
\newcommand{\printabstractauthor}[1]{%
{\noindent\centering\scshape#1\par\nobreak\vspace*{35pt}}%
}
\newcommand{\authortoabs}[1]{%
\addtocontents{abs}{\vskip-10pt}%
\addtocontents{abs}{%
\protect\contentsline{section}{\hskip1.3em\mdseries\scshape\protect\scriptsize#1}{}{}}%
\addtocontents{abs}{\vskip5pt}%
}
\begin{document}
\listofabstracts
\clearpage
\begin{abstracts}{This is a test title of an abstract}
\abstractauthor{First Author, Second Author}
\blindtext[3]
\end{abstracts}
\begin{abstracts}{This is a second abstract}
\abstractauthor{First Author}
\blindtext[3]
\end{abstracts}
\end{document}
Вывод (Список рефератов)
Вывод (аннотация)