Matroids Matheplanet Forum Index
Moderiert von matroid
Matroids Matheplanet Forum Index » Matheplanet » Sourcecode-Highlighting
Autor
Kein bestimmter Bereich Sourcecode-Highlighting
matroid
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 12.03.2001
Mitteilungen: 14387
Wohnort: Solingen
  Themenstart: 2007-04-12

Tino hat mich auf eine Software hingewiesen: "GeSHi - Generic Syntax Highlighter": Powered by GeSHi Diese Software habe ich nun versuchsweise hier integriert. Damit sieht ein Stück Software nun so aus: \sourceon C #include   #define MAXLENGTHSTR 255 int main(void) {   /* Deklaration der Variablen */   int ein1, ein3, aus;   char ein2;   char s1[MAXLENGTHSTR];   /* Usereingabe */   printf("Eingabe: ");   flushall(); gets(s1);   /* Interne Verarbeitung des Input */   sscanf(s1, "%d %c %d", &ein1, &ein2, &ein3);   aus = 0;   /* Berechnung */   switch(ein2)   {     case '+': aus = ein1 + ein3; break; /* Addition */     case '-': aus = ein1 - ein3; break; /* Subtraktion */     case '*': aus = ein1 * ein3; break; /* Multiplikation */     case '/': aus = ein1 / ein3; break; /* Division */     case '%': aus = ein1 % ein3; break; /* Modulo */     default: printf("   Input error!\n"); break;   }     /* Ausgabe */   printf("Ergebnis: %d\n", aus);   /* Ende */   return 0; } \sourceoff calculator.c Die andere Darstellung hat Vorteile, und im Prinzip werden viele Sprachen unterstützt. Wie gut die Unterstützung für eine Sprache ist, hängt von der Qualität der Sprachbeschreibungsdatei dafür ab. Dort gibt es doch noch einige Lücken. Es gibt auch Sprachen, für die bisher gar keine Sprachdatei vorhanden ist. \sourceon(MATLAB) D = imread('Pfadangabe.jpg'); imagesc(D) %Header wird eingefügt fid3 = fopen(['D:\\Cybex\\Header' file(i).name_new_R '_Header_63.asc'],'wt'); printf(fid3,'%s \t %s \t %s \t %s\n','#Time','#Trig','#Win','#Tor')     %speichert Time, Trigger, Winkel, Torque, Rate, MFs fprintf(fid3,'%f \t %f \t %f \t %f \t %f \t %f \t %f \t %f\n',MF_60_30'); ft2 = [matlabroot '/work/emma/leitung/' fn2 '.txt']; [X Y] = textread(ft2, '%d MHz - %f %*s'); X= X(1:end,1)*1000000; P = interp1(X, Y, linspace(min(X),max(X))); sz=size(fd); for k=1:sz(1,1)-1         x = (fd(k,2)-fd((k+1),2));     y = (fd(k,3)-fd((k+1),3));         head(k,:) = (x,y) end     panalyse = uicontrol(fh,'Style','PushButton',...                          'Units','normalized',...                          'Position',[X+j*AbstandX Y-k*AbstandY laenge hoehe],..                          'String','Analysieren',...                          'ToolTipString','Analysiert die simulierten Daten',...                          'CallBack','analyse(par1,par2,...)',...                          'Tag','Analyse'); X1=X(1); X2=X(end); X3=X1:X2; X4=X1:.25:X2;  % Denke hier kann ich die Genauigkeit angeben % für Y sind ja soviele Werte eingelesen wie Zeilen vorhanden \sourceoff Haskell ist unbekannt: \codeon ( Haskell ) binDiv m n =   if m < n then 0     else let d = (2*binDiv m (2*n)) in       if m - d*n < n then d else d + 1 \codeoff \codeonJava class ArrayTest {    public static void manipuliere(String[] s) {       if (s != null)          s[0] = "Hallo";    }    public static void manipuliere_nix(String[] s) {       String[] neu = { "HUHU", "IHR" };       s = neu;    }    public static void main(String[] args) {       String[] strings = { "hallo", "Welt" };       manipuliere(strings);       for (String s: strings)          System.out.println(s);       manipuliere_nix(strings);       for (String s: strings)          System.out.println(s);    } } \codeoff \sourceon BASH \numbersoff #!/bin/bash multiply ()           # multipliziert die uebergebenen Parameter {                     # Anzahl der Parameter ist variabel   local product=1   until [ -z "$1" ]   # Until nutzt den ersten uebergebenen Parameter ...   do   let "product *= $1"   shift   done   echo $product         #  wird nicht auf STDOUT ausgegeben, }                       #  wenn es an eine Variable uebergeben wird mult1=15383; mult2=25211 val1=`multiply $mult1 $mult2` echo "$mult1 X $mult2 = $val1" # 387820813 \sourceoff \sourceonFortran REAL, DIMENSION(:,:) :: A INTEGER :: i,k DO i = 1, SIZE(A,1)   WRITE(*,*)(A(i,k), k = 1, SIZE(A,2)) ! oder: A(i,:) ! END DO \sourceoff Es gibt auch noch Fehler: \codeonJavaScript function so_sth(terms){         terms = terms.replace(/\"/g,"");         var terms_split = terms.split(' ');         var c = 0;         for(var i=0; i\sourceon oder \codeon. Man beendet einen neuen Sourcecodebereich mit \sourceoff oder \codeoff. Zeilennumerierung wird wie bisher mit \numberson verlangt. Wenn hinter dem \numberson eine Zahl steht, beginnt die Numerierung mit dieser Zahl (auch wie bisher) Damit der Parser weiß, welche Sprache zu deuten ist, wird der Name der Sprache hinter \sourceon bzw. \codeon genannt. Die angesagte Sprache wird über dem formatierten Sourcecodebereich in blau angezeigt. Wenn eine Anzeige der Sprache nicht gewünscht ist, etwa weil man nur Beispiele in C schreibt, und eine immer wiederkehrende Nennung der Sprache nicht erforderlich ist, kann man den Namen der Sprache in Klammern setzen, also z.B. \codeon(C). Dann wird "C" interpretiert, aber der Text "C" nicht ausgegeben. Wenn ein neuer Sourcecodeblock ohne Ansage einer Sprache beginnt, aber zuvor schon ein Sourcecodeblock war, für den eine Sprache angegeben wurde, dann wird diese Sprache weiterverwendet. Dies erfolgt, damit man sich das (C) sparen kann, wenn man in einem Artikel über C den nächsten Sourcecodebereich beginnt. Probiert es bitte aus, und ich schaue interessiert zu. Schreibt mir, was euch auffällt. Gruß Matroid [ Nachricht wurde editiert von matroid am 13.04.2007 00:06:55 ] [ Nachricht wurde editiert von matroid am 15.04.2007 21:35:03 ]


   Profil
cow_gone_mad
Senior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 11.01.2004
Mitteilungen: 6651
  Beitrag No.1, eingetragen 2007-04-12

Hallo Martin smile Muss ich ja mal glatt ausprobieren, und sehe dabei, dass man \codeon(sprache) und nicht \codeon(Sprache) schreiben muss. wink Ausserdem trage ich mal eine weitere Sprache zum Schatz bei. \codeon(python) # # Extracting information from the file ... # paper = open(sys.argv[1]); authorcount = 0; author = {}; abstract = ''; for line in paper:     if len(re.compile('\\\\title').findall(line)) > 0:         title = re.compile('\\\\title\[[\s\S]*\]{([\s\S]*)}\n').sub('\\1', line);     if len(re.compile('\\\\keywords').findall(line)) > 0:         keywords = re.compile('\\\\keywords{([\s\S]*)}\n').sub('\\1', line);     if len(re.compile('\\\\subjclass').findall(line)) > 0:         msc = re.compile('\\\\subjclass\[2000\]{([\s\S]*)}\n').sub('\\1', line);     if len(re.compile('\\\\author').findall(line)) > 0:         author[authorcount] = re.compile('\\\\author\\[[\s\S]*\\]{([\s\S]*)}\n').sub('\\1', line);         author[authorcount] = re.compile('\\\\"u', re.VERBOSE).sub('ü', author[authorcount]);         authorcount = authorcount + 1;     if len(re.compile('\\\\begin{abstract}').findall(line)) > 0:         for line in paper:             if len(re.compile('\\\\end{abstract}').findall(line)) > 0:                 break;             abstract = abstract + line; paper.close(); \codeoff Liebe Grüsse, cow_ [Edit: 'New' entfernt] [ Nachricht wurde editiert von matroid am 15.04.2007 21:36:02 ]


   Profil
matroid
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 12.03.2001
Mitteilungen: 14387
Wohnort: Solingen
  Beitrag No.2, vom Themenstarter, eingetragen 2007-04-13

@cow_: korrigiert +New Noch ein Beispiel: \sourceonLatex \documentclass[a4paper, 12pt]{article} \usepackage[T1]{fontenc} \usepackage[latin1]{inputenc} \usepackage{ngerman} \setlength{\parindent}{0em} \begin{document} Die Simpsonregel ist auch unter dem Namen Keplersche Fassregel bekannt. Johannes Kepler konnte damit eine sehr gute Näherung zur Berechnung des Volumens von Fässern angeben. Dazu betrachtete er ein Fass als ein Rotationsparaboloid. Dann ergibt sich dass Fassvolumen als $$V = \pi \int_0^H \varphi(x) \, \textnormal{d}x$$ wobei $\varphi$ eine Parabel beschreibt, die die Fassdauben möglichst gut approximiert. $H$ ist hier die Höhe des Fasses. Da die Keplersche Fassregel für Polynome 2. Grades exakt ist, gilt also $$V = H \pi \left(\frac{1}{6}\varphi(0) + \frac{4}{6}\varphi(\frac{H}{2}) + \frac{1}{6}\varphi(H)\right)$$ \end{document} \sourceoff [ Nachricht wurde editiert von matroid am 15.04.2007 21:36:28 ]


   Profil
matroid
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 12.03.2001
Mitteilungen: 14387
Wohnort: Solingen
  Beitrag No.3, vom Themenstarter, eingetragen 2007-04-14

Negative Meinungen oder Erkenntnisse gab es keine. Ich habe jetzt alles auf die neue Darstellung umgeschaltet. Gruß Matroid


   Profil
matroid
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 12.03.2001
Mitteilungen: 14387
Wohnort: Solingen
  Beitrag No.4, vom Themenstarter, eingetragen 2007-04-15

Folgende Sprachbezeichnungen werden verstanden: \codeon(none) \numberson actionscript ada apache applescript asm asp autoit bash           Synonyme: sh shell ksh blitzbasic bnf c c_mac caddcl cadlisp cfdg cfm cpp-qt cpp            Synonyme: c++ csharp         Synonyme: c# css d delphi diff div dos eiffel fortran freebasic gml groovy haskell html4strict  Synonyme: html idl ini inno io java5        Synonyme: java javascript latex lisp lua matlab mirc mpasm mysql nsis objc ocaml-brief ocaml oobas oracle8 pascal perl php-brief php plsql python qbasic      Synonyme: basic rails reg robots ruby sas scheme sdlbasic smalltalk smarty sql tcl text thinbasic tsql vb vbnet vhdl visualfoxpro winbatch xml xpp z80 \codeoff Ich weiß nicht bei allen Sprachen, was das ist. Die Qualität der Sprachbeschreibungsdateien ist sehr unterschiedlich. Ich könnte fehlende Schlüsselworte ergänzen. Man kann den Sprachnamen groß oder klein schreiben, wie man es gewohnt ist. Einen Quellcodebereich beginnt man am Zeilenanfang mit \sourceon oder \codeon. Die oben beschriebenen Anhänge New sind nicht mehr erforderlich, sie dienten nur dazu, die neue Darstellung parallel zur alten zu testen. Gruß Matroid [ Nachricht wurde editiert von matroid am 15.04.2007 15:03:25 ]


   Profil
Wally
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 02.11.2004
Mitteilungen: 9338
Wohnort: Dortmund, Old Europe
  Beitrag No.5, eingetragen 2007-04-15

Geht super, danke! Vielleicht sollte der Klick auf [Quelltextbereich] sourceon(Bitte hier Sprache angeben) einfügen (natürlich mit backslash davor) . Wenn der Text dann so stehen bleibt, macht das ja nix. Viele Grüße Peter


   Profil
viertel
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 04.03.2003
Mitteilungen: 27784
Wohnort: Hessen
  Beitrag No.6, eingetragen 2007-04-15

Hi matroid, echt ne feine Sache. So lassen sich die Quellcodes noch leichter lesen. Wenn denn der Quelltextbereich auch immer genutzt wird. Aber jetzt hat man ja noch einen schönen Grund, darauf zu drängen. Daß die Farben Geschmackssache sind ist klar – deshalb fang gar nicht erst an, dran rumzuschrauben. Gruß vom 1/4


   Profil
matroid
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 12.03.2001
Mitteilungen: 14387
Wohnort: Solingen
  Beitrag No.7, vom Themenstarter, eingetragen 2007-04-15

@Wally: Ok, jetzt wird das eingefügt: \codeon(none)  \sourceon(nameDerSprache) \codeoff Gruß Matroid


   Profil
viertel
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 04.03.2003
Mitteilungen: 27784
Wohnort: Hessen
  Beitrag No.8, eingetragen 2007-04-15

Finde ich nicht ganz gelungen. Denn die meisten werden nur den Text ersetzen und die Klammern stehen lassen. Und damit wird ja die Sprache über dem Kasten unterdrückt. Und die wäre manchmal schon hilfreich, zB C++ oder Java?


   Profil
matroid
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 12.03.2001
Mitteilungen: 14387
Wohnort: Solingen
  Beitrag No.9, vom Themenstarter, eingetragen 2007-04-15

@1/4: Darüber habe ich auch nachgedacht. Wenn der Name aber nicht in Klammern steht, wird er wiedergegeben. Nun gut, ich kann ein if spendieren.


   Profil
matroid
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 12.03.2001
Mitteilungen: 14387
Wohnort: Solingen
  Beitrag No.10, vom Themenstarter, eingetragen 2007-04-15

\codeon(none)  \sourceon nameDerSprache \codeoff Wird 'nameDerSprache' nicht durch eine unterstützte Programmiersprache ersetzt, so wird ein unbenannter Sourcecodebereich angelegt.


   Profil
matroid
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 12.03.2001
Mitteilungen: 14387
Wohnort: Solingen
  Beitrag No.11, vom Themenstarter, eingetragen 2007-04-15

matph hat ein haskell-File zur Verfügung gestellt. Vielen Dank!


   Profil
viertel
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 04.03.2003
Mitteilungen: 27784
Wohnort: Hessen
  Beitrag No.12, eingetragen 2007-04-15

\quoteon(2007-04-15 14:57 - matroid) \codeon(none)  \sourceon nameDerSprache \codeoff Wird 'nameDerSprache' nicht durch eine unterstützte Programmiersprache ersetzt, so wird ein unbenannter Sourcecodebereich angelegt. \quoteoff Clever! Aber was bitte passiert hier: \sourceon 000 bis 111 :  7 0000 bis 1111 :  13 00000 bis 11111 :  24 000000 bis 111111 :  44 0000000 bis 1111111 :  81 00000000 bis 11111111 :  149 000000000 bis 111111111 :  274 0000000000 bis 1111111111 :  504 \sourceoff Warum steht das alles in einer Zeile? Wenn ich 'nameDerSprache' drin lasse, hab ich am Anfang eine Leerzeile, dafür aber ordentliche einzelne Zeilen: \sourceon nameDerSprache 000 bis 111 :  7 0000 bis 1111 :  13 00000 bis 11111 :  24 000000 bis 111111 :  44 0000000 bis 1111111 :  81 00000000 bis 11111111 :  149 000000000 bis 111111111 :  274 0000000000 bis 1111111111 :  504 \sourceoff


   Profil
matroid
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 12.03.2001
Mitteilungen: 14387
Wohnort: Solingen
  Beitrag No.13, vom Themenstarter, eingetragen 2007-04-15

php ist manchmal schlimm. Fragt man \sourceon php   if($codestack[0])       $codestack .= "\n"; \sourceoff und $codestack[0] ist '0', dann ist die Antwort false. So frage ich jetzt: \sourceon php   if($codestack[0]||$codestack[0]=="0")       $codestack .= "\n"; \sourceoff Und das trifft dann auch Ausdrücke, deren erstes Zeichen eine 0 ist. Gruß Matroid


   Profil
murmelbaerchen
Senior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 03.02.2003
Mitteilungen: 4294
  Beitrag No.14, eingetragen 2007-04-18

Hallo, ich kannte GeSHi zwar, bin aber nie auf die Idee gekommen dies mal hier anzumerken.... frown Nunja, ich bin vom Java-Highlighting begeistert, da man direkt auf die API verlinkt.... Klasse! Viele Grüße geshibärchen


   Profil
salzmann
Senior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 31.12.2004
Mitteilungen: 801
Wohnort: Hannover, Niedersachsen, Deutschland
  Beitrag No.15, eingetragen 2007-04-20

Hi! Nummerierte Quelltextbereiche werden ca. 1pt größer gesetzt - das finde ich nicht so schön. Sonst topp! Grüße Stefan


   Profil
kostja
Senior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 29.12.2004
Mitteilungen: 5432
Wohnort: Stuttgart
  Beitrag No.16, eingetragen 2007-04-20

Hallo Martin, nach welchem Schema werden die Links auf die Referenzen erzeugt? Die Referenz von cplusplus.com ist nämlich nicht besonders gut. Dafür ist zum Beispiel die Referenz auf der Seite von Rogue Wave kaum zu toppen.


   Profil
matroid
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 12.03.2001
Mitteilungen: 14387
Wohnort: Solingen
  Beitrag No.17, vom Themenstarter, eingetragen 2007-04-20

Das ist eine Doku für die STL. Aber printf ist dort nicht zu finden, oder?


   Profil
kostja
Senior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 29.12.2004
Mitteilungen: 5432
Wohnort: Stuttgart
  Beitrag No.18, eingetragen 2007-04-20

Nein, es ist reines C++. printf ist obsolete. MfG Konstantin


   Profil
matroid
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 12.03.2001
Mitteilungen: 14387
Wohnort: Solingen
  Beitrag No.19, vom Themenstarter, eingetragen 2007-04-21

@salzmann: nun sind Zeichen in numerierte Zeilen gleich groß.


   Profil
salzmann
Senior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 31.12.2004
Mitteilungen: 801
Wohnort: Hannover, Niedersachsen, Deutschland
  Beitrag No.20, eingetragen 2007-04-22

\sourceon nameDerSprache ja, danke \sourceoff \sourceon nameDerSprache \numberson so ists besser \sourceoff Viele Grüße Stefan


   Profil
Ex_Mitglied_1753
  Beitrag No.21, eingetragen 2007-05-07

Es gibt da anscheinend ein Problem mit URLs: \sourceon www.matheplanet.com \sourceoff Dabei steht im Quelltextbereich nur die http-Adresse.


   Profil
viertel
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 04.03.2003
Mitteilungen: 27784
Wohnort: Hessen
  Beitrag No.22, eingetragen 2007-05-07

\quoteon(2007-05-07 21:00 - Tino) Es gibt da anscheinend ein Problem mit URLs: \sourceon htp://www.matheplanet.com \sourceoff Dabei steht im Quelltextbereich nur die http-Adresse. \quoteoff Du meinst so (fehlt jetzt ein t)? Als http-Adressen erkannte Texte werden von der Forum-Software automatisch vom a-Tag eingerahmt. Das vereinfacht deren Angabe enorm. Hat allerdings auch den von Dir beschriebenen Haken confused Gruß vom 1/4


   Profil
kostja
Senior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 29.12.2004
Mitteilungen: 5432
Wohnort: Stuttgart
  Beitrag No.23, eingetragen 2007-05-07

Das Problem tritt auch mit EMail at s auf \sourceon bash-Prompt kostja@deepthought ~ $ \sourceoff Ich sehe, das tut es nicht mehr. MfG Konstantin [ Nachricht wurde editiert von kostja am 07.05.2007 22:31:06 ]


   Profil
matroid
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 12.03.2001
Mitteilungen: 14387
Wohnort: Solingen
  Beitrag No.24, vom Themenstarter, eingetragen 2007-05-08

... das ist soweit richtig analysiert. Die Hyperlink-Ersetzung findet nämlich beim Speichern der Beiträge statt, das Sourcecode-highlighting findet beim Anzeigen des Beitrags statt. Zu diesem Zeitpunkt ist das a-Tag schon im Text drin. Ich dürfte also keine Hyperlink-Ersetzung durchführen, wenn der Hyperlink in einem Sourcecode-Bereich steht. Allerdings wird zu diesem Zeitpunkt (wenn der Beitrag gespeichert wird) gar nicht von fed geparst, insofern ist der Speicherfunktion nicht bekannt, daß oder ob eine http-Adresse in einem Sourcecode-Bereich steht. Bei den mail-Adressen habe ich eine workaround eingebaut (nachdem kostja schon früher einmal den Fehler gemeldet hatte): es wird das bereits eingebautet a-Tag wieder entfernt. Ähnlich könnte ich auch bei http-Adressen vorgehen. Es ist auf jeden Fall sehr unschön, erst etwas in den Text hineinzubringen, und es später wieder zu entfernen. Ich müßte hier mehr tun, nämlich den Beitrag auch beim Speichern nach fed-Blöcken parsen. Auf diese Weise sollte dann sogar noch das Problem der Smilies in fed-Blöcken gelöst werden können. Soweit für jetzt ... Gruß Matroid [ Nachricht wurde editiert von matroid am 08.05.2007 07:16:12 ]


   Profil
viertel
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 04.03.2003
Mitteilungen: 27784
Wohnort: Hessen
  Beitrag No.25, eingetragen 2008-10-07

Hallo Martin Aktuell auf qbnz.com/highlighter/
The latest stable version of GeSHi is 1.0.8, released on the 8th of August, 2008.
Ich weiß nicht, was für einen Aufwand es für Dich bedeutet, den Syntax-Highlighter zu aktualisieren. Aber er enthält auch Pov-Ray (keine Ahnung seit wann, aber in Deiner Liste oben ist es nicht dabei, wird aktuell auch nicht erkannt). Viele Grüße Dietmar



   Profil
matroid
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 12.03.2001
Mitteilungen: 14387
Wohnort: Solingen
  Beitrag No.26, vom Themenstarter, eingetragen 2008-11-15

@1/4: vielleicht schaue ich demnächst mal danach.


   Profil
gaussmath
Senior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 16.06.2007
Mitteilungen: 9044
Wohnort: Hannover
  Beitrag No.27, eingetragen 2016-06-06

"var" für C# wird nicht unterstützt.


   Profil
matroid hat die Antworten auf ihre/seine Frage gesehen.

Wechsel in ein anderes Forum:
 Suchen    
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2021 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]