Sie sind hier

ledmac unterdrückt scrheadings

Ich arbeite immer noch an der Ausgabe, zu der mir Markus Kohm schon einmal auf die Sprünge geholfen hat.

Nun geht es darum, eine weitere Information im Header unterzubringen, aber leider werden header-Kommandos stillschweigend ignoriert, wenn sie innerhalb eines ledmac-Abschnittes stehen. Aus textlichen Gründen ist es aber teilweise nötig, die Umschaltung des headers vorzunehmen, ohne einen Absatz im Haupttext zu erzeugen. Ein \protect o.ä. funktioniert in diesem Fall leider nicht.

Hat jemand eine Idee, wie man das Problem umschiffen könnte?

Vielen Dank für Eure Mühe!

Florian.

\documentclass[13pt]{scrbook}
\usepackage{fontspec}
\usepackage{ledmac}
\footparagraph{A}
 
\usepackage[a6paper]{geometry}
 
\usepackage{scrpage2}
\pagestyle{scrheadings}
 
 
 
 
\begin{document}
 
\beginnumbering
\chapter{Erstens}
\section{Anfang}
\ihead{Abschnitt A}
\pstart\sloppy\ledsidenote{A}Hunger. Stufe für Stufe schob sie sich die Treppe hinauf. Pizza Funghi Salami, Sternchen Salami gleich Blockwurst. Die Pilze hatten sechs Monate in einem Sarg aus Blech, abgeschattet vom Sonnenlicht, eingeschläfert in einer Soße aus Essig, billigem Öl und verschiedenen Geschmacksverstärkern, geruht. Es war nur ein Augenblick, in dem sie die Welt erblickt hatten, dann verschwanden sie wieder in einem 450° heißen Ofen. Die Pizza ruhte auf ihrer rechten Hand, und in ihrer Linken hielt sie eine jener nichtssagenden Plastiktüten. Wie fast jeden Abend hatte sie noch das weiße Häubchen aus dem Krankenhaus auf dem Kopf. Das Fettgewebe ihrer Schenkel verspürte einen Heißhunger auf das müde Öl, das bei jedem Schritt sanft auf den Salamischeiben schaukelte. Die kleinen Zellen ihrer heißen Oberschenkel waren gierig, als sie im Treppenhaus ein Geräusch hörte. Punkt 21 Uhr 53 hatte Herr Erlenkötter die Wohnungstür hinter sich geschlossen. In der Linken hielt er die Leine von Gershwin, der die Stadt und noch mehr die Ausflüge um diese Tageszeit liebte. Herr Erlenkötter verschloss wie jeden Abend zuerst das obere Sicherheitsschloss und dann das Türschloss. Danach schnippte er den Schlüssel mit einer schnellen Bewegung in das dafür vorgesehene Lederetui. %
%%%Header verschwindet:
\ledsidenote{B}\ihead{Abschnitt B}%
%%%
%%%%%Header sichtbar:
%\pend%
%\ihead{Abschnitt B}%
%\pstart\ledsidenote{B}%
%%%%%
Die Hand, die die Leine des Hundes hielt, half der anderen, und nachdem er das Etui in seine rechte Jackentasche gesteckt hatte, begann für beide der Abend. Er begann für Gershwin, der schon an der Leine zog, weil er den scharfen Geruch von Desinfektionsmitteln und die süßen Ausdünstungen der Blondine von unten gerochen hatte, und er begann für Erwin. Sie hörte das Schließen der Tür, als sie gerade den Briefkasten öffnete. 
Zwei Rechnungen und ein Brief fielen auf den Boden. Einzig ein zweifach gefalteter Prospekt machte sich im Briefkasten breit. Es hatte alles verdrängt und wartete darauf, in liebevolle, interessierte Finger genommen und von neugierigen Pupillen gelesen zu werden. Mit einem entschlossenen Griff zerdrückte sie ihn und riss ihn aus dem Metallkasten. Sie knüllte ihn zusammen und warf ihn in einen Blecheimer zu Hunderten von Zetteln. 
\pend
\endnumbering
 
\end{document}

–––
Florian Grammel
Gentofte, Dänemark

forum: 
Bild von Markus Kohm

LaTeX hat eine asynchrone Ausgabe. Das bedeutet, dass zu dem Zeitpunkt, zu dem ein Makro expandiert wird, noch nicht feststeht, auf welcher Seite das Ergebnis stehen wird. Deshalb sollte man außer unmittelbar nach einem \clearpage o. ä. niemals eine Anweisung wie \ihead aufrufen. Anderenfalls kann es nämlich geschehen, dass die Kopfzeile auf der falschen Seite geändert wird.

Außerdem wirkt sich \ihead (wie übrigens auch ein \pagestyle) immer nur lokal aus.

Zur Lösung beider Probleme kennt TeX den mark-Mechanismus. In LaTeX wird dieser für lebende Kolumnentitel über \markright und \markboth repräsentiert. So würde beispielsweise

\documentclass[13pt]{scrbook}
\usepackage[utf8]{inputenc}
\usepackage{ledmac}
\footparagraph{A}
 
\usepackage[a6paper]{geometry}
 
\usepackage{scrpage2}
\pagestyle{scrheadings}
\ihead{\rightmark} 
 
 
 
\begin{document}
 
\beginnumbering
\chapter{Erstens}
\section{Anfang}
\markright{Abschnitt A}
\pstart\sloppy\ledsidenote{A}Hunger. Stufe für Stufe schob sie sich die Treppe hinauf. Pizza Funghi Salami, Sternchen Salami gleich Blockwurst. Die Pilze hatten sechs Monate in einem Sarg aus Blech, abgeschattet vom Sonnenlicht, eingeschläfert in einer Soße aus Essig, billigem Öl und verschiedenen Geschmacksverstärkern, geruht. Es war nur ein Augenblick, in dem sie die Welt erblickt hatten, dann verschwanden sie wieder in einem 450° heißen Ofen. Die Pizza ruhte auf ihrer rechten Hand, und in ihrer Linken hielt sie eine jener nichtssagenden Plastiktüten. Wie fast jeden Abend hatte sie noch das weiße Häubchen aus dem Krankenhaus auf dem Kopf. Das Fettgewebe ihrer Schenkel verspürte einen Heißhunger auf das müde Öl, das bei jedem Schritt sanft auf den Salamischeiben schaukelte. Die kleinen Zellen ihrer heißen Oberschenkel waren gierig, als sie im Treppenhaus ein Geräusch hörte. Punkt 21 Uhr 53 hatte Herr Erlenkötter die Wohnungstür hinter sich geschlossen. In der Linken hielt er die Leine von Gershwin, der die Stadt und noch mehr die Ausflüge um diese Tageszeit liebte. Herr Erlenkötter verschloss wie jeden Abend zuerst das obere Sicherheitsschloss und dann das Türschloss. Danach schnippte er den Schlüssel mit einer schnellen Bewegung in das dafür vorgesehene Lederetui. %
%%%Header verschwindet:
\ledsidenote{B}\markright{Abschnitt B}
%%%
%%%%%Header sichtbar:
%\pend%
%\ihead{Abschnitt B}%
%\pstart\ledsidenote{B}%
%%%%%
Die Hand, die die Leine des Hundes hielt, half der anderen, und nachdem er das Etui in seine rechte Jackentasche gesteckt hatte, begann für beide der Abend. Er begann für Gershwin, der schon an der Leine zog, weil er den scharfen Geruch von Desinfektionsmitteln und die süßen Ausdünstungen der Blondine von unten gerochen hatte, und er begann für Erwin. Sie hörte das Schließen der Tür, als sie gerade den Briefkasten öffnete. 
Zwei Rechnungen und ein Brief fielen auf den Boden. Einzig ein zweifach gefalteter Prospekt machte sich im Briefkasten breit. Es hatte alles verdrängt und wartete darauf, in liebevolle, interessierte Finger genommen und von neugierigen Pupillen gelesen zu werden. Mit einem entschlossenen Griff zerdrückte sie ihn und riss ihn aus dem Metallkasten. Sie knüllte ihn zusammen und warf ihn in einen Blecheimer zu Hunderten von Zetteln. 
\pend
\endnumbering
 
\end{document}

durchaus funktionieren.

Original-TeX kennt nur ein einziges mark-Register. Seit e-TeX gibt es davon eine große Anzahl, die man per etex-Paket auch unter LaTeX nutzen kann, etwa in der Form:

\documentclass[13pt]{scrbook}
%\usepackage{fontspec}
\usepackage[latin1]{inputenc}
\usepackage{ledmac}
\usepackage{etex}
 
\newmarks\Abschnitt
\footparagraph{A}
 
\usepackage[a6paper]{geometry}
 
\usepackage{scrpage2}
\pagestyle{scrheadings}
\ihead{\firstmarks\Abschnitt} 
 
 
 
\begin{document}
 
\beginnumbering
\chapter{Erstens}
\section{Anfang}
\marks\Abschnitt{Abschnitt A}
\pstart\sloppy\ledsidenote{A}Hunger. Stufe für Stufe schob sie sich die Treppe hinauf. Pizza Funghi Salami, Sternchen Salami gleich Blockwurst. Die Pilze hatten sechs Monate in einem Sarg aus Blech, abgeschattet vom Sonnenlicht, eingeschläfert in einer Soße aus Essig, billigem Öl und verschiedenen Geschmacksverstärkern, geruht. Es war nur ein Augenblick, in dem sie die Welt erblickt hatten, dann verschwanden sie wieder in einem 450° heißen Ofen. Die Pizza ruhte auf ihrer rechten Hand, und in ihrer Linken hielt sie eine jener nichtssagenden Plastiktüten. Wie fast jeden Abend hatte sie noch das weiße Häubchen aus dem Krankenhaus auf dem Kopf. Das Fettgewebe ihrer Schenkel verspürte einen Heißhunger auf das müde Öl, das bei jedem Schritt sanft auf den Salamischeiben schaukelte. Die kleinen Zellen ihrer heißen Oberschenkel waren gierig, als sie im Treppenhaus ein Geräusch hörte. Punkt 21 Uhr 53 hatte Herr Erlenkötter die Wohnungstür hinter sich geschlossen. In der Linken hielt er die Leine von Gershwin, der die Stadt und noch mehr die Ausflüge um diese Tageszeit liebte. Herr Erlenkötter verschloss wie jeden Abend zuerst das obere Sicherheitsschloss und dann das Türschloss. Danach schnippte er den Schlüssel mit einer schnellen Bewegung in das dafür vorgesehene Lederetui. %
%%%Header verschwindet:
\ledsidenote{B}\marks\Abschnitt{Abschnitt B}
%%%
%%%%%Header sichtbar:
%\pend%
%\ihead{Abschnitt B}%
%\pstart\ledsidenote{B}%
%%%%%
Die Hand, die die Leine des Hundes hielt, half der anderen, und nachdem er das Etui in seine rechte Jackentasche gesteckt hatte, begann für beide der Abend. Er begann für Gershwin, der schon an der Leine zog, weil er den scharfen Geruch von Desinfektionsmitteln und die süßen Ausdünstungen der Blondine von unten gerochen hatte, und er begann für Erwin. Sie hörte das Schließen der Tür, als sie gerade den Briefkasten öffnete. 
Zwei Rechnungen und ein Brief fielen auf den Boden. Einzig ein zweifach gefalteter Prospekt machte sich im Briefkasten breit. Es hatte alles verdrängt und wartete darauf, in liebevolle, interessierte Finger genommen und von neugierigen Pupillen gelesen zu werden. Mit einem entschlossenen Griff zerdrückte sie ihn und riss ihn aus dem Metallkasten. Sie knüllte ihn zusammen und warf ihn in einen Blecheimer zu Hunderten von Zetteln. 
\pend
\endnumbering
 
\end{document}

Zur genauen Funktion von \marks, \firstmarks, \topmarks, \botmarks etc. siehe die Anleitung zu e-TeX (»etex_man.pdf«, nicht zu verwechseln mit «etex-man.pdf«!) und ein Buch wie »The TeXbook« oder »TeX by Topic«.

BTW: Wenn ein Spezialprozessor wie xetex für ein Beispiel benötigt wird, dies bitte angeben. Es nervt, wenn der erste Lauf erst einmal in einem Fehler endet. Außerdem empfehle ich, für Minimalbeispiele nur dann Spezialprozessoren vorauszusetzen, wenn dies unbedingt notwendig ist! Für Dummy-Text gibt es übrigens die beiden Pakete lipsum und blindtext, wobei letzteres auch ganze Dokumente erzeugen kann, aber unbedingt in der neusten Version verwendet werden sollte.

Vielen Dank erst einmal für die prompte Hilfe! Ich werde mich wohl doch bald einmal gründlich mit plain TeX beschäftigen müssen...

Die Header im zweiten Beispiel sind genau, wie ich mir das vorgestellt habe. Aber leider kommt es an den Stellen, wo \marks\Abschnitt zwischen \pstart und \pend eingesetzt wird, zu einer unschönen Verschiebung der Zeilen. Du hast nicht zufällig eine Idee, was dagegen helfen könnte?

Nur interessehalber: Mir ist aufgefallen, daß ich keine Kursivierungen u.ä. in den neu definierten Marken verwenden kann, ohne einen ! TeX capacity exceeded,... Fehler zu erzeugen. Da das in \leftmark und \rightmark ohne weiteres geht, vermute ich, daß es daran liegt, daß \textit ein LaTeX-Befehl ist, der deshalb nicht von den plain TeXs \marks hantiert werden kann. Stimmt das?

Florian Grammel
Kopenhagen, Dänemark

Bild von Markus Kohm

Probier mal:

\ledsidenote{B\marks\Abschnitt{Abschnitt B}}%

also \marks mit seinen Argumenten in das Argument von \ledsidenote hineinzuziehen. Damit könnte sich das erste Problem in Wohlgefallen auflösen.

Das Problem mit \textit dürfte ein Expansionsproblem sein, wobei ich eine andere Fehlermeldung, \missing \endcsname, bekomme, die typisch dafür ist. Kannst Du die Formatierung nicht einfach in \ihead vornehmen, also \ihead{\textit{\marks\Abschnitt}}? Wenn nicht, müsste man ggf. den \markright/\markboth- und den \leftmark/\rightmark-Mechanismus von LaTeX für die neue Marke adaptieren. Das erhöht natürlich den Aufwand.

\marks in \ledsidenote läßt zwar die Zeilenverschiebung verschwinden, leider wird dann aber auch die Umschaltung des Headers wieder ignoriert.

Ich weiß ja, dass das nicht direkt Dein Gebiet ist, aber hast Du vielleicht trotzdem noch eine andere Idee?

Kursiv muss ich teilweise von Buchstabe zu Buchstabe wechseln können. Ich umschiffe dieses Problem jetzt so, dass ich für den Teil des Headers, in dem ich das muss \markright verwende und die selbstdefinierten Marken dort, wo ich die wechselnden Kursivierungen nicht brauche. Wenn ich – woran ich zweifle – je mehr als zwei Marken mit variierbaren Auszeichnungen brauchen sollte, werde ich mir den Mechanismus genauer ansehen.

Florian Grammel
Kopenhagen, Dänemark

Bild von Markus Kohm

Das ganze Problem wird von ledmac bzw. \pstart...\pend verursacht. Der vertikale Abstand stimmt ja auch bei Verwendung von \markright nicht (wenn ich das richtig sehe). Was zwischen \pstart...\pend steht, wird nicht normal verarbeitet, sondern über einen speziellen Parser eingelesen und ausgegeben. Mich da reinzuwühlen, würde Tage kosten. Eine Lösung könnte leicht bedeuten, dass man den ganzen ledmac-Code umschreiben müsste. Das übersteigt meine Kapazität.

Comments for "ledmac unterdrückt scrheadings" abonnieren