Abreviatura en español antiguo tipográfica: centro que termina sobre punto

Abreviatura en español antiguo tipográfica: centro que termina sobre punto

Para una edición moderna de música del imperio español del siglo XVII, necesito componer ciertas abreviaturas anticuadas en las fuentes manuscritas. En esta convención, la parte media de la palabra se abrevia y la terminación se centra sobre el punto. Por ejemplo:

ingrese la descripción de la imagen aquí

Para los curiosos, esto se expande a "Al Santissimo [Sacramento]. a 8", lo que significa que la pieza está dedicada al Santísimo Sacramento (y por eso se usa para el Corpus Christi o la devoción eucarística), y está compuesta para ocho voces.

El comando en MWE hace esto usando \rlap, pero el final está alineado a la izquierda con el punto. Cuando se usa cursiva (al menos cuando se usa ebgaramond), la terminación choca con la letra anterior.

¿Cómo podría espaciar esto mejor para que el final esté centrado en el período sin colisiones, tanto en letra romana como en cursiva?

\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}

ingrese la descripción de la imagen aquí

Respuesta1

Crédito a José en¿Detectar qué "modo" de texto (normal, cursiva, negrita, etc.) está actualmente en uso?para ayudar a determinar si está en cursiva. Si es así, se aplica un kern adicional a la sobreescritura (en relación con el punto a continuación) para que sea estéticamente compatible con la forma de cursiva.

Tenga en cuenta que elegí centrar el punto debajo de la primera letra del guión, como se muestra en la figura del OP.

\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}

ingrese la descripción de la imagen aquí

Si uno realmente quisiera el punto debajo delcentrodel sobreguión, entonces esta simple redefinición

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

tendrá el efecto:

ingrese la descripción de la imagen aquí

Respuesta2

Centrar es fácil; la colisión se cura con \/.

\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}

Aunque no estoy seguro de que sea bueno.

ingrese la descripción de la imagen aquí

Respuesta3

No pude resistirme a proponer una pequeña variante a la solución de Steven B. Segletes usando una fuente que tiene una S histórica contextual (desafortunadamente, EBGaramond no la tiene) y un punto centrado que no está en la línea base. Se compila con xelatexo 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} 

ingrese la descripción de la imagen aquí

Respuesta4

Sí, esto ciertamente se puede hacer. Pruebe lo siguiente:

\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}

Esto debería darte lo que creo que quieres:

Abreviaturas en superíndice

Hay algunos problemas con esta solución: a saber, no hay ningún interletraje específico de cada carácter involucrado. Realmente, la "m" en el superíndice está demasiado cerca de los caracteres de la izquierda, pero si corregimos eso, entonces la "o" está demasiado lejos de ellos. No estoy seguro de cómo resolver ese problema.

Tenga en cuenta que esto también debería ser independiente de la fuente. ¿Eso logra tu objetivo?

información relacionada