lstlisting zu breit

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: lstlisting zu breit

von Gast » Di 23. Feb 2016, 02:10

Meine Lösung:
xleftmargin=0.5cm

von Gast » Di 14. Apr 2009, 17:29

Die Linien des frame können können mit z.B. framexrightmargin verschoben werden . Bsp:
\usepackage{listings}
...
\begin{lstlisting}[language={inform},frame=tblr,framexrightmargin=-97pt]
kurzer Text
\end{lstlisting}
In der Dokumentation zum Listing Packet, die man bei http://www.dante.de/cgi-bin/ctan-index runterladen kann, findet man auch Informationen zu andere Einstellungen.

von kFieLd » Fr 10. Apr 2009, 13:54

KOMA hat geschrieben: Theoretisch könnte man natürlich die Code für die umrahmte, farbige Fläche austauschen und mit Hilfe eines Pakets erledigen, das echte farbig gefüllte grafische Objekte kennt, beispielsweise tikz oder ps-tricks.

Ok. Das hört sich etwas komplizierter an!
Werde meinen Matlab-Quelltext dann wohl anders darstellen müssen, als in abgerundeten Ecken.

Besten dank trotzdem,
kFieLd

P.S.: Ich lass das Thema mal markiert als "komplex", falls doch noch jemand ne Lösung findet...

von KOMA » Fr 10. Apr 2009, 08:41

Das Problem mit den Ecken könnte schlicht sein, dass TeX nur rechteckige Boxen mit eckigen Ecken :) kennt, weshalb die farbige Fläche eben echte Ecken hat. Theoretisch könnte man natürlich die Code für die umrahmte, farbige Fläche austauschen und mit Hilfe eines Pakets erledigen, das echte farbig gefüllte grafische Objekte kennt, beispielsweise tikz oder ps-tricks. Frag mich jetzt aber nicht, wie das geht. Dazu müsste ich mich auch erst einmal in den Code hineinwühlen. Dafür fehlt mir aber die Zeit.

von kFieLd » Mi 8. Apr 2009, 20:34

kFieLd hat geschrieben: Bezüglich des 2. Problems (der graue Hintergrund ragt über die abgerundeten Ecken hinaus) habe ich gerade eine E-Mail an den listings-Paketautoren Brooks Moses geschrieben. Mal schauen, was er dazu sagt.
Leider hat er bisher nicht auf die E-Mail geantwortet. Möglicherweise ist sie ja in seinem Spam-Ordner gelandet...

von kFieLd » Mo 23. Mär 2009, 12:58

Dankeschön für die Erklärung.

Bezüglich des 2. Problems (der graue Hintergrund ragt über die abgerundeten Ecken hinaus) habe ich gerade eine E-Mail an den listings-Paketautoren Brooks Moses geschrieben. Mal schauen, was er dazu sagt.

von KOMA » Mo 23. Mär 2009, 12:35

"Man" weiß, dass bei LaTeX Umgebungen als \foo und \endfoo definiert sind, hat Anleitungen wie die zum Paket verbatim mal gelesen, hat vielleicht irgendwann einmal festgestellt, dass bei etwas wie:
\documentclass{article}
\newenvironment{FOO}{\begin{quote}}{\end{quote}}
\begin{document}
\begin{FOO}
Test
\end{falsch}
\end{document}
die Fehlermeldung für den Anwender eher verwirrend ist, wenn er die Definition von FOO nicht kennt. Hat vielleicht auch verstanden, warum diese verwirrende Fehlermeldung das Resultat sein muss, und deshalb auch verstanden, dass dies hier:
\documentclass{article}
\newenvironment{FOO}{\quote}{\endquote}
\begin{document}
\begin{FOO}
Test
\end{falsch}
\end{document}
Vorteile bringt und kommt deshalb schon gar nicht mehr auf die Idee, es anders zu machen (seltene Ausnahme ist die lrbox-Umgebung, die speziell darauf getrimmt ist in der Definition einer anderen Umgebung verwendet zu werden).

von kFieLd » Mo 23. Mär 2009, 11:58

Interessant!

Wie kommt man darauf, dass man in Definitionen das \begin{minipage} durch \minipage ersetzen muss?

Jedenfalls besten Dank KOMA!
So funktioniert es auch bei mir.

Viele Grüße,
kFieLd

von KOMA » Mo 23. Mär 2009, 11:22

Bei mir funktioniert:
\documentclass{scrreprt} 
 
\usepackage{listings} 
\usepackage{graphicx} 
\usepackage{color} 
\definecolor{listgray}{rgb}{0.88,0.88,0.88} 

\lstnewenvironment{mylisting}{%
  \hspace*{\dimexpr\fboxsep+\fboxrule+.55pt}%
  \minipage{\dimexpr\textwidth-2\fboxsep-2\fboxrule-1.1pt}% 
}{%
  \endminipage
}

\begin{document} 

% lstlisting Einstellungen  
\lstset{ 
  language=Matlab, 
  tabsize=2, 
  showspaces=false, 
  showstringspaces=false, 
  backgroundcolor=\color{listgray}, 
  float=[htb], 
  captionpos=b, 
  basicstyle=\footnotesize, 
  frame=tbrl, %t: top, r, b, l  
  frameround=tttt, 
  numbers=left, 
  numberstyle=\tiny, 
  numberblanklines=false, 
} 
   
%%%%%%%% 
% Linie um die Textbreite darzustellen  
\noindent\rule{\textwidth}{1mm} 
 
\begin{figure} 
 \begin{mylisting} 
     Var = A ./ B; 
     A = Var .* B; 
 \end{mylisting} 
 \caption{Beschriftung}\label{fig:matlab} 
 \end{figure} 
\end{document}

von kFieLd » So 22. Mär 2009, 22:30

KOMA hat geschrieben:In der listings-Anleitung steht irgendwo, wie man eigene Umgebungen definiert, die lstlistings verwenden. Ich komme gerade vom Streichen und fühle mich von der lösemittelarmen Holzlasur so besoffen, dass Du das besser selbst nachschlägst.
Hehe, ja, Farbe kann schon mal ganz schön verwirrend wirken :)

Hab zwar den entsprechenden Abschnitt in der Anleitung gefunden, aber mit diesem Code funktioniert es leider nicht:
\lstnewenvironment{mylisting}%
{\hspace*{\dimexpr\fboxsep+\fboxrule+0.55pt}%
\begin{minipage}{\dimexpr\textwidth-2\fboxsep-2\fboxrule-1.1pt}%
% \begin{lstlisting}%
}{%
% \end{lstlisting}%
\end{minipage}%
}
So bekomme ich wieder einen "Emergency stop".

Wenn ich das \begin{lstlisting} und \end{lstlisting} drin hab, erhalte ich beim Kompilieren "Missing \endcsname inserted \begin{mylisting}"

Die listings-Anleitung beschreibt auch nur den Fall, dass ich verschiedene lstset-Definitionen in das \lstnewenvironment einbringe.


Kann mir da noch wer weiterhelfen?

Danke,
kFieLd

Nach oben