分割TeX fileを単一TeX fileに統合する
はじめに
論文など長めの文章を
preprint serverのarXivは単一
2021/11/13追記:できました(Akio Taniguchiさん, ありがとうございます)
また, 投稿に際して他人には見せられない余計なcommentを削除してほしい, 画像などの外部fileも圧縮用に適切にまとまってほしいという思いもあると思います.
そのような要望に応えるものとして, CTANにも入っていて比較的使いやすそうなlatexpand
とtexdirflatten
を紹介したいと思います.
なおどちらもdefaultでcommentを削除します.
latexpand
のみoptionでcommentを残したものを出力することができます.
latexpand
基本的な使い方
\input
などが記載されている親input.tex
内の内容を展開してsubmit.tex
に出力する:
latexpand -o submit.tex input.tex
あるいは
latexpand input.tex > submit.tex
latexpand
はsubmit用のdirectoryを作成しません.
したがって, 依存fileをまとめたsubmit用のdirectoryは自分で作る必要があります.
submit用のdirectoryを作成してくれるのは次に紹介するtexdirflatten
です.
他のoptionや詳細については以下のCTANなどを確認してください.
詳細
texdirflatten
基本的な使い方
\input
などが記載されている親input.tex
を適切に展開し, 依存fileをsubmit
directory下に出力, copyします.
なお出力submit/input.tex
となります.
texdirflatten -1 -f input.tex -o submit
理想的にはsubmit
directoryがarXivにupload出来るようなものになっているはずです.
実際は.bbl
fileを処理してくれないため.bbl
fileがある場合(つまりsubmitする
option summary
option | 別名 | 説明 |
---|---|---|
--file FILE |
-f FILE |
入力FILE として指定します |
--onetex |
-1 |
\input{...} と\include{...} を展開します. |
--output DIR |
-o DIR |
指定したDIR 下に出力されます. 指定しない場合flat directory下に作成されます. |
--imgexts EXTENSIONS |
画像fileを探索する際に, 参照する拡張子の順番です. 該当する拡張子が見つかった場合その時点で探索を停止します.指定しない場合, 拡張子なし, .eps , .pdf , .pstex の順で探索します. 指定しない場合, 同名のeps fileとpdf fileがある場合, eps fileが読み込まれることに注意してください[2]. |
|
--debug |
debug mode | |
--version |
-V |
versionの表示 |
--help |
-? |
helpの表示 |
詳細
参考文献
latexpand
とtexdirflatten
以外にも色々なscriptなどが紹介されています.
Discussion
以下のようにディレクトリ構造がフラットであれば、特に問題なく投稿できると思います。
(手前味噌で恐縮ですが、投稿例がこちらにあります)
ちなみに、個人的にはインプットファイルや図表などはディレクトリに入れて管理したいので、
main.tex
のプリアンブルに以下のようなコマンドを書いています。こうすることで、執筆時は以下のようなディレクトリ構造にしておくことができて便利です。
(ファイルが
./
と./sections/
のどちらにあっても\input{section_1}
で呼び出せます)コメントありがとうございます.
以前flat構造でtypesetできなかった原稿でやり直してみたところ, 分割fileのままarXivでtypesetできました.
以前試したとき(2021年2月)はできなかった気がするのですが, 仕様が変わったのですかね.
こういう記述があるので僕の気のせいではないとは思うのですが...