Libertine: Et-Zeichen in Kapitälchen global umdefinieren

Schriftbild, Absätze und Auflistungen einstellen


mischer
Forum-Anfänger
Forum-Anfänger
Beiträge: 13
Registriert: Mi 8. Jan 2014, 13:14

Libertine: Et-Zeichen in Kapitälchen global umdefinieren

Beitrag von mischer »

Hallo!

Ich würde gern das Et-Zeichen, das bei Linux Libertine standardmäßig in Kapitälchen genutzt wird, für das gesamte Dokument umdefinieren. Das Lesen der libertine-Doku und eine weitergehende Internetrecherche haben mich hierbei leider nicht weitergebracht. Ich hoffe jemand von euch hat eine Idee dazu.

Genutzt wird innerhalb von \textsc offenbar die Glyphe "ampersand.alt" (vgl. http://linuxlibertine.sourceforge.net/l ... ulatex.pdf, S. 15). Ich würde gern auch hier das normale Et-Zeichen nutzen ("ampersand").
\documentclass[parskip]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{libertine}

\begin{document}

Standardschrift:\\
Max \& Moritz

Als Kapitälchen:\\
\textsc{Max \& Moritz}

So soll es aussehen:\\
\textsc{Max} \& \textsc{Moritz}

\end{document}
Hier die Ausgabe:
Bild

Gemäß der o.g. Doku sollte der Zugriff auf das Et-Zeichen mit \useTextGlyph{fxl}{ampersand} möglich sein. Dies scheint jedoch veraltet zu sein (Doku ist von 2009), LaTeX meldet mir "Undefined control sequence".

Habe also momentan nicht einmal eine Idee, wie ich auf das normale Et-Zeichen zugreifen kann, geschweige denn, wie ich den Befehl \& in der Präambel entsprechend anpassen kann.

Hat vielleicht jemand eine Idee?

Viele Grüße,
Mike

Gast

Re: Libertine: Et-Zeichen in Kapitälchen global umdefinieren

Beitrag von Gast »

Hallo Mike,

meine Antwort löst dein Problem leider nicht, aber vielleicht hilft sie dir bei der weiteren Suche. Ich wollte bei der Libertine mal das Standard W durch das Wikipedia W austauschen, da das Wikipedia W ein Sonderzeichen der Libertine ist (das dürfte ein ähnliches Problem zu deinem Problem sein). Rausgefunden habe ich, dass das mit pdfLaTeX wohl nicht geht, da der Befehl \libertineGlyph{} in pdfLaTeX nicht funktioniert, wohl aber in XeLaTeX oder in LuaLaTeX. Deshalb jetzt hier ein Beispiel mit dem Wikipedia W (mit LuaLaTeX übersetzen):
\documentclass[parskip]{scrartcl} 
\usepackage{fontspec}
\usepackage{libertine}
\newfontfamily\libertinew[StylisticSet=5]{Linux Libertine O}

\begin{document}
Wikipedia \libertineGlyph{W.alt}ikipedia

\libertinew

Wikipedia
\end{document}
Möglicherweise ist folgende Seite noch hilfreich:

http://tex.stackexchange.com/questions/ ... -libertine

Viele Grüße

PS: Über eine Rückantwort (weiterer Lösungsansatz) würde ich mich freuen.[/url]

mischer
Forum-Anfänger
Forum-Anfänger
Beiträge: 13
Registriert: Mi 8. Jan 2014, 13:14

Beitrag von mischer »

Hallo und danke für deine Anregung! Habe den Link gecheckt, konnte mich meinem Problem damit jedoch leider nicht nähern. :?

Zwischenzeitlich bin ich auf den Befehl \chardef\&="0026 gestoßen, der das Umdefinieren des Et-Zeichens ja grundsätzlich erlaubt, auch mit pdfLaTeX.

In Libertine scheint für die Kapitälchen das alternative Et-Zeichen jedoch fix hinterlegt zu sein, sodass die Umdefinition keine Auswirkungen hatte. Hingegen hat ein testweises Umdefinieren als %-Zeichen zum "Erfolg" geführt:

Bild

Noch jemand 'ne Idee? :?
\documentclass[parskip]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{libertine}

\begin{document}

\chardef\&="0026
Umdefinition mit \verb|\chardef\&="0026|:

Standardschrift:\\
Max \& Moritz

Als Kapitälchen:\\
\textsc{Max \& Moritz}

So soll es aussehen:\\
\textsc{Max} \& \textsc{Moritz}

\chardef\&="0025
Zum Test mit \verb|\chardef\&="0025|:

Standardschrift:\\
Max \& Moritz

Als Kapitälchen:\\
\textsc{Max \& Moritz}

So soll es aussehen:\\
\textsc{Max} \& \textsc{Moritz}

\end{document}

Genmutant
Forum-Guru
Forum-Guru
Beiträge: 488
Registriert: Di 8. Jul 2008, 11:00
Wohnort: Augsburg

Beitrag von Genmutant »

Ich hätte eine halbe Lösung für dich, die mir allerdings nicht besonders gefällt, weil sie öfters kaputt geht...

Du kannst global ändern, dass & immer in Standardschrift gedruckt werden soll, allerdings funktionieren dann so Sachen wie Fett oder Kursiv davon nicht mehr.
\documentclass[parskip]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{libertine}

\let\oldet\&
\def\&{\textnormal{\oldet}}
\begin{document}

Standardschrift:\\
Max \& Moritz\\
Als Kapitälchen:\\
\textsc{Max \& Moritz}\\
\large
\textsc{Max \& Moritz}\\
\textbf{Max \& Moritz}
\end{document}

mischer
Forum-Anfänger
Forum-Anfänger
Beiträge: 13
Registriert: Mi 8. Jan 2014, 13:14

Beitrag von mischer »

Hallo Genmutant,
ich danke dir für deinen Vorschlag. Die Nebenwirkungen machen ihn für mich aber leider nicht nutzbar, da ich auf die anderen Schriftschnitte nicht verzichten kann.

Falls mein Wunsch dies in der Präambel zu definieren nicht so einfach umsetzbar ist, würde ich zur Not auch innerhalb des \textsc-Befehls jedes Mal manuell das "normale" Et-Zeichen aufrufen.

Allerdings spuckt auch dieser Befehl
\textsc{Max \libertineGlyph{ampersand} Moritz}
automatisch das alternative Et-Zeichen aus. Grrrrrrr..... :roll:
(Mal abgesehen davon, dass dieser Befehl ja auch nur bei XeLaTeX/LuaLaTeX verfügbar ist.)

Genmutant
Forum-Guru
Forum-Guru
Beiträge: 488
Registriert: Di 8. Jul 2008, 11:00
Wohnort: Augsburg

Beitrag von Genmutant »

Ja das Problem ist halt, dass sobald du in den sc Modus wechselst, eine andere Schrift benutzt wird. In der wurde dann eben das & ersetzt durch deine Version.

Wenn es dir nicht zu viel Arbeit ist, kannst du natürlich auch einfach
\textsc{Max \textnormal{\&} Moritz}
machen.

Noch so einer

Beitrag von Noch so einer »

\documentclass[parskip]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{libertine}
\makeatletter
\renewcommand*\&{%
  {\ifstr{\f@shape}{sc}{\ifstr{\f@series}{m}{\normalfont}{\normalfont\bfseries}}{}\char"26 }%
}
\makeatother
\begin{document}

Standardschrift:\\
Max \& Moritz\\
Als Kapitälchen:\\
\textsc{Max \& Moritz}\\
\large
\textsc{Max \& Moritz}\\
\textbf{Max \& Moritz}\\
\textsc{\textbf{Max \& Moritz}}\\
\textsc{\textsf{Max \& Moritz}}\\
\end{document}
Man kann natürlich noch weitere Fallunterscheidungen einbauen. Das nötige Wissen findet man u. a. im fntguide.

Genmutant
Forum-Guru
Forum-Guru
Beiträge: 488
Registriert: Di 8. Jul 2008, 11:00
Wohnort: Augsburg

Beitrag von Genmutant »

Cool, das kannte ich noch nicht! :D

mischer
Forum-Anfänger
Forum-Anfänger
Beiträge: 13
Registriert: Mi 8. Jan 2014, 13:14

Beitrag von mischer »

Wow, genial! Vielen Dank, das ist genau das was ich gesucht habe! :)
Die Syntax habe ich noch nicht wirklich verstanden. Werde mir die von dir verlinkte Doku dazu mal ansehen. Nochmals danke!

Noch so einer

Beitrag von Noch so einer »

\ifstr findest Du übrigens in der KOMA-Script-Anleitung bzw. im KOMA-Script-Buch.

Die gezeigte Fallunterscheidung ist natürlich sehr rudimentär. So würde beispielsweise bei Vorhandensein eines light-Stils bei der gezeigten Fallunterscheidung ein fettes & gesetzt. Wie gesagt: Man kann die Fallunterscheidung noch deutlich verfeinern, wenn das gewünscht wird.

Alternativ könnte man übrigens \& auch via everysel in Abhängigkeit von der gewählten Schrift umdefinieren.

Außerdem überlege ich gerade, dass es vermutlich eine gute Idee wäre, \& mit \DeclareRobustCommand statt mit \renewcommand umzudefinieren. Dann funktioniert es auch im Argument von \caption, \section etc.

Antworten