Verbatim-Umgebung: Einrücken ausschalten

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Verbatim-Umgebung: Einrücken ausschalten

von Besserwisser » Sa 12. Sep 2015, 10:24

@Arjen: Wenn du \makebox[r][0pt]{…} verwendest, gehen wir natürlich davon aus, dass du den Inhalt der Box wirklich nach links (also in dem Fall in den Rand) setzen willst. Wenn du Code verwendest, den du dir von irgendwo kopiert hast, ohne ihn im geringsten zu verstehen, dann solltest du so ehrlich sein, dass gleich mit anzugeben und möglichst auch die Quelle für den Code angeben und genau erklären, was anders sein soll. Für mich war jedenfalls in keiner Weise ersichtlich, dass du die Nummern nicht im Rand haben willst.

von Gast » Sa 12. Sep 2015, 09:36

Nur für das Archiv.

Steven B. Segletes' Antwort bei TeX Stackexchange war, \makebox[0pt][r] durch eine einfache \makebox zu ersetzen.

Wenn ich mich nicht total irre, können wir die Box dann aber gleich ganz weglassen.
\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{\scriptsize\theVerbboxLineNo\ \smash{%
    \rule[-1.4\dp\strutbox]{1pt}{1.4\baselineskip}}\ \small}
  NO INDENT SHOULD BE AFTER THIS 
  \begin{verbnobox}[\tmp]
ADASFASFASF
  \end{verbnobox}
NO INDENT SHOULD BE AFTER THIS 
 \begin{verbnobox}[\tmp]
AFASDASFASGASDF

   \end{verbnobox}
   RESET LINE NUMBERS
  \setcounter{VerbboxLineNo}{100}
  \begin{verbnobox}[\tmp]
Reset Line Numbers should appear here
   \end{verbnobox}
   \end{document}

von Arjen » Sa 12. Sep 2015, 08:51

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

von Gast » Fr 11. Sep 2015, 19:05

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.

von Johannes_B » Fr 11. Sep 2015, 16:41

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.

von Gast » Fr 11. Sep 2015, 14:14

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}

Auf Nummerierung bezogen

von Arjen » Fr 11. Sep 2015, 13:14

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

von Besserwisser » Fr 11. Sep 2015, 11:30

Ach, Mensch! Schon wieder vergebliche Liebesmühe, wegen so einem blöden heimliches Crosspost! Was soll der Unfug? :(

von Gast » Fr 11. Sep 2015, 11:27

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?

von Besserwisser » Fr 11. Sep 2015, 11:27

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.

Nach oben