Textboxen, die über Spalten und Seiten sich erstrecken könne

Schriftbild, Absätze und Auflistungen einstellen
IRM
Forum-Anfänger
Forum-Anfänger
Beiträge: 39
Registriert: Do 11. Feb 2016, 07:08

Textboxen, die über Spalten und Seiten sich erstrecken könne

Beitrag von IRM »

Als Textboxen (Merke-Kästen) hinterlege ich einfach den Text grau. Leider können sich die Kästen nicht über zwei Spalten oder Seiten erstrecken. Es entstehen daher manchmal unschöne Lücken im Text. Wenn ich Textboxen verwende wie bei den Exkursen habe ich aber das Problem mit den größeren Rändern oben, unten, links und rechts. Wie kann ich diese Exkurse optisch an die Merkboxen angleichen? Oder gibt es noch eine bessere Lösung als die shaded-Umgebung? Vielen Dank!

Code: Alles auswählen

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Welcome to Overleaf --- just edit your LaTeX on the left,
% and we'll compile it for you on the right. If you give
% someone the link to this page, they can edit at the same
% time. See the help menu above for more info. Enjoy!
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[paper = 170mm:220mm, DIV=17, headinclude, twoside, fontsize=8pt, BCOR=19mm, headsepline, parskip=half, headings=small, tocflat, toc=numberline, twocolumn]{scrbook}

\setlength{\columnsep}{20pt}
\usepackage{scrlayer-scrpage}
\pagestyle{scrheadings}
\AddLayersToPageStyle{@everystyle@}{chapterthumb}

\usepackage{xpatch}
\usepackage{framed} %graue Boxen mit Seitenumbruch
\usepackage{xspace} %fügt Leerzeichen nach Befehle ein
\usepackage{blindtext}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{pxfonts}
\usepackage{microtype} %verbessert wohl den Blocksatz
\usepackage{xcolor}

% Randnotizen immer außen bei zweispaltigen Dokumenten
\usepackage[savepos,pagelayout,abspage]{zref}
\usepackage{zref-abspos}
\usepackage{zref-savepos}

\definecolor{shadecolor}{gray}{.9}

\newcounter{mparnum}
\renewcommand*{\themparnum}{a:\arabic{mparnum}}

\makeatletter

\def\putmarginpar#1{%
   \stepcounter{mparnum}%
   \zsavepos{\themparnum}%
   \settowidth{\@tempdima}{#1}%
   \ifnum \numexpr\ZREF@abspos@body@x@center{\themparnum}\relax>\number\zposx{\themparnum}%
   \hbox to 0pt{\hskip\numexpr-\zposx{\themparnum} + \ZREF@abspos@body@x@left{\themparnum} - \zref@extract{\themparnum}{marginparsep} -\@tempdima \relax sp#1}%
   \else
   \hbox to 0pt{\hskip\numexpr-\zposx{\themparnum} + \ZREF@abspos@body@x@right{\themparnum} + \zref@extract{\themparnum}{marginparsep} \relax sp #1}%
   \fi%
}
\makeatother

% wegen 3-Spalten Index!
\usepackage[makeindex]{splitidx} 
\usepackage{multicol}

\usepackage{tocstyle}

\usetocstyle{KOMAlike}

\addtokomafont{minisec}{\color[gray]{.5}}{\small}

\BeforeStartingTOC{\begin{multicols}{2}}
\AfterStartingTOC{\end{multicols}}

\DeclareNewTOC[type=todo,tocentryindent=0pt,listname={Exkurse}]{tod}

\newcommand{\Exkurs}[2]{%
   \addxcontentsline{tod}{todo}{#1}
   \smallminisec{#1\Randnotiz{\fett{E}}}
   \vskip-\parskip%
   \begin{shaded*}
      #2
   \end{shaded*}
}

\newcommand*{\Merke}[2]{%
   {\smallminisec{Merke: #1\Randnotiz{\fett{M}}}%
   \vskip-\parskip%
   \colorbox{shadecolor}{\parbox{\dimexpr\hsize-2\fboxsep}{#2}}}
}

\newcommand{\Randnotiz}[1]{\putmarginpar{#1}}
\newcommand{\smallminisec}[1]{\minisec{\small #1}}
\newcommand{\fett}[1]{\textbf{#1}}

\begin{document} 
   \clearpage
   \tableofcontents %Inhaltsverzeichnis
   \addcontentsline{toc}{chapter}{Exkursverzeichnis}
   \listoftodos %Verzeichnis der Exkurse
   
   \chapter{Kapiteleins}
   
   \blindtext
   \Exkurs{Exkurseins}{\blindtext \blindtext \blindtext}
   \Exkurs{Exkurseins2}{\blindtext}
   \Exkurs{Exkurseins3}{\blindtext}
   \blindtext
   \Merke{Merkeeins}{\blindtext \blindtext \blindtext \blindtext}
   \blindtext
   \blindtext
   \Exkurs{Exkurseins4}{\blindtext \blindtext}
   \blindtext
   \Merke{Merkeeins1}{\blindtext}
   \blindtext
   
   \chapter{Kapitelzwei}
   
   \blindtext
   \Exkurs{Exkurszwei}{\blindtext}
   \Exkurs{Exkurszwei2}{\blindtext}
   \Exkurs{Exkurszwei3}{\blindtext}
   
   \chapter{Kapiteldrei}
   
   \blindtext
   \Exkurs{Exkursdrei}{\blindtext}
   \Exkurs{Exkursdrei2}{\blindtext}
   \Exkurs{Exkursdrei3}{\blindtext}
   \Exkurs{Exkursdrei4}{\blindtext}
\end{document}

Gast

Beitrag von Gast »

Kennst du tcolorbox?

AFAIK soll man tocstyle nicht mehr verwenden. Das meiste, was das Paket bietet, kann man auch mit dem von den KOMA-Script-Klassen ohnehin geladene tocbasic erreichen.

IRM
Forum-Anfänger
Forum-Anfänger
Beiträge: 39
Registriert: Do 11. Feb 2016, 07:08

Beitrag von IRM »

Danke. Tcolorbox schaue ich mir mal an. Das sieht ganz gut aus und kann Boxen umbrechen.
Warum ich genau tocstyle brauche weiß ich grad nicht, da kenne ich mich leider auch nicht so gut aus.

Gast

Beitrag von Gast »

Aus dem Beispiel oben ist kein Grund für die Verwendung von tocstyle zu erkennen. Lass es (zusammen mit \usetocstyle{KOMAlike}) weg. Dann siehst du, ob du es wirklich brauchst. Auf jeden Fall dürftest du damit eine Warnung los werden.

Generell solltest du nur verwenden, wovon du weißt, weshalb du es verwendest. Alles, was nicht gebraucht wird, lässt man besser weg. Irgendwelche Präambeln von anderen unreflektiert zu übernehmen ist dagegen keine wirklich gute Idee. Das Anfertigen eines echten Minimalbeispiels ist übrigens eine gute Gelegenheit, die Präambel mal auszumisten und festzustellen, wofür man was braucht.

IRM
Forum-Anfänger
Forum-Anfänger
Beiträge: 39
Registriert: Do 11. Feb 2016, 07:08

Beitrag von IRM »

Das stimmt schon aber das Dokument ist halt über Jahre gewachsen und wenn man es nicht richtig durchschaut passiert so etwas.
Tocstyle und KOMALIKE sorgt bei mir dafür, dass die subsubsections im Verzeichnis weniger stark eingerückt werden. Wie kann ich das ohne Tocstyle machen? Danke!

Gast

Beitrag von Gast »

Man kann die Formatierung der Inhaltsverzeichniseinträge sehr gut über \DeclareTOCStyleEntry (siehe ebenfalls das Kapitel zu tocbasic in der Anleitung) oder \RedeclareSectionCommand (ist in der Anleitung ebenfalls einfach zu finden) konfigurieren.

Und natürlich darf man, wenn man jahrelang LaTeX verwendet, ab und zu auch mal wieder in die Anleitungen der verwendeten Pakete schauen. Bei KOMA-Script kann man alternativ auch in die Releaseinfos schauen, um einen kurzen Überblick über die wichtigsten Änderungen zu erhalten. Außerdem enthält die Anleitung (nicht jedoch das Buch) ein Verzeichnis mit den Seiten zu relevanten Änderungen. So kann man sich recht leicht von Version zu Version über Neuerungen auf dem Laufenden halten.

Vor der Verwendung von tocstyle hat das Paket selbst übrigens schon immer gewarnt. Das war nur ein Testprojekt. Inzwischen warnt das Paket außerdem davor, es zusammen mit (dem von den KOMA-Script-Klassen zwingend benötigten) tocbasic zu verwenden. Schau mal in die log-Datei.

Und natürlich gehört zur jahrelangen Pflege eines Dokuments auch, dass man gelegentlich rauswirft, was man nicht mehr braucht. Irgendwann fliegt einem das sonst um die Ohren.

Antworten