PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : \verb|| verändern



André25
30-01-2012, 17:46
Hallo Freunde!

Ich habe in meinem Text diverse Zeichenketten mit \verb|| gesetzt. Nun hätte ich gern, dass diese farbig sind.

Nun habe ich versucht, ein neues Kommando zu kreieren, was leider nicht funktioniert (die Verwendung von \usepackage{color} vorausgesetzt).


\newcommand{\verbo}[1]{ \textcolor{red}{\begin{verbatim} #1 \end{verbatim}} }
bzw.

\newcommand{\verbo}[1]{ \textcolor{red}{\verb|#1|} }
Funktioniert beides nicht (ich wollte nur zeigen, dass ich mir schon Gedanken gemacht habe ;) ).

Hat jemand eine Idee, wie ich das elegant lösen kann? (Dass die Verwendung von \verb|| vielleicht nicht immer sehr elegant ist, weiß ich ;) ).


Besten Dank und liebe Grüße,

André :cool:

mechanicus
30-01-2012, 17:58
Hi,

\verb zu redefinieren würde funktionieren, aber davon rate ich, denn es ist ein Basismakro des Kernels. Nutze lieber Pakete wie listings oder newverbs, um dir das Leben einfach zu machen.


\documentclass{article}
\usepackage{xcolor}
\usepackage{newverbs}
\newverbcommand\myverb{\color{red}}{}
\usepackage{listings}
\lstMakeShortInline[basicstyle=\ttfamily\color{blue}]{|}


\begin{document}
Text \myverb|\foo| Text |\foo|
\end{document}

Marco

u_fischer
30-01-2012, 18:04
Für neue verbatim-Umgebungen kannst du z.B. fancyvrb oder listings benutzen. Ein eigener \verb-Befehl geht so:


\documentclass{article}
\usepackage{color}
\makeatletter
\newcommand\verbo{\relax\ifmmode\hbox\else\leavevm ode\null\fi
\bgroup
\verb@eol@error \let\do\@makeother \dospecials
\verbatim@font\color{green}\@noligs
\@ifstar\@sverb\@verb}
\makeatother

\begin{document}
\verb+abc+, \verbo+cde+
\end{document}

bobmalaria
30-01-2012, 18:10
und noch eine variante. hilft denn eingentlich nciht einfach nur \texttt{ } zu verwenden???


\documentclass{article}
\usepackage{color,fancyvrb}

\begin{document}

\newcommand{\vb}[1]{%
\DefineShortVerb{\|}%
\SaveVerb{vbb}|#1|
{\color{red}\UseVerb{vbb}}
}
Lalalal
\vb{dsdfsdf}
lalala
\end{document}

mechanicus
30-01-2012, 18:35
Wenn wir beim Auflisten sind, dann empfiehl sich auch das Paket xparse zu nennen:

MIT VORSICHT GENIESSEN. IST NOCH NICHT AUSGEREIFT

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{xcolor}
\usepackage{xparse}
\RenewDocumentCommand{\verb}{v}
{\texttt{\color{red}#1}}
\begin{document}
HALLO \verb|\foo| HALLO
\end{document}

André25
30-01-2012, 18:51
Hallo Marco!


\verb zu redefinieren würde funktionieren, aber davon rate ich, denn es ist ein Basismakro des Kernels. Nutze lieber Pakete wie listings oder newverbs, um dir das Leben einfach zu machen.

Besten Dank, funktioniert prima!

---

Hallo Ulrike!


Ein eigener \verb-Befehl geht so:

Funktioniert auch absolut prima! Meine LaTeX-Kenntnisse sind ca. 20.000 Meilen darunter um das zu verstehen (aber ich bin mir sicher, dass sich das bald ändert ;) ).

---

Hallöle Bob!


und noch eine variante. hilft denn eingentlich nciht einfach nur \texttt{ } zu verwenden???

Mit \verb|| setzt LaTeX ja Befehle, sozusagen ohne sie auszuführen. Das geht natürlich mit einfach nur \texttt{ } nicht.

---
Und noch mal hallo Marco!


Wenn wir beim Auflisten sind, dann empfiehl sich auch das Paket xparse zu nennen:

Auch das funktioniert prima - Viele Wege führen von Rom weg ;) . Hätte den Vorteil gehabt, dass ich nicht \verb in \verbo hätte umbenennen müssen (was ich aber nun getan habe; und was mit Suchen/Ersetzen ja auch nicht allzu umständlich ist).

Vielen Dank @ALL!

André :D