Sie sind hier

Versalien in \section und \subsection?

Bild von mada

Hallo,

ich möchte (d.h. leider muss ich) die Schriften und das Layout für Section und Subsection abändern. Ansatzweise funktioniert das auch, allerdings muss beides auch noch in Großbuchstaben gesetzt werden :(

Mit den Befehlen \uppercase bzw. \MakeUppercase in \setkomafont geht es leider nicht, da ja direkt ein Argument erwartet wird.

Es ginge natürlich, jeden \section-Befehl entsprechend umzugestalten (\section{\MakeUppercase{Absatztitel}}, aber das widerspricht ja der LaTeX-Philosophie, und der Text ist nicht einfach wiederverwendbar...

\setkomafont{sectioning}{\large\bfseries}
\renewcommand*\section{\@startsection{section}{1}{\z@}%
  {-0.5ex \@plus -1ex \@minus -.2ex}%
  {0.5ex \@plus.2ex}%
  {\raggedsection\normalfont\sectfont\nobreak\large\nobreak}%
}
\setkomafont{subsection}{\normalsize\bfseries}
\renewcommand*\subsection{\@startsection{subsection}{2}{\z@}%
  {-0.25ex\@plus -1ex \@minus -.2ex}%
  {0.25ex \@plus .2ex}%
  {\raggedsection\normalfont\sectfont\nobreak\size@subsection\nobreak}%
}

Versalien sind eigentlich nur diese riesigen verzierten Buchstaben am Anfang eines Kapitels in alten Büchern (auch Initiale genannt). ;)

Aber Majuskeln, wie du sie haben willst, erhältst du mit \scshape. Allerdings funktioniert das nicht mit jeder Schriftart.
Die Zeilen mit \setkomafont sind komplett überflüssig, da die veränderten Fonts dann ja nicht genutzt werden.

Ich habe mal ein Minimalbeispiel gebastelt, mit dem die gewünschten Überschriften dann wie in den \setkomafont Zeilen angegeben und in Kapitälchen ausgegeben werden.
Ich finde das zwar persönlich nicht so schön, aber vielleicht hast du dir das ja so vorgestellt.
Allerdings funktioniert das nicht mehr, sobald man etwa die Schriftart lmodern einbindet.

\documentclass[]{scrartcl}

\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[ansinew]{inputenc}

\makeatletter
\renewcommand*\section{\@startsection{section}{1}{\z@}%
{-0.5ex \@plus -1ex \@minus -.2ex}%
{0.5ex \@plus.2ex}%
{\raggedsection\large\bfseries\scshape\nobreak}%
}
\renewcommand*\subsection{\@startsection{subsection}{2}{\z@}%
{-0.25ex\@plus -1ex \@minus -.2ex}%
{0.25ex \@plus .2ex}%
{\raggedsection\normalsize\bfseries\scshape\nobreak}%
}
\makeatother

\begin{document}

\section{Überschrift 1}
\subsection{Überschrift 2}

\end{document}

Diese Lösung habe ich aber jetzt nur mal auf die Schnelle herausgefunden.
Vielleicht kennt jemand anders noch eine schönere, einfachere oder sauberere Lösung, die vielleicht auch noch mit Schriftarten wie lmodern funktioniert.

Bild von mada

Hallo Schokoolero50,

vielen Dank für die Antwort und die Aufklärung :) Ich hätte Dir vielleicht die Arbeit ersparen können, wenn ich das mir bekannte \scshape erwähnt hätte...

Meine Frage zielt nämlich eigentlich darauf ab, ob es eine Funktion gibt die ausschließlich Großbuchstaben in der normalen Größe erzeugt? Also nicht die kleineren Kapitälchen von scshape... Ich finde das zwar hässlich im Quadrat, von der Lesbarkeit mal ganz zu schweigen, aber die IEEE stellt sich das in der Wordvorlage, die es nachzubauen gilt, explizit so vor.

Wenn mein Prof. einverstanden ist, werde ich es aber mit Kapitälchen machen. Die werden das schon akzeptieren -- sofern ihnen der Unterschied überhaupt auffällt :)

Schriftart ist übrigens kein Problem, da *muss* ich nämlich eh Times&Co nehmen...

Trotzdem vielen Dank für die Bereinigung des Codes,
bis auf weiteres,

Daniel

Bild von Markus Kohm

Etymologisch hast Du recht, was die Bezeichnung "Versalien" betrifft. Tatsächlich spricht heute aber kaum Setzer oder Typograf im Zusammenhang mit Buchstaben von Majuskeln (während Majuskel- und Minuskelziffern übliche Bezeichnungen sind). Das geht so weit, dass es im Font-Design schon seit Ewigkeiten zwar eine Versalhöhe (das ist die Linie oben, an der Großbuchstaben enden, wobei einige Buchstaben in einigen Fonts auch darunter oder darüber enden können) gibt, aber keine Majuskelhöhe.

Was nun Dein Beispiel angeht, so hätte ein

\addtokomafont{dispostion}{\scshape}

oder, wenn es nur \section und \subsection betreffen soll:

\addtokomafont{section}{\scshape}
\addtokomafont{subsection}{\scshape}

genügt, und wäre ohne Annahmen über die Definition von \section und \subsection ausgekommen.

Was die eigentliche Frage angeht: Tschicholds zweiter Hauptsatz der Typografie lautet: Großbuchstaben müssen immer leicht gesperrt werden und ihre Buchstabenzwischenräume ausgeglichen werden.
Theoretisch ist der erste Teil dieses Hauptsatzes mit dem soul-Paket automatisch möglich. Dabei wird aber der zweite Teil des Hauptsatzes vernachlässigt, was ebenso schlimm ist. Korrekter Versalsatz ist bisher nur mit Handarbeit möglich, sehr aufwändig und verlangt nach einem guten Auge. Mein Rat: Vermeiden.

Besteht nun jemand unbedingt auf Versalsatz ohne die geringste Ahnung zu haben, was er damit anrichtet, könnte man sich auf den Standpunkt stellen, dass er es nicht besser verdient habe. In dem Fall könnte man beispielsweise mit:

\documentclass{scrartcl}
 
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[ansinew]{inputenc}
 
\makeatletter
\newcommand*{\Section}{}
\let\Section\section
\renewcommand*{\section}{%
  \@ifstar {\star@section}{\@dblarg\nonstar@section}%
}
\newcommand*{\star@section}[1]{%
  \Section*{\MakeUppercase{#1}}%
}
\newcommand*{\nonstar@section}[2][]{%
  \Section[{#1}]{\MakeUppercase{#2}}%
}
\let\Subsection\subsection
\renewcommand*{\subsection}{%
  \@ifstar {\star@subsection}{\@dblarg\nonstar@subsection}%
}
\newcommand*{\star@subsection}[1]{%
  \Subsection*{\MakeUppercase{#1}}%
}
\newcommand*{\nonstar@subsection}[2][]{%
  \Subsection[{#1}]{\MakeUppercase{#2}}%
}
 
\begin{document}
\tableofcontents
\section{Überschrift 1}
\subsection{Überschrift 2}
 
\end{document}

arbeiten. Das führt dann zu grauenvoll schlechtem Versalsatz, sollte aber funktionieren. Ggf. ist das für \addsec entsprechend zu definieren.

Bild von mada

Hallo Markus,

vielen Dank für die Antwort. Und ja, leider ist das von Dir als "grauenvoll" bezeichnete die Vorgabe :(

http://www.mems2009.org/authors/MEMS2009_SamplePaper.doc

Zusammen mit den verkleinerten vertikalen Abständen sieht es jetzt fast so aus wie das Original. Ich lade die resultierende Präambel mal hoch, als abschreckendes Beispiel :)

Comments for "Versalien in \section und \subsection?" abonnieren