+2 Daumen
891 Aufrufe

Wie lässt sich in der Mathelounge Text in dicktengleicher (nicht proportionaler) Schriftart ohne oder auch mit gesteuerter Syntaxhervorhebung unter exakter Beibehaltung von Zeilenschaltungen darstellen?

Die bloße Verwendung von code- oder pre-Elementen ist nicht befriedigend.

Hier ein eher unbefriedigendes Beispiel mit dem pre-Element:

Lorem ipsum dolor sit amet, consetetur sadipscing elitr.
At vero eos et accusam et justo duo dolores et ea rebum.
Stet clita kasd gubergren, no sea takimata sanctus est.


Es ist offenbar nicht möglich, eine gezielte Steuerung der Absätze oder der Zeilenschaltungen vorzunehmen.

Avatar von 26 k

1 Antwort

0 Daumen

Dicktengleich bedeutet, dass alle Buchstaben, Zeichen- und Leerraumabstände systematisch vereinheitlicht sind. Sie stehen damit direkt untereinander.

Hierfür sind Monospaced Fonts (Schriftarten) notwendig. Diese findet man auf der Mathelounge mit dem <pre> und <code> Tag.

123456789 - x
abcdefghi - x

Wie man oben sieht, stehen die x immer noch untereinander.

Den Zeilenumbruch erzielt man übrigens mit Shift + Enter.

Eine Hervorhebung mit Farben innerhalb code-Blöcken ist jedoch nicht möglich.

Möchtest du eine Stelle anzeigen, so kannst du diesen Trick verwenden:

Ziffer 3 in der Zahl 12345 ist hervorzuheben.
^

Andernfalls bitte Latex verwenden und das dort verfügbare Alignment und Coloring.

Avatar von 14 k

Ok, soweit war ich auch schon. Bei der Verwendung des code-Elementes kann ich die Zeilenschaltungen setzen, aber nicht die Syntaxhervorhebung steuern. Mit dem pre-Element funktioniert das Setzen der Zeilenschaltungen nicht richtig. In der Vorschau sehen die Ergebnisse auch nicht so aus wie im fertigen Post.

Hier ein Zweizeiler mit pre, das in der Vorschau wie gewünscht aussieht:

abc
123

Wie man sieht, gibt es einen nicht erwünschten Abstand zwischen den beiden Zeilen, der in der Vorschau nicht zu sehen ist.

Vielen Dank für diesen Hinweis. Das habe ich soeben gefixet.

Hintergrund: Alle Texte in pre Tags werden als Reintext dargestellt inklusive mehrfacher Zeilenabstände und Umbrüche im Text. HTML ist nicht notwendig. Jedoch wird ein <br> innerhalb von pre trotzdem als Zeilenumbruch gerendert.

Das heißt, Textzeilenumbrüche (ohne HTML-Tags) und HTML-Zeilenumbrüche werden jeweils als Zeilenumbruch gerendert.

Daher wird aus:

<pre>Mein Text
nächste Zeile<br>nächste Zeile</pre>
ein dreizeiliger Text.

Ich habe das Problem per CSS gefixet, indem nun die <br> innerhalb von <pre> ausgeblendet werden. Dadurch werden nur die Textzeilenumbrüche gerendert, was korrekt ist.

Nachtrag:

Innerhalb von pre-Tags lassen sich übrigens auch Farben setzen:

Text ist farbig.
Text ist nicht farbig.
verycool1234

Hm... das hat mal nicht geklappt, in der Eingabe und in der Vorschau waren es drei Zeilen...

Merkwürdig. Hier ein Test.

very
cool
1234

Tatsächlich muss man noch die <br> Zeilenumbrüche setzen. Aber dann funktioniert es. Wahrscheinlich hat es mit dem Editor selbst zu tun, dieser wandelt Eingaben um.

Obiges als HTML:

<pre>very<br />cool<br />1234</pre>

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Mathelounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community