Matroids Matheplanet Forum Index
Moderiert von Stefan_K
Matroids Matheplanet Forum Index » Textsatz mit LaTeX » LaTeX Pixelschrift ?
Autor
Kein bestimmter Bereich LaTeX Pixelschrift ?
viertel
Senior Letzter Besuch: im letzten Quartal
Dabei seit: 04.03.2003
Mitteilungen: 27784
Wohnort: Hessen
  Themenstart: 2021-02-22

\(\begingroup\)\(\newcommand\d{\mathop{}\!\mathrm{d}}\) Ein Phänomen, das mich verwundert: Ich dachte immer, Schriftarten werden in die PDF-Datei eingebunden. Aber hier gibt es wohl beides: saubere Schrift (Text „Anfang“ mit TikZ, glatte Kanten, node-Beschriftung, beliebig zoombar) und Pixelschrift („normales“ $\LaTeX$ und TikZ, Treppchen, alle anderen Texte): (Bildausschnitt) https://www.matheplanet.de/matheplanet/nuke/html/uploads/b/1781_LaTeX_Pixelschrift_252481.png Ich benutze TexMaker 5.0.4 Ist das irgendwo eine Einstellungssache (nicht bei mir, sondern bei $\LaTeX$)? \showonCode \sourceonLaTeX \numberson \documentclass[12pt,a4paper,parskip=half]{scrartcl} \usepackage[utf8]{inputenc} \usepackage[german]{babel} \usepackage[T1]{fontenc} \usepackage{amsmath} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{tikz} \begin{document} Das ist einfacher Text. \begin{tikzpicture} % ein paar Maße definieren \pgfmathsetmacro{\c}{60} % Grundseite c \pgfmathsetmacro{\a}{50} % Seite a \pgfmathsetmacro{\b}{40} % Seite b % Dreiecksfläche \pgfmathsetmacro{\s}{(\a+\b+\c)/2} % halber Umfang für Heron %\pgfmathsetmacro{\F}{(\s*(\s-\a)*(\s-\b)*(\s-\c))^0.5} % Dreiecksfläche (Heron) \pgfmathsetmacro{\F}{sqrt(\s*(\s-\a))*sqrt((\s-\b)*(\s-\c))} % Dreiecksfläche (Heron) %\pgfmathsetmacro{\F}{992.2} % Dreiecksfläche (ohne Heron) \draw (0,0) -- node[above]{s=\s \quad F=\F} (5,0); \coordinate[label=below right :$Anfang$] (A) at (0,0); \coordinate[label=below left :$Ende$] (A) at (5,0); \end{tikzpicture} \end{document} \sourceoff Die Zeile 20 hatte mich übrigens fast in den Wahnsinn getrieben: Dimension too large.😖 Bis ich drauf kam, daß der Wert unter der Wurzel den erlaubten Zahlenbereich überschreitet, und ich daher in zwei Wurzeln zerlegt habe (Zeile 21). Zeile 22 funktionierte natürlich auch, an der Größe des Endergebnisses lag es also nicht. \showoff \showonAuf dem MP gerendert (da ist der Effekt leider nicht zu sehen): $ Das ist einfacher Text. \begin{tikzpicture} % ein paar Maße definieren \pgfmathsetmacro{\c}{60} % Grundseite c \pgfmathsetmacro{\a}{50} % Seite a \pgfmathsetmacro{\b}{40} % Seite b % Dreiecksfläche \pgfmathsetmacro{\s}{(\a+\b+\c)/2} % halber Umfang für Heron \pgfmathsetmacro{\F}{(\s*(\s-\a)*(\s-\b)*(\s-\c))^0.5} % Dreiecksfläche (Heron) %\pgfmathsetmacro{\F}{sqrt(\s*(\s-\a))*sqrt((\s-\b)*(\s-\c))} % Dreiecksfläche (Heron) %\pgfmathsetmacro{\F}{992.2} % Dreiecksfläche (ohne Heron) \draw (0,0) -- node[above]{s=\s \quad F=\F} (5,0); \coordinate[label=below right :$Anfang$] (A) at (0,0); \coordinate[label=below left :$Ende$] (A) at (5,0); \end{tikzpicture} $ Ui, $F$ ist auch noch kraß falsch😮 \showoff Gruß vom ¼\(\endgroup\)


   Profil
Wally
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 02.11.2004
Mitteilungen: 9275
Wohnort: Dortmund, Old Europe
  Beitrag No.1, eingetragen 2021-02-22

Hallo viertel, das ist bei mir nicht nachvollziehbar, nichts ist pixelig. Schuss ins Blaue: ist bei dir das Paket cm-super installiert? Viele Grüße Wally


   Profil
Wario
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 01.05.2020
Mitteilungen: 634
  Beitrag No.2, eingetragen 2021-02-22

Das gefragte Problem ist wohl, dass Text im verwendeten Editor (welcher?) pixelig wirkt (?). M.W. lädt man dafür \sourceon (latex) \usepackage{lmodern} \sourceoff Die Ergänzung im o.g. Code hat auf jeden Fall irgendeinen Effekt bei großem Zoom. Die TikZ-Rechnungen sind ein anderes Problem: LaTeX ist kein CAS, enthält aber ein "minimales CAS", was ausreicht um die Seitengeometrie von Dokumenten zu berechnen, und das nutzt TikZ. In Grenzfällen kann man oft tricksen; in Extremfällen SageTeX verwenden (das ist aber ein großes Fass!). Das Rechenproblem hier lässt sich gerade nicht nachvollziehen. Der TikZ-Block rauskopiert, liefert das richtige Ergebnis: $ \begin{tikzpicture} % ein paar Maße definieren \pgfmathsetmacro{\c}{60} % Grundseite c \pgfmathsetmacro{\a}{50} % Seite a \pgfmathsetmacro{\b}{40} % Seite b % Dreiecksfläche \pgfmathsetmacro{\s}{(\a+\b+\c)/2} % halber Umfang für Heron %\pgfmathsetmacro{\F}{(\s*(\s-\a)*(\s-\b)*(\s-\c))^0.5} % Dreiecksfläche (Heron) \pgfmathsetmacro{\F}{sqrt(\s*(\s-\a))*sqrt((\s-\b)*(\s-\c))} % Dreiecksfläche (Heron) \draw (0,0) -- node[above]{s=\s \quad F=\F} (5,0); \coordinate[label=below right :$Anfang$] (A) at (0,0); \coordinate[label=below left :$Ende$] (A) at (5,0); \end{tikzpicture} $


   Profil
viertel
Senior Letzter Besuch: im letzten Quartal
Dabei seit: 04.03.2003
Mitteilungen: 27784
Wohnort: Hessen
  Beitrag No.3, vom Themenstarter, eingetragen 2021-02-22

\(\begingroup\)\(\newcommand\d{\mathop{}\!\mathrm{d}}\) @Wally Keine Ahnung, ob cm-super dabei ist. TexMaker biete dazu keine Info (oder ich bin unfähig, sie zu finden). @Wario Ok, \sourceonLaTeX \usepackage{lmodern} \sourceoff löst das Pixel-Problem. Danke schon mal dafür. Das erklärt aber nicht, wieso ohne diesen Font ein Teil pixelig und ein Teil sauber ist (selbst innerhalb von tikzpicture)🤔 Ich erwarte ja auch keine CAS-Fähigkeiten, sondern berechne nur eine einfache Formel (Dreiecksfläche mit Heron) in Zeile 20 (ergibt Fehler) bzw. 21 (klappt). Dein fehlerfreies Beispiel benutzt die Zeile 21 (die mit den zwei sqrt-Rechnungen [kein Überlauf unter der Wurzel], hast aus meinem Code kopiert). $ \begin{tikzpicture} % ein paar Maße definieren \pgfmathsetmacro{\c}{60} % Grundseite c \pgfmathsetmacro{\a}{50} % Seite a \pgfmathsetmacro{\b}{40} % Seite b % Dreiecksfläche \pgfmathsetmacro{\s}{(\a+\b+\c)/2} % halber Umfang für Heron %\pgfmathsetmacro{\F}{(\s*(\s-\a)*(\s-\b)*(\s-\c))^0.5} % Dreiecksfläche (Heron) \pgfmathsetmacro{\F}{sqrt(\s*(\s-\a))*sqrt((\s-\b)*(\s-\c))} % Dreiecksfläche (Heron) %\pgfmathsetmacro{\F}{992.2} % Dreiecksfläche (ohne Heron) \draw (0,0) -- node[above]{s=\s \quad F=\F} (5,0); \coordinate[label=below right :$Anfang$] (A) at (0,0); \coordinate[label=below left :$Ende$] (A) at (5,0); \end{tikzpicture} $ Mit Zeile 20 (nur einmal sqrt) sieht das dann so aus: $ \begin{tikzpicture} % ein paar Maße definieren \pgfmathsetmacro{\c}{60} % Grundseite c \pgfmathsetmacro{\a}{50} % Seite a \pgfmathsetmacro{\b}{40} % Seite b % Dreiecksfläche \pgfmathsetmacro{\s}{(\a+\b+\c)/2} % halber Umfang für Heron \pgfmathsetmacro{\F}{(\s*(\s-\a)*(\s-\b)*(\s-\c))^0.5} % Dreiecksfläche (Heron) %\pgfmathsetmacro{\F}{sqrt(\s*(\s-\a))*sqrt((\s-\b)*(\s-\c))} % Dreiecksfläche (Heron) %\pgfmathsetmacro{\F}{992.2} % Dreiecksfläche (ohne Heron) \draw (0,0) -- node[above]{s=\s \quad F=\F} (5,0); \coordinate[label=below right :$Anfang$] (A) at (0,0); \coordinate[label=below left :$Ende$] (A) at (5,0); \end{tikzpicture} $\(\endgroup\)


   Profil
Wario
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 01.05.2020
Mitteilungen: 634
  Beitrag No.4, eingetragen 2021-02-22

Das ist ein guter Trick $ \sqrt{a\cdot b} =\sqrt{a}\cdot \sqrt{b}$ zu rechnen, weil er vermutlich erst das Argument berechnet und dann die Wurzel zieht und die erste Zahl darf nicht größer als irgendwas 50'000 (Pixelwert) sein. Aber sowas $(a\cdot b)^{0.5}$ sollte man in TikZ nicht machen; wenn überhaupt pow(\a, \n) Die sqrt(*) Funktion hat schon ihren Sinn, weil sie den richtigen Algorithmus ansteuert. TikZ potenziert irgendwie logarithmisch, und \a^\n kann falsch werden. Das geht so weit, dass viele \a*\a*\a, statt \a^3 eingeben.


   Profil
Wario
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 01.05.2020
Mitteilungen: 634
  Beitrag No.5, eingetragen 2021-02-23

\quoteon(2021-02-22 11:31 - viertel in Beitrag No. 3) \sourceon (LaTeX) \usepackage{lmodern} \sourceoff löst das Pixel-Problem. ... Das erklärt aber nicht, wieso ohne diesen Font ein Teil pixelig und ein Teil sauber ist (selbst innerhalb von tikzpicture) \quoteoff Warum das jetzt genau so ist, kann ich nicht sagen. Vielleicht war das ursprüngliche ps-Druckerformat noch nicht vollständig für die pdf-Monitorausgabe ausgereift. Das Problem ist aber bekannt: Der Schriftdefault ist 'Computer Modern' (cmodern) und dieses Pixelproblem löst 'Latin Modern' (lmodern), was m.W. nichts Besonderes macht, als das Pixelproblem zu lösen. Und man lädt quasi standardmäßig \usepackage{lmodern}, so wie man standardmäßig \usepackage[ngerman]{babel} o.ä. lädt. Ein Vorteil von lmodern ist die Skalierbarkeit. Man kann also -bei Bedarf- auch Schriftgrößen wie '4.3pt' einstellen, das würde bei cmodern üblicherweise auf einen der Defaultwerte (tiny, small, normalsize,....) zurückgesetzt werden (und eine entsprechende Warnung erscheinen). In kleinen Beispieldokumenten ist das alles erstmal nicht so wichtig, deshalb steht auch nicht überall \usepackage{lmodern} dabei. \quoteon(namsu) Das lmodern (= Latin Modern) Paket verändert die verwendete Schriftart. Der Hauptunterschied ist die Darstellung der Schrift innerhalb von pdf Dateien, während diese bei der Verwendung der normalen Standard Schriftart von Latex - Computer Modern - doch recht pixelige auf den Betrachter wirkt, erscheint der Text der mit Latin Modern als Schriftart geschrieben worden ist doch um einiges flüßiger. Da die überwiegende Anzahl der Dokumenten die mit Latex erstellt vom Dateityp her ein pdf sind sollte anstelle der bisherigen Standardschrift die Schriftart Latin Modern verwendetet werden. Der nachfolgende Text wurde einmal mit der Standardschrift und dann mit Latin Modern ausgegeben. \quoteoff


   Profil
Folgende Antworten hat der Fragesteller vermutlich noch nicht gesehen.
Stefan_K
Senior Letzter Besuch: im letzten Monat
Dabei seit: 13.07.2005
Mitteilungen: 4380
Wohnort: Hamburg
  Beitrag No.6, eingetragen 2021-06-20

Zur Pixelschrift: das liegt sehr wahrscheinlich daran, dass Du die T1-Schriftcodierung eingestellt hast, was auch sehr empfehlenswert ist. Die ältere default Codierung (OT1) hat (zu damals speichersparsamen Zeiten) kleinere Zeichentabellen und enthält u.a. nicht die Umlaute. Mit den größeren T1-Zeichentabellen werden Umlaute und allgemein viele Zeichen mit Akzenten direkt codiert, so dass sie auch direkt im PDF auftauchen und nicht zusammengesetzt (etwa ein ö aus einem o plus 2 Punkte). Erst mit T1 klappt auch vernünftige Silbentrennung sowie copy&paste aus einem PDF. Das cm-super-Paket (cm = Computer Modern, default Schriftart) ist ein Schriftpaket der LaTeX-Distribution, taucht nicht im Dokument-Code auf und nicht beim Editor, es sollte nur mit dem LaTeX Paketmanager installiert werden. Das enthält T1-kompatible CM-Schriften in hoher Qualität, skalierbar. Ohne T1 hättest Du Bitmap-Schriften, die beim Skalieren pixelig aussehen. cm-super installieren, fertig. lmodern (Latin Modern) ist eine sehr gute, sehr ähnliche und neuere Alternative zu Computer Modern, von vornherein T1-kompatibel, und löst das Problem daher ebenfalls. Man denkt sich, sowas könnte voreingestellt sein, doch einerseits sollen alte Dokumente genauso wie früher funktionieren, was geänderten Voreinstellungen widerspricht, andererseits gibt es ja nicht nur Westeuropäische Sprachen, die dann eben eine ganz andere Codierung als T1 verwenden, wie Russisch bzw. Kyrillisch, Griechisch, Vietnamesisch, etc. bzw. alte OT1-Dokumente sollten eben nicht unerwartet anders aussehen. StefanK


   Profil

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]