Verschiedene Beschriftungen mit listing ?!
Verfasst: Mo 1. Feb 2010, 09:53
Hallo zusammen,
ich schreibe gerade meine Diplomarbeit und habe erst vor einem Jahr mit Latex angefangen...
Ich möchte gerne zwei Code-Umgebungen verwenden mit unterschiedlichen Beschriftungen.
Ich habe folgendes Minimalbeispiel:
Anstatt Code 1.1 und Code 1.2 wäre es schön, wenn folgendes rauskommen würde:
C-Code 1.1 und HTML-Code 1.1 oder zumindest
C-Code 1.1 und HTML-Code 1.2 wäre auch noch ok....
Ist so etwas möglich, sodass ich anstatt label und caption noch zusätzlich den "Namen" übergeben kann, so in der richtung
\begin{CCode}[name=C-Code, caption={Beschriftung1}, label=code:c]
\begin{HTMLCode}[name=HTML-Code, caption={Beschriftung1}, label=code:c]
Vielen Danke und Gruß
Timo
ich schreibe gerade meine Diplomarbeit und habe erst vor einem Jahr mit Latex angefangen...
Ich möchte gerne zwei Code-Umgebungen verwenden mit unterschiedlichen Beschriftungen.
Ich habe folgendes Minimalbeispiel:
\documentclass[a4paper]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{color} % für \definecolor
\usepackage{listings}
\usepackage{microtype} % Captions im Programmcode
\definecolor{red}{rgb}{1,0,0}
\definecolor{darkgreen}{rgb}{0,0.392,0}
\definecolor{darkblue}{rgb}{0,0,0.75}
%*****************************
%* Captions der Codeumgebung *
%*****************************
\renewcommand{\lstlistingname}{Code} % Listingname heisst nun Code
\makeatletter
\AtBeginDocument{%
\renewcommand*{\thelstlisting}{\arabic{section}.\arabic{lstlisting}}% % Nummerierung: section.listing
\@addtoreset{lstlisting}{section}}
\makeatother
%******************************
%* Umgebung fuer Programmcode *
%******************************
\lstloadlanguages{[ANSI]C}
\lstnewenvironment{CCode}[1][]
{ \microtypesetup{activate=false}
\lstset{
language=[ANSI]C,
basicstyle=\ttfamily,
basicstyle=\scriptsize,
keywordstyle=\color{darkblue},
commentstyle=\color{darkgreen},
stringstyle=\color{red},
showstringspaces=false,
captionpos=b,
frame=single,
numbers = left,
#1}
}
{}
%******************************
%* Umgebung fuer Programmcode *
%******************************
\lstloadlanguages{HTML}
\lstnewenvironment{HTMLCode}[1][]
{ \microtypesetup{activate=false}
\lstset{
language=HTML,
basicstyle=\ttfamily,
basicstyle=\scriptsize,
keywordstyle=\color{darkblue},
commentstyle=\color{darkgreen},
stringstyle=\color{red},
showstringspaces=false,
captionpos=b,
frame=single,
numbers = left,
#1}
}
{}
\begin{document}
\section{Kapitel}
\begin{CCode}[caption={Beschriftung1}, label=code:c]
int i;
i = 2;
\end{CCode}
\begin{HTMLCode}[caption={Beschriftung2}, label=code:html]
<img src="test.jpg">
\end{HTMLCode}
\end{document}
C-Code 1.1 und HTML-Code 1.1 oder zumindest
C-Code 1.1 und HTML-Code 1.2 wäre auch noch ok....
Ist so etwas möglich, sodass ich anstatt label und caption noch zusätzlich den "Namen" übergeben kann, so in der richtung
\begin{CCode}[name=C-Code, caption={Beschriftung1}, label=code:c]
\begin{HTMLCode}[name=HTML-Code, caption={Beschriftung1}, label=code:c]
Vielen Danke und Gruß
Timo