非标准外连接符号

非标准外连接符号

我正在查看用于学习关系代数和其他 DBMS 相关信息的教科书中的符号,我注意到我不知道如何排版下面显示的符号。

图片来自教科书

我知道amssymb 包中有一个命令以及相关软件包来生成外连接的标准 unicode 符号。是否有某个软件包使用此符号?

答案1

你可能会\overset{\circ}{\bowtie}用到

在此处输入图片描述

但是,这并不像您显示的符号。您可以尝试

\documentclass{article}
\usepackage{amsmath}
\usepackage{graphicx}

\makeatletter
\newcommand{\circleouterjoin}{\mathrel{\mathpalette\circleouterjoin@\relax}}
\newcommand{\circleouterjoin@}[2]{%
  \ooalign{%
    \hidewidth\raisebox{1.1\height}{\scalebox{0.9}{$\m@th#1\circ$}}\hidewidth\cr
    $\m@th#1\bowtie$\cr
  }%
}
\makeatother

\begin{document}

The \emph{outerjoin} $R\circleouterjoin S$

In subscripts $X_{R\circleouterjoin S}$

\end{document}

在此处输入图片描述

您可以尝试0.9(缩放因子)和1.1(提升因子),直到您完全满意为止。

\bowtie您也许对“隔行扫描”不太满意。

\documentclass{article}
\usepackage{amsmath}
\usepackage{graphicx}

\makeatletter
\newcommand{\outerjoin}{%
  \mathrel\triangleright
  \mathrel{\mkern-2mu}%
  \mathrel\triangleleft
}
\newcommand{\circleouterjoin}{\mathrel{\mathpalette\circleouterjoin@\relax}}
\newcommand{\circleouterjoin@}[2]{%
  \ooalign{%
    \hidewidth\raisebox{1.1\height}{\scalebox{0.9}{$\m@th#1\circ$}}\hidewidth\cr
    $\m@th#1\outerjoin$\cr
  }%
}
\makeatother

\begin{document}

The \emph{outerjoin} $R\circleouterjoin S$

In subscripts $X_{R\circleouterjoin S}$

\end{document}

在此处输入图片描述

解释:\bowtie备份中为3mu。

答案2

和 :

\documentclass[11pt]{article}
\usepackage{mathtools}
\newcommand{\outerjoin}{\overset{\circ}{\bowtie}}
\begin{document}
The \emph{outerjoin} $R \outerjoin S$.
\end{document}

您将获得:

在此处输入图片描述

相关内容