tikz에서 노드를 포함하는 원형/직사각형 브래킷 그리기

tikz에서 노드를 포함하는 원형/직사각형 브래킷 그리기

다음 코드를 사용하여 중괄호를 그리는 방법을 알고 있습니다.

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

하지만 이제는 둥근 괄호나 직사각형을 그리고 싶습니다. 누구든지 내가 어떻게 할 수 있는지 말해 줄 수 있습니까? "중괄호"를 다른 값으로 변경하여 이를 수행할 수 있습니까?

결과는 다음과 같습니다. (일부 사진)

하지만 {일부 사진}은 아닙니다

답변1

아래에서는 스타일을 정의합니다.

  • square left brace,
  • square right brace,
  • round left paren, 그리고
  • round right paren

수익률:

여기에 이미지 설명을 입력하세요

노트:

암호:

\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}

답변2

brace불행히도 TikZ 라이브러리에 정의된 괄호 및 대괄호 에 해당하는 것은 없습니다 decorations.pathreplacing.

다음 권장 사항이 합리적인지 여부는 사용 사례에 따라 다르지만 원하는 것과 같은 결과를 얻을 수 있는 한 가지 가능한 방법은 다음 권장 사항을 활용하는 것입니다.\vphantom장난그리고 사실 ([구분 기호.

여기에서는 TikZ 라이브러리를 사용하여 메인에 상대적으로 배치된 자체 에 \left(및 를 넣습니다 .\right)nodenodepositioning

\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}

여기에 이미지 설명을 입력하세요

관련 정보