
Ich verwende das fontspec
Paket mit LuaLaTeX
. Ich bin neugierig, ob es eine Möglichkeit gibt, Zahlen standardmäßig automatisch in Kapitälchen zu setzen, ähnlich wie Sie Zahlen standardmäßig in OldStyle/Kleinbuchstaben über die fontspec
Paketoptionen setzen können Numbers=OldStyle
oderNumbers=Lowercase
Hinweis: Nicht alle Schriftarten unterstützen Zahlen in Kapitälchen. Ich verwende in meinem MWE eine kostenlose Schriftart, die Zahlen in Kapitälchen unterstützt.
Der Grund für diese Frage ist, dass ich derzeit teste, ob es einfacher oder angenehmer ist, Zahlen in Kapitälchen zu setzen, als die üblichen Großbuchstaben mit fester Schreibbreite. Es wäre wunderbar, wenn es eine einfachere Möglichkeit gäbe, Zahlen in Kapitälchen auszugeben.
\documentclass{article}
\newcommand{\alphabet}{abcdefghijklmnopqrstuvwxyz}
\newcommand{\digits}{0123456789}
\usepackage{fontspec}
\setmainfont{Source Serif Pro}%Available for free on Google Fonts.
[
%Numbers=OldStyle%
%Numbers=Lowercase%
]
\begin{document}
\textbf{Regular letters and digits:}
\par
\alphabet\quad\digits
\par
\textbf{Small caps letters and digits:}
\par
\textsc{\alphabet\quad\digits}
\par
\textbf{Regular letters and Oldstyle digits:}
\par
\alphabet\quad\oldstylenums{\digits}
\end{document}
BEARBEITEN 1: Ich habe ein Foto hinzugefügt, das Zahlen in Kapitälchen anzeigt.
EDIT 2: Ich suche nach einer Lösung, bei der Zahlen möglichst als Kapitälchen angezeigt werdenstandardmäßig\textsc
ohne dass ich ein anderes Textmakro verwenden muss . Daher sollten \textsc{1234}
und 1234
identisch aussehen. Wenn dies nicht möglich ist, kann ich natürlich immer auf ein Textmakro zurückgreifen.
Antwort1
Sie suchen also nach Ziffern, die von der Größe her Kapitälchen entsprechen (die meines Wissens keinen richtigen Namen haben, da der Begriff „Kapitälchen“ normalerweise nur für Buchstaben verwendet wird), die aber unabhängig von der umgebenden Schreibweise des Textes in diesem Stil gedruckt werden sollen.
Sie können bestimmte OpenType-Funktionen über fontspec
die Option auswählen RawFeature=+xxxx
, wobei xxxx
die Abkürzung der entsprechenden OpenType-Funktion ist. Sie könnten also auswählen, RawFeature=+smcp
Kapitälchen generell zu aktivieren. Leider enthält Source Sans Pro keine Funktion, mit der Sie nur diese kleinen Zahlen auswählen können, ohne andere Buchstaben zu beeinflussen, und andererseits scheint es nicht direkt möglich zu sein, solche Funktionen nur für Zahlen auszuwählen, indem Sie verwenden fontspec
.
Sie können die Schriftart jedoch fonts.handlers.otf.addfeature
mit Ihrer eigenen benutzerdefinierten OpenType-Funktion erweitern, die Sie dann mit verwenden können fontspec
. Im folgenden Beispiel habe ich die Funktion erstellt xnum
, die die Ziffernglyphen durch die Kapitälchenvarianten ersetzt (Sie müssen jedoch die entsprechenden Glyphennamen in der Schriftart nachschlagen):
\documentclass{article}
\usepackage{fontspec}
\directlua{
fonts.handlers.otf.addfeature {
name = "xnum",
type = "substitution",
data = {
["zero"] = "zero.sc",
["one"] = "one.sc",
["two"] = "two.sc",
["three"] = "three.sc",
["four"] = "four.sc",
["five"] = "five.sc",
["six"] = "six.sc",
["seven"] = "seven.sc",
["eight"] = "eight.sc",
["nine"] = "nine.sc",
},
}
}
\setmainfont[RawFeature=+xnum]{Source Serif Pro}
\newcommand{\alphabet}{abcdefghijklmnopqrstuvwxyz}
\newcommand{\digits}{0123456789}
\begin{document}
\textbf{Regular letters and digits:}
\par
\alphabet\quad\digits
\end{document}
Eine andere Möglichkeit wäre, ein combofont
using-Paket mit gleichem Namen zu erstellen (das auf den Mechanismen basiert, die das luaotfload
Paket bereitstellt). Wichtig zu beachten ist, dass das Hinzufügen von Features wie z. B. smcp
zur zweiten Schriftart nur mit der Einstellung funktioniert mode=base
.
\documentclass{article}
\usepackage{combofont}
\setupcombofont{sourceserifpro-regular}{
{name:Source Serif Pro-Regular:mode=base;language=DFLT;+tlig} at #1pt,
{name:Source Serif Pro-Regular:mode=base;language=DFLT;+tlig;+smcp} at #1pt
}{
{} ,
0x30-0x39
}
\setupcombofont{sourceserifpro-bold}{
{name:Source Serif Pro-Bold:mode=base;language=DFLT;+tlig} at #1pt,
{name:Source Serif Pro-Bold:mode=base;language=DFLT;+tlig;+smcp} at #1pt
}{
{} ,
0x30-0x39
}
\DeclareFontFamily{TU}{sourceserifpro-combo}{}
\DeclareFontShape {TU}{sourceserifpro-combo}{m}{n} {<->combo*sourceserifpro-regular}{}
\DeclareFontShape {TU}{sourceserifpro-combo}{bx}{n}{<->combo*sourceserifpro-bold}{}
\newcommand{\alphabet}{abcdefghijklmnopqrstuvwxyz}
\newcommand{\digits}{0123456789}
\begin{document}
\fontfamily{sourceserifpro-combo}\selectfont
\textbf{Regular letters and digits:}
\par
\alphabet\quad\digits
\end{document}
Die Ausgabe ist die gleiche wie oben.