获得较小垂直线的更好方法|缩放到数学?

获得较小垂直线的更好方法|缩放到数学?

我正在尝试编写以下行,如下所示

\documentclass[border=1mm]{standalone}
\usepackage{graphicx}
\begin{document}
\Huge $\cup \ \cap \ \raisebox{0.30 ex}{\scalebox{1}[0.62]{$\mid$}}$ 
\end{document}

其结果是

在此处输入图片描述

有没有更简单或更好的方法来确保垂直线\mid 正确缩放到\cup\cap?特别是

  • 他们应该有相同的基线高度宽度

我的解决方案感觉很不合理并且不太正确。

答案1

对于 Computer Modern,使用pict2e

\documentclass{article}
\usepackage{pict2e}
\usepackage{color} % for the comparison

\makeatletter
\newcommand{\cbar}{\mathbin{\mathpalette\c@bar\relax}}
\newcommand{\c@bar}[2]{%
  \begingroup
  \sbox\z@{$#1\cup$}%
  \setlength{\unitlength}{\dimexpr\ht\z@+\dp\z@}%
  \mkern1mu
  \raisebox{-\dp\z@}{%
    \begin{picture}(0,1)
    \roundcap
    \c@bar@thickness{#1}%
    \Line(0,0)(0,1.03)
    \end{picture}%
  }%
  \mkern1mu
  \endgroup
}
\newcommand{\c@bar@thickness}[1]{%
  \linethickness{%
    \ifx#1\displaystyle 1\fontdimen8\textfont\else
    \ifx#1\textstyle 1\fontdimen8\textfont\else
    \ifx#1\scriptstyle 0.85\fontdimen8\scriptfont\else
    0.75\fontdimen8\scriptscriptfont\fi\fi\fi 3
  }%
}
\makeatother

\begin{document}

${\cup}{\cap}{\cbar}$

$\scriptstyle{\cup}{\cap}{\cbar}$

$\scriptscriptstyle{\cup}{\cap}{\cbar}$

${\cup}\mkern-2.3mu{\textcolor{red}{\cbar}}{\textcolor{red}{\cup}}\mkern-2.3mu{\cbar}$
${\cap}\mkern-2.3mu{\textcolor{red}{\cbar}}{\textcolor{red}{\cap}}\mkern-2.3mu{\cbar}$

$\scriptstyle{\cup}\mkern-2.4mu{\textcolor{red}{\cbar}}{\textcolor{red}{\cup}}\mkern-2.4mu{\cbar}$
$\scriptstyle{\cap}\mkern-2.4mu{\textcolor{red}{\cbar}}{\textcolor{red}{\cap}}\mkern-2.4mu{\cbar}$

$\scriptscriptstyle{\cup}\mkern-2.8mu{\textcolor{red}{\cbar}}{\textcolor{red}{\cup}}\mkern-2.8mu{\cbar}$
$\scriptscriptstyle{\cap}\mkern-2.8mu{\textcolor{red}{\cbar}}{\textcolor{red}{\cap}}\mkern-2.8mu{\cbar}$

\end{document}

在此处输入图片描述

答案2

\stretchrelscalerel包中可以让你做这样的事情。

\documentclass[border=1mm]{standalone}
\usepackage{scalerel}
\begin{document}
\Huge $\cup \ \cap \ \stretchrel*{\mid}{\cap}$ 
\end{document}

在此处输入图片描述

相关内容