Skip to content

nacl30d/latex-ci

Repository files navigation

latex-ci

LaTeXで書かれた論文をPDFにコンパイルしてReleaseするCI環境

Features

  • 学内用と学会用など複数バージョンを1つのリポジトリで管理することができます
  • 1つのリリースで論文と論文要旨など複数の文書をコンパイルできます
  • TexLive2020を使っているので,標準で原ノ味フォントが利用できます
  • textlintによってトンマナの校正ができます
  • huskyによってpre-commitをhookしてtextlintを走らせることができます

設定

  • Circle CIとリポジトリを連携する
  • Circle CIの環境変数GITHUB_TOKENにGithubのPersonal Access Token(repoのフルアクセス)を設定する

使い方

textlintを有効にする

$ npm install

huskyによってpre-commit時にtextlintが走るようになります

PDF化したいコミットにタグを付ける

$ git tag -a thesis-v1.0.0 -m'thesis-v1.0.0'

タグは'〈ターゲット名〉-vX.X.X'というフォーマット

タグをpushする

$ git push --tags

仕組み

  • tex -> pdf はlatexmkを使ってます
  • latexmkをMakefileで実行しています
  • タグの〈ターゲット名〉がMakefileのターゲット名になります
    • thesis-v1.0.0というタグをつけた場合,make thesisが実行されます
    • 概要と論文など2つのtexファイルを1つのコマンドでコンパイルすることができます

その他

  • textlintはpre-commitで実行される前提なので,ciサーバ上では実行されません
  • 付属の.latexmkrcはplatex仕様になっています.uplatexを利用する場合は差し替えてください

References

License

MIT