重新定义 LaTex 中的字体大小

重新定义 LaTex 中的字体大小

我的目的是将所有字体大小设置为\normalsize。我可以通过重新定义每个字体大小的命令来实现这一点,使用:\renewcommand{\Large}{\normalsize}

在这个例子中,为什么scriptsize不管怎样都还是一样?

\documentclass[a4paper,twoside,onecolumn]{article}

\renewcommand{\large}{\normalsize}
\renewcommand{\Large}{\normalsize}
\renewcommand{\small}{\normalsize}
\renewcommand{\footnotesize}{\normalsize}
\renewcommand{\scriptsize}{\normalsize}
\renewcommand{\tiny}{\normalsize}

\begin{document}

\section{Section}

This is the text body\footnote{This a footnote} with
some\textsuperscript{superscript} and some\textsubscript{subscript}.
Here are {\small different sizes} and {\Large another sizes}. Here is a
new footnote\footnote{With some {\small text} here {\scriptsize and
there}.}.


\subsection{Subsection}

\paragraph{Paragraph.}
And \tiny{another} one piece of text.


\end{document}

输出(除 外,所有文本大小相同scriptsize): 字体大小示例

为什么会发生这种情况?我该如何修复它以便每个字体大小都相等normalsize

答案1

为了重新定义\textsuperscript\textsubscript应用于\normalsize它的参数,我们利用这样一个事实,即两者都使用@调用具有同名名称的内部宏。

\documentclass[a4paper,twoside,onecolumn]{article}
\renewcommand{\large}{\normalsize}
\renewcommand{\Large}{\normalsize}
\renewcommand{\small}{\normalsize}
\renewcommand{\footnotesize}{\normalsize}
\renewcommand{\scriptsize}{\normalsize}
\renewcommand{\tiny}{\normalsize}
\makeatletter
\let\old@textsuperscript\@textsuperscript
\let\old@textsubscript\@textsubscript
\renewcommand{\@textsuperscript}[1]{%
  \old@textsuperscript{\normalsize #1}%
}
\renewcommand{\@textsubscript}[1]{%
  \old@textsubscript{\normalsize #1}%
}
\makeatother
\begin{document}
\section{Section}

This is the text body\footnote{This a footnote} with
some\textsuperscript{superscript} and some\textsubscript{subscript}.
Here are {\small different sizes} and {\Large another sizes}. Here is a
new footnote\footnote{With some {\small text} here {\scriptsize and
there}.}.

\subsection{Subsection}

\paragraph{Paragraph.}
And \tiny{another} one piece of text.

\end{document}

在此处输入图片描述

相关内容