Zeilenumbruch nach Makro unterdrücken

Zeilenumbruch nach Makro unterdrücken

Wie kann ich einen Zeilenumbruch unterdrücken, der nachträglich durch ein Makro eingefügt wird? Gibt es einen Befehl, der Zeilenumbrüche genau einmal ausschaltet und nach dem Überspringen wieder einschaltet?
Etwa indem man ignoriert, dass das folgende Makro damit beginnt, einen neuen Absatz zu erstellen, bevor Text ausgegeben wird. Es
wird also nur der Text gedruckt, nicht aber der Zeilenumbruch, der den Absatz einleitet. Ist ein solcher Befehl möglich?

Als Beispiel nachgefragt:
schreibt: "erster Zeilenumbruch Leerzeichen foo"
gesucht: "erste Leerzeichen foo"

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{enumitem}
\begin{document}
\begin{itemize}
\item[]{first} \begin{verbatim}             foo
             bar
\end{verbatim} \item[] {second} more text
\end{itemize}
\end{document}

Antwort1

Der Fall verbatimist „knifflig“: Standardmäßig gibt diese Umgebung einen Zeilenumbruchbefehl aus und setzt seinen Inhalt auf die gesamte Zeilenlänge (wobei hier berücksichtigt wird, dass es sich um eine Liste handelt).

fancyvrbSie können die Einrichtungen zum Boxen der Verbatim-Umgebung nutzen :

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{enumitem}
\usepackage{fancyvrb}
\begin{document}

\begin{itemize}
\item[first]
\begin{BVerbatim}[baseline=t]
foo
bar
\end{BVerbatim}

\item[second] more text
\end{itemize}
\end{document}

Beachten Sie, dass Sie den Inhalt einer Verbatim-Umgebung nicht einrücken sollten, es sei denn, Sie möchten eine eingerückte Ausgabe.

Ihre Verwendung von \item[] {first}ist fragwürdig: Der Befehl \itemhat nur ein optionales Argument und kein obligatorisches, sodass Sie genau die gleiche Ausgabe erhalten wie

\item[] first

Ich habe es firstals optionales Argument angegeben. Machen Sie, was Sie wollen. Wenn Sie ein labelloses Argument möchten itemize, ist es einfacher zu sagen

\begin{itemize}[label={}]

und verwenden Sie einfach \item, da Sie verwenden enumitem.

Bildbeschreibung hier eingeben

Hier ist die geänderte Liste ohne Beschriftung:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{enumitem}
\usepackage{fancyvrb}
\begin{document}

\begin{itemize}[label={}]
\item first 
\begin{BVerbatim}[baseline=t]
foo
bar
\end{BVerbatim}

\item second more text
\end{itemize}
\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen