Falsches Syntax-Highlighting in eigener listings-Umgebung

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Falsches Syntax-Highlighting in eigener listings-Umgebung

von iTob » Sa 13. Jan 2018, 18:23

Also TeXstudio hat für jedes Paket eine CWL-Datei (kannst in der Programm-Hilfe mal danach suchen), in der irgendwer eingetragen hat, welche Befehle es gibt und ob diese Speziell sind (Verbatim, Mathemodus, Referenzen, …). TeXstudio untersucht dann deine Datei daraufhin, welche Pakete geladen werden und lädt die entsprechende CWL-Datei. Darin können aber natürlich nur die Umgebungen/Befehle beschrieben sein, die das Paket mitbringt und nicht etwas, was erst mithilfe des Paketes von dir definiert wird.
Für \newcommand u.ä. bietet TeXstudio sogar eine Erkennung und nimmt das in die Autovervollständigung auf. Aber eine entsprechende Erkennung für alle Möglichen Definitionen aller möglichen Pakete zu machen ist fast unmöglich oder zumindest zu viel Arbeit …

Generell gibt es auch die Möglichkeit, für deine eigenen Befehle eine eigene CWL-Datei zu erstellen und diese Laden zu lassen. Für größere Projekte mit vielen von mir definierten befehlen mache ich das so.

Viele Grüße
Tobi

von eleboek » Sa 13. Jan 2018, 18:04

Danke @iTob - hab's gefunden. Funktioniert jetzt wie gewünscht.
Zur Frage woher der Editor das wissen soll: Der Editor weiß ja auch das lstlisting so ne Umgebung ist. Und das hab ich dem ja auch nicht explizit gesagt - dachte der weiß das dann weil ich ja das package include und da steht's ja drin (oder so ähnlich). Und wenn ich mit \lstnewenvironment eine neue Umgebung anlege ist das ja auch nix anderes.
Nungut, egal. Funktioniert ja jetzt wie es soll.

Danke
eleboek

von iTob » Sa 13. Jan 2018, 15:38

Woher soll der Editor auch wissen, was bei dir ne Verbatim-Umgebung ist? :-P

Bei TeXstudio kannst du das in den erweiterten Einstellungen unter „Eigene Hervorhebung“ die Umgebung hinzufügen, dann sollte das klappen. Ob in TeXmaker was Ähnliches geht, weiß ich nicht …

Re: Falsches Syntax-Highlighting in eigener listings-Umgebun

von eleboek » Sa 13. Jan 2018, 11:30

eleboek hat geschrieben:[...]Ist bei einem Freund und mir mit TeXstudio und Texmaker reproduzierbar.[...]
Hätte ich vielleicht in bisschen prominenter im Text platzieren sollen...

von schaulustiger » Sa 13. Jan 2018, 11:23

Welchen Editor benutzt du denn überhaupt?

Falsches Syntax-Highlighting in eigener listings-Umgebung

von eleboek » Sa 13. Jan 2018, 11:19

Hallo,
ich habe Bash-Code in der Listings-Umgebung in meinem Dokument. Verwende ich \begin{lstlisting} & \end{lstlisting} wird der darin enthaltene Code korrekt farblich hervorgehoben. Verwende ich jedoch eine eigene listings-Umgebung ist dies nicht der Fall. Schlimmer noch: $-Zeichen werden als Beginn/Ende einer Mathematik-Umgebung gewertet und machen mir meinen Code auch über das \end{eigeneslisting} hinaus (bis zum Seitenende, wenn eine ungerade Anzahl an $-Zeichen im Code ist - sogar das \end{document} bleibt nicht verschont) im Syntax-Highlighting grün. Kompilieren kann ich jedoch ohne Probleme und im PDF sieht auch alles schick aus... Ist bei einem Freund und mir mit TeXstudio und Texmaker reproduzierbar.
\documentclass[a4paper]{scrreprt} % Minimalbsp
\usepackage{listings}% Sourcecode einfügen

\lstnewenvironment{bashcode} % Eigene Bash-Code Umgebung
{\lstset{language=bash, belowskip=-0.8 \baselineskip , numbers=none, xleftmargin=1.5mm}}
{}

\begin{document}
\chapter{Dummy}
Dummytext
\begin{lstlisting}
pi@raspberrypi:~ $ cd sudo apt-get install codeblocks
\end{lstlisting}
Dummytext
\begin{bashcode}
pi@raspberrypi:~ $ cd sudo apt-get install codeblocks
\end{bashcode}
Dummytext
\begin{bashcode}
pi@raspberrypi:~ $ cd sudo apt-get install codeblocks
\end{bashcode}
Dummytext
\begin{bashcode}
pi@raspberrypi:~ $ cd sudo apt-get install codeblocks
\end{bashcode}
Dummytext
\end{document}
Weil das falsche Syntax-Highlighting echt nervig ist bin ich wieder dazu übergegangen das lstlisting zu werden, muss da dann aber immer alle Parameter für jedes Code-Snipping hinten dran schreiben. Wollte mir das (insbesondere bei Änderungen) ein bisschen bequemer in eine eigene Bash-Umgebung nach meinen Wünschen packen.

# Wie ich gerade in der Vorschau hier auf der HP von meinem Minimalbeispiel sehe, wird das hier auch wieder anders mit dem Syntax-Highlighting gehandhabt :shock:

Danke für eure Hilfe
eleboek
Dateianhänge
Screenshot Syntax-Highlighting
Screenshot Syntax-Highlighting
minimalbeispiel.png (34.4 KiB) 3280 mal betrachtet

Nach oben