0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

LaTeXのtabular環境内で[ ]を使ったらエラーを吐かれた話

Posted at

tl;dr

  • tabular環境内である行最初のセルが[ ~ ]から始まるとエラーを吐くことがある
  • 対処法としては以下などがある
    • \lbrack ~ \rbrackを用いる1
    • 直前の強制改行\\\\ \relaxに変更する2
    • 数式環境にしてしまう($[ ~ ]$

どういう状況だったか

\documentclass{ltjsarticle}

\usepackage{unitsix}
\usepackage{mhchem}

% 中略

\begin{table}[h]
  \begin{tabular}{c|r}
    \hline 化合物・イオン&\thead{モル濃度} \\ \hline\hline
    [\ce{H2SO4}] & \qty{5.74}{mol.L^{-1}} \\
    [\ce{HSO4-}] & \qty{4.34}{mol.L^{-1}} \\ \hline
  \end{tabular}
\end{table}

というようにしてpdfを作成するコマンドを実行すると,以下のようなエラーメッセージが返ってきた.

(ファイルの保存場所)100: Missing number, treated as zero.
<to be read again>
\tex_let:D l.100     [\ce{HSO4-}] & \qty{4.34}{mol.L^{-1}}

このエラーは以下のように説明されている3

数値あるいは寸法・グルーが必要な箇所に然るべき値が与えられなかった場合に現れるエラーメッセージ (のうちのひとつ)です.

[ボク].◦゜(つまりどういうこと??)

結局どういうエラーだったのか

  • 行頭や行末の半角スペース,タブ文字,改行コードは無視される
  • 強制改行の\\[ ~ ]が起こした事件

それぞれ説明していこう

行頭や行末の半角スペース,タブ文字,改行コードは無視される

例えば,今回実行したファイルのtabular環境内のコードは,$\LaTeX$ファイルを作る際に以下のように認識される(はず).

\begin{table}[h]\begin{tabular}{c|r}\hline 化合物・イオン&\thead{モル濃度} \\ \hline\hline[\ce{H2SO4}] & \qty{5.74}{mol.L^{-1}} \\[\ce{HSO4-}] & \qty{4.34}{mol.L^{-1}} \\ \hline\end{tabular}\end{table}

強制改行の\\[ ~ ]が起こした事件

勘のいいひとは気づいたかもしれないが,先ほど示したものの中に\\[\ce{HSO4-}]という部分が含まれている.

実は,強制改行には\\[10pt]のような角かっこ(bracket)を使ったマクロが存在する4
ということは......

  • \\[\ce{HSO4-}]が強制改行のマクロとして認識されてしまった
    • \ce{HSO4-}の部分が改行幅指定するべき数値として解釈された
      • これは数値ではないから,Missing number, treated as zero.とエラーを吐いた

というような順序をたどったものと推測する.

それで解決法は?

冒頭に示した通り,簡単な解決法としては以下がある.

  • \lbrack ~ \rbrackを用いる1
  • 直前の強制改行\\\\ \relaxに変更する2
  • 数式環境にしてしまう($[ ~ ]$など)

このどれもが,半角スペース,タブ文字,改行コードを除いたときに\\[ ~ ]の並びを作らないための方法だ.

 

問題解決の参考になれば幸いです.

  1. http://www.yamamo10.jp/yamamoto/comp/latex/make_doc/table/table.php#TECH (2025年5月11日閲覧)
    tabular環境内で角かっこの使用できない場合がある旨と,コマンドによる角かっこの呼び出しを書いている 2

  2. https://muscle-keisuke.hatenablog.com/entry/2016/07/13/004942 (2025年5月11日閲覧)
    本質的にはこれと同じ問題だったのだなと執筆中に気づいた 2

  3. https://texwiki.texjp.org/?TeX%20%E3%81%AE%E3%82%A8%E3%83%A9%E3%83%BC%E3%83%A1%E3%83%83%E3%82%BB%E3%83%BC%E3%82%B8 (2025年5月11日閲覧)

  4. https://medemanabu.net/latex/line-and-page-breaking/ (2025年5月11日閲覧)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?