变形符号

变形符号

是否有表示“变形”的“镜头支架”的 LaTeX 符号,如第 4 页所述“用香蕉、镜头、信封和铁丝网进行函数式编程

stmaryrd包中有表示“香蕉括号”(变形)的符号:(\llparenthesis\rrparenthesis)和“信封括号”(质变)的符号(\llbracket\rrbracket)。

但是,我找不到任何有关变形的东西。

答案1

论文中使用了方括号和圆括号,效果比较差。

这是一个更好的。

\documentclass{article}
\usepackage{amsmath}
\usepackage{pict2e}

\newcommand{\lbparen}{%
  \mathopen{%
    \sbox0{$()$}%
    \setlength{\unitlength}{\dimexpr\ht0+\dp0}%
    \raisebox{-\dp0}{%
      \begin{picture}(.32,1)
      \linethickness{\fontdimen8\textfont3}
      \roundcap
      \put(0,0){\raisebox{\depth}{$($}}
      \polyline(0.32,0)(0,0)(0,1)(0.32,1)
      \end{picture}%
    }%
  }%
}

\newcommand{\rbparen}{%
  \mathclose{%
    \sbox0{$()$}%
    \setlength{\unitlength}{\dimexpr\ht0+\dp0}%
    \raisebox{-\dp0}{%
      \begin{picture}(.32,1)
      \linethickness{\fontdimen8\textfont3}
      \roundcap
      \put(-0.08,0){\raisebox{\depth}{$)$}}
      \polyline(0,0)(0.32,0)(0.32,1)(0,1)
      \end{picture}%
    }%
  }%
}

\begin{document}

$\lbparen g,p\rbparen$

\end{document}

在此处输入图片描述

如果需要使用Euler字体,则需要更改一些值。

\documentclass{article}
\usepackage{amsmath}
\usepackage{eulervm}
\usepackage{pict2e}

\newcommand{\lbparen}{%
  \mathopen{%
    \sbox0{$()$}%
    \setlength{\unitlength}{\dimexpr\ht0+\dp0}%
    \raisebox{-\dp0}{%
      \begin{picture}(.3,1)
      \linethickness{\fontdimen8\textfont3}
      \roundcap
      \put(0,0){\raisebox{\depth}{$($}}
      \polyline(0.3,0.07)(0,0.07)(0,0.98)(0.3,0.98)
      \end{picture}%
    }%
  }%
}

\newcommand{\rbparen}{%
  \mathclose{%
    \sbox0{$()$}%
    \setlength{\unitlength}{\dimexpr\ht0+\dp0}%
    \raisebox{-\dp0}{%
      \begin{picture}(.3,1)
      \linethickness{\fontdimen8\textfont3}
      \roundcap
      \put(-0.08,0){\raisebox{\depth}{$)$}}
      \polyline(0,0.07)(0.3,0.07)(0.3,0.98)(0,0.98)
      \end{picture}%
    }%
  }%
}

\begin{document}

$\lbparen g,p\rbparen$

\end{document}

在此处输入图片描述

答案2

不需要 LaTeX 图片环境的解决方案在这里。仅使用\vrule\hrule原语。但此解决方案不关心脚本和脚本脚本大小。但 egreg 的解决方案也不关心它。

\def\lbparen{\mathopen{\vrule \lower.249em\vbox to1em{%
   \hrule height.2pt width.3em\vss \hrule height.2pt}%
   \kern-.32em(}}
\def\rbparen{\mathclose{)\kern-.32em\lower.249em\vbox to1em{%
   \hrule height.2pt width.3em\vss \hrule height.2pt}%
   \vrule}}

$\lbparen g, p\rbparen$

\bye

相关内容