#author("2020-06-29T17:24:41+09:00","default:Miyashita","Miyashita") #author("2021-09-17T17:22:24+09:00","default:Miyashita","Miyashita") *Gitを使用した文書の管理 [#y6a71f6a] **基本 [#md054b97] LaTeX文書をGitで管理して,Gitホスティングサービス(GitHub,Bitbucketなど)と [[Overleaf>https://www.overleaf.com?r=7883716f&rm=d&rs=b]] を使えば,研究室外で編集する時の煩わしさが減る.~ GitHub と Overleaf の連携機能(有料)が便利だった.~ やたらとコミットの数が増えてしまうが,論文原稿の場合はあまり気にする必要がないし,わかりにくくなったら節目の段階でタグをつければ良い. **.gitignore [#je85249d] LaTeX文書に関するリポジトリでは,.gitignoreは大抵同じようなものになるはずなので,ここに示しておく. #codeprettify{{ *~ *.swp *.aux *.blg *.dvi *.lof *.log *.lot *.out *.pdf *.toc *.fdb_latexmk *.fls *-oldtmp-*.tex }} **Makefile [#n3b56a3c] 本文が main.tex,bibtexがmain.bibの場合は,次の通りにMakefileを作成しておく.~ 命令の記述内のインデントについてはタブに変換することを忘れないように. ~ #codeprettify{{ PLATEX := platex PBIB := pbibtex DVIPDF := dvipdfmx -p a4 .PHONY: all clean all: main main: $(eval FILE := main) $(PLATEX) $(FILE) $(PBIB) $(FILE) $(PLATEX) $(FILE) $(PLATEX) $(FILE) $(DVIPDF) $(FILE) clean: -rm -f *~ *.log *.dvi *.blg *.aux *.out *.bbl *.lot *.toc *.lof *.pdf }} ** latexdiff-git [#j867526f] 現在のファイルの状況やコミット間での差分表示をするためのコマンド.~ 比較したい時点のコミットのハッシュを ABCDEFG とすると, 比較したい時点のコミットのハッシュを hogehoge とすると, #codeprettify{{ latexdiff-git --force -r ABCDEFG -e utf8 filename.tex latexdiff-git --force -r hogehoge -e utf8 filename.tex }} とすることで,差分を強調した tex ファイルが生成される.~ ABCDEFGのようなコミットのハッシュではなく,HEADやHEAD^^ 等でも可.~ hogehogeのようなコミットのハッシュではなく, HEAD や HEAD^^ 等でも可.~ ~ tex ファイルの中に input や include で挿入した箇所がある場合は #codeprettify{{ latexdiff-git --force --flatten -r ABCDEFG -e utf8 filename.tex latexdiff-git --force --flatten -r hogehoge -e utf8 filename.tex }} のように --flatten をつけると input をした内容も展開してくれる.~ ただし,--flatten は bib も展開してしまい,文献の欄のdiffがうまく機能しない(自分だけ?).~ ~ 土木学会論文集の原稿のMakefileでは,下記のように書いておいた(メインのファイルは ronbun-j.tex). 土木学会論文集の原稿の Makefile では,下記のように書いておいた(メインのファイルは ronbun-j.tex). #codeprettify{{ diff: latexdiff-git --force -r ABCDEFG -e utf8 ronbun-j.tex # 1回目本原稿提出時のコミットのハッシュ(例:ABCDEFG)を置換する $(PLATEX) ronbun-j-diffABCDEFG $(PBIB) ronbun-j-diffABCDEFG.aux $(PLATEX) ronbun-j-diffABCDEFG $(PLATEX) ronbun-j-diffABCDEFG $(DVIPDF) ronbun-j-diffABCDEFG latexdiff-git --force -r hogehoge -e utf8 ronbun-j.tex # 1回目本原稿提出時のコミットのハッシュ(例:hogehoge)を置換する $(PLATEX) ronbun-j-diffhogehoge $(PBIB) ronbun-j-diffhogehoge.aux $(PLATEX) ronbun-j-diffhogehoge $(PLATEX) ronbun-j-diffhogehoge $(DVIPDF) ronbun-j-diffhogehoge }}