Kapitälchen mit Times New Roman

Schriftbild, Absätze und Auflistungen einstellen


MoonKid
Forum-Meister
Forum-Meister
Beiträge: 689
Registriert: Sa 30. Jun 2012, 11:56

Kapitälchen mit Times New Roman

Beitrag von MoonKid »

Ich möchte gerne Kapitälchen mit Time New Roman haben. Das gibt der Font aber nicht her, wie beim XeLaTeX lauf zu sehen ist.
\documentclass{scrartcl}

\usepackage{xltxtra}
\defaultfontfeatures{Mapping=tex-text}
\usepackage{polyglossia}
\setdefaultlanguage[spelling=new]{german}

\setmainfont{Times New Roman}

\begin{document}
\textsc{Kapitälchen bitte}
\end{document}
Welche Möglichkeiten hätte ich für eine ähnliche Hervorhebung, ohne fett, kursiv oder eine andere Schriftart nehmen zu müssen. Auch die Times-Klone aus Vorgabegründen hier keine Option.
XeLaTeX, TeX Live, vim-latexsuite

Besserwisser

Beitrag von Besserwisser »

Wenn Du Times New Roman nehmen musst und Kapitälchen brauchst, dann lass Dir diese zur Verfügung stellen. Die gibt es kommerziell, aber auch als Bestandteil von Windows 8.1 (nicht jedoch Windows 8).

Man kann nicht von Dir einen bestimmten Font verlangen, diesen aber nicht zur Verfügung stellen.

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Da hat Besserwisser genau Recht. Schriftlizenzen kosten Geld, und das hat seine Gründe. Mythos Schriftlizenzen.

Zeig doch den Vorgebenden ein paar Times-Klone (bspw. TG Termes), dann können sie sich für einen entscheiden.
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

MoonKid
Forum-Meister
Forum-Meister
Beiträge: 689
Registriert: Sa 30. Jun 2012, 11:56

Beitrag von MoonKid »

Zum Thema Vorgabe: Also Times New Roman ist die Vorgabe. Das mit den Kapitälchen ist eher mein Wunsch. Sieht einfach geiler aus. ;)

Das ist eine vorläufige Lösung.
\documentclass{scrartcl}

\usepackage{xltxtra}
\defaultfontfeatures{Mapping=tex-text}
\usepackage{polyglossia}
\setdefaultlanguage[spelling=new]{german}

\setmainfont{Times New Roman}

\begin{document}
\fontspec{texgyretermes-regular.otf}
\textsc{Kapitälchen bitte}

\rmfamily
Kapitälchen bitte
\end{document}
Dabei ist zu beachten, dass der otf-Font bei XeLaTeX mit dem Dateinamen (nicht unbedingt Pfad) aufgerufen werden muss. Nur mit dem Namen wird es nicht gefunden. Das steht auch so in der fontspec-Docu.

Aber so zufrieden bin ich mit der Lösung noch nicht. Mainfont ist "Times New Roman". Die TeXGyre-Schrift soll nur in einem isolierten Bereich verwendet werden.
Das "Zurückschalten" zum default-font mit \rmfamily finde ich unglücklich. Das mit dem Kapitälchen will ich später in ein eigenes Makro packen. Das Makro soll am Ende die TeXGyre-Schrift wieder ausschalten und zum vorherigen Font zurückkehren. Ob dies aber nun der mainfont, sansfont war, weiß doch mein Makro nicht.
Versteht hier was ich meine?
Ich möchte zum vorherigen font zurückschalten können, ohne zu wissen welcher es war - das soll fontspec selber wissen.
Gibt es nicht sowas wie \usedefaultfont oder \mainfont.

Ich hatte auch die Option "SmallCapsFont" gefunden. Aber bei folgender Variante findet er die otf-Datei nicht.
\setmainfont[SmallCapsFont={texgyretermes-regular.otf}]{Times New Roman}
XeLaTeX, TeX Live, vim-latexsuite

Besserwisser

Beitrag von Besserwisser »

MoonKid hat geschrieben:Dabei ist zu beachten, dass der otf-Font bei XeLaTeX mit dem Dateinamen (nicht unbedingt Pfad) aufgerufen werden muss. Nur mit dem Namen wird es nicht gefunden. Das steht auch so in der fontspec-Docu.
Nein, da steht, dass man Fonts nur dann nach Namen auswählen kann, wenn sie als Systemfont installiert sind. Nachdem ich sowohl Times New Roman als auch TeX Gyre Roman als Systemfonts installiert habe, ergibt folgendes Beispiel:
\documentclass{scrartcl}

\usepackage{xltxtra}
\defaultfontfeatures{Mapping=tex-text}
\usepackage{polyglossia}
\setdefaultlanguage[spelling=new]{german}

\setmainfont[%
  SmallCapsFont={TeX Gyre Termes},
  SmallCapsFeatures={Letters=SmallCaps}
]{Times New Roman}

\begin{document}
\textsc{Kapitälchen bitte}
\end{document}
mit XeLaTeX (oder LuaLaTeX) übersetzt das Ergebnis:
Bild
MoonKid hat geschrieben:Gibt es nicht sowas wie \usedefaultfont oder \mainfont.
Es gibt \normalfont. Obige Lösung dürfte aber vermutlich besser sein.

Genau genommen verstößt Du damit aber natürlich bereits gegen die Vorgabe Times New Roman zu verwenden. Wenn Du bei den SmallCaps dagegen verstößt, kannst Du auch gleich bei allen Schnitten dagegen verstoßen und insgesamt die TeX Gyre nehmen. Falls das jemandem auffällt, wird vermutlich ein automatisches Testtool verwendet. Das dürfte dann aber auch über die SmallCaps stolpern.

MoonKid
Forum-Meister
Forum-Meister
Beiträge: 689
Registriert: Sa 30. Jun 2012, 11:56

Beitrag von MoonKid »

Sehr g..l!

Das kommt davon, wenn man CTAN TeX Live verwendet, was alle seine Schriften nicht ins System einbindet. Hab jetzt einfach noch die passenden font-Packete von Ubuntu nachinstalliert.

Ein Problem hat er bei mir aber noch.
*************************************************
* fontspec warning: "icu-feature-not-exist-in-font"
* 
* OpenType feature 'Letters=SmallCaps' (+smcp) not available for font 'TeX
* Gyre Termes' with script '' and language ''.
*************************************************
*************************************************
* fontspec warning: "icu-feature-not-exist-in-font"
* 
* OpenType feature 'Letters=SmallCaps' (+smcp) not available for font 'TeX
* Gyre Termes' with script '' and language ''.
*************************************************
*************************************************
* fontspec warning: "icu-feature-not-exist-in-font"
* 
* OpenType feature 'Letters=SmallCaps' (+smcp) not available for font 'TeX
* Gyre Termes' with script '' and language ''.
*************************************************
*************************************************
* fontspec warning: "icu-feature-not-exist-in-font"
* 
* OpenType feature 'Letters=SmallCaps' (+smcp) not available for font 'TeX
* Gyre Termes' with script '' and language ''.
*************************************************
Er spuckt ein PDF aus, aber es sind keine Kapitälchen.

"language" hab ich ja eigentlich gesetzt. Und was meint er mit "script"?

Hab auch alle Ausgabedateien mal zur Sicherheit gelöscht. Ändert aber nix.

EDIT: Auf einem anderen Ubuntu-System habe ich die Schrift-Packete nicht installiert, sondern die otf-Files aus meiner bestehenden CTAN-TeX-Live Installation als Systemschriftart hinzugefügt/installiert. Die Fehlermeldung bleibt die gleiche.

EDIT2: Hab mir jetzt mal Abschnitt 10.18 der fontspec-Doku angeschaut. Auch das explizite Setzen von "Script" und "Language" ändert nichts. Habe bei "Script" "Default" und "Latin" probiert.
Evtl. hast du eine neuere Version der Schrift installiert? Mein TeX Live ist aber aktuell vom CTAN-Repository. Kann ich mir ne Versionsnummer einer otf-Datei anzeigen lassen?
XeLaTeX, TeX Live, vim-latexsuite

MoonKid
Forum-Meister
Forum-Meister
Beiträge: 689
Registriert: Sa 30. Jun 2012, 11:56

Beitrag von MoonKid »

Hab jetzt nochmal mit dem "Script" alle CTAN TeX Live fonts dem System bekannt gemacht.
echo "<dir>/usr/local/texlive/2013/texmf-dist/fonts/</dir>" &> /etc/fonts/local.conf                                
fc-cache -v
Auch das ändert nix im Verhalten. Jetzt bin ich echt überfragt.
XeLaTeX, TeX Live, vim-latexsuite

Noch so einer

Beitrag von Noch so einer »

Ich weiß nicht, ob das so geht, denn eigentlich stehen die dir-Tags noch in fontconfig-Tags. Jedenfalls habe ich unter Linux schlicht eine /etc/fonts/conf.d/09-texlive.conf mit dem Inhalt:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <dir>/usr/local/texlive/2013/texmf-dist/fonts/opentype</dir>
  <dir>/usr/local/texlive/2013/texmf-dist/fonts/truetype</dir>
  <dir>/usr/local/texlive/2013/texmf-dist/fonts/type1</dir>
</fontconfig>
Damit sind alle opentype, truetype und type1 fonts von texlive nach einem "sudo fc-cache"-Aufruf gleichzeitig als Systemfonts verfügbar. Wenn man das auf Benutzerebene machen will, muss man die Datei AFAIK in ~/.fonts.config.d ablegen.

fc-list führt bei mir dann auch die entsprechenden Fonts mit auf, beispielsweise:
/usr/local/texlive/2013/texmf-dist/fonts/opentype/public/tex-gyre/texgyretermes-regular.otf: TeX Gyre Termes:style=Regular

MoonKid
Forum-Meister
Forum-Meister
Beiträge: 689
Registriert: Sa 30. Jun 2012, 11:56

Beitrag von MoonKid »

Noch so einer hat geschrieben:fc-list führt bei mir dann auch die entsprechenden Fonts mit auf, beispielsweise:
/usr/local/texlive/2013/texmf-dist/fonts/opentype/public/tex-gyre/texgyretermes-regular.otf: TeX Gyre Termes:style=Regular
Bei mir auch. Ein dir-Tag reicht völlig.
user@pc-kubuntu:~/share/Latex/tut/apa$ fc-list | grep texgyretermes
/usr/share/texmf/fonts/opentype/public/tex-gyre/texgyretermes-italic.otf: TeX Gyre Termes:style=Italic
/usr/local/texlive/2013/texmf-dist/fonts/opentype/public/tex-gyre/texgyretermes-bold.otf: TeX Gyre Termes:style=Bold
/usr/local/texlive/2013/texmf-dist/fonts/opentype/public/tex-gyre/texgyretermes-italic.otf: TeX Gyre Termes:style=Italic
/usr/share/texmf/fonts/opentype/public/tex-gyre-math/texgyretermes-math.otf: TG Termes Math:style=Regular
/usr/share/texmf/fonts/opentype/public/tex-gyre/texgyretermes-bolditalic.otf: TeX Gyre Termes:style=Bold Italic
/usr/local/texlive/2013/texmf-dist/fonts/opentype/public/tex-gyre-math/texgyretermes-math.otf: TeX Gyre Termes Math:style=Regular
/usr/local/texlive/2013/texmf-dist/fonts/opentype/public/tex-gyre/texgyretermes-regular.otf: TeX Gyre Termes:style=Regular
/usr/local/texlive/2013/texmf-dist/fonts/opentype/public/tex-gyre/texgyretermes-bolditalic.otf: TeX Gyre Termes:style=Bold Italic
/usr/share/texmf/fonts/opentype/public/tex-gyre/texgyretermes-regular.otf: TeX Gyre Termes:style=Regular
/usr/share/texmf/fonts/opentype/public/tex-gyre/texgyretermes-bold.otf: TeX Gyre Termes:style=Bold
XeLaTeX, TeX Live, vim-latexsuite

MoonKid
Forum-Meister
Forum-Meister
Beiträge: 689
Registriert: Sa 30. Jun 2012, 11:56

Beitrag von MoonKid »

Der Thread ist alt, aber das Problem besteht weiterhin.

Aktuelles Minibeispiel
\documentclass{scrartcl}

\usepackage{xltxtra}
\defaultfontfeatures{Mapping=tex-text}
\usepackage{polyglossia}
\setdefaultlanguage[spelling=new]{german}

% Times New Roman enthält keine Kapitälchen/SmallCaps!
% daher wird „TeX Gyre Termes“ als Times-Clone für die SmallCaps verwendet
\setmainfont[%
    SmallCapsFont={TeX Gyre Termes},
    SmallCapsFeatures={Letters=SmallCaps}
]{Times New Roman}

\begin{document}
\textsc{Kapitälchen bitte}

\textsc{KAPITÄLCHEN}

Keine Kapitälchen.
\end{document}
Ausschnitt aus dem log
*************************************************
* fontspec warning: "icu-feature-not-exist-in-font"
* 
* OpenType feature 'Letters=SmallCaps' (+smcp) not available for font 'TeX
* Gyre Termes' with script '' and language ''.
*************************************************
*************************************************
* fontspec warning: "icu-feature-not-exist-in-font"
* 
* OpenType feature 'Letters=SmallCaps' (+smcp) not available for font 'TeX
* Gyre Termes' with script '' and language ''.
*************************************************
*************************************************
* fontspec warning: "icu-feature-not-exist-in-font"
* 
* OpenType feature 'Letters=SmallCaps' (+smcp) not available for font 'TeX
* Gyre Termes' with script '' and language ''.
*************************************************
*************************************************
* fontspec warning: "icu-feature-not-exist-in-font"
* 
* OpenType feature 'Letters=SmallCaps' (+smcp) not available for font 'TeX
* Gyre Termes' with script '' and language ''.
*************************************************
Die Frage lautet erstmal, wie ich sicher gehen kann, dass das bei mir installierte TeX Gyre Termes tatsächlich auch Kapitälchen kann. Der KDE-Schriftartenbetrachter (Kubuntu 14.04.3) schweigt sich da aus. Er kann zwar zich Unicode-Blöcke anzeigen, aber mir ist nicht klar, welcher davon die Kapitälchen enthalten sollte.

Gibt es evtl. eine externe Quelle, wo ich checken kann, ob diese Schriftart das kann?

Übrigens ist das Problem mit Latin Modern Roman das gleiche, obwohl diese angeblich SmallCaps kann.
XeLaTeX, TeX Live, vim-latexsuite

Antworten