質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
LaTeX

LaTeXは、レスリー・ランポートが開発したテキストベースの文書整形システムです。 電子製版ソフトウェアである「TeX」にマクロパッケージを組み込む形で構成されており、 通常のTeXより扱いやすくなっているのが特徴です。

Q&A

解決済

2回答

5236閲覧

LaTeXの \begin{document}にてエラーが発生する

unknowdon

総合スコア1

LaTeX

LaTeXは、レスリー・ランポートが開発したテキストベースの文書整形システムです。 電子製版ソフトウェアである「TeX」にマクロパッケージを組み込む形で構成されており、 通常のTeXより扱いやすくなっているのが特徴です。

0グッド

0クリップ

投稿2020/10/15 09:20

前提・実現したいこと

cloudlatexにて
過去のファイルを開いた時に
エラーが発生してしまいます。

発生している問題・エラーメッセージ

main.tex line 55 ! Paragraph ended before \in@ was complete. <to be read again> \par \begin{document}

main.tex
line 55
! Emergency stop.
<to be read again>
\par
\begin{document}

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

2年前に作ったファイルを開こうとしたので、
当時と環境が変わっている可能性があります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

coco_bauer

2020/10/15 10:11

main.tex ファイルの内容を質問に追加して下さい。 エラーメッセージだけ見せられても、どのようなLatexを処理したのかが判らないので、原因なんて判るはずがないですよ。
unknowdon

2020/10/15 14:09

申し訳ないです。 中身が卒業論文で量が膨大なため、全てをここに貼るのは難しいです… \begin{document} \renewcommand{\labelenumii}{\arabic{enumii})} \tableofcontents エラーを吐いた部分のコードはこちらになります。
gemmaro

2020/10/18 12:27

エラーが発生する最小限のLaTeXソースファイルがあるといいですね
guest

回答2

0

ベストアンサー

「質問への追記・修正、ベストアンサー選択の依頼」から

tex

1\begin{document} 2\renewcommand{\labelenumii}{\arabic{enumii})} 3\tableofcontents

エラーを吐いた部分のコードはこちらになります。

ということですが、例として以下のように補ったLaTeXファイルは問題なくコンパイルできます。

main.tex:

tex

1%#!uplatex 2\documentclass{jlreq} 3\begin{document} 4\renewcommand{\labelenumii}{\arabic{enumii}} 5\tableofcontents 6\end{document}

NOTE: コマンドは$ uplatex main.texです。以下upLaTeXを用いるものとします。

swordoneさんの回答では\renewcommandの位置に言及されていますが、この点はエラーに関与しないのではないかと考えられます(もちろんLaTeXもテキストマークアップ言語ですから、\begin{document}以降はマークアップ的に記述すべきであるという意見はあります。後々のメンテナンス性などを考慮したときに、命令の定義や設定などは極力プリアンブルで行うようにすると良いでしょう)。

そこで、エラーメッセージに注目します。

tex

1main.tex 2line 55 3! Paragraph ended before \in@ was complete. 4<to be read again> 5 \par 6 \begin{document}

このうち、! Paragraph ended before \in@ was complete.の部分から思い当たるのは、「引数に段落トークンを含まないことになっている制御綴に、これに反する引数が与えられた」場合です。\in@がどの制御綴の内部で用いられており、正確にどの部分でエラーになっているのかは不明ですが、例えば以下のような記述で少し似たエラーを再現することができます:

main.tex:

tex

1%#!uplatex 2\documentclass{jlreq} 3\begin{document} 4\renewcommand{\labelenumii}{\arabic{enumii}} 5\tableofcontents 6 7\section{aaa 8 9} 10\end{document}

実行してみましょう:

$ uplatex index.tex This is e-upTeX, Version 3.14159265-p3.8.3-u1.26-191112-2.6 (utf8.uptex) (TeX Live 2020) (preloaded format=uplatex) restricted \write18 enabled. entering extended mode (./index.tex pLaTeX2e <2020-10-01u04>+1 (based on LaTeX2e <2020-10-01> patch level 1) L3 programming layer <2020-10-05> xparse <2020-03-03> (/usr/local/texlive/2020/texmf-dist/tex/latex/jlreq/jlreq.cls Document Class: jlreq 2020/09/27 jlreq (/usr/local/texlive/2020/texmf-dist/tex/latex/xkeyval/xkeyval.sty (/usr/local/texlive/2020/texmf-dist/tex/generic/xkeyval/xkeyval.tex (/usr/local/texlive/2020/texmf-dist/tex/generic/xkeyval/xkvutils.tex (/usr/local/texlive/2020/texmf-dist/tex/generic/xkeyval/keyval.tex)))) (/usr/local/texlive/2020/texmf-dist/tex/latex/everyhook/everyhook.sty (/usr/local/texlive/2020/texmf-dist/tex/latex/svn-prov/svn-prov.sty) (/usr/local/texlive/2020/texmf-dist/tex/latex/etoolbox/etoolbox.sty)) (/usr/local/texlive/2020/texmf-dist/tex/latex/base/ifthen.sty) (/usr/local/texlive/2020/texmf-dist/tex/latex/filehook/filehook.sty (/usr/local/texlive/2020/texmf-dist/tex/latex/filehook/filehook-2020.sty)) (/usr/local/texlive/2020/texmf-dist/tex/latex/jlreq/jlreq-helpers.sty) jlreq guessed engine: uplatex (/usr/local/texlive/2020/texmf-dist/tex/latex/lm/lmodern.sty)) (/usr/local/texlive/2020/texmf-dist/tex/latex/lm/ot1lmr.fd) (/usr/local/texlive/2020/texmf-dist/tex/latex/l3backend/l3backend-dvips.def) (./index.aux) (/usr/local/texlive/2020/texmf-dist/tex/latex/lm/ot1lmss.fd) (./index.toc) Runaway argument? {aaa ! Paragraph ended before \jlreq@heading@maketoc@section was complete. <to be read again> \par l.10 \end {document} ? x No pages of output. Transcript written on index.log.

NOTE: 途中、? xではプロンプト? に対してxと打って終了させました。

この例では\sectionの引数に段落を渡すことで意図的にエラーを起こしています。もちろん\section{aaa\par}と書くことと等価ですので、これでもエラーになります。

したがって、やや漠然としていますが、なんらかの段落を引数に含まない制御綴に対して、それに反する引数を渡しているのではないか、というのが予想です。

また、「2年前に作ったファイルを開こうとした」ということから、LaTeXのプログラムまたはパッケージのバージョンの不整合も考えられますが、現時点では絞り込むことができません。

投稿2020/10/18 12:49

gemmaro

総合スコア358

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

\renewcommandなとは\begin{document}よりも前でないといけないのでは?

投稿2020/10/15 15:37

swordone

総合スコア20669

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問