lstlisting in NewDocumentEnvironment

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 in NewDocumentEnvironment

von weltio2 » Do 27. Dez 2012, 13:04

Hab das hier aus einem anderen Forum genommen:

    \documentclass{book}
    \usepackage{listings}

    \lstnewenvironment{code}[1]
      {%
        \lstset{
          float,caption=#1,
          basicstyle=\ttfamily,
          numbers=left,
          numberstyle=\footnotesize
        }%
      }
      {}

    \begin{document}

    \lstlistoflistings

    \begin{code}{Caption}
     Some Code
    \end{code}

    \begin{code}{Some Other Caption}
     more code
     on two lines
    \end{code}

    \end{document}

Re: lstlisting in NewDocumentEnvironment

von rais » Mi 26. Dez 2012, 00:52

Hallo,
weltio2 hat geschrieben:Ich möchte Quellcodes durchnummerieren und ein Verzeichnis dafür anlegen.
weltio2 hat geschrieben:
    \NewDocumentEnvironment{code}{m}
    {
            \begin{lstlisting}
            \refstepcounter{code}
            \addcontentsline{cod}{code}
            {\protect\numberline{\thechapter.\thecode}#1}\par
    }
    {\caption{#1}\end{lstlisting}}
Für eigene Umgebungen bietet das listings-Paket \lstnewenvironment an.
OTOH könntest Du das listings-Paket auch einfach anwenden, etwa
\documentclass{book}
\usepackage{listings}
\lstset{captionpos=b}
\renewcommand*\lstlistlistingname{Codelist}
\renewcommand*\lstlistingname{Code}
\begin{document}
\chapter{foo}
\begin{lstlisting}[caption=Caption]
Some Code
\end{lstlisting}
\lstlistoflistings
\end{document}
Frohes Fest
Rainer

Re: lstlisting in NewDocumentEnvironment

von fitzz » Mi 26. Dez 2012, 00:51

Hi weltio2,
weltio2 hat geschrieben:Ich möchte Quellcodes durchnummerieren und ein Verzeichnis dafür anlegen.

[. . .]

Jemand ne Idee?
Ja, Handbuch von listings lesen Seiten 16 und 32f.

lg
Gerald

lstlisting in NewDocumentEnvironment

von weltio2 » Di 25. Dez 2012, 17:57

Ich möchte Quellcodes durchnummerieren und ein Verzeichnis dafür anlegen.
Dazu habe ich folgendes gemacht:
    \documentclass{book}
    \usepackage{xparse,tocloft,listings}


    \newcommand{\codelist}{Codelist}
    \newlistof{code}{cod}{\codelist}
    \NewDocumentEnvironment{code}{m}
    {
            \begin{lstlisting}
            \refstepcounter{code}
            \addcontentsline{cod}{code}
            {\protect\numberline{\thechapter.\thecode}#1}\par
    }
    {\caption{#1}\end{lstlisting}}

    \begin{document}
    \begin{code}{Caption}
    Some Code
    \end{code}
    \listofcode

    \end{document}
So funktioniert das allerdings nicht, da ich folgendes bekomme:
! Missing \endcsname inserted.
<to be read again>
\global
l.17 \begin{code}{Caption}
Jemand ne Idee?

Nach oben