较小的会员标志

较小的会员标志

为了表示 x 是 X 的一个元素,我们可以写成x \in X。但是,在标准包中,结果的成员符号太大;它太引人注目了。当我们进行集合论并将集合写成小写时,这一点尤其明显,例如x \in y。有人知道如何绘制一个不那么引人注目的成员符号吗?

答案1

  • 包裹mathdesign提供\smallin
  • \in包装MnSymbol看起来比通常的形式要小。

也可以看看“综合 LaTeX 符号列表”

MnSymbol示例文件将默认值与未加载包的版本进行比较(它还会更改其他符号):

\documentclass{article}
\DeclareFontFamily{U}{MnSymbolD}{}
\DeclareSymbolFont{MnSyD}{U}{MnSymbolD}{m}{n}
\SetSymbolFont{MnSyD}{bold}{U}{MnSymbolD}{b}{n}
\DeclareFontShape{U}{MnSymbolD}{m}{n}{
    <-6>  MnSymbolD5
   <6-7>  MnSymbolD6
   <7-8>  MnSymbolD7
   <8-9>  MnSymbolD8
   <9-10> MnSymbolD9
  <10-12> MnSymbolD10
  <12->   MnSymbolD12
}{}
\DeclareFontShape{U}{MnSymbolD}{b}{n}{
    <-6>  MnSymbolD-Bold5
   <6-7>  MnSymbolD-Bold6
   <7-8>  MnSymbolD-Bold7
   <8-9>  MnSymbolD-Bold8
   <9-10> MnSymbolD-Bold9
  <10-12> MnSymbolD-Bold10
  <12->   MnSymbolD-Bold12
}{}
\DeclareMathSymbol{\insmall}{\mathrel}{MnSyD}{"3E}
\begin{document}
\[ a\in b \]
\[ a\insmall b\]
\end{document}

结果

带缩放功能的版本

与 Enrico Gregorio 的解决方案类似,但计算的垂直位置与数学轴不变。

\documentclass{article}
\usepackage{graphicx}
\makeatletter
\newdimen\scalemath@axis
% Macro \scalemath
% #1: math class (\mathrel, \mathbin, ...)
% #2: scale factor
% #3: symbol
\newcommand*{\scalemath}[3]{%
  #1{%
    \mathpalette{\scalemath@aux{#2}}{#3}%
  }%
}
% Macro \scalemath@aux
% #1: factor
% #2: math style
% #3: symbol
\newcommand*{\scalemath@aux}[3]{%
  \begingroup
    \everyvbox{}%
    \settoheight\scalemath@axis{$#2\vcenter{}$}%
    \raisebox{\scalemath@axis}{%
      \scalebox{#1}{%
        \raisebox{-\scalemath@axis}{%
          $\m@th#2#3$%
        }%
      }%
    }%
  \endgroup
}
\makeatother 

\newcommand*{\smallin}{\scalemath{\mathrel}{.75}{\in}}
\newcommand*{\smallni}{\scalemath{\mathrel}{.75}{\ni}}
\newcommand*{\smallnotin}{\scalemath{\mathrel}{.75}{\notin}}

% for testing
\newcommand*{\test}[1]{%
  \[%
    \testaux{#1}^{\testaux{#1}^{\testaux{#1}}}%
    \quad
    \rlap{\scriptsize\texttt{\string#1}}%
  \]%
}
\newcommand*{\testaux}[1]{%
  \testrule\!\!#1\!\!\testrule
}
\newcommand*{\testrule}{%
  \vcenter{\hrule width .5em height .01pt depth .01pt}%
}

\begin{document}
\[ a\in b \ni c \notin d \quad\rlap{\scriptsize(normal)} \]
\[ a\smallin b \smallni c \smallnotin d \quad\rlap{\scriptsize(small)} \]
\test\in
\test\smallin
\test\smallni
\test\smallnotin
\end{document}  

结果

答案2

这似乎是一个很好的折衷方案:

\documentclass{article}
\usepackage{graphicx}
\newcommand{\smallerrel}[1]{\mathrel{\mathpalette\smallerrelaux{#1}}}
\newcommand{\smallerrelaux}[2]{\raisebox{.1ex}{\scalebox{.75}{$#1#2$}}}

\newcommand{\smallin}{\smallerrel{\in}}
\newcommand{\smallnotin}{\smallerrel{\notin}}

\begin{document}
$x\smallin y\smallnotin z$

$x\in y\notin z$
\end{document}

在此处输入图片描述

相关内容