答案1
该mathabx
包提供此字形为\lll
(和相应的\ggg
)。但是,mathabx
更改很多符号。如果你只想要这两个,你可以轻松地从从不同字体导入单个符号
\documentclass{article}
\DeclareFontFamily{U}{matha}{\hyphenchar\font45}
\DeclareFontShape{U}{matha}{m}{n}{
<5> <6> <7> <8> <9> <10> gen * matha
<10.95> matha10 <12> <14.4> <17.28> <20.74> <24.88> matha12
}{}
\DeclareSymbolFont{matha}{U}{matha}{m}{n}
\DeclareMathSymbol{\Lt}{3}{matha}{"CE}
\DeclareMathSymbol{\Gt}{3}{matha}{"CF}
\begin{document}
$a \ll b \Lt c \Gt d \gg e$
\end{document}
编辑评论中提醒我,\lll
和\ggg
也在(和其他数学字体包)中定义amssymb
以执行其他操作。名称\Lt
, \Gt
(来自stix
.unicode-math
和其他)避免了此类冲突。
这Davislor 的回答很好还展示了如何从stix
字体导入这些符号,尽管在这种情况下我会完全切换字体。在现代计算机环境中,我发现这些mathabx
符号更合适。
答案2
如果您使用stix
,这里有一个版本,可以创建newcommand
并旋转符号以提供您想要的内容。
\documentclass{article}
\usepackage{graphicx}
\usepackage{stix}
\newcommand{\lWedge}{\mathbin{\rotatebox[origin=c]{90}{$\Wedge$}}}
\newcommand{\gWedge}{\mathbin{\rotatebox[origin=c]{-90}{$\Wedge$}}}
\begin{document}
$\lWedge$
$\gWedge$
$\Wedge$
$\Vee$
\end{document}
编辑:
Lt
并且Gt
存在,所以无需旋转。
答案3
这些字符在 Unicode 中为 U+2AA1,⪡ 为 U+2AA2。它们具有宏名称\Lt
,并且\Gt
在unicode-math
(規劃第 74-75 页)、stix
包(第 16 页)、stix2
包(第 16 页) ,以及至少一个其他。
OpenType 字体 XITS Math、Stix Two Math、Asana Math、GFS Neohellenic Math 和 Cambria Math 都包含字形,可以使用unicode-math
以下命令仅填充这些字符:
\setmathfont[range={`⪡,`⪢}, Scale=MatchUppercase]{Asana Math}
与 LuaLaTeX 或 XeLaTeX 配合使用的代码示例:
\documentclass[varwidth, preview]{standalone}
\usepackage{unicode-math}
\setmainfont{STIX Two Text}
\setmathfont{STIX Two Math}
\begin{document}
\( \delta \Lt h \Gt \epsilon \)
\end{document}
并且可以与任何 LaTeX 引擎配合使用:
\documentclass[varwidth, preview]{standalone}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{stix}
\begin{document}
\( \delta \Lt h \Gt \epsilon \)
\end{document}
如果您被迫使用不包含这些符号的旧版 NFSS 字体包,您可能能够\usepackage{stix}
在其他字体包之前加载。但是,当另一个包不兼容时(可能是因为您用完了 LaTeX 数学字母表)并且您需要使用 声明它们时\DeclareMathSymbol
,您可以通过一点逆向工程来完成。以下模板声明\Lt
和\Gt
以供使用newtxmath
:
\documentclass[varwidth, preview]{standalone}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{newtxtext}
\usepackage{newtxmath}
\DeclareFontEncoding{LS1}{}{}
\DeclareFontSubstitution{LS1}{stix}{m}{n}
\DeclareSymbolFont{stixsymbb}{LS1}{stixbb}{m}{n}
\DeclareMathSymbol{\Lt}{\mathrel}{stixsymbb}{"F1}
\DeclareMathSymbol{\Gt}{\mathrel}{stixsymbb}{"F2}
\begin{document}
\( \delta \Lt h \Gt \epsilon \)
\end{document}
请注意,这是一个人为的例子,用于获取newtx
字体和所有符号的实际代码stix
实际上是:
\usepackage{stix}
\usepackage{newtxtext}
\usepackage{newtxmath}
如果您没有使用 UTF-8 字符,您还可以插入以下几行,以便能够直接在文档中使用 UTF-8 字符unicode-math
(开箱即用):
\usepackage{newunicodechar}
\newunicodechar{⪡}{\ensuremath{\Lt}}
\newunicodechar{⪢}{\ensuremath{\Gt}}
为了完整性:该boisik
包还定义了\Lt
和\Gt
,但(截至 2018 年)仅作为位图字体提供。因此,它可能不是一个可接受的选项。
正如另一个答案所指出的那样,mathabx
包含类似的字形,但将它们声明为\lll
和\ggg
。 这是一个严重的设计缺陷并且在迁移到其他样式表时会导致输出不正确。在标准 AMS 字体unicode-math
和其他几个常见软件包中,\lll
⋘。三倍小于,\ggg
⋙。三倍大于。
我建议将其unicode-math
作为第一个选项和stix
第二个选项。如果您想从 加载字形mathabx
,我会使用 campa 的答案,修改后将名称更改为更标准\Lt
和\Gt
。
答案4
另一种奇怪的方法(没有导入字体)是使用负细空格字符\!
:
\documentclass[varwidth, preview]{standalone}
\newcommand{\mll}{<\!\!\!<} % change the number of \! characters to move closer/farther
\begin{document}
\( \delta \mll h \ll \epsilon \)
\end{document}