Ich möchte die Höhe hochgestellter Zeichen in bestimmten Fällen verringern, in denen ich einen sehr engen Zeilenabstand verwende. Gibt es eine bessere Möglichkeit als die folgende? Idealerweise wäre die Höhe hochgestellter Zeichen nicht höher als die Oberkante der Buchstaben.
\documentclass{article}
\newcommand*\mysuper[1]{\raisebox{-0.3ex}{\textsuperscript{#1}}}
\begin{document}
Food\mysuper{1}
FOOD\mysuper{2}
\end{document}
Antwort1
Erhöhen Sie die Schachtel mit dem Artikel um die Differenz zwischen der Höhe eines Großbuchstabens und der Höhe des Artikels.
\documentclass{article}
\newcommand*\mysuper[1]{%
\raisebox{\dimeval{\fontcharht\font`A-\height}}{\scriptsize #1}%
}
\begin{document}
Food\mysuper{1}
FOOD\mysuper{2}
\end{document}
Wenn Sie diese Funktion nutzen möchten sups
, empfehle ich, eine geeignete Schriftfamilie zu definieren.
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Libertinus Serif}
\newfontfamily{\lssuperior}{Libertinus Serif}[VerticalPosition = Superior]
\newcommand*\mysuper[1]{%
\raisebox{\dimeval{\fontcharht\font`A-\height}}{\lssuperior#1}%
}
\begin{document}
Food\mysuper{1}
FOOD\mysuper{2}
\textit{Food\mysuper{3}}
\end{document}
Zum Vergleich das gleiche mit \scriptsize
statt\lssuperior