讓指令中的 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}

請注意,我刪除了幾個空格(由於不受保護的行尾),因此必須更改字偶距。根據您的喜好修復它。

在此輸入影像描述

相關內容