Como obtenho os tamanhos de fonte necessários quando eles estão entre os padrões? Progresso da classe SAE

Como obtenho os tamanhos de fonte necessários quando eles estão entre os padrões? Progresso da classe SAE

Eu realmente não sei muito sobre como hackear um arquivo de classe, mas como mencionei em outro lugar no fórum, estou tentando fazer um para SAE. Meu arquivo de classe atual suporta apenas um tamanho de fonte de 10pt como \normalsize. Usando os vários comandos fontsize (de \tiny a \Huge), posso acertar 5, 7, 8, 9, 10, 12, 14,4, 17,28, 20,74 e 24,88.

Idealmente, eu gostaria que minha fonte \normalsize tivesse 9pt (este é o tamanho da fonte do corpo para artigos SAE), mas preciso de fontes de 7, 8, 9, 10, 11, 12 e 15pt.

Minha pergunta é: como faço para conseguir isso? Examinei muitas páginas nos fóruns sobre dimensionamento de fonte personalizado e estou um pouco confuso.

O manual do LaTeX não diz muito sobre isso:http://svn.gna.org/viewcvs/Confira/latexrefman/trunk/latex2e.html#Font-sizes

Eu estava pensando em seguir basicamente o modelo amsart.sty, mas não tenho certeza de quanto devo incluir. Defino tamanhos de pontos específicos da seguinte maneira para cada tamanho:?

\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
}

Antes de começar a me aprofundar em uma área sobre a qual não sei nada, esperava obter orientação de alguém com um pouco mais de experiência nessa área... Eu realmente quero poder ter a classe padrão nos seguintes tamanhos:

  • tamanho da nota de rodapé = 7pt
  • pequeno = 8pt
  • tamanho normal = 9pt
  • grande = 10pt
  • Grande = 11pt
  • GRANDE = 12pt
  • enorme = 15pt

Se você olhar atentamente para o meu arquivo de classe, ele é baseado na classe do artigo e contém o seguinte:

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

No entanto, alterar 10pt em \ExecuteOptions não faz nada no meu documento...

Aqui está um MWE que imprime meus tamanhos de fonte atuais com meu arquivo de classe atual (um tanto ruim) (o arquivo de classe pode ser baixado abaixo):

\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}

O arquivo de classe em seu estado atual pode ser encontrado aqui: https://drive.google.com/file/d/0B6FxKnpluKC4NjU1TzNuZTFEWEE/view?usp=sharing

Responder1

Minha solução para esse problema foi primeiro alterar a classe base do meu arquivo de classe SAE de artigo para extarticle:

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

Isso cuidou da maioria dos tamanhos de fonte que eu precisava e me permitiu usar 9 pt. font como a \normalsizefonte do documento. Para as fontes que não estavam disponíveis através dos comandos normais de tamanho de fonte, defini dois tamanhos de fonte adicionais da seguinte maneira:

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

informação relacionada