PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : \verb als Kommando Argument



badera
24-12-2004, 17:03
Weshalb kann man eigentlich kein Argument einem Kommando übergeben, in dem \verb drinn vorkommt?

Folgender Code ist genau aus dem Grund nicht zulässig:


..
\newcommand{\mycommand}[1]
{
textbf{\protect #1}
}
..
\mycommand{\verb+blablabl+}


Klar, \verb bewirkt ja quasi, dass der nachfolgende Text nicht geparst wird. Aber was spricht dagegen, dies trotzdem als Argument zu übergeben? Gibt es einen Workaround? Oder geht das schlichtwegs nicht?

- Adrian

bischi
27-12-2004, 10:53
Hab ich auch mal versucht... Geht glaub ich wirklich nicht, mach meiner Meinung nach auch Sinn, da du sonst irgendwelche komischen Fehler auftreten können, wenn du das Zeugs nicht mehr richtig schliesst. Mein Tipp:


\newenvironment{Deine_Umgebung}[AnzArgumente]{
Hier Kommt alles vor der Eingabe...

}{Hier alles nachher}

Anwenden musst dus dann etwa so:

\begin{Deine_Umgebung}
\begin{verbatim}
blablabla...
\end{verbatim}
\end{Deine_Umgebung}

MfG Bischi

PS: Ja, nicht genau die Antwort auf deine Frage, läuft aber mit Verbatim zusammen problemlos - es lassen sich auch komplizierte Konstrukte damit machen...

blubb
30-12-2004, 12:38
Mal wieder eine klassische "Nicht-Antwort":
Was willst du erreichen?
Statt \verb reicht dir vielleicht schon \path aus dem url-Paket.

\documentclass{scrartcl}
\usepackage{url}
\begin{document}

\newcommand{\mycommand}[1]
{ #1 }
%\mycommand{\verb+blablabl+}
\mycommand{\path{blabla_bla}}

\end{document}

Anmerkungen:

\path hat eigentlich eine Bedeutung (Dateipfad) und sollte eigentlich nur dafür verwendet werden.
url.sty wird schon von hyperref nachgeladen.
url.sty erlaubt die Definietion neuer \path-ähnlicher Makros. Dort kann dann auch ein eigenes Layout definiert werden (und ist vom logischen Markup einfach sauberer). (Hab die Doku gerade nicht zur Hand).


Blubb