PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : lstlistings verändert Kommentarzeichen



Kobey
26-03-2014, 23:35
Hallo Leute,
ich nutze lstlistings zum setzen von Excel-VBA Quellcode wie folgt:


\lstdefinestyle{StyleA}
{
language=[Visual]Basic,
columns=flexible,
breaklines=true,
frame=tb,
%frameround=tttt,
aboveskip=0.5cm, %Abstand über dem code
belowskip=0.5cm, %Abstand unter dem code
%numbers=left,
rulecolor=\color{gray},
basicstyle=\scriptsize\color{Black}\ttfamily,
keywordstyle=\bfseries\color{blau},
commentstyle=\scriptsize\color{gruen},
xleftmargin=.05\textwidth, %make the frame fits in the text area.
xrightmargin=.05\textwidth, %make the frame fits in the text area.
morekeywords={As, Variant, Double, To, And, ReDim, Preserve},
deletekeywords={Select, Exp}, %wieso wird Select nicht entfernt??
showstringspaces=false
}

Wenn ich Code mit Kommentaren (in VBA mit ') wie z.B.

'Gleichung
einfüge, wird in der Ausgabe

’Gleichung
daraus.
Wenn dieser Code jetzt wieder in VBA kopiert wird, wird das Kommentarzeichen nicht mehr als solches erkannt und erzeugt einen Fehler.

Gibt es schon eine Lösung für das Problem? Ich kann mir vorstellen, das es bei Sprachen in denen z.B. % als Kommentarzeichen genutzt wird nicht auftritt, deshalb habe ich auch keine Lösung in anderen Foren gefunden.

Kann mir jemand helfen?

Mit freundlichen Grüßen

Kobey

klops
27-03-2014, 10:15
Die Listings mit listings sind insgesamt nur bedingt zum Herauskopieren geeignet. Da das Hauptaugenmerk von listings nicht darauf liegt, kopierbaren Quelltext einzufügen, sondern den Quelltext schön zu setzen, gibt es beim Kopieren immer wieder Unterschiede, beispielsweise in der Anzahl der Leerzeichen etc. Wenn Du Quelltext kopierbar haben willst, solltest Du mit PDF-Annotations arbeiten. Es gibt dafür mehrere Pakete.

u_fischer
27-03-2014, 10:41
Daneben kannst du mal \usepackage{upquote} versuchen. (Ungetestet mangels vollständigen Minimalbeispiels).

Kobey
27-03-2014, 15:00
Vielen Dank!


\usepackage{upquote}

funktioniert wie gewünscht!