コマンド内のフォントサイズを比例的に変更する

コマンド内のフォントサイズを比例的に変更する

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

保護されていない行末のため、スペースがいくつか削除されたため、カーニングを変更する必要がありました。お好みに合わせて修正してください。

ここに画像の説明を入力してください

関連情報