PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wer versteht \markright{} ?



cookie170
18-07-2008, 17:13
Hallo,

ich würde gerne eine Grafik in die Kopfzeile der ersten (und einzigen) Seite setzen und habe für mein Problem folgendes Beispiel:


\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}


\title{Titel}

\begin{document}

\maketitle

\thispagestyle{myheadings}
\markright{\rule{\linewidth}{2pt}}%Statt der Graphik

Und los gehts. Oder eben nicht.

\end{document}


Bei mir gibts Fehlermeldungen, soweit das Auge reicht. Was mache ich falsch?

Für eine Erklärung dankt

Alexander

localghost
18-07-2008, 17:21
Zu behaupten, ich würde das verstehen, wäre etwas zu viel gesagt. Aber ein \protect reicht schon, um die Fehler zu beseitigen.

\markright{\protect\rule{\linewidth}{2pt}}


MfG
Thorsten¹

cookie170
19-07-2008, 12:16
Vielen Dank,

so ein Mist, das ist nirgendwo dokumentiert und ich habe _gesucht_. Mal sehen, ob sich das ändern lässt.

Gruß,
Alexander

voss
19-07-2008, 12:23
so ein Mist, das ist nirgendwo dokumentiert und ich habe _gesucht_. Mal sehen, ob sich das ändern lässt.


es ist schwierig zu dokumentieren, da es sehr viele Möglichkeiten gibt,
wo es ohne funktioniert und ebenso viele, wo es nicht funktioniert.
Und man kommt auch nicht auf die Idee nach "zerbrechlichen"
Befehlen zu suchen. "Makro in Makro" ist immer so eine Sache und
ein fehlendes \protect sollte immer in Erwägung gezogen werden, wenn
es dort einen Fehler gibt. So habe ich mir das mal gemerkt.

Herbert

cookie170
19-07-2008, 16:07
Es ist ja noch nicht einmal mit \protect getan: wenn man die Kopfzeilen-Befehle vor \maketitle schreibt, geht's auch nicht. Da überschneiden sich zwei ziemlich unglückliche Bugs.

Das eigentliche Problem ist aber, dass -- nach meinem Verständnis -- die auffindbaren Dokus (Begleiter, Praxis-Handbuch, usrguide, Koma, ...) alle unlogisch an die Erklärung von Kopfzeilen herangehen. Statische, vom Anwender per Hand befüllte Kopfzeilen werden als Sonderfall der lebenden Kopfzeilen behandelt. Dazu kommt, dass latex.ltx offensichtlich ein bestimmtes Konzept verfolgt, das auch nicht so einfach zu erklären ist, jedenfalls habe ich das usrguide.pdf so entnommen.

Dabei müßte der erste Schritt die Erklärung und Anwendung von \markright und \markboth zusammen mit \thispagestyle{myheadings} sein. Wie es weitergeht, muss ich mir mal übers Wochenende ausdenken.

Oder seht Ihr -- Thorsten und Herbert -- das anders?

Gruß,
Alexander

voss
19-07-2008, 22:07
Es ist ja noch nicht einmal mit \protect getan: wenn man die Kopfzeilen-Befehle vor \maketitle schreibt, geht's auch nicht. Da überschneiden sich zwei ziemlich unglückliche Bugs.

Es gibt definitiv keine bekannten Bugs in TeX ... :D Und wenn doch, dann
wärst du um ca 300$ reicher ...



Das eigentliche Problem ist aber, dass -- nach meinem Verständnis -- die auffindbaren Dokus (Begleiter, Praxis-Handbuch, usrguide, Koma, ...) alle unlogisch an die Erklärung von Kopfzeilen herangehen. Statische, vom Anwender per Hand befüllte Kopfzeilen werden als Sonderfall der lebenden Kopfzeilen behandelt. Dazu kommt, dass latex.ltx offensichtlich ein bestimmtes Konzept verfolgt, das auch nicht so einfach zu erklären ist, jedenfalls habe ich das usrguide.pdf so entnommen.

Dabei müßte der erste Schritt die Erklärung und Anwendung von \markright und \markboth zusammen mit \thispagestyle{myheadings} sein. Wie es weitergeht, muss ich mir mal übers Wochenende ausdenken.


nein, das Problem sitzt vor dem Computer ... ;)
Man braucht einige Zeit, um die Funktionsweise von TeX annähernd (!) zu kapieren, hat aber die Erwartung, dass es einfach zu bedienen ist. Man muss
sich davon lösen, dass man eine Textverarbeitung vor sich hat, sondern eine
Programmiersprache, die auf den Textsatz optimiert ist. Ich würde das mit
einer Sprache wie APL vergleichen, bis man die gewöhnungsbedürftige Syntax
und vor allen Dingen das Prinzip kapiert hat, dauert es ...

Bei einer Textverarbeitung wie OpenOffice/Word kann man (theoretisch) alle
Funktionen eindeutig beschreiben. Dies geht aber nicht bei TeX, da man hier jeden Befehl komplett überschreiben und neu mit erweiterten Funktionen
definieren kann. Diesen Vorteil erkauft man sich eben mit der Komplexität
und scheinbaren Kompliziertheit von TeX.

Herbert

Stefan_K
19-07-2008, 22:17
Hallo,


Es gibt definitiv keine bekannten Bugs in TeX ... :D Und wenn doch, dann
wärst du um ca 300$ reicher ...

Alexander bezieht sich vmtl. auf evtl. Bugs in LaTeX, nicht in TeX, da \markboth und \markright beide durch LaTeX definiert sind, \maketitle gar erst durch die Klassen. Trotzdem würde ich schon gern erfahren, welche Bugs genau gemeint sind.

Viele Grüße,

Stefan

cookie170
20-07-2008, 09:27
Hallo Stefan,

1. Das Argument von \markright fällt wohl in die Kategorie "moving argument", und wenn man eine zerbrechliche Anweisung ("non robust command") verwendet, führt das zu den üblichen Fehlern. Das ist kein Bug von LaTeX, sondern das Fehlen eines Hinweises in der Literatur ist das Problem.

2. \markright und \markboth funktionieren vor \maketitle nicht, d.h., sie werden ignoriert. Ist das der Fehler von LaTeX? Wie dem auch sei, auch dies sollte so dokumentiert werden, dass ich draufkommen kann.

Ok, ich sollte mir vielleicht endlich mal die Einführung von L. Lamport kaufen.

Gruß,
Alexander

voss
20-07-2008, 11:53
1. Das Argument von \markright fällt wohl in die Kategorie "moving argument", und wenn man eine zerbrechliche Anweisung ("non robust command") verwendet, führt das zu den üblichen Fehlern. Das ist kein Bug von LaTeX, sondern das Fehlen eines Hinweises in der Literatur ist das Problem.


Im LaTeX-Begleiter gibt es einen expliziten Indexeintrag zu

\makeright -- Fehler bei

und eingehender Erklärung!



2. \markright und \markboth funktionieren vor \maketitle nicht, d.h., sie werden ignoriert. Ist das der Fehler von LaTeX? Wie dem auch sei, auch dies sollte so dokumentiert werden, dass ich draufkommen kann.


die Titelseite hat pagestyle empty, was sollen da Kopfzeilen?

Herbert

cookie170
21-07-2008, 10:27
Im LaTeX-Begleiter gibt es einen expliziten Indexeintrag zu

\makeright -- Fehler bei

und eingehender Erklärung!


Treffer und versenkt. Den Eintrag habe ich übersehen.



die Titelseite hat pagestyle empty, was sollen da Kopfzeilen?



Ich verfasse ein einseitiges Dokument (eine Vollmacht) und will das Logo des Vollmachtgebers der Einfachheit halber als Kopfzeile abdrucken. Also muss ich einen Seitenstil verwenden, der eine Kopfzeile abdruckt. Und zwar unter Zeitdruck und dann tut's nicht -- zum aus der Haut fahren.

Aber herzlichen Dank für den Tip zum Begleiter. Klasse Buch.

Gruß,
Alexander

voss
21-07-2008, 10:44
Ich verfasse ein einseitiges Dokument (eine Vollmacht) und will das Logo des Vollmachtgebers der Einfachheit halber als Kopfzeile abdrucken. Also muss ich einen Seitenstil verwenden, der eine Kopfzeile abdruckt. Und zwar unter Zeitdruck und dann tut's nicht -- zum aus der Haut fahren.


der Seitenstil ist hier empty und dann setzt man ihn eben auf plain und
definiert nur für diese Seite plain um. Oder man arbeitet mit \vspace*{-3cm},
womit die Seite hochgezogen wird und dann wie eine Seite mit Kopfzeile
aussieht.

Herbert