Kein Freiraum für TikZ-Grafik

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Kein Freiraum für TikZ-Grafik

von Polis Tyrol » Do 6. Mai 2010, 13:28

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

Nachfrage

von localghost » Do 6. Mai 2010, 11:02

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.

von bloodworks » Do 6. Mai 2010, 10:38

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).

Kein Freiraum für TikZ-Grafik

von Polis Tyrol » Do 6. Mai 2010, 10:12

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?

Nach oben