Kein Freiraum für TikZ-Grafik

Tabellen und Grafiken erstellen und anordnen


Polis Tyrol
Forum-Anfänger
Forum-Anfänger
Beiträge: 40
Registriert: Fr 30. Apr 2010, 09:55
Wohnort: Leoben

Kein Freiraum für TikZ-Grafik

Beitrag von Polis Tyrol »

Liebe Leute!

Ich bin mir sicher, dass dieses Problem, mit dem ich micht seit Stunden herumschlage in Wahrheit gar keines ist, schnell gelöst ist und wahrscheinlich schon drei andere Leute hier angesprochen haben.
Ich hab allerdings nirgendwo ein Thema gefunden, dass mein Problem gelöst hätte, deswegen frage ich nun selbst:

Ich habe ein großes Dokument, in dem ich auch einige TikZ-Bilder eingefügen möchte. Das funktioniert normal auch - nach genug rumkämpfen - auch tadellos. Bei dieser einen Grafik allerdings macht LaTeX keinen Freiraum und überschreibt alles, was davor steht. Die Befehle schauen genau gleich aus wie bei den anderen Grafiken. Was ist da los?!
\documentclass[]{scrreprt}

\usepackage{tikz}
\usepackage{subfig}

\begin{document}

Hier ein wenig Text.

\begin{figure}[htbp]
	\subfloat[Die Linien]		% Zeichnet 7 vertikale Linien
	{	\setlength{\unitlength}{7mm}
		\begin{tikzpicture}[domain=0:1.1]
			\linethickness{0.075mm}
			\multiput(0,1)(1,0){7}{\line(0,1){6}}
		\end{tikzpicture}
	}\quad
	\subfloat[Die Zahl]		% Schreibt die Zahl 9 hin
	{	\begin{tikzpicture}[domain=0:1.1]
			\linethickness{0.075mm}
			\draw[y=-1cm] (2, 2) node{$9$};
		\end{tikzpicture}
	}
	\caption{Some lines (a) and a number (b) in a figure.}
\end{figure}

Wieso erstellt \LaTeX\ nicht die richtigen Freir\"aume f\"ur diese figure?

\end{document}
Kann mir jemand helfen?

Benutzeravatar
bloodworks
Moderator
Moderator
Beiträge: 1425
Registriert: Mo 19. Jan 2009, 10:52
Wohnort: /dev/null

Beitrag von bloodworks »

Wenn du bei tikz Syntax bleibst dann tut das auch!
Zumindest legt bei mir Folgende Lösung da nichts mehr irgendwo drüber...
(multiput und line sind LaTeX Anweisungen und keine tikz Anweisungen. Dass es da zu einem Clash kommt wundert mich nicht. )
\documentclass[]{scrreprt} 

\usepackage{tikz} 
\usepackage{subfig} 

\begin{document}
Hier ein wenig Text. 

\begin{figure}[htbp] 
   \subfloat[Die Linien]      % Zeichnet 7 vertikale Linien 
   {   \setlength{\unitlength}{7mm} 
      \begin{tikzpicture}
      
      \foreach \x in {1,2,3,4,5,6,7,8,9}  {
     
        \draw (\x,0)--(\x,3);}
            \end{tikzpicture} 
   }\quad 
   \subfloat[Die Zahl]      % Schreibt die Zahl 9 hin 
   {   \begin{tikzpicture}
         
         \draw[y=-1cm] (2, 2) node{$9$}; 
      \end{tikzpicture} 
   } 
   \caption{Some lines (a) and a number (b) in a figure.} 
\end{figure}
\end{document}
BTW: subfig wäre hier nicht nötig. Die Beschriftung kannst du auch ganz gut von Hand machen (mit Tikz).
Zuletzt geändert von bloodworks am Do 6. Mai 2010, 11:06, insgesamt 1-mal geändert.
[1] Nützliche Webdokumente für Anfänger und Fortgeschrittene
[2]Minimalbeispiel | [3]FAQ
[4]Regelwerk | [5] Knigge
Wenn nicht anderst angegeben ist mein System: texlive 2012, pdflatex, x86-64, Snow Leopard utd.
Angehöriger der Liga zur Verwendung von texdoc
texdoc mathmode koma l2picfaq l2tabu lshort-en
Achtung: Aufforderungen ein Minimalbeispiel oder mehr Erklärungen zu einer Frage zu liefern sind keine persönlichen Angriffe. Sie dienen viel mehr dazu die Kommunikation zwischen Fragendem und potentiellen Helfern zu erleichtern und zu präzisieren.


Benutzeravatar
localghost
Forum-Meister
Forum-Meister
Beiträge: 825
Registriert: Di 8. Jul 2008, 15:40
Wohnort: Braunschweig

Nachfrage

Beitrag von localghost »

Zunächst einmal sei die Frage gestattet, warum Du in der Umgebung tikzpicture normale Bildbefehle (\line, \linethickness, \multiput) aus LaTeX benutzt. So kann die Platzreservierung nicht funktionieren. Die haben da also nichts zu suchen. Weiterhin fraglich ist die Angabe eines Wertebereichs, obwohl keine mathematische Funktion geplottet wird (schadet zwar nicht, ist dann aber unnötig). Ein Beispiel aus alten Tagen.
\documentclass[11pt,a4paper,ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage{selinput}
\SelectInputMappings{%
  adieresis={ä},
  germandbls={ß},
  Euro={€}
}
\usepackage{babel}
\usepackage[includeheadfoot,margin=2cm]{geometry}
\usepackage[font=small,labelfont=bf,tableposition=top]{caption}
\usepackage[font=footnotesize]{subfig}
\usepackage{tikz}
\usetikzlibrary{decorations.pathreplacing}

\begin{document}
  \begin{figure}[!ht]
    \centering
    \subfloat[Direkter Übergang\label{subfig-1:uebergang}]{
      \begin{tikzpicture}[>=stealth,thick,font=\small]
%      \draw[help lines] (-3,-0) grid (3,4);
        \draw[->] (-3,0)--(3,0) node[above left] {$k$};
        \draw[->] (0,0)--(0,4) node[below right] {$E$};
        \draw (-2,0.5) parabola[bend pos=0.5] bend +(0,1) +(4,0);
        \draw (-2.5,3.5) parabola[bend pos=0.5] bend +(0,-1) +(5,0);
        \draw (-3,0) node[anchor=south west] {Valenzband};
        \draw (3,4) node[anchor=north east] {Leitungsband};
        \draw[thin] (0,1.5)--(1,1.5);
        \draw[thin] (0,2.5)--(1,2.5);
        \draw[<->,thin] (0.8,1.5)--(0.8,2.5) node[midway,right] {$E_\text{g}$};
      \end{tikzpicture}
    }
    \hspace{5mm}
    \subfloat[Indirekter Übergang\label{subfig-2:uebergang}]{%
      \begin{tikzpicture}[>=stealth,thick,font=\small]
%        \draw[help lines] (-2,0) grid (6,4);
        \draw[->] (-2,0)--(6,0) node[anchor=south east] {$k$};
        \draw[->] (0,0)--(0,4) node[anchor=north west] {$E$};
        \draw (-2,0.5) parabola[bend pos=0.5] bend +(0,1) +(4,0);
        \draw (0.5,3.5) parabola[bend pos=0.5] bend +(0,-1) +(5,0);
        \draw[thin,dotted] (0,1.5)--(3,1.5)--(3,2.5);
        \draw[thin,decorate,decoration={brace,amplitude=5pt}] (0,1.5)--(3,1.5) node[midway,above=2pt] {$\vec{q}$};
        \draw (-2,0) node[anchor=south west] {Valenzband};
        \draw (6,4) node[anchor=north east] {Leitungsband};
        \draw[thin] (3,1.5)--(4,1.5) (3,2.5)--(4,2.5);
        \draw[<->,thin] (3.8,1.5)--(3.8,2.5) node[midway,right] {\small $E_\text{g}$};
      \end{tikzpicture}
    }
    \caption{Übergänge zwischen Valenzband und Leitungsband}\label{fig:uebergang}
  \end{figure}
\end{document}

MfG
Thorsten


Notiz an mich selbst:
Manchmal sollte man mal aktualisieren, damit man nicht das Gleiche schreibt wie der Vorgänger.
TeX und LaTeX, Fragen und Antworten – TeXwelt

¹ Es tut mir Leid. Meine Antworten sind begrenzt. Sie müssen die richtigen Fragen stellen.
² System: openSUSE 13.1 (Linux 3.11.6), TeX Live 2013, TeXworks 0.5 (r1349)
³ Lernt gerade TeX (und versucht, es zu verstehen).

Polis Tyrol
Forum-Anfänger
Forum-Anfänger
Beiträge: 40
Registriert: Fr 30. Apr 2010, 09:55
Wohnort: Leoben

Beitrag von Polis Tyrol »

Vielen Dank für die Antworten! Schätze, damit wär das geklärt!

Antworten