Programm-code in latex Einfügen
Programm-code in latex Einfügen
Hallo euch allen zusammen.
Ich bin neuling mit LaTex und möchte programmcode mit hilfe von listings einfügen. nur leider ist meine programmiersprache nich integriert und bei ca 1100 Befehlen nicht so einfach im kopf (Vorspann) unterzubringen.
Mein problem entsteht beim laden der programmlistings, wenn ich aber den code im dokument einfüge ist alles, na ja, zufriedenstellend.
Wie kann ich in den lstlang?.sty meinen programmiersyntax unterbringen und ist es überhaupt möglich? den die drei dateien werden ja generiert bei der install. Benutze MikTEX 2.9
kann mir jemand helfen, bin nicht so gut in englisch
Ich bin neuling mit LaTex und möchte programmcode mit hilfe von listings einfügen. nur leider ist meine programmiersprache nich integriert und bei ca 1100 Befehlen nicht so einfach im kopf (Vorspann) unterzubringen.
Mein problem entsteht beim laden der programmlistings, wenn ich aber den code im dokument einfüge ist alles, na ja, zufriedenstellend.
Wie kann ich in den lstlang?.sty meinen programmiersyntax unterbringen und ist es überhaupt möglich? den die drei dateien werden ja generiert bei der install. Benutze MikTEX 2.9
kann mir jemand helfen, bin nicht so gut in englisch
- bloodworks
- Moderator
- Beiträge: 1425
- Registriert: Mo 19. Jan 2009, 10:52
- Wohnort: /dev/null
Naja du kannst "Basic" nehmen und die nicht verdrahteten Keywords wirst du wohl oder übel selbst definieren müssen. So weit ich weiß unterstützt nicht mal pygmentize (also minted) diese Sprache nativ.
[1] Nützliche Webdokumente für Anfänger und Fortgeschrittene
[2]Minimalbeispiel | [3]FAQ
[4]Regelwerk | [5] Knigge
Wenn nicht anderst angegeben ist mein System: texlive 2012, pdflatex, x86-64, Snow Leopard utd.
Angehöriger der Liga zur Verwendung von texdoc
texdoc mathmode koma l2picfaq l2tabu lshort-en
Achtung: Aufforderungen ein Minimalbeispiel oder mehr Erklärungen zu einer Frage zu liefern sind keine persönlichen Angriffe. Sie dienen viel mehr dazu die Kommunikation zwischen Fragendem und potentiellen Helfern zu erleichtern und zu präzisieren.
[2]Minimalbeispiel | [3]FAQ
[4]Regelwerk | [5] Knigge
Wenn nicht anderst angegeben ist mein System: texlive 2012, pdflatex, x86-64, Snow Leopard utd.
Angehöriger der Liga zur Verwendung von texdoc
texdoc mathmode koma l2picfaq l2tabu lshort-en
Achtung: Aufforderungen ein Minimalbeispiel oder mehr Erklärungen zu einer Frage zu liefern sind keine persönlichen Angriffe. Sie dienen viel mehr dazu die Kommunikation zwischen Fragendem und potentiellen Helfern zu erleichtern und zu präzisieren.
brauchst du auch nicht. Nur einmal wirst du da nicht drumherumkommen.SDL hat geschrieben:ich möchte nicht immer im Vorspann alles definieren.
Schreib die Definitionen die du für PureBasic brauchst in eine separate tex-datei, z. B.: purebasiclisting.tex
Diese datei bindest du dann mit
\input{purebasiclisting}
Was ist das für ein Problem? Meine Glaskugel sagt mir das es ein Fontcode-Problem ist. Verwendest du im PurBasic-Quellcode nur ASCII-Zeichen oder auch Umlaute?SDL hat geschrieben:Mein problem entsteht beim laden der programmlistings, wenn ich aber den code im dokument einfüge ist alles, na ja, zufriedenstellend.
lg
gerald
Danke für die schnelle Antwort
purebasiclisting.tex mit der selben struktur wie z.B. in der Datei lstlang1.sty

so eingefügt kein Problem aber laden der Textdatei- fehlermeldung??
Frage kann man so ohne weiteres die Datei lstlang1.sty "missbrauchen" um die {morekeywords= zu definieren?
fg
SDL
purebasiclisting.tex mit der selben struktur wie z.B. in der Datei lstlang1.sty
\lst@definelanguage{Purebasic}%......
ist das kein schreibfehler?nach dem Laden des linisngs-Paketes ein.

Nein, der Quellcode liegt im ASCII Format vor und ich verzichte auf Umlaute. z.B.Was ist das für ein Problem? Meine Glaskugel sagt mir das es ein Fontcode-Problem ist. Verwendest du im PurBasic-Quellcode nur ASCII-Zeichen oder auch Umlaute?
CompilerSelect #PB_Compiler_OS CompilerCase #PB_OS_Windows ;Windows spezifischer Code MessageRequester("Info", "Die Kompilierung erfolgte unter Microsoft Windows.") CompilerCase #PB_OS_Linux ;Linux spezifischer Code MessageRequester("Info", "Die Kompilierung erfolgte unter Linux.") CompilerCase #PB_OS_MacOS ;MacOS spezifischer Code MessageRequester("Info", "Die Kompilierung erfolgte unter MacOS X") CompilerCase #PB_OS_AmigaOS ;AmigaOS spezifischer Code MessageRequester("Info", "Die Kompilierung erfolgte unter Amiga OS.") CompilerEndSelect
Frage kann man so ohne weiteres die Datei lstlang1.sty "missbrauchen" um die {morekeywords= zu definieren?
fg
SDL
Du drückst Dich leider sehr unverständlich aus, so kann ich beispielsweise im Zitat mit dem Teil aber "aber" absolut nichts anfangen. Falls das ein Sprachproblem sein sollte, hat sicher niemand etwas dagegen, wenn Du auf Englisch ausweichst.SDL hat geschrieben: Nein, der Quellcode liegt im ASCII Format vor und ich verzichte auf Umlaute. z.B.so eingefügt kein Problem aber laden der Textdatei- fehlermeldung??CompilerSelect #PB_Compiler_OS CompilerCase #PB_OS_Windows ;Windows spezifischer Code MessageRequester("Info", "Die Kompilierung erfolgte unter Microsoft Windows.") CompilerCase #PB_OS_Linux ;Linux spezifischer Code MessageRequester("Info", "Die Kompilierung erfolgte unter Linux.") CompilerCase #PB_OS_MacOS ;MacOS spezifischer Code MessageRequester("Info", "Die Kompilierung erfolgte unter MacOS X") CompilerCase #PB_OS_AmigaOS ;AmigaOS spezifischer Code MessageRequester("Info", "Die Kompilierung erfolgte unter Amiga OS.") CompilerEndSelect
Ansonsten: Die Definition neuer Sprachen ist im listings user's guide (siehe listings.pdf) in Abschnitt 3.2 angerissen. Im reference guide (siehe ebenfalls listings.pdf) ist das Thema in Abschnitt 4.18 noch einmal zu finden. Dort sind auch Tipps wie "Where should I put my language definition?" zu finden. Näheres dazu ist angeblich im developer's guide zu finden. Diesen muss man sich allerdings ggf. selbst erzeugen. Siehe dazu "How to get the developer's guide" am Ende von listings.pdf unmittelbar vor dem Index.
BTW: Status Rückfrage ist für potentielle Helfer. Der Fragesteller selbst sollte diesen ggf. ändern (beispielsweise auf offen), sobald er die Rückfrage beantwortet hat. In meiner Antwort lautet die Rückfrage: Was soll uns der Satzteil ab "aber" in obigem Zitat sagen?.
Dass, wenn er den Quellcode in einer Listings-Umgebung eingibt, das LaTeX-Dokument ohne Fehler erstellt wird, wenn er aber eine Quellcode-datei mit dem Listingsbefehl einließt, das erstellen des LaTeX-Dokuments Fehler verursacht.Gast hat geschrieben: Was soll uns der Satzteil ab "aber" in obigem Zitat sagen?.
Du hast seinen ersten Post in diesem Thread gelesen? Das ist ja mit sein Problem, LaTeX-Neuling und keine guten Englischkenntnis. Deshalb ist auch der auf dem Zitat folgende Absatz nicht zielführend, weil er LaTeX-Kenntnise voraussetzt, die einem fortgeschrittenem LaTeX-Anwender zwar trivial sind, aber ein LaTeX-Neuling vor neue Probleme stellt.Gast hat geschrieben:wenn Du auf Englisch ausweichst
SDL hat geschrieben:ist das kein schreibfehler?
Klar, sollte listings-Paket heißen.
Nein, sondern so wie im folgenden Minimalbeispiel:SDL hat geschrieben:purebasiclisting.tex mit der selben struktur wie z.B. in der Datei lstlang1.sty
\begin{filecontents*}{sample.bas} CompilerSelect #PB_Compiler_OS CompilerCase #PB_OS_Windows ;Windows spezifischer Code MessageRequester("Info", "Die Kompilierung erfolgte unter Microsoft Windows.") CompilerCase #PB_OS_Linux ;Linux spezifischer Code MessageRequester("Info", "Die Kompilierung erfolgte unter Linux.") CompilerCase #PB_OS_MacOS ;MacOS spezifischer Code MessageRequester("Info", "Die Kompilierung erfolgte unter MacOS X") CompilerCase #PB_OS_AmigaOS ;AmigaOS spezifischer Code MessageRequester("Info", "Die Kompilierung erfolgte unter Amiga OS.") CompilerEndSelect \end{filecontents*} \begin{filecontents*}{purebasiclistings.tex} \lstdefinelanguage[Pure]{Basic} {morekeywords={AppActivate,Base,Beep,Call,Case,ChDir,ChDrive,% Const,Declare,DefBool,DefByte,DefCur,DefDate,DefDbl,DefDec,% DefInt,DefLng,DefObj,DefSng,DefStr,Deftype,DefVar,DeleteSetting,% Dim,Do,Else,ElseIf,End,Enum,Erase,Event,Exit,Explicit,FileCopy,% For,ForEach,Friend,Function,Get,GoSub,GoTo,If,Implements,Kill,% Let,LineInput,Lock,Lset,MkDir,Name,Next,OnError,On,Option,% Private,Property,Public,Put,RaiseEvent,Randomize,ReDim,Rem,% Reset,Resume,Return,RmDir,Rset,SavePicture,SaveSetting,% SendKeys,SetAttr,Static,Sub,Then,Type,Unlock,Wend,While,Width,% With,Write,% Define},% statements alsoletter={\#},% morekeywords=[2]{\#PB_Compiler_OS,\#PB_OS_Windows,\#PB_OS_Linux,% \#PB_OS_MacOS,\#PB_OS_AmigaOS},%Reservierte Konstanten keywordstyle=[2]{\color{red!80!black}}, % morekeywords=[3]{CompilerSelect,CompilerCase,CompilerEndSelect,% CompilerDefault,CompilerError,EnableExplicit,DisableExplicit,% CompilerIf,CompilerElse,CompilerEndIf,EnableASM,DisableASM},% Compiler direktiven keywordstyle=[3]{\color{red}}, % morekeywords=[4]{MessageRequester},%Funktionen identifierstyle={\color{blue}\textbf},% commentstyle={\color{gray!80!}\itshape},% stringstyle={\color{green!60!black}},% sensitive=false,% keywordcomment=rem,% comment=[l]{;},% string=[s]{'}{'},% morestring=[s]{"}{"},% }[keywords,comments,strings,keywordcomments] \endinput \end{filecontents*} \documentclass[a4paper,10pt]{scrartcl} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{xcolor} \usepackage{listings} \input{purebasiclistings} \begin{document} \begin{lstlisting}[language={[Pure]Basic}] CompilerSelect #PB_Compiler_OS CompilerCase #PB_OS_Windows ;Windows spezifischer Code MessageRequester("Info", "Die Kompilierung erfolgte unter Microsoft Windows.") CompilerCase #PB_OS_Linux ;Linux spezifischer Code MessageRequester("Info", "Die Kompilierung erfolgte unter Linux.") CompilerCase #PB_OS_MacOS ;MacOS spezifischer Code MessageRequester("Info", "Die Kompilierung erfolgte unter MacOS X") CompilerCase #PB_OS_AmigaOS ;AmigaOS spezifischer Code MessageRequester("Info", "Die Kompilierung erfolgte unter Amiga OS.") CompilerEndSelect \end{lstlisting} \lstinputlisting[language={[Pure]Basic}]{sample.bas} \end{document}
Wenn das nicht durchläuft, poste die Fehlermeldungen, sonst füge vor
\end{document}
\lstinputlisting[language={[Pure]Basic}]{<pfad-zu-deiner-basicdatei>}
Auch in den Strings?SDL hat geschrieben:Nein, der Quellcode liegt im ASCII Format vor und ich verzichte auf Umlaute.
Klar, wenn man Sysyphos heißt, bei jedem neuen Paket-Update wird's schön überschrieben.SDL hat geschrieben:Frage kann man so ohne weiteres die Datei lstlang1.sty "missbrauchen" um die {morekeywords= zu definieren?
lg
gerald