分割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
理想的にはsubmitdirectoryがarXivにupload出来るようなものになっているはずです.
実際は.bblfileを処理してくれないため.bblfileがある場合(つまり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月)はできなかった気がするのですが, 仕様が変わったのですかね.
こういう記述があるので僕の気のせいではないとは思うのですが...