2-spaltiges Buch mit (gleitenden) Textboxen und Verzeichnis

Tabellen und Grafiken erstellen und anordnen


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

2-spaltiges Buch mit (gleitenden) Textboxen und Verzeichnis

Beitrag von IRM »

Guten Morgen,

ich habe zuerst in diesem Thema viewtopic.php?p=101296#101296 meine Frage gestellt. Aber da ich etwas andere Anforderungen habe, habe ich nun diese neue Thema eröffnet. Leider weiß ich nicht wie ich es realisieren soll.
- Es handelt sich um ein 2-spaltiges Buch
- Ich hättte gerne gleitende Textboxen mit der Breite einer Spalte
- Die Textboxen sollen sich über zwei Spalten erstrecken können und über mehrere Seiten
- Die Textboxen sollen umrahmt und grau hinterlegt sein
- Alle Textboxen sollen mit Namen und Seitenzahl in einem Verzeichnis aufgelistet sein

Hier das von mir leicht modifizierte Beispiel aus dem anderen Thema:
\documentclass[paper = 170mm:220mm, DIV=17, headinclude, twoside, fontsize=8pt, BCOR=19mm, headsepline, parskip=half, headings=small, toc=flat, twocolumn]{scrbook} 
\usepackage[ngerman]{babel}

%% Neue (Gleit-)Umgebung für Boxen
\usepackage{newfloat}
\DeclareFloatingEnvironment[
  fileext=lob,
  listname={Verzeichnis der Exkurse},
  name=Exkurs,
%  within=chapter
]{xbox}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%% Anpassung der Beschriftung für die neue (Gleit-)Umgebung
\usepackage{caption}
\captionsetup[xbox]{
  singlelinecheck=off,
  labelfont={bf,footnotesize},
  textfont={bf,footnotesize},
  labelsep=endash,
  aboveskip=0pt,
  belowskip=1ex
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\usepackage[svgnames]{xcolor}
\usepackage[framemethod=TikZ]{mdframed}
\mdfdefinestyle{remark}{%
  linewidth=1pt,
  backgroundcolor=LightGrey%  % Die Farbe im Hintergrund (vgl. Anleitung von »xcolor«, Abschnitt 4.3)
}
\usepackage{wrapfig}
\usepackage{lmodern}
\usepackage{microtype}
\usepackage{blindtext}

\begin{document}
  \listofxboxs  % Verzeichnis aller im Dokument enthaltenen Boxen

  \begin{wrapfigure}{m}{0.5\textwidth}
    \vskip-0.75\baselineskip
    \footnotesize
    \begin{mdframed}[style=remark]
      \captionof{xbox}{Autos}
      \label{box:small-rnas}
      \blindtext[3]
     \end{mdframed}
  \end{wrapfigure}

  \blindtext[8]

\end{document}
[/code]

Gast

Beitrag von Gast »

Das derzeit beste Paket für farbige Boxen dürfte tcolorbox sein, das auch sehr aktiv gepflegt wird. Trotzdem: Das, was du da forderst, wird vollautomatisch nicht gehen. Zweispaltiger Satz ist nicht gerade eine Stärke von LaTeX. Das gilt erst recht, wenn man dazu auch noch Gleitumgebungen mal über eine, mal über zwei Spalten und sogar eigentlich nicht gleitend und über mehrere Seiten haben will.

Die Verwendung von umbrechbaren Boxen wie mdframed innerhalb von Spezialumgebungen wie figure oder wrapfigure ist ohnehin problematisch (bis unsinnig). Das dann noch mit zweispaltigem Satz kombinieren zu wollen, ist mehr als gewagt.

Du solltest dich bei so einem Vorhaben auf jeden Fall auf viel manuelle Satzarbeit einstellen – min. so viel bei Verwendung eines herkömmlichen DTP-Programms.

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

Beitrag von IRM »

Danke für Deine Antwort.
Naja die manuelle Satzarbeit sollte ja durch LaTeX wegfallen ;) bei > 400 Seiten würde ich das zeitlich auch nicht packen.. Wenn ich erstmal auf das Gleiten verzichte um mir den Ärger zu sparen und es zB. sowie unten realisiere, wie kann ich dann ein Verzeichnis von diesen Boxen erstellen?
Die rein grauen Textboxen haben zumindest den Vorteil, dass sie nicht auf eine Spalte oder Seite begrenzt sind.
\documentclass[paper = 170mm:220mm, DIV=17, headinclude, twoside, fontsize=8pt, BCOR=19mm, headsepline, parskip=half, headings=small, toc=flat, twocolumn]{scrbook} 
\usepackage[ngerman]{babel}

\usepackage{microtype}
\usepackage{blindtext}
\usepackage{xcolor}
\usepackage{framed}
\definecolor{shadecolor}{gray}{.9}

\newcommand{\Exkurs}[2]{%
	\begin{shaded*}
		\textbf{Exkurs: #1}
        \\
		#2
	\end{shaded*}
	\color{black} %sonst ist der Text danach grau. Warum?
}

\begin{document}
 
  \blindtext[2]
   \Exkurs{mein erster}{\blindtext[5]}

  \blindtext[8]

\end{document}

Gast

Beitrag von Gast »

Für das Anlegen und Füllen neuer Verzeichnisse siehe \DeclareNewTOC und \captionof in der KOMA-Script-Anleitung oder im KOMA-Script-Buch.

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

Beitrag von IRM »

So hier nur mein erster Versuch:
\documentclass[paper = 170mm:220mm, DIV=17, headinclude, twoside, fontsize=8pt, BCOR=19mm, headsepline, parskip=half, headings=small, toc=flat, twocolumn]{scrbook} 
\usepackage[ngerman]{babel}

\usepackage{blindtext}
\usepackage{xcolor}
\usepackage{framed}
\usepackage{tocbasic}

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

\newcommand{\Exkurs}[2]{%
\addxcontentsline{tod}{todo}{#1}
\begin{shaded*}
      \textbf{Exkurs: #1}
        \\
      #2
   \end{shaded*}
   \color{black}
}

\DeclareNewTOC[%
  type=todo,% bestimmt u. a. \listoftodos und zweites Argument von \addxcontentsline
  listname={Verzeichnis der Exkurse}% Titel des Verzeichnisses
]{tod}


\begin{document}
	\listoftodos
	\blindtext[2]
    \Exkurs{mein erster}{\blindtext[5]}
    \Exkurs{zweiter}{\blindtext[3]}
    \blindtext[8]
\end{document}
Zuletzt geändert von IRM am Mi 11. Jul 2018, 18:51, insgesamt 1-mal geändert.

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

Beitrag von IRM »

Wirklich, sorry für die Glaskugelfrage aber ich kriege es nicht hin.
Ich mein Minimalbeispiel in mein eigentliches Dokument integriert. Es lässt sich fehlerfrei erzeugen aber mein Verzeichnis hat nur die Überschrift und keinen Inhalt. Auch die entsprechende Datei für das Verzeichnis wird nicht generiert?
Was kann da los sein?

Edit 13.07.18

Ich habe die Ursache gefunden. Um ein 2-spaltiges Inhaltsverzeichnis zu erzeugen verwende ich
 \usepackage[toc]{multitoc} 
Wenn ich das rausnehme wird mein neues Verzeichnis generiert.
Was kann ich machen um trotzdem mein Inhaltsverzeichnis 2-spaltig hinzubekommen?

Hier das Minimalbeispiel mit
 \usepackage[toc]{multitoc} 
:
\documentclass[paper = 170mm:220mm, DIV=17, headinclude, twoside, fontsize=8pt, BCOR=19mm, headsepline, parskip=half, headings=small, toc=flat, twocolumn]{scrbook}
\usepackage[ngerman]{babel}

\usepackage{blindtext}
\usepackage{xcolor}
\usepackage{framed}
\usepackage{tocbasic}

\usepackage[toc]{multitoc}

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

\newcommand{\Exkurs}[2]{%
\addxcontentsline{tod}{todo}{#1}
\begin{shaded*}
      \textbf{Exkurs: #1}
        \\
      #2
   \end{shaded*}
   \color{black}
}

\DeclareNewTOC[%
  type=todo,% bestimmt u. a. \listoftodos und zweites Argument von \addxcontentsline
  listname={Verzeichnis der Exkurse}% Titel des Verzeichnisses
]{tod}

\begin{document}
   \listoftodos
   \blindtext[2]
    \Exkurs{mein erster}{\blindtext[5]}
    \Exkurs{zweiter}{\blindtext[3]}
    \blindtext[8]
\end{document}
In dem Verzeichnis in meinem Buch habe ich unterschiedlich viele Leerzeilen und in der "tod" Datei entsprechend unterschiedlich viele
\addvspace {10\p@ }
Anweisungen. Was kann ich machen um die zu vermeiden?

Nochmals vielen Dank für die Hilfe!

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

Beitrag von IRM »

Mit
 \usepackage[toc]{multitoc}
ist das Verzeichnis leer und ich bekomme folgende Warnungen:
/usr/share/texlive/texmf-dist/tex/latex/koma-script/typearea.sty:
Package typearea Warning: Maybe no optimal type area settings!
(typearea) The maximum limit of line width is about 35%
(typearea) larger than the heuristically detected line width.
(typearea) You may e.g. increase DIV, decrease fontsize
(typearea) or change the papersize.
/usr/share/texlive/texmf-dist/tex/latex/tools/multicol.sty:134:
Package multicol Warning: May not work with the twocolumn option on input line
134.
Es wäre toll wenn mir ein Latex-Profi helfen könnte das hinzukriegen. Danke!

Gast

Beitrag von Gast »

multitoc (ein Paket, an dem seit 1999 nichts mehr getan wurde), ist mit KOMA-Script-Klassen inkompatibel, wird aber auch gar nicht benötigt, da man einfach multicol laden kann und dann mit KOMA-Script-Mitteln per
\BeforeStartingTOC[toc]{\begin{multicols}{2}}
\AfterStartingTOC[toc]{\end{multicols}}
das Inhaltsverzeichnis zweispaltig machen kann. Wenn man ein halbwegs konsistentes Dokument haben will, muss man allerdings alle gleichartigen Verzeichnisse zweispaltig setzen und lässt dann [toc] weg.

Die multicol-Warnung ist ja wohl eindeutig. Du kannst nicht zweispaltig von twocolumn mit multicols kombinieren. Ich vermute, dass das ein weiteres Problem von multitoc ist. Wenn Du das mit einem tatsächlich minimalen Beispiel nachvollziehen kannst, melde es dem Autor.

KOMA-Script-Klassen laden übrigens selbst schon tocbasic.

Die \addvspace-Frage verstehe ich nicht. Das kann ich an dem gezeigten Beispiel auch nicht nachverfolgen. Außerdem sind aufeinander folgende \addvspace mit gleichem (oder absteigendem) Wert AFAIK ohnehin kein Problem.

Gast

Beitrag von Gast »

\documentclass[paper=170mm:220mm,twocolumn, DIV=17, headinclude, fontsize=8pt,% Wer soll das denn lesen können!
BCOR=19mm, headsepline, parskip=half, headings=small, toc=flat]{scrbook}
\usepackage[ngerman]{babel}

\usepackage{blindtext}
\usepackage{xcolor}
\usepackage{framed}
\usepackage{multicol}

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

\newcommand{\Exkurs}[2]{%
\addxcontentsline{tod}{todo}{#1}
\begin{shaded*}
      \textbf{Exkurs: #1}
        \\*
      #2
   \end{shaded*}
   \color{black}
}

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

\DeclareNewTOC[%
  type=todo,% bestimmt u. a. \listoftodos und zweites Argument von \addxcontentsline
  tocentryindent=0pt,
  listname={Verzeichnis der Exkurse}% Titel des Verzeichnisses
]{tod}

\begin{document}
  \tableofcontents
   \listoftodos
  \chapter{Test}
   \blindtext[2]
    \Exkurs{mein erster}{\blindtext[5]}
    \Exkurs{zweiter}{\blindtext[3]}
    \blindtext[8]
    \blinddocument
\end{document}
Bemerkung: 8pt ist als Schriftgröße für ein Dokument vollkommen ungeeignet, weil viel zu klein. Man sollte bei der Grundschriftgröße niemals unter 10pt gehen. Wenn ich mehr als zwei Zeilen von so klein gesetztem Text lesen soll, wird das trotz Lesebrille so anstrengend, dass ich das in den Müll werfe. Unzumutbar!

Gast

Beitrag von Gast »

Anonymous hat geschrieben:multitoc (ein Paket, an dem seit 1999 nichts mehr getan wurde), ist mit KOMA-Script-Klassen inkompatibel
Das ist IMHO nicht das tatsächliche Problem. Stattdessen ist es inkompatibel mit allen Paketen, die weitere Gleitumgebungsverzeichnisse bereitstellen, weil es \addcontentsline so umdefiniert, dass diese Anweisung nur noch in die Hilfsdateien mit Endung toc, lof oder lot schreiben kann und das auch nur, wenn für diese per Option zweispaltiger Satz aktiviert ist:
\documentclass{article}

\usepackage[toc]{multitoc}

\begin{document}
\tableofcontents
\listoffigures
\section{This will be in the table of contents}
\begin{figure}
  \caption{But this will not be in the list of figures}
\end{figure}
\end{document}
Ich halte das für einen Bug. Du solltest den an den Autor melden!

Antworten