答案1
您可以使用两条极粗的相交线和一堆节点来制作形状。我选择了 8mm 作为线条粗细,但您可以更改\mywidth
。在 tikzpicture 中,您可以使用宏\crossfig[<tikz options>]{<coordinates>}{<label>}
。<tikz options>
通常是颜色,但可以包括其他内容。<coordinates>
可以是矩形或极坐标(参见下面的代码)。
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\tikzset{
mycirc/.style={circle, draw=black, thick, outer sep=0, anchor=#1, inner sep=0, minimum size=1.5ex},
mytext/.style={text=black, anchor=#1, inner sep=0, outer sep=1pt}
}
\newcommand{\mywidth}{8mm}
\newcommand{\crossfig}[3][]{{
\draw[line width=\mywidth, #1]($(#2)+(-\mywidth,0)$)node[mytext=west]{#3}node[mycirc=east]{}--($(#2)+(\mywidth,0)$)node[mytext=east]{#3}node[mycirc=west]{};
\draw[line width=\mywidth, #1]($(#2)+(0,-\mywidth)$)node[mytext=south]{#3}node[mycirc=north]{}--node[mycirc=center, fill=black]{}($(#2)+(0,\mywidth)$)node[mytext=north]{#3}node[mycirc=south]{};
}}
\begin{document}
\begin{tikzpicture}[font=\sffamily]
\crossfig[blue!50]{0,0}{Z}
\crossfig[red]{3,0}{X}
\crossfig[orange!50]{45:3}{M}
\end{tikzpicture}
\end{document}