对齐重叠符号

对齐重叠符号

mathrlap{}我正在尝试通过使用符号来生成“完全连接的六边形”符号,wasysym具体来说,

\mathrlap{\varhexagon}\mathrlap{\varhexstar}\davidsstar

生产几乎我想要的,但是六边形似乎与其他两个符号稍微不在同一中心。

在此处输入图片描述

我怎样才能更好地实现居中对齐?或者将六边形稍微放大一点(或者将另外两个稍微缩小一点)可以解决这个问题?

答案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}

相关内容