\rule und Text unterschiedlich auf gerader/ungerader Seite

Layout von Seiten, Rändern, Fusszeilen, usw, modifizieren
rocri
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Sa 16. Okt 2010, 19:59

\rule und Text unterschiedlich auf gerader/ungerader Seite

Beitrag von rocri »

Hallo,
ich habe einen horizontalen Balken, neben dem ein Titel stehen soll. Dabei soll der Text immer außen sein, im Beispiel also für eine ungerade Seite.
Wie bekomme ich das hin, dass das je nach gerader/ungerader Seite die Position tauscht. Für \marginpar kenne ich so was, nur geht es hier um den Text...

\hspace*{-6mm}\textcolor{farbe2}{\rule[0mm]{49mm}{2.6mm} \hspace{9mm}\sf\textbf{Titeltext}}

Gast

Beitrag von Gast »

Mehr Kontext bitte.

rocri
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Sa 16. Okt 2010, 19:59

Beitrag von rocri »

ok, auf ungeraden Seiten soll das erscheinen:
\rule[0mm]{49mm}{2.6mm} \hspace{9mm}\textbf{Titeltext}
und auf geraden Seiten
\textbf{Titeltext} \hspace{9mm} \rule[0mm]{49mm}{2.6mm}

Da das ganze mehrfach auftaucht und je nach dem Text dazwischen auf einer geraden oder ungeraden Seite auftaucht, möchte ich das gerne automatisieren.

Gast

Beitrag von Gast »

Du hast einen Link bekommen. Beachte ihn! Beachte außerdem: Wie kann ich Code in meinem Beitrag hervorheben?

Für mich sieht das im Augenblick übrigens so aus, als würdest du Überschriften von Hand machen, statt Überschriftenbefehle zu verwenden. Falls dem so ist: Keinesfalls machen! Verwende die Möglichkeiten der Klasse oder ggf. Zusatzpakete, um die Formatierung von Überschriften zu ändern.

markusv
Forum-Meister
Forum-Meister
Beiträge: 850
Registriert: Do 3. Sep 2015, 17:20
Wohnort: Leipzig

Beitrag von markusv »

rocri hat geschrieben:ok
Naja, den Link hast du anscheinend nicht gelesen oder wenn, dann einfach nicht beachtet.

Die erste Frage wäre doch, wo das Ganze stehen soll? Ich tippe mal auf die Kopfzeile, dann lässt sich das mit der entsprechenden Klasse (welche du nutzt wissen wir leider nicht, da du kein Minimalbeispiel geliefert hast) recht einfach umsetzen.

Als zweiseitiges Dokument wirst du vielleicht book oder scrbook verwenden. Daher folgendes Minimalbeispiel. Klappt natürlich auch mit jeder anderen Klasse, wenn du zweiseitigen Satz einschaltest:

Code: Alles auswählen

\documentclass{scrbook}
\usepackage{scrlayer-scrpage}
\clearscrheadfoot
\setkomafont{pagehead}{\sffamily\bfseries}
\rohead{{\rule[0mm]{49mm}{2.6mm}}\hspace{9mm}Titeltext}
\lehead{Titeltext\hspace{9mm}{\rule[0mm]{49mm}{2.6mm}}}
	
\usepackage{blindtext}
\begin{document}
\blinddocument
\end{document}
Wäre Microsoft Word für das Schreiben von Büchern entwickelt worden,
würde es Microsoft Book heißen.

Unkomplizierte und schnelle LaTeX-Hilfe, bspw. Erstellung von Vorlagen und Bewerbungen:
Help-LaTeX@web.de

rocri
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Sa 16. Okt 2010, 19:59

Beitrag von rocri »

ok, ich versuche es, war kein böser Wille, ich bin da nur noch eher am Anfang. Es soll nicht in der Kopfzeile erscheinen, sondern im Text einen neuen Bereich markieren.
Ich könnte dafür vielleicht part benutzen, weil ich den sonst nicht verwende. Section und Subsection brauche ich als Überschriften.
Von daher klappt das zwar bei den Kopfzeilen gut, aber hilft mir nichts.

Code: Alles auswählen

\documentclass[twoside]{article}
\begin{document}
\rule[0mm]{49mm}{2.6mm} \hspace{9mm}\textbf{Titel auf ungerader Seite}
lorem ipsum
\newpage
\textbf{Titel auf gerader Seite} \hspace{9mm} \rule[0mm]{49mm}{2.6mm}
lorem ipsum  
\end{document}


Ich hoffe, das ist als Minimal-Beispiel ausreichend

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2138
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Für die Standardklasse fällt mir das Paket ifoddpage ein. Der Befehl \Ifthispageodd von KOMA-Script steht Dir zur Verfügung, wenn Du das Paket scrextend lädst. In beiden Fällen könntest Du einen eigenen Befehl bestimmen und seinem Argument den Text übergeben.

Gast

Beitrag von Gast »

Ich würde von manueller Formatierung im Dokument abraten. Mindestens solle man sich dafür eine eigene Markup-Anweisung mit \newcommand definieren, damit man das gf. global ändern kann, ohne jede einzelne Stelle im Dokument ändern zu müssen, an der ein solcher Titel gesetzt wird.

Wenn das jedoch eine Überschrift sein soll, definiere/konfiguriere eine Überschrift. Anderenfalls kann es auch leicht passieren, dass ein Seitenumbruch an unerwünschter Stelle erfolgt. Um dazu mehr sagen zu können, ist die Frage aber zu unspezifisch. Mir ist beispielsweise nicht klar, auf welcher Ebene diese Überschrift angesiedelt werden soll.

Bei KOMA-Script-Klassen könnte man übrigens sogar recht einfach einen eigenen Überschriftenbefehl dafür definieren, wenn de vorhandenen nicht ausreichen.

oft gesehener

Beitrag von oft gesehener »

Hier einmal ein Beispiel, das zeigt, wie man bei KOMA-Script die Ebene subsubsection entsprechend konfigurieren könnte:

Code: Alles auswählen

\documentclass[twoside]{scrartcl}
\usepackage[ngerman]{babel}

\usepackage{mwe}% Nützlich vür vollständige Minimalbeispiele.

\makeatletter
\renewcommand*{\sectionlinesformat}[4]{%
  \Ifstr{#1}{subsubsection}{%
    \leavevmode% Wichtig, da erst danach die Seite feststeht!
    \Ifthispageodd{%
      \@hangfrom{\hskip#2\rule{49mm}{2.6mm}\hspace{10mm}#3}#4%
    }{%
      \@hangfrom{\hskip#2#3}#4\unskip\hspace{10mm}\rule{49mm}{2.6mm}%
    }%
  }{%
    \@hangfrom{\hskip#2#3}#4%
  }%
}
\makeatother

\begin{document}
\section{Abschnitt}
\blindtext

\subsubsection*{Titel auf ungerader Seite}
\Blindtext[3]

\subsubsection*{Titel auf gerader Seite}
\Blindtext[3]

\blinddocument
\end{document}
Änliches wäre natürlich auch für die Ebene part oder eine selbst definierte Ebene möglich.

Antworten