Anzeige:
Ergebnis 1 bis 10 von 10

Thema: Font-Verständnisproblem mit XeTeX/LuaTeX

  1. #1
    Registrierter Benutzer
    Registriert seit
    03.03.2008
    Beiträge
    82

    Font-Verständnisproblem mit XeTeX/LuaTeX

    Hallo,

    mein Anwendungsfall ist einfach: Ich habe ein LaTeX-Dokument, dass mit pdflatex übersetzt wird. Dort wird das Paket "charter" geladen. Der Wunsch der Anwender war, dass das Dokument auch mit xelatex und lualatex übersetzt werden kann, aber noch genauso ausschaut.

    Leider kriege ich das nicht hin. Minimalbeispiel:

    Code:
    \documentclass{scrartcl}
    
    \usepackage{ifxetex}
    \ifxetex
      \usepackage{fontspec}
      \usepackage{charter}
    \else
      \usepackage[utf8]{inputenc}
      \usepackage[T1]{fontenc}
      \usepackage{charter}
    \fi
    
    \begin{document}
    \textrm{Normaler Text: äöüß} \\
    \textbf{Fetter Text: äöüß} \\
    \textit{Kursiver Text: äöüß}
    \end{document}
    Mit pdflatex sieht das wie gewünscht aus. Mit xelatex übersetzt es, aber jegliche Auszeichnung fehlt und als Schriftart wird Latin Modern benutzt (soweit die Anzeige im PDF-Reader stimmt). Wenn ich im xetex-Zweig oben das "charter" auskommentiere, ist es immer noch Latin Modern, aber die Auszeichnung stimmt. Ich habe es auch schon mit "\setmainfont{Charter}" versucht, aber das bringt bei mir nur ein "The font "Charter" cannot be found."

    Als System setze ich Ubuntu 14.04 LTS mit TeX Live 2013 ein.

    Ich freue mich über Hinweise, was ich falsch mache und wo ich nachlesen kann, wie es richtig geht.

    Dee
    Geändert von Dee (21-03-2016 um 14:34 Uhr)

  2. #2
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    Du brauchst eine Opentype-Version der Charterschrift (z.B. Charis SIL, oder andere freie Varianten: https://en.wikipedia.org/wiki/Bitstream_Charter).
    Die type1-Schrift aus dem Charterpaket solltest du nur im Notfall mit xelatex benutzen, erstens ist da ggfs die Silbentrennung falsch, und da dir inputenc fehlt, funktionieren ohne Anpassung nicht alle Sonderzeichen.

  3. #3
    Registrierter Benutzer
    Registriert seit
    03.03.2008
    Beiträge
    82
    Danke, Ulrike, für die Antwort!

    Dann variiere ich meine Frage etwas: Ich möchte den Nutzern meiner LaTeX-Datei nicht zumuten, dass sie sich extra Schriften aus dem Netz laden müssen. Bei "pdflatex" installiere sie für Charter beispielsweise einfach ein bestimmtes Schriftpaket (ich weiß grad nicht welches). Gibt es für XeTeX eine ähnliche simple Lösung? Sprich, dass alles über die TeX-Distribution läuft und dennoch gut im Dokument aussieht (d.h. nicht bloß LatinModern)?

    Viele Grüße
    Dee

  4. #4
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    Dann musst du halt eine Schrift nutzen, die im TexSystem ist. http://www.ctan.org/topic/font-otf http://www.ctan.org/topic/font-ttf

  5. #5
    Registrierter Benutzer
    Registriert seit
    09.12.2005
    Beiträge
    1.326
    Beispielsweise XCharter gibt es als Type-1 mit Paket XCharter (pdflatex) oder als OTF für die Verwendung mit fontspec (lualatex oder xelatex).

  6. #6
    Registrierter Benutzer
    Registriert seit
    03.03.2008
    Beiträge
    82
    Danke, Ulrike, für die Liste. Ist eine nette Übersicht.

    XCharter habe ich auch gefunden, klops. Mit pdflatex geht das. Bei xelatex weiß ich nicht genau, wie ich die Schrift einbinde. Wenn ich setmainfont mit "XCharter" eingebe, kommt das obige "font not found". Ich habe mal "Bitstream Charter" eingegeben, das kompiliert, aber mit einem Fehler am Ende:

    Code:
    ** WARNING ** Obsolete four arguments of "endchar" will be used for Type 1 "seac" operator.
    ** ERROR ** This font using the "seac" command for accented characters...
    
    Output file removed.
     )
    Error 256 (driver return code) generating output;
    file chartertest.pdf may not be valid.
    Das ist ggf. das Problem, wieso man Charter nicht mit XeTeX nutzen sollte, was Ulrike oben erwähnte?

    Ich habe es dann mit einer anderen Schrift probiert, z.B. \usepackage{paratype}. Da habe ich aber nicht herausgefunden, wie der Name für setmainfont heißt. Was ich aktuell mache: Ich suche das Linux-Paket, in dem paratype.sty vorkommt. Dann liste ich alle Dateien des Paketes auf und suche nach "paratype". So bin ich auf "PTSerif-Regular-tlf*" gestoßen, aber das funktionierte bisher mit keiner Kombination.

    Gibt es da nen einfachen Trick, den Schriftname rauszufinden zu einem Paket, was ich unter pdftex mit \usepackage einbinde?

    Gruß Dee

  7. #7
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    Aktualisiere dein System. In texlive 2015 funktioniert das hier tadellos:

    Code:
    \documentclass{article}
    \usepackage{fontspec}
    \setmainfont{XCharter}
    \begin{document}
    blub
    \end{document}

  8. #8
    Registrierter Benutzer
    Registriert seit
    03.03.2008
    Beiträge
    82
    Diese Lösung ist leider nicht möglich. Ich nutze mit Absicht eine LTS-Distribution, damit ich ein langzeitstabiles System habe. Damit einher geht leider auch, dass die verwendeten Programmversionen älter sind. XeTeX und LuaTeX sollten aber stabil genug sein, dass sie auch in TeX Live 2013 gut zu benutzen sind.

    Wie oben geschrieben hänge ich nicht an Charter. Eine andere, „hübsche“ Schriftart wäre auch völlig okay.

    Vielen Dank
    Dee

  9. #9
    Registrierter Benutzer
    Registriert seit
    03.03.2008
    Beiträge
    82
    So, Antwort selbst gefunden: http://tex.stackexchange.com/questio...nts-with-xetex

    Mittels des Linux-Konsolentools "fc-list" konnte ich mir alle Schriften auflisten lassen. Bei denen steht dann auch der normale Name dabei, den man für "setmainfont" eingeben muss.

    Vielen Dank für die Hilfe, Thema damit gelöst.

  10. #10
    Registrierter Benutzer
    Registriert seit
    09.12.2005
    Beiträge
    1.326
    Es sei darauf hingewiesen, dass LTS bei den LaTeX-Paketen der Linux-Distributionen i. d. R. ggf. auch langzeit-instabil bedeutet, da diese i. d. R. nicht einmal Bugfixes erhalten. Support für Probleme sollte man bei einer TL2013-Installation auch nicht mehr erwarten. Zumindest sollte man bei allen Fragen immer mit angeben, dass man eine au-Installation verwendet und gewillt ist, darin zu verharren.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •