TUD-LaTeX-Forum
http://latex.wcms-file3.tu-dresden.de/phpBB3/

Alternative zu tikz ..controls..?
http://latex.wcms-file3.tu-dresden.de/phpBB3/viewtopic.php?f=11&t=538
Seite 1 von 1

Autor:  Wurzel [ Freitag 23. April 2021, 08:26 ]
Betreff des Beitrags:  Alternative zu tikz ..controls..?

Hallo!

Ich versuche eine Skizze meiner Versuchsanlage zu erstellen. Dabei gibt es einen Seinsor (in orange), der misst, ob der Boden trocken ist, und über einen Schlauch mit drei Verteiltropfern verbunden ist. Nun möchte ich eine geschwungene Linie von diesem Sensor durch die drei Verteiltropfer führen. Ich habe grade erst mit tikz angefangen, und war erstmal von ..controls.. sehr begeistert. Aber damit führe ich die Linie ja nur in die Richtung er in ..contronls.. angegebenen Punkte. Ist jemandem ein Alternativbefehl bekannt, der ebenfalls eine solche Kurve erzeugt, aber dabei durch die Kontrollpunkte führt? (So als handle es sich um einen Schlauch)
Wenn sowas nicht existiert ist es auch nicht schlimm, dann mache ich das händisch :)
W

Code:
\documentclass[%
ngerman,english,%
toc=chapterentrywithdots, % Macht, dass auch bei den Chaptern Punkte im Inhaltsverzeichnis sind
BCOR=6mm,cdgeometry=no,%
DIV=13,cdfont=true,
listof=totoc,
cdchapter=false,
numbers=noenddot %Weil Appendix Punkte hinzufügt... it's a feature, not a bug!
]{tudscrreprt}



% Mathe:
\usepackage{amsmath} % To have 2 formulae with only 1 number
\usepackage[euler]{textgreek} % To write greek letters in text
\usepackage{tikz} % For drawing
\usepackage{tikzpagenodes}
\usetikzlibrary {positioning, calc} % To specify the position of the labels more exactly
\usepackage{amssymb} % For mathematical symbols


% Packages for text:
\AtBeginDocument{\addtokomafont{chapter}{\color{TUDblue}}}
\AtBeginDocument{\addtokomafont{section}{\color{blue}}}
\AtBeginDocument{\addtokomafont{subsection}{\color{TUDblue2}}}




% Farben:
\definecolor{TUDblue}{RGB}{0,48,94}
\definecolor{TUDblue2}{RGB}{0,106,179}
\definecolor{brown1}{RGB}{255,64,64}






\begin{document}
   
   
   \begin{figure}[h]
      \begin{center}
         \begin{tikzpicture}
            \newcommand{\side}{14.5}
            
            \newcommand{\fe}[1]{\draw[color=TUDblue2, fill=green] #1 circle (.3);}
            \newcommand{\blumat}[2]{\draw[color=TUDblue2, fill=orange] #1 circle (.2) node (#2){};}
            \newcommand{\fee}[1]{\draw[color=blue, fill=green] #1 circle (3);}
            \newcommand{\vt}[2]{\draw[color=black, fill=brown1] #1 circle (.1) node (#2) {} ;}
            
            \draw(0,0) -- (\side,0) -- (\side, \side) -- (0,\side) -- cycle;
            

            
            %            Lüftung
            \draw[color=black, fill=TUDblue2](\side*1/3+\side*1/6,\side*1/3+\side*1/6)  circle (.3);
            
            
            
            %            Eschen
            %            Reihe 1
            \fe{(\side*1/6,\side*1/6)}
            \fe{(\side*1/3+\side*1/6,\side*1/6)}
            \fe{(\side*2/3+\side*1/6,\side*1/6)}
            %            Reihe 2
            \fe{(\side*1/6,\side*1/3+\side*1/6)}
            \fe{(\side*2/3+\side*1/6,\side*1/3+\side*1/6)}
            %            Reihe 3
            \fe{(\side*1/6,\side*2/3+\side*1/6)}
            \fe{(\side*1/3+\side*1/6,\side*2/3+\side*1/6)}
            \fe{(\side*2/3+\side*1/6,\side*2/3+\side*1/6)}
            
            %            Blumat
            \blumat{(\side*1/3,\side*1/3)}{blu}
            \blumat{(\side*2/3,\side*1/3)}{bru}   
            \blumat{(\side*1/3,\side*2/3)}{blo}   
            \blumat{(\side*2/3,\side*2/3)}{bro}         
            
            
            %            Verteiltropfer
            %             1
            \vt{(\side*1/3,\side*1/6)}{blu1}
            \vt{(\side*1/6,\side*1/3)}{blu2}
            \vt{(\side*1/3,\side*1/3+\side*1/6)}{blu3}
            
            %             2                        
            \vt{(\side*2/3+\side*1/6,\side*1/3)}{bru1}
            \vt{(\side*1/3+\side*1/6,\side*1/3)}{bru3}
            \vt{(\side*2/3,\side*1/6)}{bru2}
            
            
            %             3
            \vt{(\side*2/3,\side*1/6+\side*2/3)}{bro1}
            \vt{(\side*2/3+\side*1/6,\side*2/3)}{bro2}
            \vt{(\side*2/3,\side*1/3+\side*1/6)}{bro3}
            
            %                        4
            \vt{(\side*1/6,\side*2/3)}{blo1}
            \vt{(\side*1/3+\side*1/6,\side*2/3)}{blo3}
            \vt{(\side*1/3,\side*1/6+\side*2/3)}{blo2}
            
            
            
            

            
            
            \draw[-](blu) ..controls (blu1) and (blu2)  .. (blu3);   
            \draw[-](bru) ..controls (bru1) and (bru2)  .. (bru3);   
            \draw[-](bro) ..controls (bro1) and (bro2)  .. (bro3);   
            \draw[-](blo) ..controls (blo1) and (blo2)  .. (blo3);            
            
            
            %            Leitungen:

            
         \end{tikzpicture}
      \end{center}
      \caption[tba]{tba}
      \label{fig:dreieck}
   \end{figure}

   
   
\end{document}

Autor:  tudscr [ Freitag 23. April 2021, 11:31 ]
Betreff des Beitrags:  Re: Alternative zu tikz ..controls..?

Hallo,

prinzipiell würde ich dir empfehlen, für Fragen und Probleme, die nicht mit den tudscr-Klassen zu tun haben, lieber ein größeres Forum wie https://tex.stackexchange.com/ oder https://golatex.de/ aufzusuchen. Dort kann dir im Zweifel schneller/besser geholfen werden.

So, jetzt ein paar kurze Anmerkungen/Fragen zu deinem MWE und dann zum eigentlichen Problem.
  1. Du brauchst dir keine Farben für den Stil der TUD definieren, dies wird bereits durch TUD-Script gemacht. Siehe im Handbuch die Hinweise zum Paket tudscrcolor. Diese Farben (HKS41, HKS92, HKS44, HKS36, HKS33, HKS57, HKS65, HKS07) könntest du auch in deinen Grafiken nutzen.
  2. Was bezweckst du mit cdchapter=false? Damit schaltest du das Layout inklusive der Schrift lediglich für Kapitel ab. Die restlichen Überschriften für \section etc. bleiben im CD-Stil. Entweder du nutzt mindestens noch cdcsection=false oder bist konsequent und deaktivierst den CD-Stil mit cd=false komplett.
  3. Ich möchte dir den Rat geben, den Einsatz von Farben bedacht zu wählen. Die bunten Überschriften, die du dir zusammenbastelst sind nicht besonders ansehnlich. Du könntest ggf. cd=light verwenden, dann werden die Überschriften alle in HKS41 gesetzt. Falls du tatsächlich farbliche Abstufungen der Überschriften haben möchtest, würde ich mit einem Farbton arbeiten und den Weißanteil anpassen.
    Code:
    \AtBeginDocument{\addtokomafont{chapter}{\color{HKS41}}}
    \AtBeginDocument{\addtokomafont{section}{\color{HKS41!90}}}
    \AtBeginDocument{\addtokomafont{subsection}{\color{HKS41!80}}}

    Da sieht wesentlich ruhiger aus.

Autor:  tudscr [ Freitag 23. April 2021, 11:58 ]
Betreff des Beitrags:  Re: Alternative zu tikz ..controls..?

Zum eigentlichen Problem. Google liefert mit tikz draw controls als ersten Eintrag diesen Link: https://tex.stackexchange.com/q/255234

Den kurz studiert liefert den Hinweis auf die Tikz-Library hobby. Zusätzlich würde ich dir noch backgrounds empfehlen, damit kannst du bestimmte Ausgaben auf ein unteres Layer legen, damit beispielsweise gezeichnete Linien keine Knoten überdecken. Fertiges MWE:
Code:
\documentclass[%
ngerman,english,%
toc=chapterentrywithdots, % Macht, dass auch bei den Chaptern Punkte im
%Inhaltsverzeichnis sind
BCOR=6mm,cdgeometry=no,%
DIV=13,cdfont=true,
listof=totoc,
numbers=noenddot %Weil Appendix Punkte hinzufügt... it's a feature, not a bug!
]{tudscrreprt}

\usepackage{blindtext}

\usepackage{tikz} % For drawing
\usepackage{tikzpagenodes}
\usetikzlibrary {positioning, calc} % specify position of labels
\usetikzlibrary{hobby}
\usetikzlibrary{backgrounds}

\AtBeginDocument{\addtokomafont{chapter}{\color{HKS41}}}
\AtBeginDocument{\addtokomafont{section}{\color{HKS41!90}}}
\AtBeginDocument{\addtokomafont{subsection}{\color{HKS41!80}}}
\AtBeginDocument{\colorlet{HKS07dark}{HKS07!80!black}}

\begin{document}

\begin{center}
\begin{tikzpicture}
  \newcommand{\side}{14.5}
  \newcommand{\fe}[1]{\draw[color=HKS44, fill=HKS65] #1 circle (.3);}
  \newcommand{\blumat}[2]{\draw[color=HKS44, fill=HKS07] #1 circle (.2) node (#2){};}
  \newcommand{\vt}[2]{\draw[color=black, fill=HKS07dark] #1 circle (.1) node (#2) {} ;}
 
  \draw(0,0) -- (\side,0) -- (\side, \side) -- (0,\side) -- cycle;
 
  %            Lüftung
  \draw[color=black,fill=HKS44](\side*1/3+\side*1/6,\side*1/3+\side*1/6) circle (.3);
   
  %            Eschen
  %            Reihe 1
  \fe{(\side*1/6,\side*1/6)}
  \fe{(\side*1/3+\side*1/6,\side*1/6)}
  \fe{(\side*2/3+\side*1/6,\side*1/6)}
  %            Reihe 2
  \fe{(\side*1/6,\side*1/3+\side*1/6)}
  \fe{(\side*2/3+\side*1/6,\side*1/3+\side*1/6)}
  %            Reihe 3
  \fe{(\side*1/6,\side*2/3+\side*1/6)}
  \fe{(\side*1/3+\side*1/6,\side*2/3+\side*1/6)}
  \fe{(\side*2/3+\side*1/6,\side*2/3+\side*1/6)}
 
  %            Blumat
  \blumat{(\side*1/3,\side*1/3)}{blu}
  \blumat{(\side*2/3,\side*1/3)}{bru}   
  \blumat{(\side*1/3,\side*2/3)}{blo}   
  \blumat{(\side*2/3,\side*2/3)}{bro}         
 
  %            Verteiltropfer
  %             1
  \vt{(\side*1/3,\side*1/6)}{blu1}
  \vt{(\side*1/6,\side*1/3)}{blu2}
  \vt{(\side*1/3,\side*1/3+\side*1/6)}{blu3}
  %             2
  \vt{(\side*2/3+\side*1/6,\side*1/3)}{bru1}
  \vt{(\side*1/3+\side*1/6,\side*1/3)}{bru3}
  \vt{(\side*2/3,\side*1/6)}{bru2}
  %             3
  \vt{(\side*2/3,\side*1/6+\side*2/3)}{bro1}
  \vt{(\side*2/3+\side*1/6,\side*2/3)}{bro2}
  \vt{(\side*2/3,\side*1/3+\side*1/6)}{bro3}
  %             4
  \vt{(\side*1/6,\side*2/3)}{blo1}
  \vt{(\side*1/3+\side*1/6,\side*2/3)}{blo3}
  \vt{(\side*1/3,\side*1/6+\side*2/3)}{blo2}

  %            Leitungen:
  \draw[-](blu) ..controls (blu1) and (blu2)  .. (blu3);   
  \draw[-](bru) ..controls (bru1) and (bru2)  .. (bru3);   
  \draw[-](bro) ..controls (bro1) and (bro2)  .. (bro3);   
  \draw[-](blo) ..controls (blo1) and (blo2)  .. (blo3);
 
  % hobby benötigt Koordinaten, keine Knoten; deshalb die Verwendung der Anker der Knoten
  \begin{scope}[on background layer]
  \draw(blu.east) to [curve through={(blu1.center) .. (blu2.center)}](blu3.west);
  \draw(bru.north) to [curve through={(bru1.center) .. (bru2.center)}](bru3.south);
  \draw(bro.west) to [curve through={(bro1.center) .. (bro2.center)}](bro3.east);
  \draw(blo.south) to [curve through={(blo1.center) .. (blo2.center)}](blo3.north);
  \end{scope}
   
\end{tikzpicture}
\end{center}


Dateianhänge:
test.png
test.png [ 114.99 KiB | 891-mal betrachtet ]

Autor:  Wurzel [ Freitag 23. April 2021, 12:27 ]
Betreff des Beitrags:  Re: Alternative zu tikz ..controls..?

Hallo!
Okay, mach ich. Aber das Forum hier gefällt mir :)
Die Präambel enthält noch viele Überbleibsel diverser Arbeiten, ich habe für dieses Minimalexampel nur die offensichtlichtsen rausgelöscht, wie den Zitate-Teil. Ich hatte das einst verwendet, um die Überschriften der Kapitel ein wenig zu verändern. Aber jetzt will ich tatsächlich nur das Bild machen und sonst gar nichts, der Teil ist also obsolet.

Ah, danke, den Eintrag hatte ich zwar gefunden, aber nicht gut genug verwertet wie es scheint. Oh, der Tip mit
Code:
hobby
ist super, ich hätte das sonst am Ende, wenn ich alle Elemente habe, die ich darstellen möchte, in der Reihenfolge des Aufrufens versucht zuverändern.
Vielen Dank! (Ich fand die Antwort immer noch sehr schnell ;) )
W

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/