3
2

Am linken Rand der Seite möchte ich einen Text schreiben, der von unten nach oben läuft, also begonnen bei der Ecke links unten. Beispielsweise den Text "Dies ist der linke Rand". Ich möchte den Text farbig hinterlegen und komme mit TikZ klar, daher dorthin gerichtet, Alternativen sind gern gesehen.

Wie kann ich den Text so senkrecht gedreht an den Rand schreiben?

gefragt 16 Mai '14, 14:30

Felix's gravatar image

Felix
1.3k225366
Akzeptiert: 89%


Da die Frage vermutlich von hier stammt und auch von dort hierher verlinkt ist, ist hier noch ein Vorschlag, der sich an der Frage bzw. dem Code dort orientiert. Dort wird ein 7mm breiter Streifen direkt am linken Rand über die komplette Seitenhöhe eingefügt, der noch beschriftet werden soll.

Mein Vorschlag wäre einen Knoten mit der Höhe 7mm und der Seitenhöhe als Breite sowie dem Text als Knoteninhalt zu verwenden. Der noch nicht gedrehte Knoten wird dabei mit seiner linken oberen Ecke an der linken unteren Ecke der Seite eingefügt und anschließend wird er um diesen Punkt um 90 Grad gedreht. Nach zwei Durchläufen ist der Streifen dann ausgerichtet.

Open in writeLaTeX
\documentclass{scrartcl} 
\usepackage{tikz}
\usepackage[margin=5mm,left=25mm]{geometry}
\usepackage{scrlayer-scrpage}
\pagestyle{scrheadings}
\clearscrheadfoot
\ifoot{%
  \begin{tikzpicture}[overlay,remember picture]
    \node [
      fill=blue,% Farbe des Randstreifens
      text=white,% Textfarbe
      font=\normalfont\bfseries,% Einstellungen für die Schrift
      inner xsep=1em, % Abstand des Textes von unten
      % maximale Textbreite = Papierhöhe - 2*Abstand des Textes von unten:
      text width={\dimexpr\paperheight-2em\relax},
      minimum height=7mm,% Breite des Randstreifens
      anchor=north west,
      rotate=90
      ]
      at (current page.south west)
      {Text soll in den Rahmen};
  \end{tikzpicture}%
}

\usepackage{blindtext}% für Fülltext
\begin{document}
\blinddocument
\end{document}

alt text

Das gleiche ist natürlich auch mit der Kombination von article und fancyhdr, die in der oben verlinkten Frage verwendet wird, möglich:

Open in writeLaTeX
\documentclass{article} 
\usepackage{tikz}
\usepackage[margin=5mm,left=25mm]{geometry}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\renewcommand\headrulewidth{0pt}
\fancyhead[L]{%
  \begin{tikzpicture}[overlay,remember picture]
    \node [
      fill=blue,% Farbe des Randstreifens
      text=white,% Textfarbe
      font=\normalfont\bfseries,% Einstellungen für die Schrift
      inner xsep=1em, % Abstand des Textes von unten
      % maximale Textbreite = Papierhöhe - 2*Abstand des Textes von unten:
      text width={\dimexpr\paperheight-2em\relax},
      minimum height=7mm,% Breite des Randstreifens
      anchor=north west,
      rotate=90
      ]
      at (current page.south west)
      {Text soll in den Rahmen};
  \end{tikzpicture}%
}

\usepackage{blindtext}% für Fülltext
\begin{document}
\blinddocument
\end{document}

alt text

Permanenter link

beantwortet 17 Mai '14, 08:05

esdd's gravatar image

esdd
14.2k53251

bearbeitet 03 Okt '14, 19:16

Gibt es bei der TikZ-Lösung einen einfachen Zusatz, der den Text innerhalb des Seitenrandstreifens an den unteren Rand schiebt?

Hintergrund: Der Seitenrandstreifen könnte beim Druck teilweise abgeschnitten werden.

(03 Okt '14, 15:30) cis

@cis Du brauchst doch nur inner xsep und text width entsprechend anzupassen? Bei inner xsep stand doch sogar schon ein entsprechender Kommentar, bei text width habe ich jetzt noch einen ergänzt.

(03 Okt '14, 16:49) esdd

Achso, in dem Fall meinte ich eher den inner ysep, und der will bei mir ausgerechnet nicht.

(03 Okt '14, 18:56) cis

@cis Der Knoten ist doch rotiert ;-) Wenn Du den Abstand von der unteren Kante ändern willst, dann muss Du deshalb sowohl inner xsep als auch text width anpassen. Mit inner ysep kannst Du die Breite des Streifens und den Abstand des Textes vom linken Rand beeinflussen. Allerdings hat der Streifen immer mindestens die als minimum height vorgegebene Breite.

(03 Okt '14, 19:15) esdd

Da die TikZ-Antwort mit Sicherheit in Kürze kommt, dacht ich, ich nutze die Gelegenheit, um Werbung für das KOMA-Script-Paket scrlayer und explizit für scrlayer-scrpage zu machen. Das folgende Beispiel fügt eine Beschriftung des linken Rands zum Seitenstil scrheadings hinzu, so dass jede Seite, die den Stil benutzt, die Beschriftung bekommt:

Open in writeLaTeX
\documentclass{scrartcl}

\usepackage[automark]{scrlayer-scrpage}
\usepackage{graphicx}

\DeclareNewLayer[
  % eine Hintergrundschicht:
  background,
  % verankere die Schicht unten links.
  align=bl,
  % positioniere sie je 1cm vom unteren Rand entfernt, mache sie 1cm breit
  % und bis 1cm vom oberen Rand lang:
  % area={horizontaler Abstand}{vertikaler Abstand}{Breite}{Höhe}
  area={1cm}{\dimexpr\paperheight-1cm\relax}{1cm}{\dimexpr\paperheight-2cm\relax},
  % fülle die Schicht:
  contents={\rotatebox{90}{Das ist der linke Seitenrand}}
]{box-bl}

% füge die Schicht zum Seitenstil hinzu:
\AddLayersToPageStyle{scrheadings}{box-bl}

\usepackage{blindtext}
\begin{document}

\blinddocument

\end{document}

alt text

Möchte man die Beschriftung auf allen Seiten, unabhängig vom Seitenstil, dann kann man

Open in writeLaTeX
\AddLayersToPageStyle{@everystyle@}{box-bl}

verwenden. Möchte man sie nur auf einer einzigen Seite, die normalerweise den Seitenstil foo hat, dann kann man beispielsweise etwas der Art machen:

Open in writeLaTeX
\DeclarePageStyleAlias{myfoo}{foo}
\AddLayersToPageStyle{myfoo}{box-bl}

und dann auf der entsprechenden Seite

Open in writeLaTeX
\thispagestyle{myfoo}

verwenden. Diese Befehle und die zahlreichen weiteren Optionen kann man alle im scrguide nachlesen.


Als contents kann jeder gültige LaTeX-Code verwendet werden. Ein Beispiel mit einer adjustbox:

Open in writeLaTeX
\documentclass{scrartcl}

\usepackage{adjustbox,xcolor}
\usepackage[automark]{scrlayer-scrpage}

\DeclareNewLayer[
  background,
  align=bl,
  % area={horizontaler Abstand}{vertikaler Abstand}{Breite}{Höhe}
  area={1cm}{\dimexpr\paperheight-1cm\relax}{1cm}{\dimexpr\paperheight-2cm\relax},
  contents={%
    \adjustbox{
      margin = .333em 1ex ,
      left = \dimexpr\paperheight-2cm\relax,
      rotate = 90 ,
      bgcolor= yellow
    }{Das ist der linke Seitenrand}%
  }
]{box-bl}

\AddLayersToPageStyle{scrheadings}{box-bl}

\usepackage{blindtext}
\begin{document}

\blinddocument

\end{document}

alt text


Noch ein Beispiel mit ein paar „hard-coded“ Längen...

Open in writeLaTeX
\documentclass{scrartcl}

\usepackage{adjustbox,xcolor}
\usepackage[automark]{scrlayer-scrpage}

\DeclareNewLayer[
  background,
  align=tl,
  area={0pt}{0pt}{7mm}{\paperheight},
  contents={%
    \adjustbox{
      totalheight = 7mm ,
      width = \paperheight ,
      rotate = 90 ,
      bgcolor= blue ,
      lap = \width ,
    }{\phantom{x}}%
    \hspace*{2.1mm}%
    \rotatebox{90}{%
      \hspace*{1cm}%
      \color{white}Das ist Text im Rand%
    }%
  }
]{blue-margin}

\AddLayersToPageStyle{scrheadings}{blue-margin}

\usepackage{blindtext}
\begin{document}

\blinddocument

\end{document}

alt text

Permanenter link

beantwortet 16 Mai '14, 14:50

Clemens's gravatar image

Clemens
19.0k112960

bearbeitet 17 Mai '14, 08:40

Schön! Kriegt man das auch mit einem farbigen Streifen hinterlegt hin?

(16 Mai '14, 15:04) Felix

Ja sicher; ersetze die Zeile so:

  contents={\rotatebox{90}{\colorbox{cyan}{Das ist der linke Seitenrand}}}

braucht dann das zweite von:

usepackage{graphicx}
usepackage{xcolor}

Das 1. davon brauche ich hier übr. auch (für die rotatebox!), weiß nicht, was ich da wieder falsch mache...

(16 Mai '14, 15:13) cis

@Felix als contents kannst Du alles verwenden, was Du willst, z.B. auch TikZ-Code... ich hab die Antwort mal um ein Beispiel mit farbigem Hintergrundstreifen ergänzt...

(16 Mai '14, 15:20) Clemens

Aha, erwischt. Es fehlte wohl 'adjustbox' - bei mir zieht sich dann ein farbiger Streifen über alle Seiten - das könnte interessant für meine Organisationsmittelsammlung sein.

(16 Mai '14, 15:23) cis

@cis Nein, bei mir fehlt im ersten Beispiel graphicx... ich werd's ergänzen (adjustbox lädt das intern)

(16 Mai '14, 15:45) Clemens

Prima! scrlayer muss ich echt mal lernen.

(17 Mai '14, 08:19) Felix

@Felix ich hab bislang auch nur die Basics aus der Anleitung herausgelesen und scrlayer keineswegs richtig gelernt. Allerdings bin ich vom Konzept begeistert, weswegen ich die Gelegenheit nutzen wollte. Wahrscheinlich kann man einiges an meinen Beispielen verbessern :)

(18 Mai '14, 06:28) Clemens
Ergebnis 5 von 7 Alle anzeigen

Hier ist meine Lösung mit dem current page node zum Bezug auf die Seitenecke. Mit der calc-library verschiebe ich das, xhift oder yshift hätte es auch getan. Senkrecht geht es mit rotate.

Open in writeLaTeX
\documentclass{article} 
\usepackage{tikz}               
\usetikzlibrary{calc}
\begin{document}
\thispagestyle{empty}
\begin{tikzpicture}[overlay,remember picture]
  \node [color=blue, rotate=90, anchor=west, font=\LARGE\sffamily\bfseries]
    at ($(current page.south west) + (2.5ex,0.2ex)$) {Dies ist der linke Rand};
\end{tikzpicture}
Normaler Text
\end{document}
Permanenter link

beantwortet 16 Mai '14, 15:01

Felix's gravatar image

Felix
1.3k225366

Mit Bild bekämst Du eine Stimme :P

(16 Mai '14, 15:37) cis
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×492
×51
×31

Frage gestellt: 16 Mai '14, 14:30

Frage wurde angeschaut: 5,422 Mal

Zuletzt aktualisiert: 03 Okt '14, 19:16