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.
Man kann den Autor als Präambel setzen
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.Kapitelautor in die Kopfzeile setzen
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}
Am einfachsten mit \markright/\rightmark
Meinst du so (in Verwendung deines Minimalbeispiels):
Mercy!
Ja, genau so hab ich mir das vorgestellt. Funktioniert super. Vielen vielen Dank.
Gern geschehen
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.Geht nicht so richtig.
Ich verstehe dieses Minimalbeispiel nicht. Ich brauche genau das, was Marius Hug anfangs geschrieben hat, vielleicht werde ich nachträglich noch am Layout des Titels und des Authors basteln wollen.
Ich habe dieses Minimalbeispiel ausprobiert, und es kompiliert gut (mit pdflatex). Als ich angefangen habe es auf mein konkretes Dokument anzupassen, bin ich gleich auf eine Fehlermeldung gestoßen. Ich habe nämlich die Zeile \usepackage[german]{babel} wegkommentiert, weil ich kein babel verwenden will. Ebenso wegkommentiert habe ich \usepackage{blindtext} und eigenen \Blindtext command definiert.
Beim Kompilieren bekomme ich danach diese Felhermeldung:
...
Package typearea, 2009/04/03 v3.03a KOMA-Script package (type area)
Copyright (C) Frank Neukam, 1992-1994
Copyright (C) Markus Kohm, 1994-
)) (C:\MiKTeX\tex\latex\koma-script\scrpage2.sty) (sammelband.aux
! Package babel Error: You haven't loaded the option german yet.
See the babel package documentation for explanation.
Type H for immediate help.
...
l.3 \select@language{german}
?
Ich verstehe nicht, wo genau da der Bedarf nach babel entsteht. In scrpage2.sty kommt "babel" garnicht vor. (Für blindtext-package war es relevant, aber das hab ich mit dem eigenen \Blindtext-command umgangen).
Wenn ich babel schon unbedingt drin lassen müsste, dürfte es keinesfalls "german" sein. Ich müsste es als \usepackage[english]{babel} verwenden. Aber auch mit englischem babel bekomme ich die selbe Fehlermeldung. Etwas sucht explizit nach german babel. Welches package will es so?
Wenn man Paket entfernt
Wenn man Pakete entfernt bleiben ggf. Abhängigkeiten in der aux-Datei und in anderen Hilfsdateien wie der lof-, lot- oder toc-Datei enthalten. So ist das auch bei babel. In der Regel verschwindet dieses Abhängigkeit und damit auch die zugehörigen Fehlermeldungen bei babel nach einem weiteren LaTeX-Lauf von alleine.
Grundsätzlich empfehle ich, beim Entfernen von Paketen (eigentlich auch beim Hinzufügen von Paketen) alle Hilfsdateien zu löschen. Manchmal ist das sogar erforderlich, wenn man grundsätzliche Einstellungen von Paketen/Klassen ändert.
Ich empfehle außerdem, auch bei Dokumenten in englischer Sprache babel zu verwenden. Die Sprache ist dann wenigstens eindeutig definiert. Außerdem bietet das Paket ggf. nützliche Zusätze.
BTW: Dein KOMA-Script ist veraltet.
Hinweis zu \chapterheadstartvskip und \chapterheadendvskip
Spätestens ab KOMA-Script 3.26 ist die in den Beispielen verwendete Umdefinierung von
\chapterheadstartvskip
veraltet und beispielsweise durchoder
zu ersetzen.