goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Direktlinks:
Zuletzt aktive Beiträge
Unbeantwortete Beiträge
[Erweitert]

Forenstatistik:
Beiträge: 96787
Top-Poster: Johannes_B (5041)

Wir begrüßen unseren neuesten Benutzer Frank.

Links:


Mit Unterstützung von DANTE e.V.: Deutschsprachige Anwendervereinigung TeX. Danke den Mitgliedern!





Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

\tikzset für alle

 

Holunderbaum
Gast

Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.12.2018, 16:42     Titel: \tikzset für alle
  Antworten mit Zitat      
Hallo,

ich frage mich aktuell, ob es möglich ist, Optionen via \tikzset für alle \draw[->] zu setzen, die aber auch nur genau dann ausgeführt werden und nicht z.B. auch für normale Linien oder andere Pfeilarten. (Wobei ich aktuell keine anderen Pfeilarten verwende.)

Hintergrund ist der, dass ich gerne alle Pfeile ein wenig kürzen möchte, normale Linien aber nicht gekürzt werden sollen. Ob dies im weiteren Verlauf noch andere Eigenschaften betrifft, weiß ich aktuell noch nicht.

Einen eigenen "myArrow" Style zu definieren, wäre zwar möglich, aber etwas umständlicher, da ich den dann jedem \draw[->,myArrow] mitgeben müsste. Daher frage ich mich, ob das nicht irgendwie geht...

Am Ende möchte ich einen Style "myStyle" definieren, da die besagten Änderungen nur auf manche Bilder angewandt werden soll.

Hier ein kleines Minimalbeispiel:

Code • Öffne in Overleaf

\documentclass{scrartcl}

\usepackage{tikz}
\usetikzlibrary{arrows.meta}

\tikzset{>=Stealth[round]}

% Ich suche etwas wie
% \tikzset{...bitte nur "->"...={shorten >=4.2pt,>=Stealth[round]}}

% Bzw. eigentlich:
% \tikzset{
%     myStyle/.style={
%         ...bitte nur "->"...={shorten >=4.2pt,>=Stealth[round]}}
%     }
% }

\begin{document}
    \begin{figure}[h!]
        % So sollen normale Linien sein (kein Abstand)
        \begin{tikzpicture}
            \node[draw] (A) at (0, 0) {$A$};
            \node[draw] (B) at (2, 0) {$B$};

            \draw (A) -- (B);
        \end{tikzpicture}\\

        % So sollen Pfeile nicht sein (kein Abstand)
        \begin{tikzpicture}%[myStyle]
            \node[draw] (A) at (0, 0) {$A$};
            \node[draw] (B) at (2, 0) {$B$};

            \draw[->] (A) -- (B);
        \end{tikzpicture}\\

        % So sollen Pfeile sein (mit Abstand), aber ohne einen extra
        % style definieren zu müssen
        \begin{tikzpicture}[myArrow/.style={shorten >=4.2pt}]
            \node[draw] (A) at (0, 0) {$A$};
            \node[draw] (B) at (2, 0) {$B$};

            \draw[->,myArrow] (A) -- (B);
        \end{tikzpicture}
    \end{figure}
\end{document}
 



Vielen Dank!

Holunderbaum

PS: Ich sehe oft ein zusätzliches Paar { } um >=Stealth[round] herum, also >={Stealth[round]}. Sind die wirklich notwendig?

Holunderbaum
Gast

Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.12.2018, 16:44     Titel:
  Antworten mit Zitat      
Hm, ich sehe gerade, dass das Forum den Titel gekürzt hat. Dieser war ursprünglich
Zitat:

\tikzset für alle "->", aber nicht für andere Linienarten
[/quote]

Bartman
Forum-Meister
Forum-Meister


Beiträge: 1567
Anmeldedatum: 16.07.09
Wohnort: Hessische Provinz
Version: ---
     Beitrag Verfasst am: 11.12.2018, 17:54     Titel: Re: \tikzset für alle
  Antworten mit Zitat      
Holunderbaum hat Folgendes geschrieben:
PS: Ich sehe oft ein zusätzliches Paar { } um >=Stealth[round] herum, also >={Stealth[round]}. Sind die wirklich notwendig?


Das ist der Fall, wenn Du ein optionales Argument in einem optionalen Argument angeben möchtest.
Private Nachricht senden Benutzer-Profile anzeigen

Holunderbaum
Gast

Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.12.2018, 14:47     Titel:
  Antworten mit Zitat      
Ah, stimmt, das muss ich dann übersehen haben. Vielen Dank!


Hoffentlich kennt noch jemand eine Lösung für das eigentliche Problem, aber der Titel des Themas ist ja jetzt nicht so aussagekräftig geworden (dank des Bugs). Smile

esdd
Forum-Meister
Forum-Meister

Beiträge: 2380
Anmeldedatum: 07.02.10
Wohnort: Stutensee
Version: MiKTeX 2.9
     Beitrag Verfasst am: 13.12.2018, 10:04     Titel:
  Antworten mit Zitat      
Das folgende scheint zu tun, was Du möchtest:

Code • Öffne in Overleaf
\documentclass{scrartcl}
\usepackage{tikz}
\usetikzlibrary{arrows.meta}

\tikzset{
  >=Stealth[round],
  myStyle/.style={
    my<-my>/.tip=>,
    my>-my< /.tip = >[reversed],
    ->/.style={shorten >= 4.2pt,-my>
},
    <-/.style={shorten <=4.2pt,my<-},
    <->/.style={shorten <=4.2pt,shorten >=4.2pt, my<-my>}
  }
}

\begin{document}
\begin{figure}[hb]
  \begin{tikzpicture}[myStyle]
    \node[draw] (A) at (0, 0) {$A$};
    \node[draw] (B) at (2, 0) {$B$};
    \draw (A) -- (B);
  \end{tikzpicture}
  \par\bigskip
  \begin{tikzpicture}[myStyle]
    \node[draw] (A) at (0, 0) {$A$};
    \node[draw] (B) at (2, 0) {$B$};
    \draw[->] (A) -- (B);
  \end{tikzpicture}
  \par\bigskip
  \begin{tikzpicture}[myStyle]
    \node[draw] (A) at (0, 0) {$A$};
    \node[draw] (B) at (2, 0) {$B$};
    \draw[<->] (A) -- (B);
  \end{tikzpicture}
\end{figure}
\end{document}
Private Nachricht senden Benutzer-Profile anzeigen

Holunderbaum
Gast

Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.12.2018, 12:00     Titel:
  Antworten mit Zitat      
Vielen Dank! Ja, das scheint zu funktionieren. Was mir dazu noch nicht ganz klar ist:

1) Warum muss ich extra die Pfeilspitzen als my<-my> speichern? Bzw. warum funktioniert es nicht auch ohne diesem Schritt?

Die Idee, den Style "->" zu editieren, hatte ich auch mal, aber ohne das mit den Pfeilspitzen und deshalb funktionierte es nicht.

2) Wenn ich es richtig verstehe, wird hiermit -> überschrieben und nicht erweitert, was ja bedeuten sollte, dass alle Definitionen von -> weg sind. Ist das dann in der Form "sicher" oder werden durch das ursprüngliche -> noch andere Eigenschaften definiert, die ich mit definieren müsste in meinem eigenen Style, damit sie nicht verloren gehen?

Neues Thema eröffnen Neue Antwort erstellen



Options and Permissions
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen
.

goLaTeX ist Teil der goForen
goForen.de goMATLAB.de goLaTeX.de


  Datenschutzerklärung | Impressum | FAQ | goLaTeX RSS Button RSS-Feed

Copyright © 2008 - 2019 goLaTeX.de