Autor Beitrag
Jakob Schöttl
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 929
Erhaltene Danke: 1


Delphi 7 Professional
BeitragVerfasst: So 13.04.08 12:13 
Hallo

Ich hab mir jetzt die Latex-Distribution MiKTeX heruntergeladen.

Gibt es da wirklich keinen Befehl ( \delphi{code} oder so ähnlich), mit dem man Programmiersprachen (wie delphi, c++, ...) mit Syntaxhervorhebung darstellen kann?
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: So 13.04.08 12:17 
Hallo!

Irgendwo im Forum (DF oder DP) wurde mal folgendes gepostet, ich habe die Quelle leider nicht mehr:
ausblenden volle Höhe Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
\documentclass[11pt,a4paper,dvips,oneside]{book}
\usepackage{geometry}
\usepackage{color}
\usepackage{alltt}
\usepackage{courier}
\usepackage{graphicx}
\usepackage[ansinew,latin1]{inputenc}
\usepackage{german}
\usepackage{framed}
\usepackage{amsmath,amssymb,amstext}
\usepackage[hang,scriptsize,bf]{caption}
\usepackage{subfigure}
\usepackage{pifont}


\usepackage{listings}
\lstset{   language=Delphi,
           numbers=left,
           numberstyle=\tiny,
           stepnumber=1,
           numbersep=9pt,
           % backgroundcolor=\color{listingbackground},
           basicstyle=\scriptsize,
           captionpos=b,
           breaklines=true,
           breakindent=20pt,
           texcl=true,
           % mathescape=true,
           escapechar=•,   % ASCI Char #263 (als ALT+263 auf dem Numpad eingeben)
           xleftmargin=0pt,
           % escapebegin=$,
           % escapeend=$,
           extendedchars=true,
           float=false,
           frame=none,
           rulesepcolor=\color{black},
           rulesep=2pt,
           framesep=3pt,
           framexleftmargin=3pt,
           framexrightmargin=3pt,
           columns=[c]fixed,
           basewidth={0.6em,0.45em},
           fontadjust=false
        }

\begin{document}
\begin{lstlisting}[language=Delphi,caption={[Main]Main},label={qc_main}]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    txtb: TEdit;
    Label2: TLabel;
    txtc: TEdit;
    Button1: TButton;
    lbla: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation
uses math ;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
a, b, c : double ;
begin
     b := StrToFloat(txtb.text) ;
     c := StrToFloat(txtc.text) ;

     { •$a=\sqrt{b^2+c^2}$• }
     a := sqrt(Power(b,2)+Power(c,2)) ;
     lbla.caption := Format ('a= %.2f',[a]) ;
end;

end.

\end{lstlisting}


foo \ref{qc_main} foo
\end{document}


Grüße
Christian

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Jakob Schöttl Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 929
Erhaltene Danke: 1


Delphi 7 Professional
BeitragVerfasst: So 13.04.08 12:34 
Danke Christian! Könnte zwar schöner sein, die Syntaxhervorhebung (auch mit Farben)...
aber ist auf jeden Fall eine Hilfe.

Ich bin noch Anfänger in Latex, aber wenn ich mich einarbeite versteh ich den code vllt sogar ;)
Einloggen, um Attachments anzusehen!
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 13.04.08 13:01 
Ghet alles:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
% Quellcode
\usepackage{courier}
\usepackage{listings}
% Listings formatieren
\definecolor{codegray}{gray}{.95}
\definecolor{darkblue}{rgb}{0,0,.6}
\definecolor{darkred}{rgb}{.6,0,0}
\definecolor{darkgreen}{rgb}{0,.6,0}
\definecolor{red}{rgb}{.98,0,0}
\lstset{basicstyle=\small\ttfamily, frame=single, backgroundcolor=\color{codegray}, breaklines, showstringspaces=false, commentstyle=\itshape\color{darkgreen}, keywordstyle=\bfseries\color{darkblue}, stringstyle=\color{darkred}, xleftmargin=0.5cm}


Anwenden:
[code]
\lstset{languag=DElphi}
\begin{lstlisting}

\end{lstlisting}
Jakob Schöttl Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 929
Erhaltene Danke: 1


Delphi 7 Professional
BeitragVerfasst: So 13.04.08 13:43 
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
\documentclass{report}
        
% Quellcode
\usepackage{courier}
\usepackage{listings}
% Listings formatieren
\definecolor{codegray}{gray}{.95}
\definecolor{darkblue}{rgb}{0,0,.6}
\definecolor{darkred}{rgb}{.6,0,0}
\definecolor{darkgreen}{rgb}{0,.6,0}
\definecolor{red}{rgb}{.98,0,0}
\lstset{basicstyle=\small\ttfamily, frame=single, backgroundcolor=\color{codegray}, breaklines, showstringspaces=false, commentstyle=\itshape\color{darkgreen}, keywordstyle=\bfseries\color{darkblue}, stringstyle=\color{darkred}, xleftmargin=0.5cm}
        
\begin{document}
\lstset{language=delphi}
\begin{lstlisting}


//quellcode
{kommentar}
{$I+}
begin
end;
class

\end{lstlisting}
\end{document}


Da gibts bei mir leider 77 fehler :?:
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 13.04.08 15:26 
user profile iconJakob Schöttl hat folgendes geschrieben:
Da gibts bei mir leider 77 fehler :?:

Schön für dich. Und was, denkst du, sollen wir jetzt machen? Alle 77 Fehler erraten?
Jakob Schöttl Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 929
Erhaltene Danke: 1


Delphi 7 Professional
BeitragVerfasst: So 13.04.08 19:28 
user profile iconLuckie hat folgendes geschrieben:
user profile iconJakob Schöttl hat folgendes geschrieben:
Da gibts bei mir leider 77 fehler :?:

Schön für dich. Und was, denkst du, sollen wir jetzt machen? Alle 77 Fehler erraten?


war doch nicht bös gemeint. und immerhin hab ich den quelltext angehängt, könnt ja sein, dass da ein offensichtlicher fehler ist...
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: So 13.04.08 20:51 
Für ein TuDorial, an dem ich grad schreib, hab ich mir die Language-Definition für das Listings-Package etwas angepasst.

ausblenden volle Höhe Header für LaTeX-Dokument mit erweiterter Farbgebung:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
\documentclass[titlepage,a4paper,12pt]{scrartcl}
\usepackage[latin1]{inputenc}
\usepackage{ngerman}
\usepackage{graphicx}
\usepackage{tabularx}
\usepackage[T1]{fontenc}
\usepackage[scaled=0.9]{luximono}

\usepackage{listings}

\lstdefinelanguage[BenBE]{Delphi}%
  {
otherkeywords={:,=,:=,+,-,*,\(,\),[,],.,\,,;},
morekeywords=[1]{},%
morekeywords=[2]{and,as,asm,array,begin,case,class,const,constructor,%
      destructor,div,do,downto,else,end,except,exports,file,finally,%
      for,function,goto,if,implementation,in,inherited,inline,%
      initialization,interface,is,label,library,mod,nil,not,object,of,%
      or,packed,procedure,program,property,raise,record,repeat,set,%
      shl,shr,string,then,to,try,type,unit,until,uses,var,while,with,%
      xor,%
      absolute,abstract,assembler,at,cdecl,default,dynamic,export,%
      external,far,forward,index,name,near,nodefault,on,override,%
      private,protected,public,published,read,resident,storedDir,%
      virtual,write},%
morekeywords=[3]{Abs,AddExitProc,Addr,AllocMem,AnsiCompareStr,%
      AnsiCompareText,AnsiLowerCase,AnsiUpperCase,Append,AppendStr,%
      ArcTan,AssignCrt,Assigned,AssignFile,BlockRead,BlockWrite,Break,%
      ChangeFileExt,ChDir,Chr,CloseFile,ClrEol,ClrScr,Concat,Continue,%
      Copy,Cos,CSeg,CursorTo,Date,DateTimeToFileDate,DateTimeToStr,%
      DateTimeToString,DateToStr,DayOfWeek,Dec,DecodeDate,DecodeTime,%
      Delete,DeleteFile,DiskFree,DiskSize,Dispose,DisposeStr,%
      DoneWinCrt,DSeg,EncodeDate,EncodeTime,Eof,Eoln,Erase,Exclude,%
      Exit,Exp,ExpandFileName,ExtractFileExt,ExtractFileName,%
      ExtractFilePath,FileAge,FileClose,FileDateToDateTime,FileExists,%
      FileGetAttr,FileGetDate,FileOpen,FilePos,FileRead,FileSearch,%
      FileSeek,FileSetAttr,FileSetDate,FileSize,FillChar,FindClose,%
      FindFirst,FindNext,FloatToDecimal,FloatToStrF,FloatToStr,%
      FloatToText,FloatToTextFmt,Flush,FmtLoadStr,FmtStr,Format,%
      FormatBuf,FormatDateTime,FormatFloat,Frac,Free,FreeMem,GetDir,%
      GetMem,GotoXY,Halt,Hi,High,Inc,Include,InitWinCrt,Insert,Int,%
      IntToHex,IntToStr,IOResult,IsValidIdent,KeyPressed,Length,Ln,Lo,%
      LoadStr,Low,LowerCase,MaxAvail,MemAvail,MkDir,Move,New,NewStr,%
      Now,Odd,Ofs,Ord,ParamCount,ParamStr,Pi,Pos,Pred,Ptr,Random,%
      Randomize,Read,ReadBuf,ReadKey,Readln,ReAllocMem,Rename,%
      RenameFile,Reset,Rewrite,RmDir,Round,RunError,ScrollTo,Seek,%
      SeekEof,SeekEoln,Seg,SetTextBuf,Sin,SizeOf,SPtr,Sqr,Sqrt,SSeg,%
      Str,StrCat,StrComp,StrCopy,StrDispose,StrECopy,StrEnd,StrFmt,%
      StrLCat,StrIComp,StrLComp,StrLCopy,StrLen,StrLFmt,StrLIComp,%
      StrLower,StrMove,StrNew,StrPas,StrPCopy,StrPos,StrScan,StrRScan,%
      StrToDate,StrToDateTime,StrToFloat,StrToInt,StrToIntDef,%
      StrToTime,StrUpper,Succ,Swap,TextToFloat,Time,TimeToStr,%
      TrackCursor,Trunc,Truncate,TypeInfo,TypeOf,UpCase,UpperCase,Val,WhereX,%
      WhereY,Write,WriteBuf,WriteChar,Writeln},%
morekeywords=[4]{Byte,Word,LongWord,DWORD,smallInt,ShortInt,Integer,LongInt,%
    TDate,TDateTime,TTime,Textfile,ShortString,AnsiString,WideString,Pointer,%
    TObject,TClass,TTypeInfo},%
   sensitive=false,%
   alsoletter={+,-,*,/,.,:,=,<,>}, %,(,),[,],.,\,,:,;,^,@
   morecomment=[s]{(*}{*)},%
   morecomment=[s]{\{}{\}},%
   morecomment=[l]{//},% 2001 Christian Gudrian
   morestring=[d]'%
  }[keywords,comments,strings]%


\lstloadlanguages{[BenBE]Delphi}
\lstset{%
  tabsize=4,
  language=[BenBE]Delphi,
  defaultdialect=[BenBE]Delphi,
  basicstyle=\ttfamily,
  keywordstyle=[1]{\color{blue}},
  keywordstyle=[2]{\color{red}\bfseries},
  keywordstyle=[3]{\color[rgb]{0.1,0.1,0.1}},
  keywordstyle=[4]{\color[rgb]{0.2,0.2,0.2}},
  stringstyle=\color{magenta},
  commentstyle=\color[rgb]{0.0,0.0,0.25}\textit
}

%Verlinkung im PDF
\usepackage{color,hyperref}
\hypersetup{%
  colorlinks=true,
  linkcolor=black,
  anchorcolor=black,
  citecolor=black,
  filecolor=black,
  menucolor=black,
  urlcolor=blue,
  linktocpage=true,
  pdfpagemode=UseThumbs,
  bookmarksopen=true,
  bookmarksnumbered=true,
  pdfstartpage={1},
  pdfkeywords={},
  pdfcreator={Benny Baumann},
  pdfproducer={Benny Baumann}
}


Das Wichtigste sollte drin sein; ansonsten fragen ... BTW: Ich leiste keinen Support bzgl. der Vorlage; allein Anfragen zwecks Fehlern in der Vorlage selbst.

MfG,
BenBE.

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 13.04.08 20:54 
user profile iconJakob Schöttl hat folgendes geschrieben:
war doch nicht bös gemeint. und immerhin hab ich den quelltext angehängt, könnt ja sein, dass da ein offensichtlicher fehler ist...

Ja, willst du uns die Fehler nicht endlich al verraten? Oder wartest du so lange bis jemand hier bei dir funktionierenden Code postet? Wenn zweiteres, sag bitte Bescheid, denn dann brauche ich mich hier nicht weiter bemühen.
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: So 13.04.08 21:05 
user profile iconLuckie hat folgendes geschrieben:
user profile iconJakob Schöttl hat folgendes geschrieben:
war doch nicht bös gemeint. und immerhin hab ich den quelltext angehängt, könnt ja sein, dass da ein offensichtlicher fehler ist...

Ja, willst du uns die Fehler nicht endlich al verraten? Oder wartest du so lange bis jemand hier bei dir funktionierenden Code postet? Wenn zweiteres, sag bitte Bescheid, denn dann brauche ich mich hier nicht weiter bemühen.
Herrje, muss dieser ruppige Ton denn sein?

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 13.04.08 21:26 
Sorry für den etwas harten Ton. Aber ich habe ziemlich Probleme damit, wenn jemand hHilfe erwartet aber selbst nicht breit ist, irgendetwas dafür zu tun und anscheinend einfach nur wartet, bis man die Lösung auf dem Silbertablett serviert.
Jakob Schöttl Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 929
Erhaltene Danke: 1


Delphi 7 Professional
BeitragVerfasst: Mo 14.04.08 17:35 
Also Danke user profile iconBenBE (code funktioniert) und user profile iconLuckie; Ich muss mich mal einarbeiten, dann kann ich ja auch selber noch was anpassen.