Hallo alle zusammen,

ich möchte, dass die tikz-Grafik automatisch so skaliert wird, dass das dazugehörige Unterkapitel und die Grafik auf die Seite passen. Wie erreiche ich das? Ich habe auch den Fall, dass das Unterkapitel auf der vorherigen Seite anfängt, dann müsste nur noch der Rest, der schon auf der Seite drauf ist, noch einberechnet werden.

Open in writeLaTeX
% !TeX spellcheck = de_DE
%Seiten vor dem Anfang mit ršmischen Ziffern
%Dateiablage in Ordnerstruktur umbennen

\documentclass[12pt]{article}
%\usepackage[applemac]{inputenc}  %% Zeile so lassen, falls Sie mit einem Apple arbeiten
%\usepackage[utf8]{inputenc}   %% Vorherige Zeile durch vorgestelltes %-Zeichen auskommentieren und diese Zeile aktivieren, falls Sie mit einem Windows-Rechner arbeiten
\usepackage[T1]{fontenc}

\usepackage[ngerman]{babel}
\usepackage{times}
\usepackage{natbib}
%\usepackage{jurabib}
\usepackage{pdfpages}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{graphicx}

\usepackage{eurosym}
\usepackage{txfonts}
\usepackage{pifont}

\usepackage{url}
\usepackage{colortbl}
\urlstyle{tt}

\usepackage{tikz}
\usetikzlibrary{matrix,positioning,arrows,decorations.pathmorphing,backgrounds,fit,petri,calc}
\usepackage{pgflibrarysnakes}
\usetikzlibrary{shadows,fadings}
\usetikzlibrary{decorations}
\usepgflibrary{arrows} % LATEX and plain TEX and pure pgf
\usetikzlibrary{arrows} % LATEX and plain TEX when using Tik Z

\usepackage{fancyhdr}
\usepackage{hyperref}
\usepackage[printonlyused]{acronym}
\usepackage{float}

\setlength{\textwidth}{15.5cm}     %
\setlength{\textheight}{23cm}      %
\setlength{\evensidemargin}{1.5cm} %
\setlength{\oddsidemargin}{1.5cm}  %
\setlength{\topmargin}{-1cm}       %
\setlength{\topskip}{0cm}          %
\setlength{\headheight}{11pt}      %

\begin{document}
\pagestyle{headings}
%%% Literatur ohne eigene Nummer aber im Inhaltsverzeichnis

\subsection{ABC}
\label{sub:abc}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

\begin{figure}[H]
%\TikZGraphic{./Datenmodell.tikz.tex}

\tikzset{
  tab/.style={inner sep=0pt,
    nodes={inner sep=.333em,
      % notwendig für leere Zellen und Unterlängen:
      minimum height={\baselineskip+0.666em}
    }
  },
  vtab/.style={matrix of nodes,tab,
    row sep=-\pgflinewidth,column sep=-\pgflinewidth,
    nodes in empty cells,% leere Zellen werden ebenfalls gezeichnet
    row 1/.style={nodes={align=center}},
    nodes={draw,align=left,text width=#1}
  },
  vtab/.default=3cm,% voreingestellte Breite
  htab/.style={matrix of nodes,draw,tab,anchor=north west},
  every edge/.append style={font=\footnotesize\strut,inner ysep=.1em},
  pfeil/.style={out=270,in=90,->},
  transition/.style={thick,draw=black!75,fill=black!20,text width=3cm,align=center}
}
%\begin{document}
\resizebox{!}{\textheight}{%
\begin{itshape}
%\begin{center}
%{\fontsize{8}{0}\fontfamily{phv}\fontshape{sl}\selectfont \setlength{\unitlength}{1.6pt}%
\begin{tikzpicture}
[thick,
  % vertikaler und horizontaler Abstand zwischen den Tabellen:
  %node distance=1cm and 3.4cm, % row 1/.style={},
%  node distance=1.3cm,on grid, >=stealth',
bend angle=65,auto,
  every place/.style= {minimum size=6mm,thick,draw=blue!75,fill=blue!20},
  red place/.style= {place,draw=red!75,fill=red!20},
  every label/.style= {red},
]
%[scale=1.45,thick,%
% place/.style={circle,draw=darkblue,top color=darkblue!40, bottom color=white,thick,inner sep=0pt,minimum size=8mm,drop shadow={top color=gray,bottom color=white,shadow xshift=0.5mm,shadow yshift=-0.5mm,rounded corners,fill opacity=0.3}},%
% token/.style={circle,draw=black,fill=black,thick,inner sep=0pt,minimum size=2mm},%
% transition/.style={rectangle,draw=darkblue,top color=darkblue!40, bottom color=white,thick,inner sep=0pt,minimum height=8mm,minimum width=16mm,text width=35mm,rounded corners=0.5mm,drop shadow={top color=gray,bottom color=white,shadow xshift=0.5mm,shadow yshift=-0.5mm,rounded corners,fill opacity=0.3}},%
% enabledTransition/.style={rectangle,draw=green,top color=green!40, bottom color=white,thick,inner sep=0pt,minimum height=8mm,minimum width=16mm,rounded corners=0.5mm,drop shadow={top color=gray,bottom color=white,shadow xshift=0.5mm,shadow yshift=-0.5mm,rounded corners,fill opacity=0.3}},%
% firedTransition/.style={rectangle,draw=red,top color=red!40, bottom color=white,thick,inner sep=0pt,minimum height=8mm,minimum width=16mm,rounded corners=0.5mm,drop shadow={top color=gray,bottom color=white,shadow xshift=0.5mm,shadow yshift=-0.5mm,rounded corners,fill opacity=0.3}}%
% ]

\node   [transition]    (A)                     {Start};
\node   [place]         (Ap)    [below=of A]    {}
    edge[pre]           (A);
\node   [transition]    (B)     [below=of Ap]   {B}
    edge[pre]           (Ap);
\node   [place]         (Bp)    [below=of B]    {}
    edge[pre]           (B);
\node   [transition]    (C)     [below=of Bp]   {C}
    edge[pre]           (Bp);
\node   [place]         (Cp)    [below=of C]    {}
    edge[pre]           (C);
\node   [transition]    (D)     [below=of Cp]   {D}
    edge[pre]           (Cp);
\node   [place]         (Dp)    [below=of D]    {}
    edge[pre]           (D);
\node   [transition]    (E)     [below=of Dp]   {E}
    edge[pre]           (Dp);
\node   [place]         (Ep)    [below=of E]    {}
    edge[pre]           (E);
\node   [transition]    (F)     [below=of Ep]   {Ende}
    edge[pre]           (Ep);

\end{tikzpicture}
%}
%\end{center}
\end{itshape}
}
%\end{document}

 \caption{Prozessmodell zum Prozess abc}
 \label{fig:Prozessmodellabc}
\end{figure}

\bibliographystyle{hc-de} %
\addcontentsline{toc}{section}{Literatur} %
%\bibliography{./literatur}%

%\addcontentsline{toc}{section}{Abbildungsverzeichnis} %
%\listoffigures
\end{document}

gefragt 26 Aug '14, 22:04

tt33tt's gravatar image

tt33tt
256131925
Akzeptiert-Rate: 100%

bearbeitet 27 Aug '14, 17:56


In gewissen Grenzen lässt sich das fast mit dem Ansatz aus Deinem Beispiel machen:

Open in writeLaTeX
\documentclass[12pt]{article}% Wirklich letter als Papierformat und nicht a4?
% Da die Kommentare zu inputenc so nicht zutreffend waren, hier ein Alternativvorschlag,
% der unabhängig vom verwendeten Editor und OS funktioniert:
\usepackage{selinput}
\SelectInputMappings{
  adieresis={ä},
  germandbls={ß},
}
\usepackage[T1]{fontenc}

\usepackage[ngerman]{babel}
%\usepackage{times}% Wird durch txfonts "überladen".
\usepackage{natbib}% Über biblatex nachzudenken, könnte sich lohnen.
%\usepackage{jurabib}
\usepackage{pdfpages}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{graphicx}

\usepackage{eurosym}
\usepackage{txfonts}
\usepackage{pifont}

\usepackage{url}% Wird später auch noch von hyperref geladen.
\usepackage{colortbl}% Ich empfehle \usepackage[table]{xcolor}.
\urlstyle{tt}

\usepackage{tikz}
\usetikzlibrary{matrix,positioning,arrows,decorations.pathmorphing,backgrounds,fit,petri,calc}
\usepackage{pgflibrarysnakes}
\usetikzlibrary{shadows,fadings}
\usetikzlibrary{decorations}
\usepgflibrary{arrows} % LATEX and plain TEX and pure pgf
\usetikzlibrary{arrows} % LATEX and plain TEX when using Tik Z

\usepackage{fancyhdr}
\usepackage{hyperref}
\usepackage[printonlyused]{acronym}
\usepackage{float}

% Wirklich:
\setlength{\textwidth}{15.5cm}     %
\setlength{\textheight}{23cm}      %
\setlength{\evensidemargin}{1.5cm} % 3,54 cm linken Rand?
\setlength{\oddsidemargin}{1.5cm}  %
\setlength{\topmargin}{-1cm}       % 1,54 cm oberer Rand?
\setlength{\topskip}{0cm}          % hüpfende erste Zeile?
\setlength{\headheight}{11pt}      %
% 21,6 cm - 15,5 cm - 3,54 cm = 2,56 cm rechter Rand?
% (Bei a4 wären es: 21 cm - 15,5 cm - 3,54 cm = 1,96 cm rechter Rand?)
% Empfehlung: geometry verwenden!

\begin{document}
\pagestyle{headings}
%%% Literatur ohne eigene Nummer aber im Inhaltsverzeichnis

\subsection{ABC}
\label{sub:abc}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

\begin{figure}[H]
%\TikZGraphic{./Datenmodell.tikz.tex}

\tikzset{
  tab/.style={inner sep=0pt,
    nodes={inner sep=.333em,
      % notwendig für leere Zellen und Unterlängen:
      minimum height={\baselineskip+0.666em}
    }
  },
  vtab/.style={matrix of nodes,tab,
    row sep=-\pgflinewidth,column sep=-\pgflinewidth,
    nodes in empty cells,% leere Zellen werden ebenfalls gezeichnet
    row 1/.style={nodes={align=center}},
    nodes={draw,align=left,text width=#1}
  },
  vtab/.default=3cm,% voreingestellte Breite
  htab/.style={matrix of nodes,draw,tab,anchor=north west},
  every edge/.append style={font=\footnotesize\strut,inner ysep=.1em},
  pfeil/.style={out=270,in=90,->},
  transition/.style={thick,draw=black!75,fill=black!20,text width=3cm,align=center}
}
%\begin{document}
\resizebox{!}{\dimexpr \pagegoal-\pagetotal % verfügbarer Platz
                      -2\intextsep % Abstand über und unter nicht gleitender
                                   % Gleitumgebung 
                      -\abovecaptionskip-\belowcaptionskip% Abstand über und
                                                          % unter
                                                          % Abildungsunterschrift 
                      -\baselineskip\relax}{% Platz für eine Zeile Abbildungsunterschrift
\begin{itshape}% SIEHE UNBEDINGT: <http://www.texwelt.de/wissen/fragen/1994>
%\begin{center}
%{\fontsize{8}{0}\fontfamily{phv}\fontshape{sl}\selectfont \setlength{\unitlength}{1.6pt}%
\begin{tikzpicture}
[thick,
  % vertikaler und horizontaler Abstand zwischen den Tabellen:
  %node distance=1cm and 3.4cm, % row 1/.style={},
%  node distance=1.3cm,on grid, >=stealth',
bend angle=65,auto,
  every place/.style= {minimum size=6mm,thick,draw=blue!75,fill=blue!20},
  red place/.style= {place,draw=red!75,fill=red!20},
  every label/.style= {red},
]
%[scale=1.45,thick,%
% place/.style={circle,draw=darkblue,top color=darkblue!40, bottom color=white,thick,inner sep=0pt,minimum size=8mm,drop shadow={top color=gray,bottom color=white,shadow xshift=0.5mm,shadow yshift=-0.5mm,rounded corners,fill opacity=0.3}},%
% token/.style={circle,draw=black,fill=black,thick,inner sep=0pt,minimum size=2mm},%
% transition/.style={rectangle,draw=darkblue,top color=darkblue!40, bottom color=white,thick,inner sep=0pt,minimum height=8mm,minimum width=16mm,text width=35mm,rounded corners=0.5mm,drop shadow={top color=gray,bottom color=white,shadow xshift=0.5mm,shadow yshift=-0.5mm,rounded corners,fill opacity=0.3}},%
% enabledTransition/.style={rectangle,draw=green,top color=green!40, bottom color=white,thick,inner sep=0pt,minimum height=8mm,minimum width=16mm,rounded corners=0.5mm,drop shadow={top color=gray,bottom color=white,shadow xshift=0.5mm,shadow yshift=-0.5mm,rounded corners,fill opacity=0.3}},%
% firedTransition/.style={rectangle,draw=red,top color=red!40, bottom color=white,thick,inner sep=0pt,minimum height=8mm,minimum width=16mm,rounded corners=0.5mm,drop shadow={top color=gray,bottom color=white,shadow xshift=0.5mm,shadow yshift=-0.5mm,rounded corners,fill opacity=0.3}}%
% ]

\node   [transition]    (A)                     {Start};
\node   [place]         (Ap)    [below=of A]    {}
    edge[pre]           (A);
\node   [transition]    (B)     [below=of Ap]   {B}
    edge[pre]           (Ap);
\node   [place]         (Bp)    [below=of B]    {}
    edge[pre]           (B);
\node   [transition]    (C)     [below=of Bp]   {C}
    edge[pre]           (Bp);
\node   [place]         (Cp)    [below=of C]    {}
    edge[pre]           (C);
\node   [transition]    (D)     [below=of Cp]   {D}
    edge[pre]           (Cp);
\node   [place]         (Dp)    [below=of D]    {}
    edge[pre]           (D);
\node   [transition]    (E)     [below=of Dp]   {E}
    edge[pre]           (Dp);
\node   [place]         (Ep)    [below=of E]    {}
    edge[pre]           (E);
\node   [transition]    (F)     [below=of Ep]   {Ende}
    edge[pre]           (Ep);

\end{tikzpicture}
%}
%\end{center}
\end{itshape}
}
%\end{document}

 \caption{Prozessmodell zum Prozess abc}
 \label{fig:Prozessmodellabc}
\end{figure}

\bibliographystyle{hc-de} %
\addcontentsline{toc}{section}{Literatur} % DIESE ZEILE KOMMT ZU SPÄT!!!!
%\bibliography{./literatur}%

%\addcontentsline{toc}{section}{Abbildungsverzeichnis} %
%\listoffigures
\end{document}

Allerdings muss man hier noch abhängig von der Anzahl der Zeilen, die man für die Bildunterschrift benötigt, manuell eingreifen. Das auch noch zu automatisieren ist zwar möglich, erhöht aber den Aufwand.

Wirklich empfehlen, kann ich die Verwendung von \resizebox ohnehin nicht. Dabei wird nämlich die Schrift mit skaliert. So hat dann jede Abbildung eine andere Schriftgröße, was sehr unschön ist.

Außerdem habe ich mir erlaubt, noch ein paar Kommentare zum restlichen Code in mein geändertes Beispiel zu schreiben. Es liegt natürlich bei Dir, ob Dich diese interessieren oder nicht. Du kannst ggf. gerne neue Fragen dazu stellen.

Permanenter link

beantwortet 27 Aug '14, 08:33

gast3's gravatar image

gast3
(ausgesetzt)
Akzeptiert-Rate: 53%

Danke für die ganzen Anmerkungen!

Wo habe ich letter eingestellt?

Die Anweisungen in resizebox müsste nach meinem Test reichen, um das gewünschte Ergebnis zu erzielen oder habe ich etwas übersehen?

Warum stellst du über setlength diverse Einstellungen?

(27 Aug '14, 19:16) tt33tt

@tt33tt: Das Standardpapierformat der Klasse article ist letter. Wenn Du ein anderes Format haben willst, musst Du das entweder per Option einstellen oder besser gleich die KOMA-Script-Klasse scrartcl verwenden, die auch sonst diverse Vorteile hat, beispielsweise Verzeichnisse einfach per Option ins Inhaltsverzeichnis eintragen kann. Auch mit geometry kann man nicht nur Satzspiegel und Ränder, sondern ebenfalls das Papierformat einstellen. Vielleicht solltest Du auch mal eine ausführliche LaTeX-Einführung lesen, in der so etwas drin steht.

(27 Aug '14, 19:30) gast3

Wir haben sogar eine Einführung in Vorlesungen erhalten, allerdings lagt der Schwerpunkt scheinbar nicht auf den Grundeinstellungen :-) Was mich noch interessieren würde: Wieso hast du über setlength die Werte von der Textbreite etc. eingestellt? Das Dokument wird zum Schluss übrigens per Spiralbindung gebunden.

(27 Aug '14, 22:28) tt33tt

@tt33tt: Das habe nicht ich gemacht. Das hast Du gemacht und ich habe es lediglich übernommen, kommentiert und empfohlen stattdessen geometry zu verwenden. Da Du nicht zu wissen scheinst, was in dem Code von Dir stammt, solltest Du unbedingt auch noch »Minimale Vorlage vs. maximale Probleme« lesen.

(27 Aug '14, 23:09) gast3

Oh, sorry. Das müsste für die Bindung sein.

(29 Aug '14, 18:31) tt33tt
1

@tt33tt Für die Bindung bietet geometry ebenfalls eine Option. Ich bleibe dabei: Du solltest für die ganzen Einstellungen von Papierformat, Ränder und Textbereich besser geometry oder typearea verwenden. Außerdem rate ich noch immer dazu »Minimale Vorlage vs. maximale Probleme« zu lesen.

(29 Aug '14, 20:23) gast3
Ergebnis 5 von 6 show 1 more comments
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

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ügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×728
×18
×3

gestellte Frage: 26 Aug '14, 22:04

Frage wurde gesehen: 8,009 Mal

zuletzt geändert: 29 Aug '14, 20:24