Seite 1 von 2
Verbatim-Umgebung: Einrücken ausschalten
Verfasst: Fr 11. Sep 2015, 11:15
von Arjen
Hallo in die Runde,
ich würde gerne wissen, wie man das Einrücken bei einer Verbatim-Umgebung ausschaltet. Anbei ein Minimalbeispiel. Ich hab es bereits mit \noindent versucht, ging bisher nicht.
\documentclass{article}
\usepackage{verbatimbox}
\makeatletter
\setcounter{VerbboxLineNo}{-1}
\renewenvironment{verbnobox}{%
% \setcounter{VerbboxLineNo}{-1}%
\let\my@par\par%
\def\verbatim@processline{%
{\addtocounter{VerbboxLineNo}{1}%
\@tmp\setbox0=\hbox{\@tmp\the\verbatim@line}%
\hsize=\wd0 \the\verbatim@line\my@par}}%
\verbatim\verbbox@inner%
}
{%
\endverbatim%
\global\def\@tmp{}%
\addtocounter{VerbboxLineNo}{-1}%
}
\makeatother
\begin{document}
\def\tmp{\makebox[0pt][r]{\scriptsize\theVerbboxLineNo\ \smash{\rule[-1.4\dp\strutbox]{1pt}{1.4\baselineskip}}\ }\small}
\noindent NO INDENT SHOULD BE AFTER THIS
\begin{verbnobox}[\tmp]
ADASFASFASF
\end{verbnobox}
\noindent NO INDENT SHOULD BE AFTER THIS
\begin{verbnobox}[\tmp]
AFASDASFASGASDF
\end{verbnobox}
\noindent RESET LINE NUMBERS
\setcounter{VerbboxLineNo}{-1}
\begin{verbnobox}[\tmp]
Reset Line Numbers should appear here
\end{verbnobox}
\end{document}
Danke.
Grüße,
Arjen
Verfasst: Fr 11. Sep 2015, 11:21
von Gast
Möglicherweise stehe ich ein bisschen auf dem Schlauch, aber hast Du nicht bereits bei TeX.SX in
No indent for verbatim environment die Antwort erhalten?
Verfasst: Fr 11. Sep 2015, 11:27
von Besserwisser
Das ist kein Einzug, sondern das sind schlicht die Leerzeichen aus deiner Eingabe. Wenn du die nicht haben willst, lass sie weg:
\documentclass{article}
\usepackage{verbatimbox}
\makeatletter
\setcounter{VerbboxLineNo}{-1}
\renewenvironment{verbnobox}{%
% \setcounter{VerbboxLineNo}{-1}%
\let\my@par\par%
\def\verbatim@processline{%
{\addtocounter{VerbboxLineNo}{1}%
\@tmp\setbox0=\hbox{\@tmp\the\verbatim@line}%
\hsize=\wd0 \the\verbatim@line\my@par}}%
\verbatim\verbbox@inner%
}
{%
\endverbatim%
\global\def\@tmp{}%
\addtocounter{VerbboxLineNo}{-1}%
}
\makeatother
\begin{document}
\def\tmp{\makebox[0pt][r]{\scriptsize\theVerbboxLineNo\ \smash{\rule[-1.4\dp\strutbox]{1pt}{1.4\baselineskip}}\ }\small}
\noindent NO INDENT SHOULD BE AFTER THIS
\begin{verbnobox}[\tmp]
ADASFASFASF
\end{verbnobox}
\noindent NO INDENT SHOULD BE AFTER THIS
\begin{verbnobox}[\tmp]
AFASDASFASGASDF
\end{verbnobox}
\noindent RESET LINE NUMBERS
\setcounter{VerbboxLineNo}{-1}
\begin{verbnobox}[\tmp]
Reset Line Numbers should appear here
\end{verbnobox}
\end{document}
Das Paket
listings bietet übrigens Optionen für einen tatsächlichen Einzug oder zum Entfernen von (Leer-)Zeichen am Anfang jeder Zeile.
Verfasst: Fr 11. Sep 2015, 11:27
von Gast
Für das sehr empfehlenswerte
listings-Paket gibt es neben dem manuellen gobble=n, mit dem die ersten n Zeichen ignoriert werden, wohl auch automatische Möglichkeiten.
Nämlich [d]lstautogobble[/d], das aus
How to automatically skip leading white spaces in listings hervorging, ein paar weiter Fragen dazu sind
Verbatim environment with correct tab handling and special characters und
How to remove the leading unnecessary white spaces when using linerange option?
Verfasst: Fr 11. Sep 2015, 11:30
von Besserwisser
Ach, Mensch! Schon wieder vergebliche Liebesmühe, wegen so einem blöden heimliches Crosspost! Was soll der Unfug?

Auf Nummerierung bezogen
Verfasst: Fr 11. Sep 2015, 13:14
von Arjen
Das ist auf die Nummerierung bezogen.
alles was im Code ist, sollte einen einheitlichen Rand haben.
Die Zahlen stehen etwas ab.
Danke.
Grüße,
Arjen
Verfasst: Fr 11. Sep 2015, 14:14
von Gast
Ich verstehe wohl nicht ganz, worauf Du hinaus möchtest. Aber nutze doch einfach
listings anstatt dieser selbst zusammengebastelten Version. Da hast Du die volle Kontrolle über Zeilennummern und den ganzen Spaß.
\documentclass{article}
\usepackage{listings}
\lstset{
basicstyle=\ttfamily,
frame=leftline,
framerule=1pt,
numbers=left,
numberstyle=\scriptsize,
}
\begin{document}
Lorem ipsum
\begin{lstlisting}[gobble=6]
lorem
ipsum
\end{lstlisting}
dolor sit amet.
\begin{lstlisting}[firstnumber=last]
dolor sit amet
\end{lstlisting}
Consecetur
\begin{lstlisting}[gobble=6]
Reset Line Numbers should appear here
\end{lstlisting}
\end{document}
Verfasst: Fr 11. Sep 2015, 16:41
von Johannes_B
Crossposts werden von vielen geächtet. Hier bei goLaTeX sind sie sogar nach dem
Regelwerk nicht erlaubt.
Deswegen: Transparenz, ein einfacher Link mit dem Satz
Ich habe auch bei XY gepostet, aber noch keine Antwort erhalten.
Was ich allerdings nicht verstehe: Du hast bereits eine Antwort erhalten, gibst Steven aber absolut kein Feedback.
Verfasst: Fr 11. Sep 2015, 19:05
von Gast
Möchtest Du so etwas wie
\documentclass{article}
\usepackage{listings}
\lstset{
basicstyle=\ttfamily,
frame=leftline,
framerule=1pt,
numbers=left,
numberstyle=\scriptsize,
xleftmargin=\parindent,
}
\begin{document}
Lorem ipsum
\begin{lstlisting}[gobble=6]
lorem
ipsum
\end{lstlisting}
dolor sit amet.
\begin{lstlisting}[firstnumber=last]
dolor sit amet
\end{lstlisting}
Consecetur
\begin{lstlisting}[gobble=6]
Reset Line Numbers should appear here
\end{lstlisting}
\end{document}
Das habe ich zumindest aus Deinen Äußerungen bei TeX.SX herausgelesen.
Verfasst: Sa 12. Sep 2015, 08:51
von Arjen
danke für die vielen Hilfen, es hat wirklich sehr geholfen und tut mir leid für das crossposten
kommt nicht noch mal vor.
Grüße,
Arjen