正方形内有一颗钻石

正方形内有一颗钻石

在数学模式下,我尝试画一个正方形,里面有一个菱形。我尝试在序言中写出以下内容,但失败了:

\newcommand{\sqdiamond}{\mathbin{\rlap{$\mspace{2mu}\diamond$}\hbox{$\square$}}}

但是,菱形符号相对于正方形的缩放比例不正确。我希望菱形的角与正方形边的中点相切,但我不知道如何正确“缩放”菱形。还有其他方法可以做到这一点吗?

答案1

在所有四种数学模式下,让两个符号缩放并正确对齐非常困难。最好使用 TikZ 绘制。一个困难是正确缩放大小和线宽。这最好使用amsmath \text宏来完成。我制作了两个略有不同的版本。

\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{tikz}

\newcommand{\sqdiamond}{\mathbin{\text{\tikz [x=1ex,y=1ex,line width=.1ex,line join=round] \draw (0,0) rectangle (1,1) (0,.5) -- (.5,1) -- (1,.5) -- (.5,0) -- (0,.5) -- cycle;}}}

\newcommand{\varsqdiamond}{\mathbin{\text{\tikz [x=1ex,y=1ex,line width=.1ex,line join=round] \draw (0,0) rectangle (1,1) (.5\pgflinewidth,.5) -- (.5,1ex-.5\pgflinewidth) -- (1ex-.5\pgflinewidth,.5) -- (.5,.5\pgflinewidth) -- (.5\pgflinewidth,.5) -- cycle;}}}

\begin{document}
% Test code:

.. $a \sqdiamond b$ ..

\[a \sqdiamond b \]

.. $X_{a \sqdiamond b}$ ..

.. $X_{X_{a \sqdiamond b}}$ ..


.. $a \varsqdiamond b$ ..

\[a \varsqdiamond b \]

.. $X_{a \varsqdiamond b}$ ..

.. $X_{X_{a \varsqdiamond b}}$ ..


\end{document}

结果 1

放大:

变体 1:平方钻石

变体 2:瓦斯夸钻石

答案2

这似乎适用于 Computer Modern 字体,但它依赖于字体:

\newcommand{\sqdiamond}{\mathbin{\ooalign{%
  $\scriptstyle\square$\cr\hfil\raisebox{.15pt}{$\diamond$}\hfil\cr}}}

答案3

这是一种可能性,使用蒂克兹

\usepackage{tikz}

\newcommand{\sqdiamond}{%
  \tikz{\draw (0,0) rectangle (6pt,6pt); 
  \draw (3pt,0) -- (6pt,3pt) -- (3pt,6pt) -- (0,3pt) -- (3pt,0);}
}

答案4

使用xy包(特别是\usepackage[all]{xy}),我们可以用正方形围住菱形,如下所示:

$\xymatrix{*[F]{\diamondsuit}}$

这似乎可以正确缩放到所有字体大小、显示数学、脚注等。唯一的问题是放在后面的下标是否会正确间隔。为此,以下调整似乎有效,但不能保证与字体大小无关:

\documentclass{amsart}
\usepackage[all]{xy}
\newcommand\sd{\xymatrix{*[F]{\diamondsuit}}\hspace{0.5mm}}
\begin{document}
Jensen invented $\diamondsuit_\lambda$ and $\square_\lambda$.
We want to combine them.

Like this:
$\sd_\lambda$

\end{document}

相关内容