Sie sind hier

Linie über Abschnittsüberschrift

Ich versuche mit KomaScript ein Sicherheitsdatenblatt zu erstellen. Die Struktur und die Gliederung sind vom Gesetzgeber vorgegeben. Für die Formatierung gibt es Vorschläge, z. B. hier: https://www.baua.de/DE/Themen/Arbeitsgestaltung-im-Betrieb/Gefahrstoffe/...
Ich habe jetzt KomaScript soweit zurechtgebogen, dass es weitgehend dem Muster entspricht. Die Hauptüberschriften müssen mit dem Wort "Section" anfangen, die Unterabschnitte dagegen nicht.

Mir fehlt jetzt noch eine horizontale Linie über den Hauptabschnittsüberschiften.
Gibt es Vorschläge, wie das am einfachsten zu erreichen wäre? Für Kapitelüberschriften gibt es ja schon Beispiele, wie das zu erreichen wäre. Allerdings will ich keine neue Seite pro Kapitel. Die Überschriften sollen per Hyperref als gegliederte Lesezeichen vorhanden sein.

Hier mein MWE:

% !TEX TS-program = xelatex
% !TEX encoding = UTF-8
 
\documentclass[ 11pt, headings=small,%
                       twoside, a4paper,%
                       DIV=15, BCOR=11mm,
                       parskip=half,% kleiner Abstand zwischen Absätzen statt Einzug am Anfang
                       ]{scrartcl} %
 
\usepackage{fontspec} %
\usepackage{xunicode} %
\usepackage[math-style=ISO]{unicode-math}
 
\usepackage{scrlayer-scrpage}  % Stellt die erweiterten Optionen für die Seiteneinstellungen 
 
\usepackage{hyperref}
 
\pagestyle{scrheadings}
\setkomafont{pageheadfoot}{\scriptsize }      % setzt die Schriftgröße der Fußzeile auf ziemlich klein
\renewcommand*{\pnumfont}{\normalsize}   % setzt die Schrifttype für die Seitennummer auf Serifenlos
 
% Für eine SDS ist das Wort Section vor die Überschrift setzen. Alle Nummerierung von Hand
\renewcommand*{\sectionformat}{}
\renewcommand*{\subsectionformat}{}
 
% Änderung der Abstände für \section speziell für SDS
\RedeclareSectionCommand[beforeskip=.7\baselineskip, afterskip=.1\baselineskip]{section}
\RedeclareSectionCommand[beforeskip=.3\baselineskip, afterskip=0.01\baselineskip]{subsection}
 
% Name des chemischen Produktes, für das das Sicherheitsdatenblatt erstellt wurde
\newcommand{\Produkt}{Solution of 5.0\% ABC}
 
\ihead[{{\Large Safety Data Sheet } {\large according to Regulation (EC) No. 1907/2006}\\ \vspace{0,1cm}{\normalsize\Produkt} \vspace* {-0.3cm}}]% 
        {{\Large Safety Data Sheet } {\large according to Regulation (EC) No. 1907/2006}\\ \vspace{0,1cm}{\normalsize\Produkt} \vspace* {-0.3cm}}%
 
\begin{document}
Revision Date: 01.02.2018 \hspace{2cm} Version: 1.0
\vspace{0,2cm}
 
{\section{Section 1. Identification of the substance/mixture and of the company/undertaking}}
 
\begin{labeling}[~]{\textbf{Angewandte Normen:}}
\item[Product identifier] Solution of ABC in water, maximal 5.0\% 
\end{labeling}
 
{\hypertarget{hazard}{ \section{Section 2. Hazards identification}\label{sec2}}}
 
\subsection{2.1. Classification of the substance or mixture} This mixture is not classified as dangerous according to European Union legislation.
 
\end{document}

Ulrich

[Admin-Edit:]

  1. Code in den Beitrag eingefügt.

Eine Linie über der Abschnittsüberschrift kannst durch Redefinition von \sectionlinesformat erreichen, wobei ich jetzt weder weiß, wo die Linie genau sein soll, noch wie sie genau aussehen soll.

\makeatletter
\renewcommand*\sectionlinesformat[4]{%
  \@hangfrom{%
    \ifstr{#1}{section}
      {\rlap{\rule[1.5\ht\strutbox]{\textwidth}{.8pt}}}
      {}%
    \hskip#2#3}#4
}
\makeatother

Was ich in Deinem Beispiel überhaupt nicht verstehe, ist das händische Nummerieren der Abschnitte und Unterabschnitte. Das Wort »Section« lässt sich doch über eine Anpassung des Befehls \sectionformat ganz bequem einfügen? Mir ist auch nicht klar, warum Du \hypertarget für die Abschnittsüberschriften verwendest.

Hier ist jedenfalls noch ein Beispiel bei dem die automatischen Nummerierung der Abschnitte und Unterabschnitte genutzt wird:

% !TEX TS-program = xelatex
% !TEX encoding = UTF-8
 
\documentclass[11pt,
  headings=small,%
  twoside, a4paper,%
  DIV=15, BCOR=11mm,
  parskip=half,
  headheight=19.52164pt% wie von scrlayer-scrpage empfohlen
]{scrartcl} %
\usepackage{fontspec} %
\usepackage{xunicode} %
\usepackage[math-style=ISO]{unicode-math}
\usepackage{scrlayer-scrpage}  % aktiviert Seitenstil scrheadings
\usepackage{hyperref}
 
\setkomafont{pageheadfoot}{\scriptsize}% Schriftgröße in Kopf- und Fußzeile sehr klein
\setkomafont{pagenumber}{\normalsize}
 
\newcommand{\Produkt}{Solution of 5.0\% ABC}
 
\ihead*{%
  {\Large Safety Data Sheet }
  {\large according to Regulation (EC) No. 1907/2006}\\ \vspace{0,1cm}%
  {\normalsize\Produkt} \vspace* {-0.3cm}%
}%
 
% Wort Section vor die Überschrift
\renewcommand*\sectionformat{Section \thesection\autodot.\enskip}
 
% Änderung der Abstände für \section
\RedeclareSectionCommand[beforeskip=-.7\baselineskip, afterskip=.1\baselineskip]{section}
\RedeclareSectionCommand[beforeskip=-.3\baselineskip, afterskip=0.01\baselineskip]{subsection}
 
\makeatletter
\renewcommand*\sectionlinesformat[4]{%
  \@hangfrom{%
    \ifstr{#1}{section}
      {\rlap{\rule[1.5\ht\strutbox]{\textwidth}{.8pt}}}
      {}%
    \hskip#2#3}#4
}
\makeatother
 
\begin{document}
Revision Date: 01.02.2018 \hspace{2cm} Version: 1.0
\vspace{0.2cm}
 
\section{Identification of the substance/mixture and of the company/undertaking\label{Identification}}
\begin{labeling}[~]{\textbf{Angewandte Normen:}}
\item[Product identifier] Solution of ABC in water, maximal 5.0\% 
\end{labeling}
 
\section{Hazards identification\label{hazard}}
\subsection{Classification of the substance or mixture} This mixture is not classified as dangerous according to European Union legislation.
\end{document}

Vielen Dank. Die Linie sieht genau richtig aus.

Ich habe die Abschnitte manuell mit Nummern versehen, weil ich diese Nummern einschließlich des Wortes Section in den Lesezeichen von Hyperref haben will. Das Format ist so reglementiert, dass mir die Nummern in den Lesezeichen hilfreich erscheinen. Automatische Nummerierung ist nicht notwendig, da alle Abschnitte immer vorhanden sein sollen.

Das hypertarget war aus einem früheren Versuch übriggeblieben. Ich hatte es eigentlich löschen wollen.

Ulrich

Bild von Markus Kohm

Eine Möglichkeit wäre:

% !TEX TS-program = xelatex
% !TEX encoding = UTF-8
 
\documentclass[11pt,
  headings=small,%
  twoside, a4paper,%
  DIV=15, BCOR=11mm,
  parskip=half,
  headheight=19.52164pt% wie von scrlayer-scrpage empfohlen
]{scrartcl} %
\usepackage{fontspec} %
\usepackage{xunicode} %
\usepackage[math-style=ISO]{unicode-math}
\usepackage{scrlayer-scrpage}  % aktiviert Seitenstil scrheadings
\usepackage[bookmarksnumbered]{hyperref}
 
\setkomafont{pageheadfoot}{\scriptsize}% Schriftgröße in Kopf- und Fußzeile sehr klein
\setkomafont{pagenumber}{\normalsize}
 
\newcommand{\Produkt}{Solution of 5.0\% ABC}
 
\ihead*{%
  {\Large Safety Data Sheet }
  {\large according to Regulation (EC) No. 1907/2006}\\ \vspace{0,1cm}%
  {\normalsize\Produkt} \vspace* {-0.3cm}%
}%
 
% Wort Section vor die Überschrift
\renewcommand*\sectionformat{Section \thesection\autodot.\enskip}
 
% Änderung der Abstände für \section
\RedeclareSectionCommand[beforeskip=-.7\baselineskip,
afterskip=.1\baselineskip, tocdynnumwidth]{section}
\RedeclareSectionCommand[beforeskip=-.3\baselineskip, afterskip=0.01\baselineskip]{subsection}
 
\makeatletter
\renewcommand*\sectionlinesformat[4]{%
  \@hangfrom{%
    \ifstr{#1}{section}
      {\rlap{\rule[1.5\ht\strutbox]{\textwidth}{.8pt}}}
      {}%
    \hskip#2#3}#4
}
\makeatother
 
\renewcommand*{\addsectiontocentry}[2]{%
  \IfArgIsEmpty{#1}{%
    \addtocentrydefault{section}{#1}{#2}%
  }{%
    \addtocentrydefault{section}{Section~#1}{#2}%
  }%
}
 
\begin{document}
Revision Date: 01.02.2018 \hspace{2cm} Version: 1.0
\vspace{0.2cm}
 
\section{Identification of the substance/mixture and of the company/undertaking\label{Identification}}
\begin{labeling}[~]{\textbf{Angewandte Normen:}}
\item[Product identifier] Solution of ABC in water, maximal 5.0\% 
\end{labeling}
 
\section{Hazards identification\label{hazard}}
\subsection{Classification of the substance or mixture} This mixture is not classified as dangerous according to European Union legislation.
\end{document}

Automatische oder manuelle Nummerierung hat auch nichts damit zu tun, ob alle Abschnitte immer vorhanden sind oder nicht. Manuelle Nummerierung ist schlicht fehleranfällig und nicht sinnvoll. Von der automatischen Nummerierung hängt zu viel anderes ab.

Comments for "Linie über Abschnittsüberschrift" abonnieren