Hallo!

Ich hätte gerne eine zweispaltige Querformatseite (DIN A5), mit mehreren Textboxen; wegen der Flexibilität am besten mit TikZ.

Vom Prinzip her, etwa so:

alt text

Wie setze ich das am besten um?

Bei mir scheint einiges / alles schiefzugehen :(

Hinweis: Für den Textteil habe ich eine Parbox verwendet; das muß nicht sein. Eine node wäre sogar besser, weil der Text auch noch eine Hintergrundformatierung erhalten soll (mit backgrounds).

Open in writeLaTeX
\documentclass[a5paper, landscape]{scrbook}
\usepackage{multicol}
        \setlength{\columnseprule}{0.1pt}

\usepackage{lipsum}

\usepackage{tikz}
\usetikzlibrary{shadows, fit, matrix, positioning, backgrounds}

\newcommand{\Text}{%%
\parbox[b]{0.5\columnwidth}{\lipsum[66]}
}%%

\newcommand{\Bild}{%%
\rule{4cm}{5cm}
}%%

\begin{document}
 \begin{multicols}{2}

\begin{tikzpicture}
\matrix (m) [%
  align=left,
  matrix of nodes,
  nodes in empty cells,
  draw=blue,
  inner sep=2mm,
  minimum height=7mm, 
  minimum width=0.5\columnwidth,
  ] {%
\Text &  \Bild \\
};
\end{tikzpicture}

Wieso bin ich jetzt hier
 \end{multicols}
\end{document}

alt text

gefragt 31 Okt '14, 11:06

cis's gravatar image

cis
5.4k860169
Akzeptiert: 68%

bearbeitet 31 Okt '14, 11:32

3

Dein Bild und Deine parbox sind zu breit für die vorhandene Spaltenbreite, da die Matrix mehr als 2*0.5\columnwidth Platz einnimmt und 4cm mehr als .5\columnwidth ist. Der Rest des Textes ist vermutlich in der zweiten Spalte, weil multicol versucht, die beiden Spalten auszubalancieren, wenn sie nicht eine ganze Seite füllen.

(31 Okt '14, 11:53) Clemens

Ich denke eh, es wäre besser zwei nodes in einer node (der blaue Kasten, dieser muß einheitliche Breite haben) zu verschachteln. Aber ich weiß gerade nicht, wie man das richtig macht. Die Lib matrix war nur eine Idee.

(31 Okt '14, 11:59) cis

Keine Antwort, aber... vielleicht wäre das tcolorbox-Paket was für Dich hier

(31 Okt '14, 12:17) Clemens

Das könnnte gehen. Ich weiß immer nicht, ob tcolorbox oder mdframed besser ist. Ich versuche es mal.

(31 Okt '14, 12:39) cis

@cis mdframed natürlich, beide Autoren sind hier angemeldet ;-)

(31 Okt '14, 14:45) Johannes

Andererseits kann man bei mdframed einen Style myStyle definieren und verwenden, das geht bei tcolorbox nur aufwendig makeatletter - ohje... was eine Qual, diese Wahl!

Andererseits sehe ich bei mdframed grad kein Bsp. für Zeugs neben-einander, also denke ich tcolorbox ist die richtige Wahl.

(01 Nov '14, 22:38) cis
Ergebnis 5 von 7 Alle anzeigen

Es gibt leider keine gescheite Möglichkeit die breite einer TikZ-Matrix auf eine bestimmte Breite zu beschränken. Daher ist das beste was ich anbieten kann eine text width=.4\columnwidth in Kombination mit \centering innerhalb der multicols (es ist noch ein wenig Platz nach links und rechts bei den Boxen).

Open in writeLaTeX
\documentclass{article}
\usepackage[a5paper,landscape]{geometry}
\usepackage{multicol}
\setlength{\columnseprule}{0.1pt}
\usepackage{lipsum}
\usepackage{tikz}
\usetikzlibrary{matrix,backgrounds}
\tikzset{
  text image box/.style={
    text width=.4\columnwidth,
    align=left,
    matrix of nodes,
    nodes in empty cells,
    draw=#1,
    inner sep=2mm,
    every node/.append style={anchor=north},
  },
  text image box/.default=blue,
}

\begin{document}
\begin{multicols}{2}
  \centering

  \begin{tikzpicture}
    \matrix (m) [text image box] {%
      Nunc sed pede.  Praesent vitae lectus. Praesent neque justo,
      vehicula eget, interdum id, facilisis et, nibh.
      & \rule{\linewidth}{2cm} \\
    };
  \end{tikzpicture}

  \begin{tikzpicture}
    \matrix (m) [text image box=red] {%
      Nunc sed pede.  Praesent vitae lectus. Praesent neque justo,
      vehicula eget, interdum id, facilisis et, nibh.
      & \rule{\linewidth}{4cm} \\
    };
  \end{tikzpicture}

  \begin{tikzpicture}
    \matrix (m) [text image box=green] {%
      Nunc sed pede.  Praesent vitae lectus. Praesent neque justo,
      vehicula eget, interdum id, facilisis et, nibh.
      & \rule{\linewidth}{1cm} \\
    };
  \end{tikzpicture}

  \begin{tikzpicture}
    \matrix (m) [text image box=purple] {%
      Nunc sed pede.  Praesent vitae lectus. Praesent neque justo,
      vehicula eget, interdum id, facilisis et, nibh.
      & \rule{\linewidth}{3cm} \\
    };
  \end{tikzpicture}

\end{multicols}
\end{document}

alt text

Permanenter link

beantwortet 20 Dez '14, 16:34

Henri's gravatar image

Henri
10.0k31730

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

Frage gestellt: 31 Okt '14, 11:06

Frage wurde angeschaut: 2,391 Mal

Zuletzt aktualisiert: 20 Dez '14, 16:34