Fehler mit lstlisting Umgebung (MikTeX 2.9.6745 (64 Bit))

Alles rund um das System für Windows.
dennxs
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Mo 29. Apr 2019, 06:46

Fehler mit lstlisting Umgebung (MikTeX 2.9.6745 (64 Bit))

Beitrag von dennxs »

Hallo,

ich habe ein Problem mit der "lstlisting" Umgebung und finde leider keine Lösung dazu.

Die Kompilierung bleibt an der Stelle stehen, wo sich der Inhalt der "lstlisting" Umgebung befindet. Befindet sich kein Inhalt in der Umgebung, so funktioniert die Kompilierung.

Beispiel:

Code: Alles auswählen

\begin{lstlisting}
\end{lstlisting}
funktioniert.
Was wiederum nicht funktioniert ist:

Code: Alles auswählen

\begin{lstlisting}
int i = 1
\end{lstlisting}
oder:

Code: Alles auswählen

\begin{lstlisting}
<<Absatz>>
\end{lstlisting}
Leider finde ich keine Lösung dazu. Der Kompiler bleibt an der Stelle "C:\Users\xxx\AppData\Local\Programs\MiKTeX2.9\tex\latex\listings\lstlang1.sty" stehen und läuft nicht mehr weiter. Kompiliert wird an dieser Stelle mit PdfLaTeX.

Meine LaTeX Dateien basieren auf folgendes Template (https://github.com/jreichwald/DHBW_LaTeX_Template), welches sich auch problemlos mit "lstlisting" Umgebung kompilieren lässt. Sobald ich aber meine config.tex in dem Template kopiere, funktioniert es nicht mehr. Daher vermute ich das Problem in meiner config.tex.

Kann mir jemand weiter helfen?
Dateianhänge
config.tex
(6.69 KiB) 170-mal heruntergeladen
Zuletzt geändert von dennxs am Mo 29. Apr 2019, 14:06, insgesamt 1-mal geändert.

markusv
Forum-Meister
Forum-Meister
Beiträge: 873
Registriert: Do 3. Sep 2015, 17:20
Wohnort: Leipzig

Re: Fehler mit lstlisting Umgebung (MikTeX 2.9.6745 (64 Bit)

Beitrag von markusv »

dennxs hat geschrieben:Was wiederum nicht funktioniert ist:

Code: Alles auswählen

\begin{lslisting}
int i = 1
\end{lstlisting}
oder:

Code: Alles auswählen

\begin{lslisting}
<<Absatz>>
\end{lstlisting}
Dass dies nicht funktionieren kann, ist logisch, da lslisting (ohne t) nicht der Umgebung entspricht. Wenn dies nicht der entscheidende Fehler ist, rate ich dazu, ein ordentliches Minimalbeispiel anzufertigen.
Wäre Microsoft Word für das Schreiben von Büchern entwickelt worden,
würde es Microsoft Book heißen.

Unkomplizierte und schnelle LaTeX-Hilfe, bspw. Erstellung von Vorlagen und Bewerbungen:
Help-LaTeX@web.de

dennxs
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Mo 29. Apr 2019, 06:46

Beitrag von dennxs »

Dass dies nicht funktionieren kann, ist logisch, da lslisting (ohne t) nicht der Umgebung entspricht. Wenn dies nicht der entscheidende Fehler ist, rate ich dazu, ein ordentliches InfoMinimalbeispiel anzufertigen.
Entschuldige das ist ein Übertragungsfehler. Die Umgebungen sind mit lstlisting angegeben und das Kompilieren führt auch nicht zu Fehler.

Das Beispiel (Der Kompiler bleibt hier bei "MiKTeX 2.9\tex\latex\lm\t1lmtt.fd" stehen):

Code: Alles auswählen

\documentclass[
	12pt,
	BCOR=5mm,
	DIV=12,
	headinclude=on,
	footinclude=off,
	parskip=half,
	bibliography=totoc,
	listof=entryprefix,
	toc=listof,
	pointlessnumbers,
    plainfootsepline]{scrreprt}
    
    \input{config}
    %\usepackage{listings}
    \begin{document}
        \chapter{Test}
            \begin{lstlisting}
                int i = 5;
            \end{lstlisting}
    \end{document}
Beispiel und die angehängte config.tex müssen in dem selben Ordner sein.

Gast

Beitrag von Gast »

Am fehlenden t liegt es leider nicht allein.

Code: Alles auswählen

\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{listings}

\usepackage{hyperref}
\usepackage{varioref}
\usepackage{cleveref}


\begin{document}
\begin{lstlisting}
int i = 1
\end{lstlisting}
\end{document}
zeigt ein ähnliches Endlosschleifenproblem.

Der Fehler liegt in der Aufrufreihenfolge der drei Pakete hyperref, varioref und cleveref. Es ist bekannt, dass hyperref im Allgemeinen als eines der letzten Pakete geladen werden sollte. Dagegen verstößt die verlinkte und auch die herunterladbare config.tex schon in recht eklatanter Weise. Eine Ausnahme von dieser Regel ist das Paket cleveref, das explizit nach hyperref zu laden ist.

Mit der Ladereihenfolge

Code: Alles auswählen

\usepackage{varioref}
\usepackage{hyperref}
\usepackage{cleveref}
müsste es gehen.

Ich möchte dennoch dazu raten, die config.tex etwas aufzuräumen oder besser gleich die ganze Vorlage wegzuwerfen und klein neu anzufangen. Siehe auch https://komascript.de/latexvorlage

dennxs
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Mo 29. Apr 2019, 06:46

Beitrag von dennxs »

Anonymous hat geschrieben:Am fehlenden t liegt es leider nicht allein.

Code: Alles auswählen

\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{listings}

\usepackage{hyperref}
\usepackage{varioref}
\usepackage{cleveref}


\begin{document}
\begin{lstlisting}
int i = 1
\end{lstlisting}
\end{document}
zeigt ein ähnliches Endlosschleifenproblem.

Der Fehler liegt in der Aufrufreihenfolge der drei Pakete hyperref, varioref und cleveref. Es ist bekannt, dass hyperref im Allgemeinen als eines der letzten Pakete geladen werden sollte. Dagegen verstößt die verlinkte und auch die herunterladbare config.tex schon in recht eklatanter Weise. Eine Ausnahme von dieser Regel ist das Paket cleveref, das explizit nach hyperref zu laden ist.

Mit der Ladereihenfolge

Code: Alles auswählen

\usepackage{varioref}
\usepackage{hyperref}
\usepackage{cleveref}
müsste es gehen.

Ich möchte dennoch dazu raten, die config.tex etwas aufzuräumen oder besser gleich die ganze Vorlage wegzuwerfen und klein neu anzufangen. Siehe auch https://komascript.de/latexvorlage
Danke, du hast meine Bachelorarbeit gerettet :D Es lag daran, dass cleverref vor hyperref geladen wurde. Habe jetzt beides am Ende der Datei gepackt. Die Zeit reicht leider nicht mehr, um nochmal von neu anzufangen :D

Tausend Dank.

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2202
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Code: Alles auswählen

\crefname{chapter}{Kapitel}{Kapitel}
\crefname{section}{Unterkapitel}{Unterkapitel}
\crefname{subsection}{Unterkapitel}{Unterkapitel}
\crefname{listing}{Quelltext}{Quelltexte}% <- eingefügt
Die erste Änderung ist unnötig. Die zweite und dritte Änderung brauchst Du nur, wenn es tatsächlich eine Vorgabe sein sollte, die Querverweise auf Abschnitte so zu benennen. Da ich passend zu den Änderungen

Code: Alles auswählen

\renewcommand{\lstlistingname}{Quelltext} 
\renewcommand{\lstlistlistingname}{Quelltextverzeichnis}


in Deiner angehängten Datei keine Anpassung der Beschriftung der Querverweise für Quelltexte finden konnte, habe ich meinen Vorschlag hinzugefügt.

Bei der gemeinsamen Verwendung der beiden Pakete für Querverweise und dem Befehl \vref solltest Du auch die Berichtigung einer unerwünschten Ausgabe einfügen.

Antworten