unicode-math
아마도 다소 간단한 질문이 있습니다. 위나 아래에 더 긴 표현식을 작성할 때 화살표가 늘어나도록 LuaLaTeX 내에서 패키지를 사용할 수 있습니까 ?
예를 들어 패키지가 unicode-math
로드된 다음 코드는 늘어난 화살표를 생성하지 않으며 화살표 위의 텍스트가 화살표 자체보다 훨씬 깁니다.
% TeX engine: LuaLaTeX
% TeX Live 2014
% TeX encoding = UTF-8
\documentclass{minimal}
\usepackage{amsmath,
unicode-math}
\begin{document}
$a \xrightarrow{b \to \infty} c$
\end{document}
답변1
나는 이것이 로드될 때 와 unicode-math
동등한 기능을 제공해야 하는 와 (U+23AF HORIZONTAL LINE EXTENSION) 에 대한 문자 모양을 제공하지 않는 Latin Modern Math의 버그라고 생각합니다 . 관련 질문 보기\std@minus
amsmath
\harrowextender
Fontspec이 extarrows 패키지를 손상시키는 이유
당신의 문제에 대해 당신은 할 수 있습니다
\documentclass{article}
\usepackage{amsmath,unicode-math}
\makeatletter
\AtBeginDocument{\Umathcharnumdef\std@minus\Umathcodenum`- }% \std@minus is minus
\makeatother
\begin{document}
$a \xrightarrow{b \to \infty} c$
\end{document}
\harrowextender
가능한 경우 더 나은 해결 방법을 사용해야 합니다 .
\documentclass{article}
\usepackage{amsmath,unicode-math}
%\setmathfont{Asana Math} % if uncommented, \harrowextender would be used
\makeatletter
\AtBeginDocument{%
\check@mathfonts
\iffontchar\textfont\tw@\string"23AF
\renewcommand{\relbar}{\mathrel\harrowextender}%
\else
\Umathcharnumdef\std@minus\Umathcodenum`-
\fi}
\makeatother
\begin{document}
$a \xrightarrow{b \to \infty} c$
\end{document}
두 번째 코드는 \check@mathfonts
글꼴이 수학 계열과 연결되어 있는지 확인하는 데 사용됩니다(LaTeX는 일반적으로 문서에서 사용할 수 없는 수학 계열을 사용하는 것을 피하기 위해 첫 번째 공식이 조판될 때까지 이 작업을 수행하지 않습니다).
를 사용하면 unicode-math
로 정의된 수학 글꼴이 \setmathfont
수학 계열 2에 연결되므로 에 해당하는 문자가 \harrowextender
글꼴에 존재하는지 확인합니다( texdoc etex
에 대한 e-TeX 매뉴얼 참조 \iffontchar
). 문자가 존재하는 경우 \relbar
해당 기호를 수학 관계로 재정의합니다. 그렇지 않으면 이 컨텍스트에서 \std@minus
사용되는 이름 아래에 빼기 기호를 사용합니다 .amsmath
코드가 없으면 \std@minus
"수학 계열 2에서 문자 0을 선택하십시오"가 됩니다. 이는 전통적인 TeX 수학 글꼴에는 적합하지만 더 이상 unicode-math
. 따라서 이 경우 \std@minus
빼기 기호와 동일한 코드를 갖는 수학 문자로 재정의합니다( 명령 texdoc xetex
에 대한 자세한 내용은 XeTeX 매뉴얼 참조 \Umath...
).