Tikz: Linie vom Seitenrand zeichnen

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: Tikz: Linie vom Seitenrand zeichnen

Re: Tikz: Linie vom Seitenrand zeichnen

von Fenrix » So 5. Jul 2020, 18:37

Perfekt, danke dir. Jetzt sieht der Code auch noch schön aus :)

Man wundert sich was mit Latex alles geht, errinert ja fast an eine vollständige Programmiersprache :o

Re: Tikz: Linie vom Seitenrand zeichnen

von Bartman » So 5. Jul 2020, 14:58

Wenn das so ist, dann kann man sich den Befehl für den linken Pfeil sparen und alle Pfeile in der Schleife zeichnen lassen:

\documentclass{beamer}% lädt tikz
\usetheme{metropolis}
%\usepackage{showframe}% zeigt das Seiten- bzw. Folienlayout

\usetikzlibrary{arrows.meta}

\begin{document}
\begin{frame}{Test}
    \makebox[.97\linewidth]{%
    \begin{tikzpicture}[scale=.97, transform shape, >=Stealth]
    \draw[ultra thick] (0,0)--(\linewidth,0);
%
    \foreach \x/\label in {0/0,1.5/2B,4/3B-1,\linewidth/N}
        \draw[ultra thick] 
            (\x, 0.25) -- (\x, -0.25) node [below=1mm] {$\label$}
        ;
    \draw[red, thick] (2.25, 0.125) -- (2.25, -0.125) node[below]{$m_0$};
%
    \foreach \x [remember=\x as \lastx (initially -2)] in {0,2,...,12}{
        \unless\ifnum\x=2
            \draw [->, blue, thick]
                (\lastx+0.25,0) to[out=-45,in=-135] (\x+0.25,-0.04)
            ;
        \fi
    }
    \end{tikzpicture}}
\end{frame}
\end{document}
Pfeil-vom-Seitenrand-zeichnen.png

Re: Tikz: Linie vom Seitenrand zeichnen

von Fenrix » So 5. Jul 2020, 11:32

Genau, die Pfeile können ruhig über den Rand hinausgehen, da das ganze eine Modulo Operation darstellen soll. Also man fällt am rechten Rand raus und kommt dann links wieder rein.

Danke für die schnelle Hilfe :)

Re: Tikz: Linie vom Seitenrand zeichnen

von Bartman » Sa 4. Jul 2020, 16:54

Auch ohne den Pfeil auf der linken Seite ragt Deine Zeichnung über den rechten Rand hinaus, wobei nur noch ein Teil des letzten Pfeils auf der Folie zu sehen ist.

Wenn Dich die unvollständige Anzeige der Pfeile auf der linken und rechten Seiten nicht stört, dann könntest Du mit dem Befehl \makebox und den TikZ-Optionen scale und transform shape arbeiten:

\documentclass{beamer}% lädt tikz
\usetheme{metropolis}
\usepackage{showframe}% zeigt das Seiten- bzw. Folienlayout

\begin{document}
\begin{frame}{Test}
    \makebox[.97\linewidth]{%
    \begin{tikzpicture}[scale=.97, transform shape]
    \draw[ultra thick, nodes={below=1mm}] 
        (0,0)--(\linewidth,0)
        (0, 0.25) -- (0, -0.25) node {$0$}
        (1.5, 0.25) -- (1.5, -0.25) node {$2B$}
        (4, 0.25) -- (4, -0.25) node {$3B-1$}
        (\linewidth, 0.25) -- (\linewidth, -0.25) node {$N$}
    ;
    \draw[red, thick] (2.25, 0.125) -- (2.25, -0.125) node[below]{$m_0$};
%
    \draw [->, blue, thick]
        (-1.75,0) to[out=-45,in=-135] (0.25, -0.04)
    ;
    \foreach \x [remember=\x as \lastx (initially 2.25)] in {4.25,6.25,...,12.25}
        \draw [->, blue, thick]
            (\lastx,0) to[out=-45,in=-135] (\x,-0.04)
        ;
    \end{tikzpicture}}
\end{frame}
\end{document}

Tikz: Linie vom Seitenrand zeichnen

von Fenrix » Sa 4. Jul 2020, 14:11

Hallo zusammen,

ich habe folgende Folie in einer Präsentation:

\documentclass{beamer}
\usepackage{tikz}
\usetheme{metropolis}

\begin{document}
\begin{frame}{Test}
\begin{tikzpicture}
\draw[ultra thick] (0,0)--(\linewidth,0);
\draw[ultra thick] (0, 0.25) -- (0, -0.25) node[below]{$0$};
\draw[ultra thick] (1.5, 0.25) -- (1.5, -0.25) node[below]{$2B$};
\draw[ultra thick] (4, 0.25) -- (4, -0.25) node[below]{$3B-1$};
\draw[ultra thick] (\linewidth, 0.25) -- (\linewidth, -0.25) node[below]{$N$};
\draw[red, thick] (2.25, 0.125) -- (2.25, -0.125) node[below]{$m_{0}$};

\draw[blue, ->, thick]   (2.25,0) to[out=-45,in=-135] (4.25, -0.04);
\draw[blue, ->, thick]   (4.25,0) to[out=-45,in=-135] (6.25, -0.04);
\draw[blue, ->, thick]   (6.25,0) to[out=-45,in=-135] (8.25, -0.04);
\draw[blue, ->, thick]   (8.25,0) to[out=-45,in=-135] (10.25, -0.04);
\draw[blue, ->, thick]   (10.25,0) to[out=-45,in=-135] (12.25, -0.04);
\end{tikzpicture}
\end{frame}
\end{document}

Nun möchte ich einen neuen Pfeil zeichen, der praktisch vom Seitenrand aus kommt.
Die Koordinate (0,0) sollte an der gleichen Stelle bleiben, wie Sie aktuell angezeigt wird.

Sobald ich dann folgende Zeile einfüge:

\draw[blue, ->, thick]   (-1.75,0) to[out=-45,in=-135] (0.25, -0.04);

wird allerdings die komplette Achse verschoben.

Kann man das irgendwie bewerkstelligen, dass ich praktisch einen Pfeil vom linken Rand außerhalb des Bildes auf meine Achse laufen lasse?

Danke und viele Grüße


Nach oben