siunitx を使用するアルファベットが多すぎる

siunitx を使用するアルファベットが多すぎる

siunitx パッケージのいくつかの機能を使用しようとすると、この厄介なエラーが発生します。簡単なテーブルを作成したいとします。

 \begin{table}[h!]
  \centering
  \caption{Caption for the table.}
  \label{tab:table1}
  \begin{tabular}{l|c||r}
    1 & 2 & 3 \si{\volt}\\
    \hline
    a & b & c\\
  \end{tabular}
\end{table}

コマンドを使用すると\si{\volt}エラーは発生しません。しかし、\SI{3}{\volt}代わりに を使用するとエラーが発生します。何が起こっているのか、また、どのように解決すればよいのか、ご存知ですか?

答え1

問題は解決しました。次のように記述します。

\RequirePackage{ifplatform}
\ifwindows
  \setmainfont[Ligatures=TeX,ItalicFont=RobotoCondensed-LightItalic,BoldFont=RobotoCondensed-Regular,BoldItalicFont=RobotoCondensed-Italic]{RobotoCondensed-Light}
  \setmonofont[Scale=MatchLowercase]{RobotoMono-Light} 
  \setmathfont(Greek,Digits,Latin){RobotoCondensed-Light}
  \setmathrm[ItalicFont=RobotoCondensed-LightItalic,BoldFont=RobotoCondensed-Regular,BoldItalicFont=RobotoCondensed-Italic]{RobotoCondensed-Light}
\else
  \setmainfont[BoldFont=Roboto Condensed, BoldItalicFont=Roboto Condensed Italic,ItalicFont=Roboto Condensed Light Italic,Ligatures=TeX]{Roboto Condensed Light}
  \setmonofont[Scale=.9]{Roboto Mono Light} 
  \setmathfont(Greek,Digits,Latin){Roboto Condensed Light}
  \setmathrm[ItalicFont=Roboto Condensed Light Italic,BoldFont=Roboto Condensed,BoldItalicFont=Roboto Condensed Italic]{Roboto Condensed Light}
\fi

それは動作しません。ただし、次のように記述すると:

\RequirePackage{ifplatform}
\ifwindows
    \setmainfont[Ligatures=TeX,ItalicFont=RobotoCondensed-LightItalic,BoldFont=RobotoCondensed-Regular,BoldItalicFont=RobotoCondensed-Italic]{RobotoCondensed-Light}
    \setsansfont[Ligatures=TeX,ItalicFont=RobotoCondensed-LightItalic,BoldFont=RobotoCondensed-Regular,BoldItalicFont=RobotoCondensed-Italic]{RobotoCondensed-Light}
    \setmonofont[Scale=MatchLowercase]{RobotoMono-Light} 
    \setmathfont(Greek,Digits,Latin){RobotoCondensed-Light}
    \setmathrm[ItalicFont=RobotoCondensed-LightItalic,BoldFont=RobotoCondensed-Regular,BoldItalicFont=RobotoCondensed-Italic]{RobotoCondensed-Light}
    \setmathsf[ItalicFont=RobotoCondensed-LightItalic,BoldFont=RobotoCondensed-Regular,BoldItalicFont=RobotoCondensed-Italic]{RobotoCondensed-Light}
\else
    \setmainfont[BoldFont=Roboto Condensed, BoldItalicFont=Roboto Condensed Italic,ItalicFont=Roboto Condensed Light Italic,Ligatures=TeX]{Roboto Condensed Light}
    \setsansfont[BoldFont=Roboto Condensed, BoldItalicFont=Roboto Condensed Italic,ItalicFont=Roboto Condensed Light Italic,Ligatures=TeX]{Roboto Condensed Light}
    \setmonofont[Scale=.9]{Roboto Mono Light} 
    \setmathfont(Greek,Digits,Latin){Roboto Condensed Light}
    \setmathrm[ItalicFont=Roboto Condensed Light Italic,BoldFont=Roboto Condensed,BoldItalicFont=Roboto Condensed Italic]{Roboto Condensed Light}
    \setmathsf[ItalicFont=Roboto Condensed Light Italic,BoldFont=Roboto Condensed,BoldItalicFont=Roboto Condensed Italic]{Roboto Condensed Light}
\fi

2 番目のコード ブロックの最後のコマンドが重要だと思います。ただし、それが何を\setmathsfするのかがわかりません。

関連情報