PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Neuer Befehl für \verb



trinix
17-04-2007, 17:14
Hallo,

nach der FAQ (http://www.dante.de/faq/de-tex-faq/html/makros4.html#1) 8.5.16 habe ich versucht einen neuen Befehl für \verb zu definieren, aber leider kommt ein Fehler bezüglich "too many }".

Wie könnte ich es anpassen.

MB:

\documentclass{scrartcl}
\newcommand{\code}{}\let\code=\verb
\renewcommand{\verb}[1]{\textbf\code{#1}}

\begin{document}
Mit \code{\begin{document}} wird ...
\end{document}

voss
17-04-2007, 17:31
Hallo,

nach der FAQ (http://www.dante.de/faq/de-tex-faq/html/makros4.html#1) 8.5.16 habe ich versucht einen neuen Befehl für \verb zu definieren, aber leider kommt ein Fehler bezüglich "too many }".

Wie könnte ich es anpassen.

MB:

\documentclass{scrartcl}
\newcommand{\code}{}\let\code=\verb
\renewcommand{\verb}[1]{\textbf\code{#1}}

\begin{document}
Mit \code{\begin{document}} wird ...
\end{document}

\verb ist kein Makro im eigentlichen Sinne, deswegen geht das hier nicht.
Abgesehen davon ist listings hier eh viel besser ...


\documentclass{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[scaled]{luximono}
\usepackage{listings}

\lstset{basicstyle=\ttfamily\bfseries,language=[LaTeX]TeX}

\begin{document}
Mit \lstinline|\begin{document}| wird ...
\end{document}


Herbert

localghost
17-04-2007, 17:33
Die verbatim-Umgebung und der Befehl \verb dürfen nicht als Argument in irgendeinem anderen Befehl benutzt werden!

Etwas ähnliches wurde hier schon mal angesprochen. Ich weiß nur nicht mehr, in welchem Zusammenhang. Die Suchfunktion sollte entsprechende Ergebnisse liefern.

… oder die Lösung von voss nehmen.

trinix
17-04-2007, 17:53
\documentclass{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[scaled]{luximono}
\usepackage{listings}

\lstset{basicstyle=\ttfamily\bfseries,language=[LaTeX]TeX}

\begin{document}
Mit \lstinline|\begin{document}| wird ...
\end{document}

Das konnte ich so übernehmen - klappt gut.

Momentan wird dabei die Formatierung von "\lstinline" über "\lstset" gesteuerte. Ist es aber auch möglich, dass ich "\lstset" für einen eigenen Befehl verwenden kann wie zB \code? Dann wäre ich flexibler wenn es doch mal einen andere Formatierung für verschiedene Sprachen braucht.

voss
17-04-2007, 18:46
Das konnte ich so übernehmen - klappt gut.

Momentan wird dabei die Formatierung von "\lstinline" über "\lstset" gesteuerte. Ist es aber auch möglich, dass ich "\lstset" für einen eigenen Befehl verwenden kann wie zB \code? Dann wäre ich flexibler wenn es doch mal einen andere Formatierung für verschiedene Sprachen braucht.

steht alles in der ANleitung, wobei es hier einfacher ist, sich eigene Stile zu definieren
und die einfach zu laden: \lstinline[style=blablah]|was auch immer|


Herbert

trinix
17-04-2007, 19:52
...wobei es hier einfacher ist, sich eigene Stile zu definieren
und die einfach zu laden: \lstinline[style=blablah]|was auch immer|
Passt...
Mit

\lstdefinestyle{colat}{language=[LaTeX]TeX,%
basicstyle=\ttfamily,%
keywordstyle={\color{Green}},%
identifierstyle={\color{DeepPink}}}
kann ich den Code im Text nun genauso angeben

\lstinline[style=colat]|\begin{document}|
wie für die restlichen listings.

Besten Dank
trinix