
나는 기호 너비(및 기호 높이)의 절반에 해당하는 직사각형과 오른쪽을 가리키는 직사각형의 오른쪽 중앙에서 나오는 화살표(화살표 머리는 오히려 작을 것입니다). 여기서는 이와 같은 작업을 시도했지만(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
아마도 이렇게...
\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
귀하의 질문을 완전히 이해하지 못합니다. 어떤 기호를 말하는 것입니까? 여기서는 귀하의 질문에 대해 답변했습니다. 크기가 귀하의 필요에 맞지 않으면 간단히 개체의 크기를 조정하거나 크기를 조정하십시오.
\draw (0,0) rectangle (1,2);
\draw [->] (1,1)--+(1,0);
- 빈 노드는 나쁜 습관입니다. 오히려 다음
\coordinate (name) at (1,1);
과 같은 결과를 초래합니다.\draw [->] (name)--+(1,0);
- 라이브러리 사용
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}
답변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}