PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit fancyhdr und verbatim



DonDieselkopf
08-01-2007, 22:13
Leider bekomme ich es nicht hin, die verbatim Umgebung in einen Header einzubauen. Schreibe ich z.B. sowas

\usepackage{fancyhdr}
\begin{document}
\rhead{\verb$12_3$}{\verb$12_3$}

test test test

\end{document}

erhalte ich eine Fehlermeldung. Vielleicht kann mir ja jemand sagen, was ich falsch mache. Danke.

localghost
08-01-2007, 22:22
Dazu wäre es ganz hilfreich, die Fehlermeldung erst einmal zu kennen. Also schreibe sie in deinem nächsten Beitrag vollständig dazu.

DonDieselkopf
08-01-2007, 22:34
Sorry. Hab ausserdem den Code falsch aufgeschrieben. Hier nochmal vernuenftig mit der Fehlermeldung :

--

\documentclass[a4paper]{book}

\usepackage{fancyhdr}
\pagestyle{fancyplain}
\rhead[\verb$12_3$]{\verb$12_3$}

\begin{document}
test test test
\end{document}

--

This is pdfeTeX, Version 3.141592-1.30.6-2.2 (MiKTeX 2.5 RC 1)
entering extended mode
(test.tex
LaTeX2e <2005/12/01>
Babel <v3.8g> and hyphenation patterns for english, dumylang, nohyphenation, ge
rman, ngerman, french, loaded.
("C:\Programme\MiKTeX 2.5\tex\latex\base\book.cls"
Document Class: book 2005/09/16 v1.4f Standard LaTeX document class
("C:\Programme\MiKTeX 2.5\tex\latex\base\bk10.clo"))
("C:\Programme\MiKTeX 2.5\tex\latex\fancyhdr\fancyhdr.sty") (test.aux)
! Missing $ inserted.
<inserted text>
$
l.12 \end{document}

?

localghost
08-01-2007, 22:43
Nun, Du wählst für den Befehl \verb das völlig falsche Zeichen. Das $ ist für den Mathematikmodus bei in Text eingebetteten Formeln reserviert und kann daher hier nicht verwendet werden. Deshalb auch die Forderung des Compilers nach einem zweiten $.

! Missing $ inserted.

$
l.12 \end{document}

?
Aus diesem Grunde solltest Du ein Zeichen wählen, welches ansonsten selten verwendet wird.

\rhead[\verb|12_3|]{\verb|12_3||}
Ich bin fast sicher, dass dies so funktioniert.

DonDieselkopf
09-01-2007, 14:44
Wenn ich das tue kommt der gleiche Fehler.

Hier nochmal der Code,


\documentclass[a4paper]{book}

\usepackage{fancyhdr}
\pagestyle{fancyplain}

\rhead[\verb|12_3|]{\verb|12_3|}

\begin{document}
test test test
\end{document}


und der Fehler,



This is pdfeTeX, Version 3.141592-1.30.6-2.2 (MiKTeX 2.5 RC 1)
entering extended mode
(test.tex
LaTeX2e <2005/12/01>
Babel <v3.8g> and hyphenation patterns for english, dumylang, nohyphenation, ge
rman, ngerman, french, loaded.
("C:\Programme\MiKTeX 2.5\tex\latex\base\book.cls"
Document Class: book 2005/09/16 v1.4f Standard LaTeX document class
("C:\Programme\MiKTeX 2.5\tex\latex\base\bk10.clo"))
("C:\Programme\MiKTeX 2.5\tex\latex\fancyhdr\fancyhdr.sty") (test.aux)
! Missing $ inserted.
<inserted text>
$
l.10 \end{document}

?

localghost
09-01-2007, 14:49
Dann wird das "_" weiterhin als mathematisches Zeichen für eine Tiefstellung (subscript) interpretiert. Soll denn die 3 an der 12 tiefgestellt erscheinen oder wie im Reintext als 12_3?

DonDieselkopf
09-01-2007, 15:32
Ich moechte den Unterstrich als Unterstrich (also wie im Reintext) dargestellt haben. Sonst braeuchte ich ja das verbatim nicht.

localghost
09-01-2007, 15:47
Ein Blick in die Literatur enthüllt folgendes:

Achtung: Die verbatim-Umgebung und der \verb-Befehl dürfen nicht als Argument in irgendeinem anderen Befehl benutzt werden!!!
Da muss nichts mehr hinzugefügt werden. Was soll diese Zeichenkombination denn darstellen?

DonDieselkopf
09-01-2007, 16:04
Ich hatte die Hoffnung, dass jemandem ein Workaround oder irgendwas einfaellt, wodurch es doch funktioniert. Ich moechte im Prinzip die CVS Id Ausgabe im Seiten-Header darstellen. Diese werden durch $Id$ eingebunden. Und meine Dateinamen besitzen zum Teil Unterstriche, die auch als solche dargestellt werden sollen. Wuerde mich ueber eine konstruktive Idee freuen...

localghost
09-01-2007, 16:11
Vielleicht funktioniert ein unterstrichenes Leerzeichen.

\rhead[12\underline{\space}3]{12\underline{\space}3}
Eine andere Möglichkeit wäre ein feiner Balken.

\rhead[12\rule{1ex}{0.1pt}3]{12\rule{1ex}{0.1pt}3}
Wenn das nicht konstruktiv ist ...

DonDieselkopf
09-01-2007, 16:17
Sehr konstruktiv, nur leider nicht anwendbar. Du kennst dich doch sicherlich mit CVS aus. Wenn man in seinem Quellcode z.B. $Id$ einfuegt, erscheint nach dem einchecken des Files ein Info-Tag mit Dateiname und Versionsnummer, sowas in dieser Art:

$Id: Chapter_HF.tex,v 1.4 2007/01/08 13:43:52 phxyz Exp $

Und diese Zeile wuerde ich gern auf jeder Seite im Header (oder Footer von mir aus) stehen haben. Und das soll natuerlich nicht als Mathematikumgebung interpretiert werden.

localghost
09-01-2007, 16:55
[...] Du kennst dich doch sicherlich mit CVS aus. [...]
Nein, das tue ich leider nicht. Aber hier ist nicht der Ort, mir dies zu erklären. Klingt jedoch interessant.

sofa-surfer
09-01-2007, 17:30
Hallo,

schon mal an das listings-Paket mit dem entsprechenden Befehl zum Einfügen von Code innerhalb einer Zeile probiert? (Weiß gerad nicht, wie der heißt, aber dazu gibt es ja die Doku)

Matthias

DonDieselkopf
10-01-2007, 10:38
Hallo,

hab mal listings probiert. Leider tut's das auch nicht.



\documentclass[a4paper]{book}

\usepackage{listings}
\usepackage{fancyhdr}
\pagestyle{fancyplain}

\rhead{
\begin{lstlisting}{}
$12_3$
\end{lstlisting}
}

\begin{document}
test test test
\end{document}


Aehnlicher Fehler...



This is pdfeTeX, Version 3.141592-1.30.6-2.2 (MiKTeX 2.5 RC 1)
entering extended mode
(test.tex
LaTeX2e <2005/12/01>
Babel <v3.8g> and hyphenation patterns for english, dumylang, nohyphenation, ge
rman, ngerman, french, loaded.
("C:\Programme\MiKTeX 2.5\tex\latex\base\book.cls"
Document Class: book 2005/09/16 v1.4f Standard LaTeX document class
("C:\Programme\MiKTeX 2.5\tex\latex\base\bk10.clo"))
("C:\Programme\MiKTeX 2.5\tex\latex\listings\listings.sty"
("C:\Programme\MiKTeX 2.5\tex\latex\graphics\keyval.sty")
("C:\Programme\MiKTeX 2.5\tex\latex\listings\lstpatch.sty")
("C:\Programme\MiKTeX 2.5\tex\latex\listings\lstmisc.sty")
("C:\Programme\MiKTeX 2.5\tex\latex\listings\listings.cfg"))
("C:\Programme\MiKTeX 2.5\tex\latex\fancyhdr\fancyhdr.sty") (test.aux)
! Argument of \lst@next has an extra }.
<inserted text>
\par
l.15 \end{document}

?


@Localghost

Dude, du hast gefragt wozu ich das ueberhaupt brauche. Insofern ist die Stelle nach einer Frage sehr wohl die richtige Stelle fuer eine Antwort.

sofa-surfer
10-01-2007, 10:45
\documentclass[a4paper]{book}

\usepackage{listings}
\usepackage{fancyhdr}
\pagestyle{fancyplain}

\rhead{\lstinline{$12_3$}}

\begin{document}
test test test
\end{document}

Matthias

DonDieselkopf
10-01-2007, 10:59
Das ist die Loesung. Super! Vielen herzlichen Dank.