可以在表达式中使用图表吗?

可以在表达式中使用图表吗?

我正在观看有关范畴论的系列视频,它在多个场合显示了以下类型的符号:

在此处输入图片描述

我喜欢用 LaTeX 记笔记,所以我想知道是否有一种简单的方法来排版类似此示例的内容,以便可以内联使用,例如 $Set^{Some diagram spec}$。我对 TikZ 非常了解,能够创建图表,我想如果有足够的时间,我可以制作出类似该图片的东西,但我特别想找到一种创建“小图表符号”的方法。

编辑

太棒了!真的没有什么是不可能的!现在,我遇到了一个真正的问题——我无法决定接受哪个答案,因为它们都非常好。我想我会等几天,看看哪一个得到最多的选票。谢谢大家!

答案1

对于这种简单的情况,您也可以通过简单的命令构建符号来重现图表。有许多带有箭头符号的软件包,例如MnSymbol

这是您示例中符号的构造。导入单个符号的代码MnSymbol基于 Ulrike Fischer 的回答这里

\documentclass{article}
\usepackage{mathtools}
\DeclareFontFamily{U}{MnSymbolA}{}
\DeclareFontShape{U}{MnSymbolA}{m}{n}{
    <-6>  MnSymbolA5
   <6-7>  MnSymbolA6
   <7-8>  MnSymbolA7
   <8-9>  MnSymbolA8
   <9-10> MnSymbolA9
  <10-12> MnSymbolA10
  <12->   MnSymbolA12}{}
\DeclareSymbolFont{MnSyA}         {U}  {MnSymbolA}{m}{n}
\DeclareMathSymbol{\lcurvearrowdown}{\mathrel}{MnSyA}{187}
\DeclareMathSymbol{\rcurvearrowdown}{\mathrel}{MnSyA}{195}
\newcommand*{\arrowsdots}{%
    \rcurvearrowdown\mkern1mu%
    \mathclap{\raisebox{-.65\height}{\(\cdot\)}}%
    \mathclap{\raisebox{ .4\height}{\(\cdot\)}}%
    \mkern1mu\lcurvearrowdown%
}
\begin{document}
\( \mathrm{Set}^{\arrowsdots} \)
\end{document}

答案2

pst-fun只是为了好玩。

\documentclass[border=3pt]{standalone}
\usepackage{pst-fun}
\def\pst{\raisebox{2pt}{\psscalebox{0.02}{\pspicture(-1,-2)(2,2)\psBill\endpspicture}}}
\begin{document}
$Set^{\pst}$
\end{document}

在此处输入图片描述

答案3

像这样吗?

\documentclass{standalone}
\usepackage{tikz}
%Resize to relative size (em)
%Put the TikZ picture inside a box, just in case
\newcommand{\love}{\resizebox{0.5em}{!}{\hbox{\tikz\draw[fill=red] (0,0) rectangle (1,1);}}}

\begin{document}
$4^{\love}$

\begin{Large}
$4^{\love}$
\end{Large}

\begin{Huge}
$4^{\love}$
\end{Huge}
\end{document}

在此处输入图片描述

要真正回答这个问题,有点像尝试。如果你对 TikZ 足够了解,你可以尝试使用箭头和点大小。

\documentclass{standalone}
\usepackage{tikz}
\usepackage{amsmath}
\usetikzlibrary{arrows,positioning}
\newcommand{\nicepicture}{%
\begin{tikzpicture}
\node[circle, fill=black,inner sep=0pt,minimum size=.075em] (A) at (0,0){};
\node[circle, fill=black,inner sep=0pt,minimum size=.075em] (B) at (0,.3){};
\draw[->] (B.west) to [bend right=45] (A.west);
\draw[->] (B.east) to [bend left=45] (A.east);
\end{tikzpicture}
}
\newcommand{\myarrows}{\resizebox{!}{.5em}{\hbox{\nicepicture}}}

\begin{document}
$\text{Set}^{\myarrows}$

\begin{Large}
$\text{Set}^{\myarrows}$
\end{Large}

\begin{Huge}
$\text{Set}^{\myarrows}$
\end{Huge}
\end{document}

在此处输入图片描述

相关内容