Neue Umgebung mit lstlisting funktioniert nicht

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: Neue Umgebung mit lstlisting funktioniert nicht

Re: Nochmals WOW - SUPERWOW

von u_fischer » So 14. Mai 2017, 16:25

Rolli hat geschrieben:Liebe Ulrike,

Tausend Dank!!! Du hast mir wirklich sehr geholfen.
Alle Achtung, und mein voller Respekt!
Wie kommt man nur auf so etwas? 35 Jahre LaTEX-Freak?
Man muss doch nur mal einen Blick in die tcolorbox-Doku werfen. Die hat doch haufenweise Bildchen und Beispiele.

Nochmals WOW - SUPERWOW

von Rolli » So 14. Mai 2017, 14:43

Liebe Ulrike,

Tausend Dank!!! Du hast mir wirklich sehr geholfen.
Alle Achtung, und mein voller Respekt!
Wie kommt man nur auf so etwas? 35 Jahre LaTEX-Freak?

LG, Rolli

von u_fischer » So 14. Mai 2017, 14:16

Das würde ich direkt mit tcolorbox machen.
\documentclass{scrartcl}

\usepackage{listings}
\usepackage[many]{tcolorbox}
\tcbuselibrary{listings}

\newtcblisting{alisting}[1]{colback=green,colframe=red,enhanced,comment side listing,
lefthand width=0.3\textwidth,comment=#1}
\begin{document}

\begin{alisting}{blub}
Dieses hier funktioniert
\end{alisting}

\end{document} 

Wow!

von Rolli » So 14. Mai 2017, 13:41

Wow Ulrike,

vielen Dank!

Jetzt nur noch eine Kleinigkeit (hoffe ich): Um das Ganze hätte ich gerne noch eine farbige Box. Und schon wieder kracht MikTEX übelst zusammen ... "Error Line 1: Emergency stop".

Hat noch jemand eine Idee?

Gruß Rolli
\documentclass{scrartcl} 

\usepackage{listings} 
\usepackage{tcolorbox}


\lstnewenvironment{aListing}[1] 
{\lstset{breaklines=true}% 
\begin{tcolorbox}[colback=green,colframe=red]%
\begin{minipage}{0.3\textwidth} 
#1 
\end{minipage} 
\hfill 
\minipage{0.6\textwidth} 
} 
{% 
\endminipage 
\end{tcolorbox}
} 

\begin{document} 

\begin{lstlisting} 
Dieses hier funktioniert 
\end{lstlisting} 

\begin{aListing}{Bla Bla}
Dieses hier funktioniert jetzt leider nicht mehr 
\end{aListing} 

\end{document} 

von u_fischer » So 14. Mai 2017, 12:45

\documentclass{scrartcl}

\usepackage{listings}

\lstnewenvironment{aListing}
 {\lstset{breaklines=true}%
  \begin{minipage}{0.3\textwidth}
   blabla
  \end{minipage}
  \hfill
  \minipage{0.6\textwidth}
 }
 {%
 \endminipage
 }

\begin{document}

\begin{lstlisting}
Dieses hier funktioniert
\end{lstlisting}

\begin{aListing}
Dieses hier funktioniert auch 
\end{aListing}

\end{document}

Hat niemand eine Idee?

von Rolli » So 14. Mai 2017, 12:19

Hat niemand eine Idee?

von Rolli » Fr 12. Mai 2017, 18:38

Hallo Gast, danke für Deinen Input. Hatte ich auch schon gesehen - nach meinem Verständnis muss man nach dem Manual lediglich "newenvironment" durch "lstnewenvironment" austauschen ???

Es funktioniert aber trotzdem nicht:
\documentclass{scrartcl}

\usepackage{listings}

\begin{document}

\lstnewenvironment{aListing}[0]\relax%
{
\begin{minipage}{0.3\textwidth} 
   blabla 
\end{minipage}
\hfill
\begin{minipage}{0.6\textwidth}
   \begin{lstlisting}%
}%
{%
   \end{lstlisting}
\end{minipage}
}

\begin{document}

\begin{lstlisting}
Dieses hier funktioniert
\end{lstlisting}

%\begin{aListing}
%Dieses hier funktioniert NICHT - gibt bereits einen Compilerfehler
%\end{aListing}

\end{document}
???

Was ich "eigentlich" machen möchte: Zwei Minipages nebeneinander, links eine captionof und etwas Kommentartext, rechts ein C/C++ - Snippet im Typewriter-font.

"Links" würde ich an meine eigene, neue Umgebung als ein Argument übergeben (#1). Und das eigentliche Listing soll dann rechts zwischen den beiden {} ... {} beim newenvironment sein.

Ich verstehe beim besten Willen nicht, warum das nicht funktionieren soll - schließlich geht es mit "figure" und "table".
Ist LaTeX etwa nicht objektorientiert programmiert ???

Gruß Rolli

von Gast » Fr 12. Mai 2017, 18:19

PS: Abschnitt 5.14: Environments

von Gast » Fr 12. Mai 2017, 18:18

Man kann keine neuen listings-Umgebungen mit \newenvironment definieren. In der [d]listings[/d]-Anleitung findest du aber eine Anweisung, um eigene Umgebungen zu definieren.

Neue Umgebung mit lstlisting funktioniert nicht

von Rolli » Fr 12. Mai 2017, 17:06

Hallo Gemeinde,

ich habe schon wieder so ein LaTeX-Mysterium, bei dem ich nicht weiter komme.
Ich möchte eine lstlisting-Umgebung in eine eigene neue Umgebung stecken, um captionofs, Kommentare usw. standardisiert hinzu fügen zu können.

Das MB wirft einen Fehler beim Compilieren:
Undefined control sequence.
\lstlisting ->\def \lstenv@name
{lstlisting}\begingroup \lst@setcatcodes \ca...
l.7 {\end{lstlisting}
\documentclass{scrartcl}

\usepackage{listings}

\newenvironment{aListing}[0]\relax%
{\begin{lstlisting}}%
{\end{lstlisting}}

\begin{document}

\begin{lstlisting}
Dieses hier funktioniert
\end{lstlisting}

%\begin{aListing}
%Dieses hier funktioniert NICHT - gibt bereits einen Compilerfehler
%\end{aListing}

\end{document}
Warum nur ???

Gruß Rolli

Nach oben