边注:缺少数字,视为零

边注:缺少数字,视为零

使用 LuaLaTeX 编译以下(不是那么简单)的示例会出现错误Missing number, treated as zero

%!TEX program = lualatex
\documentclass{article}

\usepackage[sansmath,scale=0.88]{MyriadPro}
\usepackage[no-math]{fontspec}
\setmainfont{Minion Pro}
\setsansfont{Myriad Pro}
\usepackage{microtype}
\usepackage{siunitx}

\usepackage{marginnote}
\renewcommand*{\marginfont}{\footnotesize}

\begin{document}
\[ c = \sqrt{a^2 + b^2} \marginnote{foo $x$ bar} \]
\end{document}

不幸的是,如果我删除任何包、字体命令,甚至选项(除了no-math,这是 所必需的MyriadPro)。最重要的是,如果我从 中删除内联方程式\marginnote,或者将 设置\marginfont\tiny\scriptsize或 以上的任何值\large,文件也会编译良好。草稿模式也可以使其工作...

我担心该问题会因为字体包而严重重现,但我不知道从哪里开始寻找该问题。


编辑:日志文件中的完整错误消息:

! Missing number, treated as zero.
<to be read again> 
l
l.257 \@tempcnta=l
                eft_boundary\relax\MT@dofont@function
<argument> ...@ex@factor@ relax }MT@lua {microtype.do_font()}

use_i:nn #1#2->#1

MT@set@ex@codes ...T@ex@factor }MT@reset@ef@codes 
                                                  MT@expandfont MT@nonselect...

MT@maybe@do ...#1}csname MT@set@#1@codesendcsname 
                                                  else MT@vinfo {... No @nam...

MT@setupfont ...@line }MT@protrusion MT@expansion 
                                                  MT@noligatures MT@register...

pickup@font ...ster@subst@font fi fi MT@setupfont 
                                                  endgroup 
getanddefine@fonts ...size endcsname }pickup@font 
                                                  let textfont@name font@nam...

mv@normal ...define@fonts {8}T1/MyriadPro-OsF/m/n 
                                                  install@mathalphabet maths...

glb@settings ... csname mv@math@version endcsname 
                                                  globaldefs @ne math@fonts ...

check@mathfonts ...rsize f@size else glb@settings 
                                                  init@restore@glb@settings ...

<everymath> check@mathfonts 
                the everymath 
<to be read again> 
x
<argument> ...arginnote strut hspace {z@ }ignorespaces foo $x
                                                  $ barendgraf vss }vss }
rlap #1->hb@xt@ z@ {#1
                      hss }
<argument> ...z@ }ignorespaces foo $x$ barendgraf vss }vss }}
                                                  else llap {vbox toz@ {kern...

mn@zbox #1->bgroup setbox @tempboxa vbox {#1
                                            }ht @tempboxa ht strutbox dp @te...

@mn@@@marginnote ...fi fi kern marginparsep }fi }}
                                                  endgroup 
@mn@@marginnote ...n@@@marginnote [{#1}]{#2}[{#3}]
                                                  fi 
<to be read again> 
]
l.16 ...\sqrt{a^2 + b^2} \marginnote{foo $x$ bar} \]

? 

相关内容