方形图片作为符号

方形图片作为符号

我有一些 eps 格式的方形图片,应该被视为数学符号。每个方形图片都由一个空白正方形和中心的一些图形组成。我希望能够用这些图片做两件事。

  1. (最重要的)用这些图片制作矩阵。问题:我需要最终矩阵为正方形。划分矩阵每列和每行的线必须与正方形图片的边框精确匹配。使用数组矩阵得到的结果并不令人满意,因为最终矩阵实际上不是正方形,并且划分列和行的线与图片的边框不匹配。

  2. (同样重要)我需要将这些图片序列化,并用几种类型的括号括起来,例如 ()、[]、{} ,图片之间用逗号分隔。我得到的结果并不令人满意,因为出于某种原因,图片下方出现了巨大的空白。

例如,下面是方形图片的示例。 方形图片的示例。

下面是我想要用方形图片做的事情的一个例子。

我想要得到的结果。

但是,我实际上通过下面给出的最小示例得到的结果并不令人满意。

我使用以下代码获得的结果。

下面给出了我的代码的最小示例。

\documentclass[a4paper]{article}
\usepackage{graphicx,amsmath,amssymb}

\newcommand{\squarepicture}{{\includegraphics[scale=0.8]{squarepicture.eps}}}
\begin{document}

\begin{equation}
\left\{ \squarepicture, \squarepicture, \squarepicture  \right\}
\end{equation}

\begin{equation}
\left( \squarepicture, \squarepicture, \squarepicture  \right)
\end{equation}

\begin{equation}
\begin{array}{|c|c|c|}
\hline
\squarepicture & \squarepicture & \squarepicture \\
\hline
\squarepicture & \squarepicture & \squarepicture \\
\hline
\squarepicture & \squarepicture & \squarepicture \\
\hline
\end{array}
\end{equation}
\end{document}

答案1

您可以使用 调整符号,使其稍微向下移动\vcenter。我会避免使用scaled,而倾向于设置height,因此符号会随当前字体大小一起缩放。

\documentclass[a4paper]{article}
\usepackage{graphicx,amsmath,amssymb}

\makeatletter
\newcommand{\squarepicture}{%
  \ensuremath{\vcenter{\hbox{%
    \includegraphics[height=\fontcharht\font`A]{squarepicture}%
  }}}%
}

\begin{document}

\begin{equation}
\{ \squarepicture, \squarepicture, \squarepicture \}
\end{equation}

\begin{equation}
( \squarepicture, \squarepicture, \squarepicture )
\end{equation}

\begin{equation}
\renewcommand{\arraystretch}{0}
\begin{array}{@{\vline}c@{\vline}c@{\vline}c@{\vline}}
\hline
\squarepicture & \squarepicture & \squarepicture \\
\hline
\squarepicture & \squarepicture & \squarepicture \\
\hline
\squarepicture & \squarepicture & \squarepicture \\
\hline
\end{array}
\end{equation}

\Huge
\begin{equation}
\{ \squarepicture, \squarepicture, \squarepicture \}
\end{equation}

\end{document}

在此处输入图片描述

顺便说一下,这是该图片的 Metapost 来源:

beginfig(1);
fill (0,0)--(100,0)--(100,100)--(0,100)--cycle withcolor (1,1,0);
pickup pencircle scaled 4;
draw fullcircle scaled 90 shifted (50,50);
draw (5,50)--(95,50);
draw (50,5)--(50,95);
pickup pencircle scaled 10;
drawdot (30,70);
drawdot (70,30);
endfig;

end.

答案2

我提出了另一种垂直对齐问题的解决方案。一个垂直调整参数以获取正确分隔符的宏。对于数组,egreg 解决方案似乎不错。

\documentclass{scrartcl}
\usepackage{tikz}

\newcommand*\squarepicture
  {\tikz[scale=.5]{\fill[yellow](-1,-1)rectangle(1,1);
     \draw circle(.8)(0,.8)--(0,-.8)(.8,0)--(-.8,0)
           (.35,-.35)circle(.1)(-.35,.35)circle(.1);}}

\newcommand*\adjustheight[1]{\mathpalette\doadjustheight{#1}}
\newcommand*\doadjustheight[2]
  {\ensuremath{\vcenter{\hbox{$#1#2$}}}}

\begin{document}

\begin{equation}
\left\{ \adjustheight{\squarepicture, \squarepicture, \squarepicture} \right\}
\end{equation}

\begin{equation}
\left( \adjustheight{\squarepicture, \squarepicture, \squarepicture} \right)
\end{equation}

\end{document}

如果你更喜欢 LaTeXy 定义,你可以使用

\newcommand*\doadjustheight[2]
  {\raisebox{\dimexpr-.5\height+\fontdimen22\textfont2}{$#1#2$}}

在此处输入图片描述

相关内容