Archiv verlassen und diese Seite im Standarddesign anzeigen : C++ Operatoren im Listing
Hallo,
ich möchte C/C++ code in einem listing texen.
Ich habe unten ein Minimalbeispiel so wie ich es versuche. Leider sind Operatoren wie der shift >> oder der pointer -> ziemlich unschön dargestellt und machen das sehr unleserlich.
Gibt es eine Alternative diese zu texen so dass solche Operatoren schöner dargestellt werden?
\documentclass{scrartcl}
\usepackage{amsmath,amssymb}
\usepackage{graphicx}
\usepackage{multirow}
\usepackage{color}
\usepackage{rotating}
\usepackage{longtable}
\usepackage{algorithmic}
\usepackage{algorithm}
\usepackage{mathrsfs}
\usepackage{listings}
\usepackage{amsthm}
\usepackage{listings}
\lstset{
language=C++,
basicstyle=\small\sffamily,
numbers=left,
numberstyle=\scriptsize,
frame=tb,
columns=fullflexible,
showstringspaces=false,
belowcaptionskip=0.3cm
}
\begin{document}
\begin{lstlisting}[caption=todo,label=lst:lst1]
idx = buf[idx];
pos = x >> 8;
int* b = c->d;
\end{lstlisting}
\end{document}
nixversteh
18-02-2012, 12:08
Hallo,
ich möchte C/C++ code in einem listing texen.
Ich habe unten ein Minimalbeispiel so wie ich es versuche. Leider sind Operatoren wie der shift >> oder der pointer -> ziemlich unschön dargestellt und machen das sehr unleserlich.
Gibt es eine Alternative diese zu texen so dass solche Operatoren schöner dargestellt werden?
\documentclass{scrartcl}
\usepackage{amsmath,amssymb}
\usepackage{graphicx}
\usepackage{multirow}
\usepackage{color}
\usepackage{rotating}
\usepackage{longtable}
\usepackage{algorithmic}
\usepackage{algorithm}
\usepackage{mathrsfs}
\usepackage{listings}
\usepackage{amsthm}
\usepackage{listings}
\lstset{
language=C++,
basicstyle=\small\sffamily,
numbers=left,
numberstyle=\scriptsize,
frame=tb,
columns=fullflexible,
showstringspaces=false,
belowcaptionskip=0.3cm
}
\begin{document}
\begin{lstlisting}[caption=todo,label=lst:lst1]
idx = buf[idx];
pos = x >> 8;
int* b = c->d;
\end{lstlisting}
\end{document}
Hallo Mat,
versuche mal diesen Code, kannst die nicht gewünschten Zeilen auskommentieren.
\documentclass{scrartcl}
\usepackage{amsmath,amssymb}
\usepackage{graphicx}
\usepackage{multirow}
\usepackage{color}
\usepackage{rotating}
\usepackage{longtable}
\usepackage{algorithmic}
\usepackage{algorithm}
\usepackage{mathrsfs}
\usepackage{listings}
\usepackage{amsthm}
\usepackage{listings}
%**********************************************
% color
%**********************************************
\usepackage[usenames,dvipsnames]{xcolor}
%**********************************************
\lstset{language=C++,
keywordstyle=\color{RoyalBlue},%\bfseries,
basicstyle=\small\ttfamily,
identifierstyle=\color{NavyBlue},
commentstyle=\color{Green}\ttfamily,
stringstyle=\rmfamily,
numbers=left,%none,%
numberstyle=\scriptsize,%\tiny
stepnumber=5,
numbersep=8pt,
showstringspaces=false,
breaklines=true,
frameround=ftff,
frame=tb, % single
belowcaptionskip=.75\baselineskip,
numberbychapter=false,
frame=L,
columns=fullflexible,
showstringspaces=false,
belowcaptionskip=0.3cm
}
\begin{document}
\begin{lstlisting}[caption=todo,label=lst:lst1]
idx = buf[idx];
pos = x >> 8;
int* b = c->d;
\end{lstlisting}
\end{document}
Viel Erfolg
Lieben Gruß
Martin
puh also erstmal danke. damit kann man schön spielen. leider habe ich es bis jetzt nicht geschafft mein style beizubehalten und nur die operatoren (->, <<, <=) schöner darzustellen, gäbe es da eine möglichkeit?
Was definierst du als "schöner"? ;)
BTW: du lädt 2mal das Paket listings, und haufenweise anderes Zeug, das bis auf (x)color keinen Einfluss auf listings hat.
also der vorschlag von "nixversteh" gefällt mir gut. ginge es die operatoren nur so darzustellen wie nixversteh aber den rest beizubehalten den ich habe?
nixversteh
18-02-2012, 17:54
also der vorschlag von "nixversteh" gefällt mir gut. ginge es die operatoren nur so darzustellen wie nixversteh aber den rest beizubehalten den ich habe?
Hallo Mat,
etwa so?
\documentclass{scrartcl}
\usepackage[usenames,dvipsnames]{xcolor}
\usepackage{listings}
\lstset{language=C++,
keywordstyle=\color{RoyalBlue},%\bfseries,
basicstyle=\small\ttfamily,
numbers=left,%none,%
numberstyle=\scriptsize,%\tiny
frame=tb, % single
columns=fullflexible,
showstringspaces=false,
belowcaptionskip=0.3cm
%%identifierstyle=\color{NavyBlue},
%%commentstyle=\color{Green}\ttfamily,
%stringstyle=\rmfamily,
%%stepnumber=5,
%%showstringspaces=false,
%%frameround=ftff,
%%belowcaptionskip=.75\baselineskip,
%%numberbychapter=false,
%%frame=L,
%%breaklines=true,
%%numbersep=8pt,
}
\begin{document}
\begin{lstlisting}[caption=todo,label=lst:lst1]
idx = buf[idx];
pos = x >> 8;
int* b = c->d;
\end{lstlisting}
\end{document}
Viel Erfolg
Gruß
Martin
EDIT: Schau mal diesen Code an: M-code LaTeX Package
Danke Dir, ich denke ich werde eine Kombination aus Deiner Version und der Matlab version probieren :-)
Danke für die Hilfe!
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.