Alte spanische Abkürzung gesetzt: Mitte, Ende über Punkt

Alte spanische Abkürzung gesetzt: Mitte, Ende über Punkt

Für eine moderne Ausgabe von Musik aus dem spanischen Kaiserreich des 17. Jahrhunderts muss ich bestimmte veraltete Abkürzungen in den Manuskriptquellen setzen. Bei dieser Konvention wird der mittlere Teil des Wortes abgekürzt und das Ende über dem Punkt zentriert. Zum Beispiel:

Bildbeschreibung hier eingeben

Für Neugierige: Dies lässt sich zu „Al Santissimo [Sacramento]. a 8“ erweitern, was bedeutet, dass das Stück dem Allerheiligsten Sakrament gewidmet ist (und daher für Fronleichnam bzw. die Eucharistie-Andacht verwendet wird) und für acht Stimmen komponiert ist.

Der Befehl im MWE macht das mit \rlap, allerdings steht die Endung linksbündig am Punkt. Bei der Kursivschrift (zumindest bei ebgaramond) kollidiert die Endung mit dem vorhergehenden Buchstaben.

Wie könnte ich dies besser absetzen, sodass die Endung sowohl in Antiqua als auch in Kursivschrift ohne Kollisionen über dem Punkt zentriert ist?

\documentclass[12pt]{article}

\usepackage{ebgaramond}
\usepackage[T1]{fontenc}

\newcommand{\oldabbrev}[2]{#1\rlap{.}\textsuperscript{#2}}

\begin{document}

\oldabbrev{M}{o} Salazar, \oldabbrev{Villan}{co} al \oldabbrev{SS}{mo} a 8

\itshape
\oldabbrev{M}{o} Salazar, \oldabbrev{Villan}{co} al \oldabbrev{SS}{mo} a 8

\end{document}

Bildbeschreibung hier eingeben

Antwort1

Dank an Joseph beiErkennen, welcher Textmodus (normal, kursiv, fett usw.) aktuell verwendet wird?um zu bestimmen, ob Kursivschrift verwendet wird. Wenn ja, wird ein zusätzlicher Unterschnitt auf die Überschrift angewendet (relativ zum Punkt darunter), um sie ästhetisch mit der Kursivschrift kompatibel zu machen.

Beachten Sie, dass ich mich dafür entschieden habe, den Punkt unter dem ersten Buchstaben der Überschrift zu zentrieren, wie in der Abbildung des OP gezeigt.

\documentclass[12pt]{article}
\usepackage{ebgaramond}
\usepackage[T1]{fontenc}
\usepackage{stackengine}
\makeatletter
\newcommand*{\IfItalicTF}{%
  \ifx\f@shape\my@test@it
    \expandafter\@firstoftwo
  \else
    \expandafter\@secondoftwo
  \fi
}
\newcommand*{\my@test@it}{it}
\makeatother
\newcommand\oldabbrev[2]{#1\nobreak%
  \def\stacktype{L}\setstackgap{L}{.5\baselineskip}\oldabbhelp#2\relax\relax}
\def\oldabbhelp#1#2\relax{\bgroup\scriptsize%
  \stackon{\normalsize.}{\IfItalicTF{\kern1.5pt}{}#1}\stackon{}{#2}\egroup}
\begin{document}
\oldabbrev{M}{o} Salazar, \oldabbrev{Villan}{co} al \oldabbrev{SS}{mo} a 8

\itshape
\oldabbrev{M}{o} Salazar, \oldabbrev{Villan}{co} al \oldabbrev{SS}{mo} a 8
\end{document}

Bildbeschreibung hier eingeben

Wenn man wirklich den Punkt unter demCenterdes Überskripts, dann diese einfache Neudefinition

\def\oldabbhelp#1\relax{\bgroup\scriptsize%
  \stackon{\normalsize.}{\IfItalicTF{\kern1.5pt}{}#1}\egroup}

hat folgende Wirkung:

Bildbeschreibung hier eingeben

Antwort2

Das Zentrieren ist einfach; die Kollision wird durch behoben \/.

\documentclass[12pt]{article}
\usepackage[T1]{fontenc}

\usepackage{ebgaramond}

\newcommand{\oa}[1]{%
  \/{\ooalign{\textsuperscript{#1}\cr\hidewidth.\hidewidth\cr}}%
}

\begin{document}

M\oa{o} Salazar, Villan\oa{co} al SS\oa{mo} a 8

{\itshape
M\oa{o} Salazar, Villan\oa{co} al SS\oa{mo} a 8}

\end{document}

Ich bin jedoch nicht sicher, ob es gut ist.

Bildbeschreibung hier eingeben

Antwort3

Ich konnte nicht widerstehen, eine kleine Variante zu Steven B. Segletes' Lösung vorzuschlagen, bei der eine Schriftart verwendet wird, die ein kontextbezogenes historisches S hat (EBGaramond hat das leider nicht) und einen zentrierten Punkt, der nicht auf der Grundlinie liegt. Es wird mit xelatexoder kompiliert lualatex.

\documentclass[12pt]{article}

\usepackage{stackengine}
\usepackage{fontspec}
\setmainfont{Sabon Next LT Pro}


\newcommand{\myoldabbrev}[2]{#1\textsuperscript{\smash{\stackunder[0.5ex]{#2}{\normalsize.}}}}%

\begin{document}
\upshape \myoldabbrev{M}{o} Salazar, \myoldabbrev{Villan}{co} al \myoldabbrev{SS}{mo} a 8

\addfontfeature{StylisticSet={2, 4,5}, Ligatures=Historic}

\itshape
\myoldabbrev{M}{o} Salazar, \myoldabbrev{Villan}{co} al  \myoldabbrev{SS}{mo} 8

\myoldabbrev{M}{o} Salazar, \myoldabbrev{Villan}{co} al  \myoldabbrev{\char"017F\char"017F\kern0.25em}{mo} 8

\end{document} 

Bildbeschreibung hier eingeben

Antwort4

Ja, das ist durchaus möglich. Versuchen Sie Folgendes:

\documentclass{article}
\thispagestyle{empty}
\newlength{\dotcenterwd}
\def\dotcenter#1{%
    \settowidth{\dotcenterwd}{\textsuperscript{#1}}%
    \hbox to\dotcenterwd{\textsuperscript{#1}}%
    \kern-\dotcenterwd%
    \hbox to\dotcenterwd{\hfil.\hfil}%
}%
\begin{document}
\Huge
M\dotcenter{o}
\textit{M\dotcenter{o}}
M\dotcenter{co}
\textit{M\dotcenter{co}}
SS\dotcenter{mo}
\textit{SS\dotcenter{mo}}
\end{document}

Ich glaube, das hier sollte Ihnen das geben, was Sie wollen:

Hochgestellte Abkürzungen

Diese Lösung hat einige Probleme: Es ist nämlich kein zeichenspezifisches Kerning beteiligt. Tatsächlich ist das „m“ im hochgestellten Zeichen zu nah an den Zeichen links, aber wenn wir das korrigieren, ist das „o“ zu weit von ihnen entfernt. Ich bin nicht sicher, wie ich dieses Problem lösen soll.

Beachten Sie, dass dies auch schriftartunabhängig sein sollte. Erreicht das Ihr Ziel?

verwandte Informationen