PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : st-Ligatur nur in Überschrift setzen



Federstrich
30-09-2009, 01:58
Liebes Forum,

LaTeX setzt Ligaturen ja automatisch, was wirklich ein tolles Feature ist. Jetzt habe ich aber das Problem, dass ich ein paar seltenere Ligaturen nicht im ganzen Text haben will. Deshalb meine Frage: Ist es möglich, Ligaturen einzeln zu setzen?

Ich brauche z. B. die st- und ct-Ligatur nur in Überschriften, nicht aber im Fließtext. Wo immer ich gesucht habe, wurde nur erklärt, wie man Ligaturen abschalten kann. Ich kann ja verstehen, dass man bei ein paar fi- und fl-Ligaturen durch den Text geht und die dann abschaltet. St ist aber eine sehr häufige Buchstabenkombination. Weiß da jemand was?

Für die st-Ligatur habe ich die Unicode-Encodings (U+FB06):

<table class="list"><tbody><tr><th colspan="2">Encodings</th></tr><tr class="row0"><td>HTML Entity (decimal)</td><td align="right">st</td></tr><tr class="row1"><td>HTML Entity (hex)</td><td align="right">st</td></tr><tr class="row1"><td>UTF-8 (hex)</td><td align="right">0xEF 0xAC 0x86 (efac86)</td></tr><tr class="row0"><td>UTF-8 (binary)</td><td align="right">11101111:10101100:10000110</td></tr><tr class="row1"><td>UTF-16 (hex)</td><td align="right">0xFB06 (fb06)</td></tr><tr class="row0"><td>UTF-16 (decimal)</td><td align="right">64.262 </td></tr><tr class="row1"><td>UTF-32 (hex)</td><td align="right">0x0000FB06 (fb06)</td></tr><tr class="row0"><td>UTF-32 (decimal)</td><td align="right">64.262</td></tr><tr class="row1"><td>C/C++/Java source code</td><td align="right">"\uFB06"</td></tr><tr class="row0"><td>Python source code</td><td align="right">u"\uFB06"</td></tr></tbody></table>
Ich habe aber leider keinen blassen Schimmer, wie ich die Ligatur benutzen kann. Ein Minimalbeispiel (ich kompiliere mit XeLaTeX)? Hm, ich könnte schon mal alles liefern, außer der Ligatur :D:
\documentclass{scrartcl}
\usepackage{xltxtra}
\defaultfontfeatures{Mapping=tex-text}
\usepackage{libertine}
\usepackage{blindtext}
\begin{document}
\section{Überschrift}
Das ist ein starkes Stück, du Wicht!
\end{document}
Vielen Dank euch allen im Voraus! Gute Nacht,
euer Federstrich

krihaa
30-09-2009, 04:44
Hallo Federstich,

Ich frage mich, warum du überhaupt mit XeLaTeX kompilierst, wenn du doch die Features gar nicht nutzt, die es bietet. Die Libertine willst du ja als Paket einbinden.
Hier mal zum Vergleich mein MB mit Lösungsvorschlag für dein Problem, wenn ich es denn richtig verstanden habe:

\documentclass{scrartcl}
\usepackage[T1]{fontenc}
\usepackage{xunicode,fontspec,xltxtra}
\setmainfont[Mapping=tex-text,Ligatures=Common]{Linux Libertine}
\setkomafont{sectioning}{\addfontfeature{Ligatures =Historical}}
\begin{document}
\section{st ct fi fl ffi ffl ck ch}
st ct fi fl ffi ffl ck ch
\end{document}
Über den Sinn, die Ligaturen (st ct) lediglich in der Überschrift zu verwenden, kann man sich natürlich streiten. Ich würd sie gar nicht verwenden. Für das Beispiel muss die Libertine als OTF oder TTF installiert sein. Weitere Hinweise auch hier (http://linuxlibertine.sourceforge.net) und zu den XeLaTeX-Features hier (http://linuxlibertine.sourceforge.net/Libertine-XeTex-DE.pdf).

Gruß
Kristian

Federstrich
30-09-2009, 09:51
Hallo krihaa,

vielen Dank für deinen Vorschlag - sieht sehr viel versprechend aus!

Ich will mit den Ligaturen nur einzelne Wörter hervorheben und deshalb Ligaturen nur selten einsetzen und das in Überschriften.

Und dabei will ich nur die historischen st- und ct-Ligaturen in der Überschrift haben, die Common-Ligatures sollen im Text schon auftauchen.

Welche Features könnte ich denn noch nutzen, bin immer für Vorschläge offen.

Viele Grüße,
Federstrich