Позвольте fontsize внутри команды пропорционально изменить размер

Позвольте fontsize внутри команды пропорционально изменить размер

Я хотел бы написать, \newcommandчтобы определить стильное слово, например \LaTeX.

Давайте рассмотрим такой пример:

\newcommand{\mystyle}{
     \textit{\raisebox{+0.2ex}{M}
     \kern-0.66em\raise-0.3ex\hbox{\scriptsize y}
     \kern-0.3em\raise0.4ex\hbox{\scriptsize s}
     \kern-0.75em\raise-0.3ex\hbox{\scriptsize t}
     \kern-0.3em\hbox{yle}
     }
     }

Проблема в том, что когда \mystyleпомещается внутрь \title{}или \section{}размеры шрифтов, которые определяются грубой силой (первые 4 буквы), становятся слишком маленькими, поскольку они не пропорционально масштабируются с остальными буквами. Если я пишу \LaTeXвнутри, \title{}то проблем нет.

Как сделать так, чтобы моя команда работала так же гладко?

решение1

relsizeДля этого вы можете использовать пакет.

введите описание изображения здесь

\documentclass{article}

\usepackage{relsize}

\newcommand{\mystyle}{
     \textit{\raisebox{+0.2ex}{M}
     \kern-0.66em\raise-0.3ex\hbox{\relsize{-1}y}
     \kern-0.3em\raise0.4ex\hbox{\relsize{-1}s}
     \kern-0.75em\raise-0.3ex\hbox{\relsize{-1}t}
     \kern-0.3em\hbox{yle}
     }
     }

\begin{document}

\section{\mystyle}

Text talking about \mystyle

\end{document}

решение2

Эту проблему на самом деле невозможно решить с помощью relsize.

Вы можете использовать тот факт, что \check@mathfontsустанавливает размеры шрифтов для нижних и верхних индексов на основе текущего размера шрифта, сохраняя его в файле \sf@size.

\documentclass{article}

\makeatletter
\newcommand{\mystyle}{%
  \textit{%
    \check@mathfonts
    \itshape
    \raisebox{0.2ex}{M}%
    \kern-0.1em
    \raisebox{-0.3ex}{\fontsize\sf@size\z@\selectfont y}%
    \kern-0.1em
    \raisebox{0.4ex}{\fontsize\sf@size\z@\selectfont s}%
    \kern-0.2em
    \raisebox{-0.3ex}{\fontsize\sf@size\z@\selectfont t}%
    yle%
  }%
}
\makeatother

\begin{document}

\mystyle

\bigskip

\Large\mystyle

\bigskip

\footnotesize\mystyle

\end{document}

Обратите внимание, что у вас было несколько пробелов (из-за незащищенных концов строк), которые я удалил, поэтому кернинг пришлось изменить. Исправьте по своему вкусу.

введите описание изображения здесь

Связанный контент