Quellcode im Dokument

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


Epllus
Forum-Guru
Forum-Guru
Beiträge: 470
Registriert: So 23. Sep 2012, 17:31

Quellcode im Dokument

Beitrag von Epllus »

Ich versuche gerade eine Dokumentation für TeXShop zu schreiben, da jemand in meinem Bekanntenkreis angefangen hat, es zu benutzen.
Nun hätte ich gerne eine Umgebung, mit der ich einfach den Quelltext hinschreiben kann und es auch so im Pdf kopiert werden kann (mit den Absätzen und zeichen an richtiger Stelle, etc.).
Mit der Umgebung verbatim bin ich unzufrieden, da es den Text nur schwarz druckt und der kopierte Text eine einzige Wurst ist.
Durch meine Internetrecherche bin ich auf das Paket listing gestoßen, mit den Einstellungen, die ich gerne hätte.
Aber leider kopiert es via copy and paste vom pdf auch ein unsichtbares Zeichen mit, außerdem ist es ein wenig pingelig (sprich wenn ich den Cursor ein wenig zu hoch halte oder zu nieder, wird der text davor oder danach ausgewählt).

Hier ist, was ich bis jetzt habe:
\documentclass{scrreprt}
\usepackage{listings}
\usepackage{xcolor}

\lstset{%
basicstyle=\small\sffamily,
language=[LaTeX]TeX,   
breaklines=true,
frame=single,
framexleftmargin=8mm, 
xleftmargin=8mm,
prebreak = \raisebox{0ex}[0ex][0ex]{\ensuremath{\hookleftarrow}},
backgroundcolor=\color{green!5},
%frameround=fttt,  % Hier lag der Hund begraben
texcsstyle=*\color{blue},
rulecolor=\color{red},
morekeywords={\LaTeX, maketitle},
keywordstyle=\color[rgb]{0,0,1},                    % keywords
commentstyle=\color[rgb]{1,0,0},    % comments
stringstyle=\color[rgb]{0.627,0.926,0.941},  % strings
columns=fullflexible ,
literate={\{ }{\textcolor{green!70!black}{\{}}1
{\}}{\textcolor{green!70!black}{\}}}1
{[}{\textcolor{black}{[}}1     
{]}{\textcolor{black}{]}}1     
{\ }{\textcolor{blue}{\ }}1     
}%

\begin{document}

TextTextTeXt

\begin{lstlisting}
\documentclass{scrartcl}
\begin{document}

Hallo Welt! % und Kommentare

\end{document}
\end{lstlisting}

teXteXteXTEtxtEtx

\begin{lstlisting}
#!/bin/sh
bfname="`basename "$1" .tex`"

makeglossaries "$bfname"
\end{lstlisting}

TeXtEtXTEtXTe

\end{document}
Hat jemand Besserungsvorschläge, wie ich das Problem lösen kann?
Falls jemand noch eine andere Idee hat: Ich bin offen für alles, was den Code einfach gut darstellen lässt und ihn gut kopieren lässt.

Grüße
Epllus
Zuletzt geändert von Epllus am Mo 8. Apr 2013, 20:15, insgesamt 1-mal geändert.

Epllus
Forum-Guru
Forum-Guru
Beiträge: 470
Registriert: So 23. Sep 2012, 17:31

Beitrag von Epllus »

Hat niemand eine Idee oder einen Vorschlag?
Bin auch offen für andere Pakete, Möglichkeiten etc.

Grüße
Epllus

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Das Packet Minted kann auch Syntaxhighlighting. Vielleicht gefällt dir das ja.
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

rais
Forum-Guru
Forum-Guru
Beiträge: 413
Registriert: Di 21. Sep 2010, 00:37

Re: Quellcode im Dokument

Beitrag von rais »

Hallo,
Epllus hat geschrieben: Aber leider kopiert es via copy and paste vom pdf auch ein unsichtbares Zeichen mit,
an welcher Stelle genau?
Wie dem auch sei, ich würde es bei `kopier-aus-PDF-Problemen' erstmal mit zusätzlichem \usepackage[T1]{fontenc} versuchen -- zumindest die " erscheinen dann auch in der Kopie als " und nicht als ”.
Epllus hat geschrieben: außerdem ist es ein wenig pingelig (sprich wenn ich den Cursor ein wenig zu hoch halte oder zu nieder, wird der text davor oder danach ausgewählt).
Das unterliegt IMHO gänzlich der Kontrolle des PDF-Betrachters (sprich: der verwendeten Weichware). Das Verhalten mag für Dich akzeptabel sein, wenn Du vorm Selektieren einfach weiter reinzoomst.

MfG
Rainer
One of the joys of travel is visiting new towns and meeting new people---G.Khan (Robert Asprin, Another Fine Myth)

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4300
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

Neben \usepackage[T1]{fontenc} solltest du auch \usepackage{upquote} verwenden, (damit die "`") richtig rüberkommen.

Grundsätzlich ist das copy & paste aus pdf-Dateien nicht ganz unproblematisch: Es verschwinden schon mal Leerzeichen, oder Zeichen sind falsch. Wenn du ganz sicher gehen willst, dass die Datei korrekt ist, hänge sie besser an. Z.B. mit attachfile(2) oder embedfile.

Epllus
Forum-Guru
Forum-Guru
Beiträge: 470
Registriert: So 23. Sep 2012, 17:31

Re: Quellcode im Dokument

Beitrag von Epllus »

rais hat geschrieben: Das Packet Minted kann auch Syntaxhighlighting. Vielleicht gefällt dir das ja.
Habs mir angeschaut, gefällt mir leider Farbtechnisch nicht ganz so gut (hab außerdem das Problem mit dem "unsichtaberen" Zeichen gelöst [siehe unten]).
rais hat geschrieben:Hallo,
Epllus hat geschrieben: Aber leider kopiert es via copy and paste vom pdf auch ein unsichtbares Zeichen mit,
an welcher Stelle genau?
Habe es mittlerweise gelöst indem ich frameround=fttt gelöscht habe.
Wenn ich mit dieser Zeile versuche den ersten Quelltext zu kopieren, geschieht es, dass nach der Zeile "Hallo Welt! % und Kommentare" zuerst die linke untere Ecke ausgewählt wird und dann erst "\end{document}"
Wenn ich das kopiere, kommt
\documentclass{scrartcl}
\begin{document}
Hallo Welt! % und Kommentare
􏰁 %%% Eigentlich kommt ein Kästchen mit einem Merkwürdigen Zeichen drinnen, aber das kann nicht dargestellt werden.
\end{document}
.
Ohne der Zeile
frameround=fttt, 
funktionert es einwandfrei.
rais hat geschrieben: Wie dem auch sei, ich würde es bei `kopier-aus-PDF-Problemen' erstmal mit zusätzlichem \usepackage[T1]{fontenc} versuchen -- zumindest die " erscheinen dann auch in der Kopie als " und nicht als ”.
Ich habs eh in meinem Dokument drinnen, nur im Minimalbeispiel habe ichs rausgegeben.
u_fischer hat geschrieben: Neben \usepackage[T1]{fontenc} solltest du auch \usepackage{upquote} verwenden, (damit die "`") richtig rüberkommen
Werd ich machen.
u_fischer hat geschrieben: hänge sie besser an. Z.B. mit attachfile(2) oder embedfile.
Da der eine Fehler mit dem unsichtaberen Zeichen gelöst ist werde ich im Moment noch weiter listings verwenden.

Dank und Gruß an alle
Epllus

Antworten