section-Überschrift rotieren Thema ist als GELÖST markiert

Fragen und Probleme, die nicht den obigen Kategorien zugeordnet werden können


Neo
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 61
Registriert: Mo 21. Dez 2020, 20:36

section-Überschrift rotieren

Beitrag von Neo »

Hallo, ich möchte auf einer Seite im Querformat, dass die section-Überschrift nicht mitgedreht wird, also wie Kopf- und Fußzeile standardmäßig ausgerichtet bleiben.

Ich verwende für das Querformat das Paket pdflscape, da es die Kopf- und Fußzeile in der Standardeinstellung so ausgibt, wie ich es möchte. Die KOMA Befehle für das Querformat drehen die Zeilen leider mit.

mit \begin{rotate}{90} lässt sich ja keine Überschrift drehen.

Hier mein Minibeispiel:

\documentclass[ngerman, fontsize=11pt, headsepline, footsepline]{scrreprt}

\usepackage{babel}
\usepackage[left = 25mm, right = 25mm, bottom = 40mm, top = 30mm]{geometry}
\usepackage[automark]{scrlayer-scrpage}
\usepackage{pdflscape}
\clearpairofpagestyles
\ohead{\headmark}
\ifoot{Musterhochschule für angewandte Wissenschaften\\
Musterfakultät}								
\ofoot*{\pagemark}


\begin{document}

\pagestyle{scrheadings}
\pagenumbering{Roman}

\appendix
\addchap{Anhang}
\stepcounter{chapter}

\begin{landscape}
	\section{Beispielanhang}
\end{landscape}
\end{document}

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Re: section-Überschrift rotieren

Beitrag von KOMA »

Das Rotieren dürfte weniger das Problem sein, das geht über eine passende Umdefinierung von \sectionlinesformat recht einfach:

\documentclass[ngerman, fontsize=11pt, headsepline, footsepline]{scrreprt}
\usepackage{babel}
\usepackage[left = 25mm, right = 25mm, bottom = 40mm, top = 30mm]{geometry}
\usepackage[automark]{scrlayer-scrpage}
\usepackage{pdflscape}
\usepackage{blindtext}
\clearpairofpagestyles
\ohead{\headmark}
\ifoot{Musterhochschule für angewandte Wissenschaften\\
Musterfakultät}								
\ofoot*{\pagemark}
\makeatletter
\renewcommand*{\sectionlinesformat}[4]{%
  \Ifstr{#1}{section}{%
    \ifdim\hsize>\vsize% Text breiter als hoch als Heuristik für landscape
      \hfill\rotatebox{-90}{\@hangfrom{\hskip #2#3}{#4}}%
    \else
      \@hangfrom{\hskip #2#3}{#4}%
    \fi
  }{%
    \@hangfrom{\hskip #2#3}{#4}% Originaldefinition
  }%
}
\makeatother
\begin{document}

\pagestyle{scrheadings}
\pagenumbering{Roman}

\chapter{Normalbereich}
\section{Normalausrichtung}
\blindtext

\appendix
\addchap{Anhang}
\stepcounter{chapter}

\begin{landscape}
  \section{Beispielanhang}
  \blindtext
\end{landscape}
\end{document}

Das Problem dürfte eher sein, dass wie im Beispiel gezeigt, die Überschrift natürlich trotzdem in von landscape bereits gedrehten Bereich vertikalen Platz (relativ zum gedrehten Textbereich) benötigt. Bei automatischem Seitenumbruch lässt sich da auch nicht wirklich tricksen, weil man sonst wieder in das Problem läuft, dass ein umbrochener Absatz beim Seitenumbruch nicht neu umbrochen wird. landscape ist (wie immer, wenn man nur Teile des Textbereichs rotieren will) dafür daher eher nicht geeignet.

Je nachdem, was in dem Abschnitt passieren soll, gibt es eventuell andere Lösungen. So könnte man eine Abbildung oder Tabelle beispielsweise auch einfach per \rotatebox innerhalb der normal ausgerichteten Seite (also ohne landscape) rotieren:

\documentclass[ngerman, fontsize=11pt, headsepline, footsepline,
  footlines=2% Wegen der Warnung von scrlayer-scrpage hinzugefügt
]{scrreprt}
\usepackage{babel}
\usepackage[left = 25mm, right = 25mm, bottom = 40mm, top = 30mm,
%  showframe% siehe Hinweis im Beitragstext
]{geometry}
\usepackage[automark]{scrlayer-scrpage}
\usepackage{pdflscape}
\usepackage{blindtext}
\clearpairofpagestyles
\ohead{\headmark}
\ifoot{Musterhochschule für angewandte Wissenschaften\\
Musterfakultät}								
\ofoot*{\pagemark}
\begin{document}

\pagestyle{scrheadings}
\pagenumbering{Roman}

\chapter{Normalbereich}
\section{Normalausrichtung}
\blindtext

\appendix
\addchap{Anhang}
\stepcounter{chapter}

\section{Beispielanhang}

%\frame{% siehe Hinweis im Beitragstext
  \rotatebox{90}{%
    \begin{minipage}[c][\linewidth]{\dimexpr \textheight-5.5\baselineskip\relax}
      \centering
      \includegraphics{example-image}
      \captionof{figure}{Das funktioniert}
    \end{minipage}
  }%
%}% siehe Hinweis im Beitragstext

\end{document}

Die Höhe der minipage mit \textheight-5.5\baselineskip ist geschätzt und muss ggf. angepasst werden, wenn "Anhang" nicht auf derselben Seite steht oder die Überschrift mehrzeilig wird. Beim guten Schätzen ist es hilfreich, wenn man die drei auskommentierten und mit »siehe Hinweis im Beitragstext« kommentierten Zeilen aktiviert.

Eine vollautomatische, allgemeine Lösung mit automatischen Seitenumbruch kenne ich nicht.

Beachte außerdem, dass für mehrzeilige Kopf- oder Fußbereiche die Höhe von Kopf oder Fuß ggf. angepasst werden muss. scrlayer-scrpage gibt auch eine entsprechende Warnung aus. Das gilt unabhängig davon, ob man geometry verwendet oder nicht.

PS: Übrigens funktioniert bei mir neuerdings das automatische Rotieren der Seitenausgabe im Viewer nicht mehr. Ob das an pdflscape einer Änderung am LaTeX-Kern oder am Viewer (okular) liegt, kann ich nicht sagen. Leider hilft in dem Fall dann auch scrhack nicht, das ich eigentlich (nicht nur) bei Verwendung von pdflscape durchaus empfehlen würde.


Neo
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 61
Registriert: Mo 21. Dez 2020, 20:36

Re: section-Überschrift rotieren

Beitrag von Neo »

Hat perfekt geklappt. Großes Danke.

Dein zweites Minibeispiel funktioniert bei mir. Allerdings wäre es schöner, wenn die Seite in pdf trotzdem auch quer ausgerichtet wäre. Wenn ich es richtig verstanden habe, soll genau das mit deinem Minibeispiel 1 realisiert werden(?)

Dein erstes Minibeispiel lässt sich bei mir nicht kompilieren, mit diesem Fehler:

"! Undefined control sequence.
\sectionlinesformat"

Die erzeugte pdf lässt aber vermuten, was das Ziel sein sollte (siehe Anhang)

Dateianhänge
Test_Quer.jpg

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Re: section-Überschrift rotieren

Beitrag von KOMA »

Wenn Du tatsächlich eine KOMA-Script-Version verwendest, bei der scrreprt noch kein \sectionlinesformat kennt, kann ich Dir leider ohnehin nicht helfen. Die Anweisung gibt es seit KOMA-Script 3.19 und damit seit mehr als 5 Jahren! Ich glaube, die wenigsten können wirklich Support für eine derart veraltete LaTeX-Installation leisten.

Ich vermute aber eher, dass bei Dir in Wirklichkeit \Ifstr nicht definiert ist (auf der verlinkten Seite wird ab dem 4. Absatz dieses Problem behandelt). Das deutet ebenfalls auf ein veraltetes KOMA-Script hin, lässt sich aber mit Hilfe der verlinkten Seite lösen. Genaueres könnte ich sagen, wenn die Fehlermeldung komplett und unter Beibehaltung der Formatierung (also als Code-Block) aus der log-Datei kopiert würde. Das ist bei Fehlermeldungen übrigens grundsätzlich zu empfehlen. Was die Editoren aus Fehlermeldungen machen, ist teilweise grausam.

Die beste Lösung für dieses Problem ist ein Update.

Was die Frage nach der Rotation angeht, kann ich das Problem nicht nachvollziehen. Wenn die Überschrift nicht mit dem restlichen Inhalt gedreht wird, muss man die Seite ohnehin irgendwie drehen, um entweder die (im Beispielcode) Abbildung oder die Überschrift lesen zu können. Ob man das jetzt für die Überschrift oder für die Abbildung macht ist doch Jacke wie Hose. Deshalb halte ich jetzt ehrlich gesagt, wenig davon, da irgendwelche Energie hinein zu stecken. Natürlich könnte man PDF-Code dafür einbauen. Ich habe dunkel in Erinnerung, dass es auch ein neues Paket gibt, mit dem man Seiten samt Inhalt in der Ausgabe rotieren kann (war aber eventuell eher für den Postscript-Weg). Aber ganz ehrlich: Ich mache neuerdings nur noch das, wozu ich Bock habe. Außerdem hältst Du noch immer Infos hinter dem Berg, so dass ich nicht beurteilen kann, ob investierte Zeit und Energie nicht ohnehin verschwendet wäre.


Neo
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 61
Registriert: Mo 21. Dez 2020, 20:36

Re: section-Überschrift rotieren

Beitrag von Neo »

Nach Installation der neusten KOMA Version klappt alles. Danke.


Antworten