LuaTeX、XeTeX

LuaTeX、XeTeX

正如标题所述,我可以访问\veebar,但\barvee会产生未定义的控制序列错误。这些是我正在加载的数学相关包:

\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amsfonts}
\usepackage{amssymb}

答案1

LuaTeX、XeTeX

软件包unicode-math(需要 LuaTeX 或 XeTeX)提供了\barvee(U+22BD NOR):

\tracinglostchars=2 % report, if a font misses a glyph
\documentclass{article}
\usepackage{unicode-math}
\begin{document}
  % Latin Modern
  \[ \veebar \barvee \]
  %
  \setmathfont{Asana-Math.otf}
  \[ \veebar \barvee \]
  %
  \setmathfont{xits-math.otf}
  \[ \veebar \barvee \]
  %
  \setmathfont{texgyrepagella-math.otf}
  \[ \veebar \barvee \]
  \setmathfont{texgyretermes-math.otf}
  \[ \veebar \barvee \]
\end{document}

结果

构建解决方案

下面的例子使用 的尺寸构造了一个\barveefrom\vee和with :\minus\veebar

\documentclass{article}
\usepackage{amssymb}
\usepackage{graphicx}

\makeatletter
\providecommand*{\barvee}{%
  \mathbin{%
    \mathpalette\@barvee{}%
  }%
}
\newcommand*{\@barvee}[2]{%
  % #1: math style
  % #2: unused
  \sbox0{$#1\veebar\m@th$}%
  \sbox2{%
    \hbox to \wd0{%
      \hss
      \resizebox{1.05\wd0}{\height}{$#1-\m@th$}%
      \hss
    }%
  }%
  \sbox4{%
    \resizebox{\wd0}{.7\ht0}{$#1\vee\m@th$}%
  }%
  \sbox6{$#1\vcenter{}$}
  \ht2=\ht6 %
  \vbox to \ht0{%
    \copy2 %
    \vss
    \copy4 %
  }%
}
\makeatother

\begin{document}
  \[ \veebar\barvee^{\veebar\barvee^{\veebar\barvee}} \]
\end{document}

结果

非常可怜的人用口音解决问题

有一个\bar重音符号可以放在 上\vee。但是,该线条比 中的线条更细更小\veebar

\documentclass{article}
\usepackage{amssymb}

\begin{document}
  \[ \veebar \bar\vee \]
\end{document}

结果

穷人的解决方案使用\overline

1010011010 建议使用。需要\overline附加,因为会从其内容中剥离此属性。\mathbin\overline

\documentclass{article}
\usepackage{amssymb}

\providecommand*{\poorbarvee}{%
  \mathbin{%
    \overline{\vee}%
  }%
}

\begin{document}
  \[ a \veebar b \]
  \[ a \poorbarvee b \]
\end{document}

结果

它也被归类为“穷人的解决方案”,因为

  • 该线现在太长了,因为它还覆盖了侧轴承。
  • 与上一个解决方案一样,\vee零件太大,间隙太小
  • 并且线条没有圆形线帽。

相关内容