Seite 1 von 1
2 Spalten Layout mit Hintergundfarbe auf voller Höhe
Verfasst: Do 8. Okt 2015, 10:31
von AsconX
Hallo,
ich würde sehr gerne ein Dokument erstellen, indem eine Spalte links etwa 25-30% der Seite ausmacht und gefärbt ist.
Die Spalte soll die komplette Höhe der Seite gehen. Das bekomme ich mit Tabellen nicht hin. Tabellen hätten aber andererseits den Vorteil, dass zusammengehörige Zeilen auf gleicher Höhe landen.
Es geht (quasi) um einen Lebenslauf. Ein Beispielbild hängt an.
Kann mir jemand zumindest die Richtung sagen, in welche ich arbeiten muss? Ein Minimalbeispiel wäre natürlich super, ist aber hoffentlich nicht nötig.
Viele Grüße
Ascon

Verfasst: Do 8. Okt 2015, 11:10
von Noch so einer
Einfache Aufgabe für KOMA-Script:
\documentclass{scrartcl}
\usepackage{xcolor}
\usepackage{scrlayer-scrpage}
\newlength{\leftcolumnwidth}
\setlength{\leftcolumnwidth}{.25\textwidth}
\DeclareNewLayer[%
background,
page,
addhoffset=\dimexpr 1in+\oddsidemargin-1em\relax,
width=\dimexpr\leftcolumnwidth+1em\relax,
contents={\color{gray!30}\rule{\layerwidth}{\layerheight}}
]{streifen}
\AddLayersToPageStyle{@everystyle@}{streifen}
\setkomafont{labelinglabel}{\bfseries}
\renewcommand\familydefault{\sfdefault}
\begin{document}
\begin{labeling}{\hspace{\leftcolumnwidth}}
\item[Sprachen] Deutsch (Muttersprache)\\
English (verhandlungssicher)
\item[Hobbys] Witze erz\"ahlen
\end{labeling}
\end{document}
Alle verwendeten Anweisungen sind auch in der
KOMA-Script-Anleitung zu finden.
Verfasst: Do 8. Okt 2015, 11:12
von Noch so einer
PS: Die KOMA-Script-Version des Online-Editors ist allerdings für die Aufgabe zu alt. addhoffset gibt es darin noch nicht. Es geht aber auch ohne:
\documentclass{scrartcl}
\usepackage{xcolor}
\usepackage{scrlayer-scrpage}
\newlength{\leftcolumnwidth}
\setlength{\leftcolumnwidth}{.25\textwidth}
\DeclareNewLayer[%
background,
page,
hoffset=\dimexpr 1in+\oddsidemargin-1em\relax,
width=\dimexpr\leftcolumnwidth+1em\relax,
contents={\color{gray!30}\rule{\layerwidth}{\layerheight}}
]{streifen}
\AddLayersToPageStyle{@everystyle@}{streifen}
\setkomafont{labelinglabel}{\bfseries}
\renewcommand\familydefault{\sfdefault}
\begin{document}
\begin{labeling}{\hspace{\leftcolumnwidth}}
\item[Sprachen] Deutsch (Muttersprache)\\
English (verhandlungssicher)
\item[Hobbys] Witze erz\"ahlen
\end{labeling}
\end{document}
Damit geht es dann auch mit der veralteten KOMA-Script-Version des Online-Editors.
Verfasst: Do 8. Okt 2015, 11:17
von AsconX
Hallo und vielen Dank!
Ich bekomme leider eine Fehlermeldung:
scrbase: unknown option ` addhoffset=\dimexpr 1 in+\oddsidemargin -1em\relax '. ]{streifen}
Das Ergebnis sieht etwas verschoben aus.
Ist es möglich, dass nicht exakt der rechte Rand der Seite die graue Spalte bildet? Eigentlich möchte ich nur den Teil, der unter
https://en.wikibooks.org/wiki/LaTeX/Page_Layout als "Body" geführt wird, entsprechend in zwei Spalten teilen.
Darüber/Darunter befindet sich jeweils noch header und footer, außerdem möchte ich einen gewissen Abstand von den Rändern halten.
Verfasst: Do 8. Okt 2015, 11:19
von Johannes_B
Wenn ich mir so den follow-up von Noch so einer anschau, dann würde ich sagen deine Version von KOMA-script ist zu alt.
Verfasst: Do 8. Okt 2015, 11:26
von Noch so einer
AsconX hat geschrieben:Ist es möglich, dass nicht exakt der rechte Rand der Seite die graue Spalte bildet?
Wieso der rechte Rand? Der graue Streifen ist bei Dir links und deshalb auch in meinen beiden Beispielen!
Und warum erzählst Du uns dann erst, dass das über die »komplette Höhe der Seite« gehen soll?
Ersetze im Beispiel oben page durch textarea, wenn er nur über die Höhe des Textbereichs gehen soll. Für weitere Änderungen liest Du dann bitte in der genannten Doku nach, beispielsweise wie man die Position, die Höhe und die Breite einer Ebene einstellen kann.
Zu Deinem Problem mit addhoffset siehe meinen zweiten Kommentar und Johannes Kommentar und mach am besten ein Update! Sowohl für TeX-Live als auch für MiKTeX gibt es inzwischen KOMA-Script 3.19a, mit denen das definitiv so funktioniert wie in meinem ersten Beispiel.
Verfasst: Do 8. Okt 2015, 11:42
von AsconX
Alles bestens, ich komme mit deinem Skript super klar. Musste mich nur erst reinlesen. \DeclareNewLayer löst mein Problem - sowohl mit, als auch ohne Header. Perfekt!