M1 Macbookにていくつかのコマンドでエラーが出る.

M1 Macbookにていくつかのコマンドでエラーが出る.

- Sho ss の投稿
返信数: 16
題名の通り,M1チップ搭載のMacBookを使用してMacTeX.pkgからTeXをインストールしたのですが,いくつかのコマンドでエラーが出て実行不可の状態です.
何度も検索したものの一向に解決策が出ずに困っています.
具体的には
\chapter{XXXX}\label{sec:YYYY}
とあれば
-----------------------------------------------
l.111 \chapter
{XXXX} \label{sec:YYYY}
?
-----------------------------------------------
となり実行できません.
そのほかにも \newpageなどでも同様の現象が起きています.
2度Macbook自体を初期化して入れ直しましたが変わりませんでした.
ちなみにwindowsのTexでは問題なく実行できていました.
以下はバージョン?の情報です.


ptex2pdf[.lua] ver 20200520.0

e-ptex ver 3.141592653-p3.9.0-219218-2.6(utf8.euc)(Tex Live 2021)(preloaded format=platex)
restricted ¥write18 enabled
entering extended mode
Sho ss への返信

Re: M1 Macbookにていくつかのコマンドでエラーが出る.

- m c の投稿
> /chapter{XXXX}/label{sec:YYYY}

スラッシュ(/)ではなく,バックスラッシュ(\)にしてみてください.
入力方法は option-¥ です.
m c への返信

Re: M1 Macbookにていくつかのコマンドでエラーが出る.

- Sho ss の投稿
すみません,私の入力ミスです.
実際には\chapter{XXXX}~
です.
Sho ss への返信

Re: M1 Macbookにていくつかのコマンドでエラーが出る.

- m c の投稿
入力ミスとのこと,了解しました.

ドキュメントクラスは何をお使いですか?

jarticle/jsarticleでは\chapterは使えません(jreport/jsreport or jbook/jsbookが必要).
#\newpageが引っかかるというのは解せませんが

公開して問題ないレベルのTeXソースとログを示していただくのが問題解決の早道だと思います.
m c への返信

Re: M1 Macbookにていくつかのコマンドでエラーが出る.

- Sho ss の投稿

例えば,このようなものでしたら,実行できます.

\documentclass[a4paper,10pt,fleqn, twocolumn]{jsarticle}

\begin{document}


\twocolumn[

\begin{center}

\Large\textbf{AAAAA}\\


\begin{tabular}{ccc}

{\large VVVV}\\

\end{tabular}

\end{center}

]


\newpage

\twocolumn[

\begin{center}

\Large\textbf{AAAAA}\\


\begin{tabular}{ccc}

{\large VVVV}\\

\end{tabular}

\end{center}

]

\end{document}

ですが,styファイル?というものを読み込んで実際には実行しており,上記のものはそれを利用していません.
おそらくですが,そのstyファイルのどこかがM1に対応していないのではと思いました.
以下はそのファイルの中身です.
ちなみに,上記をstyファイルを読み込み実行すると同様のエラーになります.



% build by Kurebe

% improved by Noguchi


%%%%% include packages %%%%%

\usepackage{ascmac}

\usepackage{amsmath}

\usepackage{amssymb}

\usepackage{amsfonts}

\usepackage{txfonts} %times

\usepackage{cancel}

\usepackage{latexsym}

% \usepackage[dvipdfm]{graphicx}

\usepackage[dvipdfmx]{graphicx}

\usepackage[usenames]{color}

\usepackage{float}

\usepackage{theorem}

\usepackage{layout}

\usepackage{oldgerm}

%\usepackage{rsfs}

\usepackage{fancyhdr}

%\usepackage{lastpage}

%\usepackage{cases}

%\usepackage{here}

\usepackage{url}

%\usepackage{multirow}

\usepackage{booktabs}

\usepackage{array}

%\usepackage{slashbox}

%%%%% end of include packages %%%%%



%%%%% local definitions %%%%%

% Step Environment

\newcounter{mycounti}

\newcounter{mycountii}[mycounti]

\newcounter{mycountiii}[mycountii]

\newenvironment{steplist}{%

\def\themycountii{\themycounti.\arabic{mycountii}}

\def\themycountiii{\themycounti.\arabic{mycountii}.\arabic{mycountiii}}%test

\def\step{%

\refstepcounter{mycounti}\item[\bf Step.\themycounti]}%

\def\skipstep{\stepcounter{mycounti}}

\def\substep{%

\refstepcounter{mycountii}\item[\bf Step.\themycountii]}%

\def\subsubstep{%test

\refstepcounter{mycountiii}\item[\bf Step.\themycountiii]}%test

\begin{list}{}{\setlength{\leftmargin}{3em}

\setlength{\labelsep}{1em}

\setlength{\labelwidth}{\leftmargin}

\addtolength{\labelwidth}{-\labelsep}}

}{\end{list}}


% Case Environment

\newcounter{casecounti}

\newcounter{casecountii}[casecounti]

\newcounter{casecountiii}[casecountii]

\newenvironment{caselist}{%

\def\thecasecountii{\thecasecounti.\arabic{casecountii}}

\def\thecasecountiii{\thecasecounti.\arabic{casecountii}.\arabic{casecountiii}}%test

\def\case{%

\refstepcounter{casecounti}\item[\bf Case.\thecasecounti]}%

\def\skipstep{\stepcounter{casecounti}}

\def\subcase{%

\refstepcounter{casecountii}\item[\bf Case.\thecasecountii]}%

\def\subsubcase{%test

\refstepcounter{casecountiii}\item[\bf Case.\thecasecountiii]}%test

\begin{list}{}{\setlength{\leftmargin}{3em}

\setlength{\labelsep}{1em}

\setlength{\labelwidth}{\leftmargin}

\addtolength{\labelwidth}{-\labelsep}}

}{\end{list}}


% Indent Environment

\newenvironment{indention}[1]{\par

\addtolength{\leftskip}{#1}

\begingroup}{\endgroup\par}


% Theorem Environment

\theoremstyle{break}

\theorembodyfont{\rmfamily}

\newtheorem{theorem}{Theorem}[section]

\newtheorem{lemma}{Lemma}[section]

\newtheorem{corollary}{Corollary}[section]

\newtheorem{definition}{Definition}[section]

\newcommand{\qed}{\hbox{\rule[-2pt]{3pt}{6pt}}}


% Font Difinition

\def\Z{{\mathbb{Z}}} % \Z == \mathbb{Z}

\def\N{{\mathbb{N}}} % \N == \mathbb{N}

\def\Q{{\mathbb{Q}}} % \Q == \mathbb{Q}

\def\R{{\mathbb{R}}} % \R == \mathbb{R}

\def\C{{\mathbb{C}}} % \C == \mathbb{C}

\def\O{{\mathbb{O}}} % \O == \mathbb{O}

\def\P{{\mathbb{P}}} % \P == \mathbb{P}

\def\Fg{{\mathbb{F}}} % \Fg == \mathbb{F}


\def\h{{\mathfrak{h}}} % \h == \mathfrak{Q}

\def\g{{\mathfrak{g}}} % \g == \mathfrak{R}


\def\E{{\mathscr{E}}} % \E == \mathscr{E}

\def\F{{\mathscr{F}}} % \F == \mathscr{F}

\def\S{{\mathscr{S}}} % \S == \mathscr{S}


%%%%% end of local definitions %%%%%


%********************************************************************

% 1in=72.27pt=2.54cm

%********************************************************************


%********************************************************************

% font size

%********************************************************************


% A4:297 * 210


%********************************************************************

% 9pt

%********************************************************************


\topskip=10mm%18pt %1stBaseLine


\hoffset=-1in%-25.4mm%-42.27pt %(1)

\voffset=-1in%-25.4mm%-52.27pt %(1)


\oddsidemargin=15mm%15pt %

\evensidemargin=15mm%15pt %


\topmargin=15mm%15mm%-10pt %

\headheight=0mm%0pt %

% \headsep=25pt %

\headsep=0mm%45pt %


\textheight=293mm%820pt% %9pt

\textwidth=195mm%560pt % 9pt


\footskip=0mm%15pt %


%********************************************************************

% 10pt

%********************************************************************


% \topskip=25pt %1stBaseLine

%

% \hoffset=-42.27pt %(1)

% \voffset=-52.27pt %(1)

%

% \oddsidemargin=20pt %

% \evensidemargin=20pt %

%

% \topmargin=-10pt %

% \headheight=0pt %

% \headsep=25pt %

%

% \textheight=760pt %10pt

% \textwidth=495pt % 10pt

%

% \footskip=30pt %


%********************************************************************

% 11pt

%********************************************************************


% \topskip=25pt %1stBaseLine

%

% \hoffset=-42.27pt %(1)

% \voffset=-52.27pt %(1)

%

% \oddsidemargin=40pt %

% \evensidemargin=40pt %

%

% \topmargin=-10pt %

% \headheight=0pt %

% \headsep=25pt %

%

% \textheight=694pt %11pt

% \textwidth=413pt % 11pt

%

% \footskip=30pt %


%********************************************************************

% font size end

%********************************************************************


\marginparsep=0pt %

\marginparwidth=0pt %


\marginparpush=0mm%5pt %2

\paperheight=297mm%845pt %

\paperwidth=210mm%%597pt %


\columnsep=8mm%28pt %2

\columnseprule=0pt %2


% \parindent=5pt %

\mathindent=50pt%


\renewcommand{\baselinestretch}{1.040} %


\pagestyle{empty} %

% \pagestyle{headings} %

% \pagestyle{plain} %


%********************************************************************

%

%********************************************************************

\newcommand{\f}[1]{\framebox[1cm]{\textgt{\small #1}}}


%********************************************************************

%

%********************************************************************

\newcommand{\MARU}[1]{{\ooalign{\hfil#1\/\hfil\crcr \raise.167ex\hbox{\mathhexbox20D}}}}


%********************************************************************

% ()

%********************************************************************

\newcommand{\ruby}[2]{%

\leavevmode

\setbox1=\hbox{#1}%

\setbox3=\hbox{\tiny #2}%

\ifdim\wd1>\wd3 \dimen1=\wd1 \else \dimen1=\wd3 \fi

\hbox{%

 \kanjiskip=0pt plus 2fil

 \xkanjiskip=0pt plus 2fil

 \vbox{\hbox to \dimen1{\tiny \hfil\unhbox3\hfil}%

 \nointerlineskip

 \hbox to \dimen1{\hfil\unhbox1\hfil}

 }

}

}


%********************************************************************

% ()

%********************************************************************

\makeatletter

\def\kenten#1{%

\ifvmode\leavevmode\else\hskip\kanjiskip\fi

\setbox1=\hbox to \z@{\hss}

\ht1=.63zw

\@kenten#1\end

}

\def\@kenten#1{%

\ifx#1\end \let\next=\relax \else

 \raise.63zw\copy1\nobreak #1\hskip\kanjiskip\relax

 \let\next=\@kenten

\fi\next

}

\makeatother


%********************************************************************

% 2()

%********************************************************************

\makeatletter

\def\kenmaru#1{%

\ifvmode\leavevmode\else\hskip\kanjiskip\fi

\setbox1=\hbox to \z@{$\;\!\circ$\hss}

\ht1=.75zw

\@kenmaru#1\end

}

\def\@kenmaru#1{%

\ifx#1\end \let\next=\relax \else

 \raise.75zw\copy1\nobreak #1\hskip\kanjiskip\relax

 \let\next=\@kenmaru

\fi\next

}

\makeatother


%********************************************************************

% (a/b)

%********************************************************************

\newcommand{\FRAC}[2]{

\leavevmode\kern.1em

\raise.5ex\hbox{\the\scriptfont0 #1}\kern-.1em

/\kern-.15em\lower.25ex\hbox{\the\scriptfont0 #2}

}

%********************************************************************

% (a/b)

%********************************************************************

\newcommand{\order}[1]{

\mathrm{O}(#1)

}


Sho ss への返信

Re: M1 Macbookにていくつかのコマンドでエラーが出る.

- Sho ss の投稿
上記に追記です.
このようなコードも実行時に使われています.



\documentclass[a4paper,11pt, oneside, openany, fleqn]{jsbook}


\usepackage{setspace}

\usepackage{theorem}

\usepackage{url}

\usepackage{ascmac}

\usepackage{graphicx}

\usepackage{here}


\makeatletter

\count@\z@

\@whilenum\count@<16\do{%

 \advance\count@\@ne

 \expandafter\newinsert\csname bx@\romannumeral\count@\endcsname

 \@cons\@freelist{\csname bx@\romannumeral\count@\endcsname}}

\makeatother


%%%%%%%%%%%%%%%%%%%%レイアウトはじめ%%%%%%%%%%%%%%%%%%%%%%%%%


\setlength{\paperwidth}{210mm} %%用紙レイアウト

\setlength{\paperheight}{297mm}


\setlength{\topmargin}{30mm} %%余白レイアウト

\addtolength{\topmargin}{-1in}

\setlength{\voffset}{0mm}

\setlength{\oddsidemargin}{30mm}

\addtolength{\oddsidemargin}{-1in}

\setlength{\evensidemargin}{30mm}

\addtolength{\evensidemargin}{-1in}

\setlength{\hoffset}{0mm}


\setlength{\headheight}{0mm} %%ヘッダーレイアウト

\setlength{\headsep}{0mm}


\setlength{\topskip}{0mm} %%本文レイアウト

\setlength{\textheight}{215mm}

\setlength{\textwidth}{130mm}


%\setlength{\footheight}{10mm} %%フッターレイアウト

\setlength{\footskip}{14mm}


\setlength{\marginparsep}{0mm} %%欄外レイアウト

\setlength{\marginparpush}{0mm}

\setlength{\marginparwidth}{0mm}


\setstretch{1.5} %%行間

\setlength{\columnsep}{4mm} %%2段組等の段と段の間の長さ

\setlength{\columnseprule}{0mm} %%段と段の間の線の太さ



\makeatletter

\def\@oddhead{}

\def\@evenhead{}

\def\@evenfoot{\normalfont\rmfamily \hfil \,\thepage \,\hfil}

\def\@oddfoot{\normalfont\rmfamily \hfil \,\thepage \,\hfil}

\def\ps@titlepage{\let\@oddhead\@empty}

\def\ps@titlepage{\let\@evenhead\@empty}

\makeatother


%\pagestyle{plain}

%%%%% local definitions %%%%%


% Step Environment

\newcounter{mycounti}

\newcounter{mycountii}[mycounti]

\newcounter{mycountiii}[mycountii]

\newenvironment{steplist}{%

\def\themycountii{\themycounti.\arabic{mycountii}}

\def\themycountiii{\themycounti.\arabic{mycountii}.\arabic{mycountiii}}%test

\def\step{%

\refstepcounter{mycounti}\item[\bf Step.\themycounti]}%

\def\skipstep{\stepcounter{mycounti}}

\def\substep{%

\refstepcounter{mycountii}\item[\bf Step.\themycountii]}%

\def\subsubstep{%test

\refstepcounter{mycountiii}\item[\bf Step.\themycountiii]}%test

\begin{list}{}{\setlength{\leftmargin}{3em}

\setlength{\labelsep}{1em}

\setlength{\labelwidth}{\leftmargin}

\addtolength{\labelwidth}{-\labelsep}}

}{\end{list}}


% Indent Environment

\newenvironment{indention}[1]{\par

\addtolength{\leftskip}{#1}

\begingroup}{\endgroup\par}


% Theorem Environment

\newtheorem{theorem}{定理}[chapter]

\newtheorem{lemma}{Lemma}[section]

\newtheorem{corollary}{Corollary}[section]

\newtheorem{definition}{Definition}[section]

\newcommand{\qed}{\hbox{\rule[-2pt]{3pt}{6pt}}}



ーーーこの下に文章などを書いていくーーー

Sho ss への返信

Re: M1 Macbookにていくつかのコマンドでエラーが出る.

- 和田 勇 の投稿
ツリーがおかしくなってしまうので二つの例をまとめて回答

◆2021年 05月 06日(木曜日) 00:17 - Sho ss の投稿 への返信

mc さんは以下のように書かれています。

article/jsarticleでは\chapterは使えません(jreport/jsreport or jbook/jsbookが必要).

Sho ss さんの提示したソース例は jsarticle なので以下のように解釈

    \documentclass[a4paper,10pt,fleqn, twocolumn]{jsarticle}

    \befin{document}
    \chapter{XXXX}\label{sec:YYYY}
    \end{document}

これでは、短い方の例でもエラーになります。
以下のようにすれば、jbook にすればusepackage 以下を組み込んでもタイプセットできます。

    \documentclass[a4paper,10pt,fleqn, twocolumn]{jsnook}

◆2021年 05月 06日(木曜日) 00:51 - Sho ss の投稿 への返信

例示されたものに以下を組み込むとエラーになりますが ...

    \befin{document}
    \chapter{XXXX}\label{sec:YYYY}
    \end{document}

エラー内容は

    1章
    ! Undefined control sequence.
    \@freelist ...mmmmmmmmmmmmmmmmmmmmmmmmmmmmmdxxxiv

    l.99 \end{document}

直接の原因は、提示されたソースの \@freelist の定義。
時間が時間なので明朝起床後解析予定。

◆お願い
長い行のソースやログは添付ファイルを利用して下さい。
当フォーラムの添付は一つしか指定できませんので、
複数ある場合は、zip tar などでアーカイブして一つにまとめてアップして下さい。
和田 勇 への返信

Re: M1 Macbookにていくつかのコマンドでエラーが出る.

- Sho ss の投稿
ご返信ありがとうございます.
ご指摘の通り,jsbookに変えましたが,改善は見られませんでした.

お願いの件,承知いたしました.
Sho ss への返信

Re: M1 Macbookにていくつかのコマンドでエラーが出る.

- 和田 勇 の投稿
では、改めてエラーになった .tex と生成された .log ファイルを添付でアップして下さい。
和田 勇 への返信

Re: M1 Macbookにていくつかのコマンドでエラーが出る.

- Sho ss の投稿
Sho ss への返信

Re: M1 Macbookにていくつかのコマンドでエラーが出る.

- 和田 勇 の投稿
昨夜、指摘した追加で拡張したマクロ \@cons\@freelist{\csname bx@\romannumeral\count@\endcsname に関するところでエラーになるのは確認しました。

これから \@freelist の件を解析しますが、アーカイブされたものについての問題が二つありますので、解消したものを改めてアップロードして下さい。


その1)アーカイブしたログファイルが途中で切れてしまってエラーが表示されていませんでした。

その2)拡張した部分 \makeatletter から %%レイアウト終わり%%% までを一旦コメントアウトして試したところ、thebibliography 環境のブロックで「}」だけになっていて、タイプセットできませんでした。
対処策としてその「}」をコメントアウトして試したところ、通ります。



◆ .sty などに差があるか否かを確認するため、添付したチェックサム用ファイルを利用してエラーが生じるか確認して下さい。エラーがあればその旨コピペで貼り付けて下さい。これは、usepackage 等で読み込まれるであろうスタイルファイルをログから取り出して作成したリストから作成した情報です。tlmgr 等で update が必要になるかもしれません。

sha1sum -c 20210222.sh1sum
和田 勇 への返信

Re: M1 Macbookにていくつかのコマンドでエラーが出る.

- 和田 勇 の投稿

◆ Help me!! expandafter csname などマクロに詳しい方へ

出典は不明ですが、https://texwiki.texjp.org/?LaTeX%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 「LaTeX のエラーメッセージ」の「! LaTeX Error: Too many unprocessed floats.」対策案として記述されている 下記の多数のフロートのある状況対策で改ページ等が発生するとエラーになっているようです。

\makeatletter
\count@\z@
\@whilenum\count@<16\do{%
   \advance\count@\@ne
   \expandafter\newinsert\csname bx@\romannumeral\count@\endcsname
   \@cons\@freelist{\csname bx@\romannumeral\count@\endcsname}}         ここでエラーになる
\makeatother

以前の環境で上記のフロートなものが沢山ある時の対策のようですが、\@freelist 以降の展開がうまくいかないようです。

エラーは以下のようです。

! Undefined control sequence.
\@freelist ...mmmmmmmmmmmmmmmmmmmmmmmmmmmmmdxxxiv

l.133 \newpage

ソースの一部

114 \begin{document}
115
... snip ...
119 \begin{center} \thispagestyle{empty}
120     {\Large A}\\
... dnip ...
131 \end{center}
132
133 \newpage ここで問題の箇所を呼びだしてエラーになってる

と長々書きましたが、上記拡張部分はどこに問題があるのでしょうか? 或いは、2021 では改訂などによる原因なのでしょうか?

◆Sho ss さんへ

多数のフロートなものがあった場合の別解対策には cleapage などでもある程度代用できますが、どうしてもというと morefloats パッケージを利用する手もあるようです。似たコーディングがインプリメントされているようです。 ドキュメントは texdoc morefloats で調べることができます。

なお、デフォルトは maxfloats=18 のようです。それ以上の場合は適宜調整とのこと。

和田 勇 への返信

Re: M1 Macbookにていくつかのコマンドでエラーが出る.

- ut の投稿

# 「マクロに詳しい方」ではないのですけれど…。

> 出典は不明ですが、

出典は qa: 30866(https://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/30866.html)でしょうか。

2004 年のご投稿のようなのですが、その後、2014 年に ltplain.dtx に \extrafloats
というのが追加されたらしく、現在ではこのような工夫は要らなくなってるみたいです。

はずしていたらすいません。

ut への返信

Re: M1 Macbookにていくつかのコマンドでエラーが出る.

- 和田 勇 の投稿
元情報まで遡っていただきありがとうございます。

> 2014 年に ltplain.dtx に \extrafloats 云々

ということは 当面は newpage を clearpage に置き換えてもすみそうな気がしますが、頻繁にフロートのエラーが出るなら morefloats に置き換えてよさそうですね。

ということで、Sho ss さん 検討お願いします。
和田 勇 への返信

Re: M1 Macbookにていくつかのコマンドでエラーが出る.

- Z. R. の投稿

まず前提として:

  • 2014年以降のカーネルでは「未処理フロート数上限」が18から52に緩和されているので、(まともなフロート指定をしている限りは)上限突破はほぼありえなくなっている。
  • 上限をさらに増やす\extrafloats命令が新設された。
  • だから、例のコードのように「16増やしたい」なら、単に
    \extrafloats{16}
    を実行すればよい。

さて、例のコードですが:

\count@\z@
\@whilenum\count@<16\do{%
   \advance\count@\@ne
   \expandafter\newinsert\csname bx@\romannumeral\count@\endcsname
   \@cons\@freelist{\csname bx@\romannumeral\count@\endcsname}}         ここでエラーになる

\extrafloatsが新設された新しいカーネルでは、\newinsertの実行時に\count@の値が破壊されることが(稀に)あります。上記コードは\count@が保持されることを仮定しているため、新しいカーネルでは正常に動作しないわけです。

※おそらく、「従来レジスタ領域を使いつくして拡張レジスタ領域に移行する際に(割当戦略の都合のため)\extrafloatsが呼ばれるが、\extrafloats自体が\count@を使っている」というのが原因だと思われます。

Z. R. への返信

Re: M1 Macbookにていくつかのコマンドでエラーが出る.

- 和田 勇 の投稿
解説ありがとうございます。

例の拡張部分は削除しても良いのですね。
またmorefloats で対応しなくても良いようですね。
どうしても発生したら \extrafloats で調節。

以上を検討して下さい。

Z. R. への返信

Re: M1 Macbookにていくつかのコマンドでエラーが出る.

- Sho ss の投稿
ご指摘の通り,以下の部分を \extrafloats{16} にして実行することでPDF化することができました.
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
\count@\z@ \@whilenum\count@<16\do{% \advance\count@\@ne \expandafter\newinsert\csname bx@\romannumeral\count@\endcsname \@cons\@freelist{\csname bx@\romannumeral\count@\endcsname}} 
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー