Как получить нужные мне размеры шрифтов, если они находятся между значениями по умолчанию? Прогресс класса SAE

Как получить нужные мне размеры шрифтов, если они находятся между значениями по умолчанию? Прогресс класса SAE

Я не очень разбираюсь в хакерстве с файлом класса, но, как я уже упоминал в другом месте на форуме, я пытаюсь сделать один для SAE. Мой текущий файл класса поддерживает только размер шрифта 10pt как \normalsize. Используя различные команды fontsize (от \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 об этом сказано немного:http://svn.gna.org/viewcvs/проверить/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
  • маленький = 8пт
  • нормальный размер = 9pt
  • большой = 10пт
  • Большой = 11pt
  • БОЛЬШОЙ = 12pt
  • огромный = 15pt

Если вы внимательно посмотрите на мой файл класса, то увидите, что он основан на классе article и содержит в себе следующее:

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

Однако изменение 10pt в \ExecuteOptions ничего не меняет в моем документе...

Вот 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}

Это позаботилось о большинстве необходимых мне размеров шрифтов и позволило мне использовать шрифт 9 pt. в качестве шрифта \normalsizeв документе. Для шрифтов, которые не были доступны через обычные команды размера шрифта, я определил два дополнительных размера шрифта следующим образом:

% 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.

Связанный контент