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