다음 직사각형 기호를 어떻게 만듭니까?

다음 직사각형 기호를 어떻게 만듭니까?

나는 기호 너비(및 기호 높이)의 절반에 해당하는 직사각형과 오른쪽을 가리키는 직사각형의 오른쪽 중앙에서 나오는 화살표(화살표 머리는 오히려 작을 것입니다). 여기서는 이와 같은 작업을 시도했지만(A 기호는 크기 비교를 위한 것임) 제대로 작동하지 않았습니다.

\documentclass{article}

\usepackage{tikz}

\usetikzlibrary{positioning}

\begin{document}

\begin{tikzpicture}[
  node distance = 0mm,
box/.style = {% definition of rectangle as node
    draw, line width=0.35mm,
  text width=11pt, minimum height=11pt, align=left,
  inner sep=1mm, outer sep=0pt}
                    ]
\node (box1) [label=above:{}] {};
\node (B) [draw, right=of box1] {};
\draw [->] (box1) -- (B);

\end{tikzpicture}

A

\end{document}
  1. 정사각형의 너비를 절반 크기로 만들려면 어떻게 해야 합니까?

  2. 화살표가 직사각형의 오른쪽을 벗어나도록 하려면 어떻게 해야 합니까?

  3. 화살표를 그릴 수 있도록 직사각형 오른쪽에 "빈" 노드를 어떻게 만듭니까?

  4. 화살촉을 더 작게 만들려면 어떻게 해야 하나요?

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

답변1

아마도 이렇게...

\documentclass[varwidth,border=5]{standalone}
\usepackage{tikz}
\def\abx{\tikz[x=0.75em,y=0.75em,baseline=0]\fill[even odd rule]
(0,0)--(.5,0)--(.5,.45)--(.75,.45)--(.75,.25)--(1,.5)--(.75,.75)--
(.75,.55)--(.5,.55)--(.5,1)--(0,1)--cycle(.1,.1)rectangle(.4,.9);}
\hbadness=10000
\begin{document}
\foreach \f in {\scriptsize,\footnotesize,\small,\normalsize,\large,\huge}{%
\noindent\hbox to1.125in{\texttt{\expandafter\string\f:}} 
\f xX \abx\ yY \\[.5ex]}
\end{document}

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

답변2

귀하의 질문을 완전히 이해하지 못합니다. 어떤 기호를 말하는 것입니까? 여기서는 귀하의 질문에 대해 답변했습니다. 크기가 귀하의 필요에 맞지 않으면 간단히 개체의 크기를 조정하거나 크기를 조정하십시오.

  1. \draw (0,0) rectangle (1,2);
  2. \draw [->] (1,1)--+(1,0);
  3. 빈 노드는 나쁜 습관입니다. 오히려 다음 \coordinate (name) at (1,1);과 같은 결과를 초래합니다.\draw [->] (name)--+(1,0);
  4. 라이브러리 사용 arrows.meta(이것을 살펴보십시오.링크) 이런 식으로 화살표의 크기를 조정할 수 있습니다\draw [-{>[scale=0.7]}] (name)--+(1,0);

pic"스탬프"와 같이 미리 정의된 모양을 배치할 수 있는 를 정의하는 것이 유용할 수 있습니다 . 나는 다음과 같은 이름의 사진을 정의했습니다 mybox.

\documentclass[tikz,convert]{standalone}
\usetikzlibrary{arrows.meta}
\tikzset{mybox/.pic={
\draw (-0.5,-1) rectangle (.5,1);
\draw [-{>[scale=0.5]}] (0.5,0)--+(0.5,0);
}
}
\begin{document}
\begin{tikzpicture}[>=Stealth]
\pic at (0,0) {mybox};
\draw (1,1) arc (135:45:3) pic [red,pos=0.3,scale=0.5,sloped] {mybox}; 
\end{tikzpicture}
\end{document}

결과는 다음과 같습니다. mybox 사진 및 사용법

답변3

왜 TikZ를 사용하고 싶은지 잘 모르겠습니다. 그러나 그렇게 했다면 다음과 같은 방법을 사용할 수 있습니다.

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows.meta}
\newcounter{mybox}
\newlength\myboxminheight
\settoheight\myboxminheight{ABCDEFGHIJKLMNOPQRSTUVWXYZ}
\tikzset{%
  pics/my box/.style={%
    code={%
      \stepcounter{mybox}%
      \tikzset{%
        >/.tip={Triangle[length=2.5pt,width=2.5pt]},
        outer sep=0pt,
        every node/.append style={draw},
        make my box/.cd,
        #1,
        /tikz/.cd,
        make my box/my box look,
      }
      \node (box\themybox) [make my box/my box look, label=above:{\myboxlabel}, inner sep=\myboxisep, minimum height=\myboxminht-\myboxlinewidth, minimum width=.5*\myboxminht-.5*\myboxlinewidth] at (0,0) {};
      \draw [->, make my box/my box look, line width=\myboxlinewidth,] (box\themybox.east) -- +(\myboxextarrow,0);
    }
  },
  make my box/.search also={/tikz},
  make my box/.cd,
  line width/.store in=\myboxlinewidth,
  minimum height/.store in=\myboxminht,
  inner sep/.store in=\myboxisep,
  label/.store in=\myboxlabel,
  extend arrow/.store in=\myboxextarrow,
  look/.code={\tikzset{make my box/my box look/.append style={#1}}},
  line width=.35mm,
  minimum height=\myboxminheight,
  inner sep=0pt,
  label={},
  extend arrow=5pt,
  my box look/.style={draw, line width=\myboxlinewidth},
}
\newcommand\mybox[1][]{%
  \tikz{\pic {my box={#1}};}}
\begin{document}
  X \mybox{} \mybox[label={My Box}] \mybox[look={text=red, draw=blue}, extend arrow=25pt, minimum height=20pt, inner sep=2mm, line width=2.5pt, label={My Other Box}, >/.tip={Stealth[]}]
\end{document}

화살

글리프 상자에는 그려진 문자 위에 공간이 포함될 수 있으며 모든 대문자가 같은 높이로 보이지는 않습니다. 따라서 기본 설정, 글꼴 구성 및 필요에 따라 이를 조정해야 합니다.

답변4

다음은 다음과 같은 솔루션입니다 pstricks.

\documentclass{article}

\usepackage{pst-node}
\usepackage{auto-pst-pdf} \newcommand\mysymbol{\begin{pspicture}%
\fnode[linewidth=0.4pt, linecolor=blue, framesize=3.5pt 7pt, dimen=middle](0,3pt){R}
\uput{2.5ex}[r](R){\pnode{W}}\ncline[arrows=->, linecolor = red, linewidth=0.6pt, linejoin=1, nodesepA=0.5pt, arrowinset=0.15,arrowsize=2pt]{R}{W} \end{pspicture}}%

\begin{document} 

A\enspace\mysymbol 

\end{document} 

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

관련 정보