以下代码会引发错误,因为\restriction
未定义(并且也没有\upharpoonright
):
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{libertine}
\usepackage{libertinust1math}
\begin{document}
$f \restriction A$
\end{document}
我知道在这种情况下使用它并不明智amssymb
。但是有没有推荐的方法来获取功能限制符号?
答案1
遗憾的是libertinust1math
字体不包含那个特定的鱼叉。Sebastiano 已经展示了如何从符号中导入它AMSa
。我在这里提出了另外两种替代方案:
libertinust1math
您可以使用newtxmath
和选项来代替libertine
。这将使用 中的拉丁字母和希腊字母libertine
,但除此之外,还将使用 中的符号newtx
,其中包含的字形比 中的要多libertinust1math
。当然,输出会发生变化,所以这取决于个人喜好。
\documentclass{article}
\usepackage{libertine}
\usepackage[libertine]{newtxmath}
\begin{document}
$f \restriction A$
$\scriptstyle f \restriction A$
$\scriptscriptstyle f \restriction A$
\end{document}
或者你可以旋转\leftharpoonup
\documentclass{article}
\usepackage{graphicx}
\usepackage{libertine}
\usepackage{libertinust1math}
\makeatletter
\newcommand*{\upharpoonright}{\mathrel{\mkern-2mu\mathpalette\@upharpoonright\relax}}
\newcommand*{\@upharpoonright}[2]{\vcenter{\hbox{\rotatebox{-90}{$#1\leftharpoonup$}}}}
\makeatother
\let\restriction\upharpoonright
\begin{document}
$f \restriction A$
$\scriptstyle f \restriction A$
$\scriptscriptstyle f \restriction A$
\end{document}
答案2
答案3
看看网站{"16}
你可以声明或使用一个符号。因此,知道符号的槽号非常重要\upharpoonright
。
\DeclareMathSymbol{\upharpoonright}{\mathrel}{AMSa}{"16}
\usepackage{amssymb}
例如,使用这个 MWE,
\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{amssymb}
\usepackage{libertine}
\usepackage{libertinust1math}
\begin{document}
$f \restriction A$
\end{document}
你将得到以下输出:
或者您可以使用这个 MWE,而不使用具有amssymb
与上一个图像相同输出的包。
\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{libertine}
\usepackage{libertinust1math}
\DeclareSymbolFont{AMSa}{U}{msa}{m}{n}
\DeclareMathSymbol{\upharpoonright}{\mathrel}{AMSa}{"16}
\global\let\restriction\upharpoonright
\begin{document}
$f \restriction A$
\end{document}