Zeichnen Sie in Tikz runde/rechteckige Klammern, die Knoten umfassen

Zeichnen Sie in Tikz runde/rechteckige Klammern, die Knoten umfassen

Ich weiß, wie man mit dem folgenden Code eine geschweifte Klammer zeichnet:

\draw[decorate,decoration={brace,amplitude=5},-] (0.8,-0.75) -- (0.8,0.75);

Aber jetzt möchte ich eine runde oder eine rechteckige Klammer zeichnen. Kann mir jemand sagen, wie ich das machen kann? Ist das möglich, indem man „Klammer“ in andere Werte ändert?

Das Ergebnis sollte so aussehen: (einige Bilder)

aber nicht {einige Bilder}

Antwort1

Im Folgenden definiere ich die Stile

  • square left brace,
  • square right brace,
  • round left paren, Und
  • round right paren

was ergibt:

Bildbeschreibung hier eingeben

Anmerkungen:

Code:

\documentclass[landscape]{article}
\usepackage{tikz}
\usetikzlibrary{calc}

%% https://tex.stackexchange.com/questions/55068/is-there-a-tikz-equivalent-to-the-pstricks-ncbar-command
\tikzset{
    ncbar angle/.initial=90,
    ncbar/.style={
        to path=(\tikztostart)
        -- ($(\tikztostart)!#1!\pgfkeysvalueof{/tikz/ncbar angle}:(\tikztotarget)$)
        -- ($(\tikztotarget)!($(\tikztostart)!#1!\pgfkeysvalueof{/tikz/ncbar angle}:(\tikztotarget)$)!\pgfkeysvalueof{/tikz/ncbar angle}:(\tikztostart)$)
        -- (\tikztotarget)
    },
    ncbar/.default=0.5cm,
}

\tikzset{square left brace/.style={ncbar=0.5cm}}
\tikzset{square right brace/.style={ncbar=-0.5cm}}

\tikzset{round left paren/.style={ncbar=0.5cm,out=120,in=-120}}
\tikzset{round right paren/.style={ncbar=0.5cm,out=60,in=-60}}

\begin{document}

\begin{tikzpicture}
    \draw [red, thick] (0,0) to [square left brace ] (0,4);
    \draw [red, thick] (1,0) to [square right brace] (1,4);
    
    
    \draw [blue, thick] (3,0) to [round left paren ] (3,4);
    \draw [blue, thick] (4,0) to [round right paren] (4,4);
\end{tikzpicture}
\end{document}

Antwort2

Leider ist in der TikZ-Bibliothek kein Äquivalent bracefür Klammern und eckige Klammern definiert decorations.pathreplacing.

Es hängt von Ihrem Anwendungsfall ab, ob die folgende Empfehlung sinnvoll ist oder nicht. Eine Möglichkeit, das gewünschte Ergebnis zu erzielen, besteht in der Verwendung von\vphantomTrickund die Tatsache, dass (und [sindTrennzeichen.

Hier habe ich \left(und \right)in ihre eigenen nodes eingefügt, die relativ zum Hauptelement nodemithilfe der TikZ-Bibliothek platziert werden positioning.

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{positioning}

\usepackage{graphicx}
\usepackage{mwe}

\begin{document}

\begin{tikzpicture}
    \node (picture) at (0,0) {\includegraphics[width=.5\textwidth]{image-a}};
    \node (left-paren) [left = of picture] {$\left(\vphantom{\includegraphics[width=.25\textwidth]{image-a}}\right.$};
    \node (right-paren) [right = of picture] {$\left.\vphantom{\includegraphics[width=.25\textwidth]{image-a}}\right)$};
\end{tikzpicture}

\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen