\lstinputlisting mit inputencoding=utf8 und eigenem Style

Schriftbild, Absätze und Auflistungen einstellen


Oekel
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: Mi 1. Okt 2014, 11:03

\lstinputlisting mit inputencoding=utf8 und eigenem Style

Beitrag von Oekel »

Ich versuche als erstes mal ein Minibeispiel zu geben:
\usepackage[utf8]{inputenc}
\usepackage{listingsutf8}
\usepackage[ngerman]{babel}

\lstdefinestyle{myxmlstyle}{
	extendedchars=true,
	belowcaptionskip=5pt,
	xleftmargin=1.8em,	xrightmargin=0.5em,
	numbers=left, numberstyle=\small\ttfamily\bf,
	frame=single, breaklines=true, breakatwhitespace=true, breakindent=0pt,
	emph={}, emphstyle=\color{red},
	basicstyle=\small\ttfamily,
	columns=fullflexible,
	showstringspaces=false,
	commentstyle=\color{gray}\upshape,
	morestring=[b]",
	morestring=[s]{>}{<},
	morecomment=[s]{<?}{?>},
	morecomment=[s][\color{orange}]{<!--}{-->},
	keywordstyle=\color{cyan},
	stringstyle=\color{black},
	identifierstyle=\color{darkblue},
	morekeywords={version,type, upload, generator, id, action, visible, lat, lon, ref, k, v}
}

\lstnewenvironment{myxml}[2]
  {\lstset{language={XML},inputencoding=utf8/latin1,style=myxmlstyle,caption={#1},label={#2}}}{}

\begin{document}
\section{}
%\lstset{extendedchars=\true, inputencoding=utf8/latin1}
%\lstinputlisting[style=myxmlstyle, caption={\acl{OSM}}-\ac{Bsp.},label=lst:OSM02, firstline=875, lastline=902]{listings/josm_Bremen-Falltum.osm}

%\begin{myxml}{Some xml source }{xml}
%testgrüße
%\end{myxml}
\end{document}
Also alle Dateien (auch die *.tex) habe ich als UTF8 unter Windows abgespeichert.
Nun weiß ich aber nicht, wo genau das "inputencoding=utf8/latin1" alles hin muss. In meinen style, oder in die Parameter von "lstinputlisting" oder muss ich jedes mal doch ein "lstset" vor das "lstinputlisting" machen und es dort eintragen?

1. Mir fehlt einfach die Ordnung in diesem System. Könnte das einer für mich testen und dann sagen, wo es wie genau hingehört und warum:?:

2. Muss es eigentlich "inputencoding=utf8/latin1" sein, oder reicht nicht auch "inputencoding=utf8".:?:

Grüße Oekel

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Dein Code ist für andere nicht lauffähig.

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

Beitrag von Johannes_B »

1. Kein Minimalbeispiel, läuft nämlich nicht durch ;-)
2. Ja, du musst laut Anleitung eine 1Bit-Kodierung angeben. Listingsutf8 macht dann Magic (anders kann man es echt nicht sagen)
3. Probier es aus. Du kannst das global setzen, oder als Parameter beim Laden übergeben.
\begin{filecontents*}{\jobname.code}
	<?xml version="1.0" encoding="iso-8859-1"?>
	<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
	Transitional//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
	<html xmlns="http://www.w3.org/1999/xhtml">
	<html dir="ltr">
	<title=äÖß>
\end{filecontents*}
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{listingsutf8}
\usepackage[ngerman]{babel}
\usepackage{xcolor}

\lstdefinestyle{myxmlstyle}{
	inputencoding=utf8/latin1,%%%%%%%%<- set here
   extendedchars=true,
   belowcaptionskip=5pt,
   xleftmargin=1.8em,   xrightmargin=0.5em,
   numbers=left, numberstyle=\small\ttfamily\bf,
   frame=single, breaklines=true, breakatwhitespace=true, breakindent=0pt,
   emph={}, emphstyle=\color{red},
   basicstyle=\small\ttfamily,
   columns=fullflexible,
   showstringspaces=false,
   commentstyle=\color{gray}\upshape,
   morestring=[b]",
   morestring=[s]{>}{<},
   morecomment=[s]{<?}{?>},
   morecomment=[s][\color{orange}]{<!--}{-->},
   keywordstyle=\color{cyan},
   stringstyle=\color{black},
   identifierstyle=\color{blue},
   morekeywords={version,type, upload, generator, id, action, visible, lat, lon, ref, k, v}
}

\lstnewenvironment{myxml}[2]
  {\lstset{language={XML},inputencoding=utf8/latin1,style=myxmlstyle,caption={#1},label={#2}}}{}

\begin{document}
\section{}
\lstinputlisting[style=myxmlstyle, caption={Some nice
caption}]{\jobname.code}


Ich bin kein Minimalbeispiel, obwohl ich kompiliere.
\end{document}
 
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.

Oekel
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: Mi 1. Okt 2014, 11:03

Beitrag von Oekel »

Hi, ja das war dumm die \acros und \colours drin zu lassen.

Ich habe leider immer noch Probleme bei der Anwendung der
\lstnewenvironment{myxml}[2] 
  {\lstset{language={XML},inputencoding=utf8/latin1,style=myxmlstyle,caption={#1},label={#2}}}{}
Jetzt mal aus dem letzten Post.
Könnte mir da noch Jemand ein Bsp. geben, das funktioniert?
\begin{myxml}{Some xml source }{xml}
Viele Grüße Oekel
\end{myxml}

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

Beitrag von Johannes_B »

Nein. Das Paket kann nur externe Dateien einlesen und konvertieren.

Wie kann ich Umlaute mit dem Paket listings darstellen?
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.

Antworten