フォントサイズがデフォルトと異なる場合、必要なフォントサイズを取得するにはどうすればいいですか? SAE クラスの進捗状況

フォントサイズがデフォルトと異なる場合、必要なフォントサイズを取得するにはどうすればいいですか? SAE クラスの進捗状況

クラス ファイルをハッキングする方法についてはよくわかりませんが、フォーラムの別の場所で述べたように、SAE 用のクラス ファイルを作成しようとしています。現在のクラス ファイルは、\normalsize として 10pt のフォント サイズのみをサポートしています。さまざまなフォント サイズ コマンド (\tiny から \Huge まで) を使用すると、5、7、8、9、10、12、14.4、17.28、20.74、および 24.88 にすることができます。

理想的には、\normalsize フォントを 9pt (これは SAE 論文の本文のフォント サイズ) にしたいのですが、7、8、9、10、11、12、および 15pt のフォントが必要です。

私の質問は、どうすればこれを実現できるかということです。カスタム フォント スケーリングに関するフォーラムのページを多数見てきましたが、少し混乱しています。

LaTeX マニュアルにはこれについてあまり説明がありません。詳しくはこちらチェックアウト/latexrefman/trunk/latex2e.html#フォントサイズ

基本的に amsart.sty テンプレートに従うことを考えていましたが、どの程度含める必要があるかわかりません。サイズごとに、次のように特定のポイント サイズを定義すればよいのでしょうか。

\renewcommand\normalsize{\@xsetfontsize\normalsize 6%
  \@adjustvertspacing \let\@listi\@listI}
\DeclareRobustCommand{\Tiny}{\@xsetfontsize\Tiny 1}
\DeclareRobustCommand{\tiny}{\@xsetfontsize\tiny 2}
\DeclareRobustCommand{\SMALL}{\@xsetfontsize\SMALL 3}
\DeclareRobustCommand{\Small}{\@xsetfontsize\Small 4%
  \@adjustvertspacing
  \def\@listi{\topsep\smallskipamount \parsep\z@skip \itemsep\z@skip
    \leftmargin=\leftmargini
    \labelwidth=\leftmargini \advance\labelwidth-\labelsep
  }%
}
\DeclareRobustCommand{\small}{\@xsetfontsize\small 5\@adjustvertspacing}
\def\footnotesize{\Small}
\def\scriptsize{\SMALL}
\DeclareRobustCommand{\large}{\@xsetfontsize\large 7\@adjustvertspacing}
\DeclareRobustCommand{\Large}{\@xsetfontsize\Large 8\@adjustvertspacing}
\DeclareRobustCommand{\LARGE}{\@xsetfontsize\LARGE 9}
\DeclareRobustCommand{\huge}{\@xsetfontsize\huge{10}}
\DeclareRobustCommand{\Huge}{\@xsetfontsize\Huge{11}}
\def\@xsetfontsize#1#2{%
  \chardef\@currsizeindex#2\relax
  \edef\@tempa{\@nx\@setfontsize\@nx#1%
    \@xp\ifcase\@xp\@currsizeindex\@typesizes
      \else{99}{99}\fi}%
  \@tempa
}

\DeclareOption{9pt}{\def\@mainsize{9}\def\@ptsize{9}%
  \def\@typesizes{%
    \or{5}{6}\or{5}{6}\or{6}{7}\or{7}{8}\or{8}{10}%
    \or{9}{11}% normalsize
    \or{10}{12}\or{\@xipt}{13}\or{\@xiipt}{14}%
    \or{\@xivpt}{17}\or{\@xviipt}{20}}%
  \normalsize \linespacing=\baselineskip
}

自分がまったく知らない分野に深く入り込む前に、この分野でもう少し経験のある人からアドバイスをもらいたいです...クラスのデフォルトを次のサイズに設定できるようにしたいです:

  • 脚注サイズ = 7pt
  • 小 = 8pt
  • 通常サイズ = 9pt
  • 大 = 10pt
  • 大 = 11pt
  • 大 = 12pt
  • 巨大 = 15pt

私のクラス ファイルをよく見ると、article クラスに基づいており、次の内容が含まれています。

\LoadClass[twocolumn]{article}
\ExecuteOptions{times,letter,10pt}
\ProcessOptions

ただし、\ExecuteOptions の 10pt を変更しても、ドキュメントでは何も起こりません...

以下は、現在の (やや粗悪な) クラス ファイル (クラス ファイルは以下からダウンロードできます) を使用して現在のフォント サイズを印刷する MWE です。

\documentclass[letterpaper]{saeRyan}
\makeatletter
\newcommand\thefontsize[1]{{#1 The current font size is: \f@size pt\par}}
\makeatother
\begin{document}
\thefontsize\tiny
\thefontsize\scriptsize
\thefontsize\footnotesize
\thefontsize\small
\thefontsize\normalsize
\thefontsize\large
\thefontsize\Large
\thefontsize\LARGE
\thefontsize\huge
\thefontsize\Huge
\end{document}

現在の状態のクラス ファイルは、次の場所にあります。 https://drive.google.com/file/d/0B6FxKnpluKC4NjU1TzNuZTFEWEE/view?usp=sharing

答え1

この問題に対する私の解決策は、まず SAE クラス ファイルの基本クラスを article から extarticle に変更することでした。

% The extarticle class allows for 9 pt font as the normalsize font.
\LoadClass[twocolumn,9pt]{extarticle}

これにより、必要なフォント サイズのほとんどが処理され、\normalsizeドキュメントのフォントとして 9 pt フォントを使用できるようになりました。通常のフォント サイズ コマンドで使用できないフォントについては、次の方法で 2 つの追加フォント サイズを定義しました。

% Define two additional exact font sizes to meet SAE guidelines. These font sizes are not included as part of the extarticle class, so we define them here. A 15pt font (baseline skip = 15*1.2 = 18), and an 11 pt font (baseline skip = 11*1.2 = 13.2). The general rule of thumb is that the baseline skip is 1.2 times the font point size. We will need to use \SAEtitlesize in the title definition, and SAEheadtwosize in the \subsection{} definition (heading level 2).
\newcommand\SAEtitlesize{\@setfontsize\SAEtitlesize{15pt}{18}}
\newcommand\SAEheadtwosize{\@setfontsize\SAEtwohead{11pt}{13.2}}

% A note about font sizes in this class: The class is based off the extarticle class, which supports 8-20pt font sizes as the default. Here we select 9pt fonts as the default \normalsize font. Thus in the SAE document class you will get the following font point sizes for each latex fontsize command:

% \tiny:         5 pt
% \scriptsize:   6 pt. 
% \footnotesize: 7 pt. SAE asks that text inside tables is 7 pt. Use \footnotesize before tables for this.
% \small:        8 pt. SAE asks for caption fonts to be 8 pt. Use \small for captions.
% \normalsize   9 pt. This should be the standard fontsize for the text body, as well as for 4th level headings (in bold/italic). This should also be the size of the paper number at the top of the page (in bold), and the size of the nomenclature/definitions/abbreviations at the end of the paper.
% \large        10 pt. This should be the size of 3rd level headings (in bold, \subsubsection{}), and the affiliations
% \Large        10.95 pt. 
% \SAEheadtwosize 11 pt. This custom font size should be the size of Heading level 2 (subsection{})
% \LARGE        12 pt. This should be the size of the author list (in bold), and all 1st level headings (in bold), including abstract, introduction, body headings, summary, references, contact info, acknowledgements, definitions/abbreviations, and the appendix heading.
% \huge         14.4 pt. 
% \SAEtitlesize 15 pt. This custom font size should be the size of the title.
% \Huge         17.28 pt.

関連情報