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
, Undround right paren
was ergibt:
Anmerkungen:
- Dies ist einfach eine Adaption des
ncbar
Stils vonGibt es ein TikZ-Äquivalent zum PSTricks-Befehl \ncbar?.
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 brace
fü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\vphantom
Trickund die Tatsache, dass (
und [
sindTrennzeichen.
Hier habe ich \left(
und \right)
in ihre eigenen node
s eingefügt, die relativ zum Hauptelement node
mithilfe 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}