答案1
\documentclass{article}
\usepackage{wasysym,stackengine}
\stackMath
\begin{document}
\stackinset{c}{}{c}{}{\varhexagon}{%
\stackinset{c}{}{c}{}{\varhexstar}{%
\davidsstar}}xyz
\end{document}
如果你把六边形稍微缩放一下,
\documentclass{article}
\usepackage{wasysym,stackengine,graphicx}
\stackMath
\begin{document}
\stackinset{c}{}{c}{}{\scalebox{1.1}{$\varhexagon$}}{%
\stackinset{c}{}{c}{}{\varhexstar}{%
\davidsstar}}xyz
\end{document}
答案2
这是一个tikz
解决方案,使得外六边形具有与其他线条相同的线条粗细。
上图的调用是\conhex\quad\conhex[4]\quad\conhex[4.5]
可选参数是外接圆的半径(以单位为pt
单位)。我将默认值设置为 3.5,这看起来与您想要的字符大小大致相同。
\conpoly
您可以类似地定义一个带有两个参数的命令,其中一个是必需的:\conpoly{6}\quad\conpoly{7}\quad\conpoly[5]{8}
将产生以下图像:
必需参数是顶点的数量(2 个或更多);可选参数再次是半径。
以下是代码:
\documentclass{article}
\usepackage{tikz}
\newcommand{\conhex}[1][3.5]{\tikz[very thin]{
\foreach \a in {0,...,4} \foreach \b in {\a,...,5}
\draw[line cap=round](60*\a+30:#1 pt)--(60*\b+30:#1 pt);
}}
\newcommand{\conpoly}[2][3.5]{\tikz[very thin]{
\foreach \a in {1,...,#2} \foreach \b in {\a,...,#2}
\draw[line cap=round](360*\a/#2+90:#1 pt)--(360*\b/#2+90:#1 pt);
}}
\begin{document}
\conhex\quad\conhex[4]\quad\conhex[4.5]
\conpoly{6}\quad\conpoly{7}\quad\conpoly[5]{8}
\end{document}