![外部ファイル「入力」ステートメントを使用する曲パッケージでエラーが発生しました](https://rvso.com/image/348647/%E5%A4%96%E9%83%A8%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%80%8C%E5%85%A5%E5%8A%9B%E3%80%8D%E3%82%B9%E3%83%86%E3%83%BC%E3%83%88%E3%83%A1%E3%83%B3%E3%83%88%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E6%9B%B2%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%E3%81%A7%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F.png)
例として、5曲の歌集を作成しました。5曲はメインドキュメントに含まれる別々のファイルにあります。
input{../songs/song1.tex}
...
input{../songs/song5.tex}
印刷結果は次のとおりです: ページ 1: 曲 1 と 2。ページ 2: 空白ページに「.tex」が印刷されます。ページ 3: 曲 3 と 4。ページ 4: 曲 #5。a) すべてのファイルを 1 つの tex ファイルに結合した場合、または b) 最初の 4 曲のみを印刷した場合は、エラー (空白ページに「.tex」マーク) は発生しません。
ログファイルには曲番号5が表示されている
Underfull \vbox (badness 10000) has occurred while \output is active []
曲#5 を曲#3 と入れ替えると、次のようになります: ページ 1: 曲 1 と 2。ページ 2: 曲#5。ページ 3: 空白ページに「.tex」が印刷される。ページ 4: 曲#3。ログ ファイルには曲#5 に関するエラーは記録されません。曲#4 の「underfull \vbox error」が記録されていますが、曲#5 を曲#3 の位置に移動する前には問題ありませんでした。
答え1
パッケージの場合songs
、通常は曲を.sbd
ファイルに入れて、
\input{my_songs.sbd}
必要な数のファイルを含めることができます。各ファイルには、必要な数の曲を含めることができます。私は通常、カテゴリごとに分割します。そのため、たとえば、特定のカテゴリごとに 1 つのファイルがあり、そのファイルには次のものmy_songs.sbd
が含まれます。
\beginsong{Song Title}[
words={A. Author, B. Author},
music={A. Composer, B. Composer}
]
\beginverse
\[A]Cool Lyrics...
\endverse
\endsong
\beginsong{Song 2}...
そして次にmain.tex
:
\cleartorightpage
\showindex{New Song Category}{my-category}
\begin{songs}{my-category}
\input{my_songs.sbd}
\end{songs}