Sie sind hier

Kapitelautor bei Sammelband

Hallo zusammen,

als LaTeX-Neuling versuche ich mich gerade an einer Formatvorlage für ein Büchlein mit mehreren Kapiteln von je verschiedenen Autoren. Hat vielleicht jemand Erfahrung damit, wie man das Problem am Besten löst? Ich versuche das gerade mit der scrreprt-Klasse. Ist es möglich, einen chapterauthor zu definieren? Oder ist eher geraten, die einzelnen Artikel für sich zu TeXen um sie dann in einem Master zusammmenzusetzen?

Leider kann ich zum jetzigen Zeitpunkt noch kein Minimal-Bsp. geben. Ich befinde mich gewissermassen noch in den Kinderschuhen, hoffe also, dass man mich vor dem Holzweg bewahrt. Danke schonmal im voraus.

Bild von Markus Kohm

Siehe dazu \setchapterpreamble in der KOMA-Script-Anleitung. Auch dctt wurden auch früher schon verschiedene Lösungen für dieses Problem diskutiert, etwa wenn der Autor zusätzlich im Inhaltsverzeichnis auftauchen soll. So wäre es beispielsweise möglich eine neue Anweisung zu definieren, die als Argument den Autor und den Titel erhält und dann \setchapterpreamble und \chapter aufruft, wobei im optionalen Argument von \chapter dem Titel noch der Autor vorangestellt wird.

Lieber Markus,

vielen Dank für die schnelle Antwort. Hab auf dctt letztlich auf einen Deiner Beiträge zurückgreifen können. Ein Problem bleibt mir allerdings. Ich würde den Kapitelautor gerne in die Kopfzeile setzen und zwar mit \rehead[]{Autor}, d.h. auf der rechten Seite der geraden Seite.

Falls es dafür eine einfache Antwort gibt, wäre ich sehr dankbar. Falls es komplexer wird, würde ich mich üebr einen weiteren Tipp sehr freuen, damit ich mit Elan weiterbasteln kann.

Hier jetzt mein Minimal-Bsp.:

\documentclass[twoside]{scrreprt}
\usepackage[german]{babel}
\usepackage[T1]{fontenc}

\usepackage{scrpage2}

\clearscrheadfoot

\lehead{\pagemark}
\rehead[]{}
\rohead{\pagemark}
\cfoot[\pagemark]{}

\pagestyle{scrheadings}

\renewcommand*{\chaptermarkformat}{}
\renewcommand*{\chapterheadstartvskip}{\vspace*{0.5\baselineskip}}
\renewcommand*{\chapterheadendvskip}{\vspace*{1\baselineskip}}

\makeatletter
\newcommand*{\orgichapter}{}
\let\orgichapter\chapter
\renewcommand*{\chapter}[1]{%
\gdef\@author{#1}%
\orgichapter
}

\renewcommand*{\chapterformat}{\thechapter\autodot\hskip 1pc}

\newlength{\authorindent}
\renewcommand*{\chapterheadendvskip}{%
\ifx\@author\@empty\else
\vskip\baselineskip\nobreak
\settowidth{\authorindent}{{%
\usekomafont{sectioning}\usekomafont{chapter}\chapterformat
}}%
\begin{flushright}\sffamily\hspace*{\authorindent}\@author\par\nobreak
\global\let\@author\@empty\end{flushright}
\fi
\noindent\par\nobreak\vskip 2\baselineskip%
}
\makeatother

\begin{document}

\chapter{Autor}[Autor: Shorttitle]{Title}

Blablablab Blablablab Blablablab blub blabla blububulbu Blablablab Blablablab Blablablab blub blabla blububulbu Blablablab Blablablab Blablablab blub blabla blububulbu Blablablab Blablablab Blablablab blub blabla blububulbu blabla blub blabla blub blabla blub blabla blub. Blablablab

Blablablab Blablablab Blablablab blub blabla blububulbu Blablablab Blablablab Blablablab blub blabla blububulbu Blablablab Blablablab Blablablab blub blabla blububulbu Blablablab Blablablab

Blablablab Blablablab Blablablab blub blabla blububulbu Blablablab Blablablab Blablablab blub blabla blububulbu Blablablab Blablablab Blablablab blub blabla blububulbu Blablablab Blablablab Blablablab blub blabla blububulbu blabla blub blabla blub blabla blub blabla blub

\end{document}

Bild von Markus Kohm

Meinst du so (in Verwendung deines Minimalbeispiels):

\documentclass[twoside]{scrreprt}
\usepackage[german]{babel}
\usepackage[T1]{fontenc}
\usepackage{blindtext}
\usepackage{scrpage2}
\clearscrheadfoot
\lehead{\pagemark}
\rehead[]{\rightmark}
\rohead{\pagemark}
\cfoot[\pagemark]{}
\pagestyle{scrheadings}
\renewcommand*{\chaptermarkformat}{}
\renewcommand*{\chapterheadstartvskip}{\vspace*{0.5\baselineskip}}
\renewcommand*{\chapterheadendvskip}{\vspace*{1\baselineskip}}
\makeatletter
\newcommand*{\orgichapter}{}
\let\orgichapter\chapter
\renewcommand*{\chapter}[1]{%
  \gdef\chapterauthor{#1}%
  \orgichapter
}
\renewcommand*{\chapterformat}{\thechapter\autodot\hskip 1pc}
\newlength{\authorindent}
\renewcommand*{\chapterheadendvskip}{%
  \ifx\chapterauthor\@empty\else
  \markright{\chapterauthor}%
  \vskip\baselineskip\nobreak
  \settowidth{\authorindent}{{%
      \usekomafont{sectioning}\usekomafont{chapter}\chapterformat
    }}%
  \begin{flushright}\sffamily\hspace*{\authorindent}\chapterauthor\par\nobreak
    \global\let\chapterauthor\@empty\end{flushright}
  \fi
  \noindent\par\nobreak\vskip 2\baselineskip%
}
\makeatother
\begin{document}
\chapter{Autor}[Autor: Shorttitle]{Title}
\Blindtext\Blindtext
\end{document}

Ja, genau so hab ich mir das vorgestellt. Funktioniert super. Vielen vielen Dank.

Bild von Markus Kohm

Den größten Teil der Lösung hast du dir ja selbst zusammengesucht und erarbeitet und mir die Hilfe dann so leicht wie möglich gemacht. Ein Hinweis am Rande noch: Da ich \markright verwende, um den Autor in den Kopf zu bekommen funktioniert das in der Voreinstellung von scrpage2 mit scrbook nur so lange, wie kein \section verwendet wird (weil \sectionmark selbst \markright verwenden). Ansonsten muss man entweder die automatischen Kolumnentitel für \section durch geeignete \automark-Anweisung abschalten oder direkt auf manualmark umschalten. Die Kapitelüberschrift kann man dann ja trotzdem noch durch explizite \markboth- oder \markleft-Anweisung setzen. Dazu muss man dann allerdings alle Argumente von \chapter selbst lesen, statt sie erst von \orig@chapter auswerten zu lassen.

Bild von Markus Kohm

Spätestens ab KOMA-Script 3.26 ist die in den Beispielen verwendete Umdefinierung von \chapterheadstartvskip veraltet und beispielsweise durch

\RedeclareSectionCommand[beforeskip=-0.5\baselineskip,afterskip=1\baselineskip]{chapter}

oder

\RedeclareSectionCommand[afterindent=false,beforeskip=0.5\baselineskip,afterskip=1\baselineskip]{chapter}

zu ersetzen.

Comments for "Kapitelautor bei Sammelband" abonnieren