goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Neue Umgebung mit lstlisting funktioniert nicht

 

Rolli
Forum-Fortgeschrittener
Forum-Fortgeschrittener

Beiträge: 58
Anmeldedatum: 15.02.17
Wohnort: Mittelfranken
Version: MikTeX 2.9 64-bit
     Beitrag Verfasst am: 12.05.2017, 17:06     Titel: Neue Umgebung mit lstlisting funktioniert nicht
  Antworten mit Zitat      
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}

Code • Öffne in Overleaf

\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
_________________

Linux ist ein Betriebssystem.
WinDoof ist ein Zustand!
Private Nachricht senden Benutzer-Profile anzeigen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.05.2017, 18:18     Titel:
  Antworten mit Zitat      
Man kann keine neuen listings-Umgebungen mit \newenvironment definieren. In der Dokumentationlistings-Anleitung findest du aber eine Anweisung, um eigene Umgebungen zu definieren.

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.05.2017, 18:19     Titel:
  Antworten mit Zitat      
PS: Abschnitt 5.14: Environments

Rolli
Forum-Fortgeschrittener
Forum-Fortgeschrittener

Beiträge: 58
Anmeldedatum: 15.02.17
Wohnort: Mittelfranken
Version: MikTeX 2.9 64-bit
     Beitrag Verfasst am: 12.05.2017, 18:38     Titel:
  Antworten mit Zitat      
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:

Code • Öffne in Overleaf

\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
_________________

Linux ist ein Betriebssystem.
WinDoof ist ein Zustand!
Private Nachricht senden Benutzer-Profile anzeigen

Rolli
Forum-Fortgeschrittener
Forum-Fortgeschrittener

Beiträge: 58
Anmeldedatum: 15.02.17
Wohnort: Mittelfranken
Version: MikTeX 2.9 64-bit
     Beitrag Verfasst am: 14.05.2017, 12:19     Titel: Hat niemand eine Idee?
  Antworten mit Zitat      
Hat niemand eine Idee?
_________________

Linux ist ein Betriebssystem.
WinDoof ist ein Zustand!
Private Nachricht senden Benutzer-Profile anzeigen

u_fischer
Forum-Meister
Forum-Meister

Beiträge: 3480
Anmeldedatum: 22.11.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.05.2017, 12:45     Titel:
  Antworten mit Zitat      
Code • Öffne in Overleaf
\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}
 

_________________

Ulrike Fischer
www.troubleshooting-tex.de
Private Nachricht senden Benutzer-Profile anzeigen

Rolli
Forum-Fortgeschrittener
Forum-Fortgeschrittener

Beiträge: 58
Anmeldedatum: 15.02.17
Wohnort: Mittelfranken
Version: MikTeX 2.9 64-bit
     Beitrag Verfasst am: 14.05.2017, 13:41     Titel: Wow!
  Antworten mit Zitat      
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

Code • Öffne in Overleaf

\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}
 

_________________

Linux ist ein Betriebssystem.
WinDoof ist ein Zustand!
Private Nachricht senden Benutzer-Profile anzeigen

u_fischer
Forum-Meister
Forum-Meister

Beiträge: 3480
Anmeldedatum: 22.11.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.05.2017, 14:16     Titel:
  Antworten mit Zitat      
Das würde ich direkt mit tcolorbox machen.

Code • Öffne in Overleaf
\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}

_________________

Ulrike Fischer
www.troubleshooting-tex.de
Private Nachricht senden Benutzer-Profile anzeigen

Rolli
Forum-Fortgeschrittener
Forum-Fortgeschrittener

Beiträge: 58
Anmeldedatum: 15.02.17
Wohnort: Mittelfranken
Version: MikTeX 2.9 64-bit
     Beitrag Verfasst am: 14.05.2017, 14:43     Titel: Nochmals WOW - SUPERWOW
  Antworten mit Zitat      
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
_________________

Linux ist ein Betriebssystem.
WinDoof ist ein Zustand!
Private Nachricht senden Benutzer-Profile anzeigen

u_fischer
Forum-Meister
Forum-Meister

Beiträge: 3480
Anmeldedatum: 22.11.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.05.2017, 16:25     Titel: Re: Nochmals WOW - SUPERWOW
  Antworten mit Zitat      
Rolli hat Folgendes 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.
_________________

Ulrike Fischer
www.troubleshooting-tex.de
Private Nachricht senden Benutzer-Profile anzeigen

Neues Thema eröffnen Neue Antwort erstellen



Options and Permissions
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen
.

goLaTeX ist Teil der goForen
goForen.de goMATLAB.de goLaTeX.de goPCB.de


  Impressum | FAQ | goLaTeX RSS Button RSS-Feed

Copyright © 2008 - 2017 goLaTeX.de