• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Was gibt es Schöneres als den Mai draußen in der Natur mit allen Sinnen zu genießen? Lasst uns teilhaben an Euren Erlebnissen und macht mit beim Thema des Monats Da blüht uns was! ---> Klick

CNC-Code in LaTeX einfügen

Macnum

Martini
Registriert
28.07.10
Beiträge
659
Hallo Leute,

ich sitze derzeit an einer Studienarbeit, bei der Versuche mit verschiedenen Programmparametern an einer Elektronenstrahlanlage gefahren werden. Soweit ich das in Erfahrung bringen konnte, ist der zugrunde liegende Programmcode auf CNC basierend. Einige der Codeschnipsel sollen in die Arbeit mit eingepflegt werden, um als Programmbeispiele zu dienen.

Derzeit nehme ich dafür das Paket listings. Das bietet eigentlich genau die Funktionen, die ich benötige, jedoch erkennt listings den Syntax meines Codes nicht. Das ist sehr schade, weil z.B. durch ein Fettdrucken der Schlüsselwörter besser ersichtlich würde, welche Parameterabfragen nacheinander erfolgen.
Der Befehl
Code:
\lstset{langue=...}
funktioniert nur bedingt, da CNC nicht enthalten ist.

Kennt jemand eine Variante, wie ich listings beibringe CNC zu erkennen? Sofern jemand ein Paket kennt, welches die Sache anderweitig löst, wäre ich natürlich auch dankbar ;)

Hier noch ein Minimalbeispiel, wie mein derzeitiger Code aussieht:
Code:
\documentclass[11pt]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{listings}

\begin{document}
\lstset{language=C++, %richtige Sprache fehlt
basicstyle=\small, 
keywordstyle=\color{black}\bfseries,
stringstyle=\ttfamily, 
numbers=left}

%--- Codebeispiel ---
\begin{lstlisting}[float, caption=Dynamische Linse]
WRT(DL_DC, 0, DL_AMP, 0, DL_FIG, 3, DL_FRQ,0)
SNS
SL_DYN(1)
SL_DYN(13)
M00
SL_DYN(0)
\end{lstlisting}

\end{document}

Mgdfs Macnum
 

commune10

Adams Apfel
Registriert
11.08.11
Beiträge
522
Sorry, aber CNC (ich nehme mal an es geht da um Computerized Numerical Control) ist da doch ein echter Exot. In listings wird das nicht unterstützt, und in anderen populären Syntax-Highlightern meines Wissens nach auch nicht. Man kann listings erweitern, aber das ist keine Aufgabe für so zwischendurch. Wenn du es doch versuchen möchtest, schau mal ins Handbuch, das Kommando lautet „\lstdefinelanguage{⟨language name⟩}{⟨key=value list⟩}“
 
  • Like
Reaktionen: Macnum

Macnum

Martini
Registriert
28.07.10
Beiträge
659
Ich danke dir. Da die Codeschnipsel nur sehr kurz sind und nur sehr wenige Schlüsselwörter enthalten, ist die Sprachendefinition genau das, was ich gesucht habe. Jetzt funktioniert alles, wie ich es mir vorstelle.