在数学模式下排版泛型类型

在数学模式下排版泛型类型

我想Foo<T>在数学模式下排版泛型类型(例如);例如:

$\mathbf{Foo<T>} = R^3$

<但是,和周围的间距>当然是不正确的。有没有一种简单的方法可以让它们在这种情况下被视为正常字符?

答案1

您可以告诉 TeX<>,在特定上下文中,应该发出\langle\rangle,另外还应用于\bm它们:

\documentclass{article}
\usepackage{amsmath,bm}

\makeatletter
\newcommand{\type}[1]{%
  \begingroup
  \activate@angle@brackets
  \mathcode`<="8000 \mathcode`>="8000
  \mathbf{#1}%
  \endgroup
}
\newcommand{\activate@angle@brackets}{%
  \begingroup\lccode`~=`< \lowercase{\endgroup\def~}{\bm{\langle}}
  \begingroup\lccode`~=`> \lowercase{\endgroup\def~}{\bm{\rangle}}
}
\makeatother

\begin{document}

$\type{Foo<T>} = R^3 < x$ % second < is normal

For comparison: $\langle\mathbf{T}\rangle$

\end{document}

在此处输入图片描述

答案2

我建议你把这些标识符视为逐字材料,并写下

\( \verb|Foo<T>| = R^3 \)

示例输出

相关内容