Ich weiß nicht wirklich viel darüber, wie man eine Klassendatei zusammenhackt, aber wie ich an anderer Stelle im Forum erwähnt habe, versuche ich, eine für SAE zu erstellen. Meine aktuelle Klassendatei unterstützt nur eine Schriftgröße von 10pt als \normalsize. Mit den verschiedenen Fontsize-Befehlen (von \tiny bis \Huge) kann ich 5, 7, 8, 9, 10, 12, 14,4, 17,28, 20,74 und 24,88 erreichen.
Idealerweise hätte ich gerne eine Schriftgröße von 9 pt (das ist die Schriftgröße für den Hauptteil von SAE-Dokumenten), aber ich brauche die Schriftgrößen 7, 8, 9, 10, 11, 12 und 15 pt.
Meine Frage ist, wie erreiche ich das? Ich habe mir in den Foren viele Seiten zur benutzerdefinierten Schriftskalierung angesehen und bin ein wenig verwirrt.
Das LaTeX-Handbuch sagt dazu nicht viel:http://svn.gna.org/viewcvs/Kasse/latexrefman/trunk/latex2e.html#Schriftgrößen
Ich habe darüber nachgedacht, grundsätzlich der Vorlage amsart.sty zu folgen, bin mir aber nicht sicher, wie viel ich einschließen muss. Definiere ich für jede Größe bestimmte Punktgrößen folgendermaßen:?
\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
}
Bevor ich zu tief in einen Bereich eintauche, von dem ich nichts weiß, wollte ich von jemandem mit etwas mehr Erfahrung auf diesem Gebiet Hilfe bekommen … Ich möchte die Klasse wirklich standardmäßig auf die folgenden Größen einstellen können:
- Fußnotengröße = 7pt
- klein = 8pt
- Normalgröße = 9pt
- groß = 10pt
- Groß = 11pt
- GROSS = 12pt
- riesig = 15pt
Wenn Sie sich meine Klassendatei genauer ansehen, werden Sie feststellen, dass sie auf der Artikelklasse basiert und Folgendes enthält:
\LoadClass[twocolumn]{article}
\ExecuteOptions{times,letter,10pt}
\ProcessOptions
Das Ändern der 10pt in \ExecuteOptions bewirkt in meinem Dokument jedoch nichts ...
Hier ist ein MWE, das meine aktuellen Schriftgrößen mit meiner aktuellen (ziemlich schlechten) Klassendatei ausdruckt (die Klassendatei kann unten heruntergeladen werden):
\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}
Die Klassendatei in ihrem aktuellen Zustand finden Sie hier: https://drive.google.com/file/d/0B6FxKnpluKC4NjU1TzNuZTFEWEE/view?usp=sharing
Antwort1
Meine Lösung für dieses Problem bestand darin, zuerst die Basisklasse meiner SAE-Klassendatei von „article“ in „extarticle“ zu ändern:
% The extarticle class allows for 9 pt font as the normalsize font.
\LoadClass[twocolumn,9pt]{extarticle}
Damit waren die meisten benötigten Schriftgrößen abgedeckt und ich konnte eine 9-Punkt-Schrift als Schriftart \normalsize
im Dokument verwenden. Für die Schriftarten, die über die normalen Schriftgrößenbefehle nicht verfügbar waren, habe ich zwei zusätzliche Schriftgrößen folgendermaßen definiert:
% 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.