Git - git을 사용해서 논문을 쓸겁니다.

2 분 소요

Intro

  • 최근에는, 논문을 하나 새로 쓰고 있습니다. 그리고 꽤 오랫동안 블로그를 운영한 덕분인지 책도 집필 제의가 들어와서 조금 진행을 해보고 있는 상황이죠. 대학원 연구실을 떠난 이후에는 상대적으로 긴 호흡의 문서화 프로젝트들을 진행하는 일이 많지 않았는데, 지금 그 둘은 새롭게 집중해서 진행해야하는 프로젝트가 새로 생긴 셈이죠.
  • 논문을 작성할 때는 보통 워드를 사용해서 씁니다. 워드가 그냥 한회사의 제품이기는 하지만 거의 독점과 같은 상황이다 보니까, 대부분의 저널들의 기본 템플릿이 워드인 경우가 많으니까요. 다만, 앞서 말한 것처럼 비교적 긴 호흡으로 관리를 해야 할때는 워드파일을 "FileName_001.docx", "FileName_002.docx"와 같이 버전별로 여러 개 만들어서, 관리하곤 하죠.
  • 다만, 생각을 조금 해보니까, 결과물은 워드에 담더라도, 초기에는 그냥 이를 mark-down으로 정리하는 것이 더 낫지 않나? 하는 생각이 들었습니다.

Strongness of markdown+git

  • 결론부터 작성하자면, 저는 Markdown과 Git을 이용해서 논문과 책을 쓰기로 마음 먹었습니다. “야 그냥 하던대로 하지 왜 그래?”라고 누군가 말한다면, 맞는 이야기입니다. 사실 그럴 어쩌면 그럴 필요가 없을 수도 있죠. 하지만 저는 결론을 내렸고, 이렇게 했을 때 제가 얻을 수 있는 이득이 무엇인지를 먼저 정리해보기로 했습니다. 1) 구형 맥에서 쓰기 편하다: 예전보다는 맥용 MS-office 프로그램이 나쁘지 않지만, 여전히 좀 벅벅대는 느낌이 있습니다. 물론, 추가로 제 맥북은 RAM이 고작 4GB인 구형이죠. 따라서, 맥-워드를 띄워두면 버벅대는 느낌이 들 때가 있습니다. 그래서 가능하면 크롬 위에서 돌아가는 구글 닥스를 주로 씁니다(물론, 구글 닥스도 램을 많이 먹기는 마찬가지죠). 2) 코드와 문서를 함께 관리: 제가 쓰는 논문과 책은 모두 파이썬 코드와 함께 관리되어야 합니다. 코드를 사용해서 분석한 결과가 논문과 책에 담기는 셈이죠. 따라서, 이 둘은 하나의 폴더 내에서 함께 관리하면 좋습니다. 이미 저는 프로젝트들은 git의 관리하에 두고 있는데, 만약 문서는 워드로 관리한다면 IDE와 워드를 동시에 띄워놓아야 합니다. 코드 상에서의 진전이 반드시 문서의 진전과 동일하다고 볼 수는 없지만, 이 둘을 함께 관리한다면 조금 더 효율적이겠죠. 추가로, IDE와 워드 프로그램을 둘 다 띄워놓음으로써 램을 낭비하지 않고, 하나만 띄워놓음으로써 조금 더 효율적으로 RAM을 사용할 수 있다는 강점도 있죠. 3) 진행상황을 한눈에 파악: 워드로 작성할 경우, 매번 여러 파일들을 동시에 만들게 됨은 물론, 새롭게 만들어지는 파일에 ~~~완료.docx와 같은 이름을 붙여서 관리하곤 하죠. 뭐, 어찌 보면 직관적이라고 생각될 수도 있지만, 이보다는 Git을 사용해서 문서의 점진적인 진전 형태를 체계적으로 관리할 수 있다는 강점이있을 것 같아요. 추가로. 오늘 하루에 몇 자나 추가했는지에 대해서 잘 알 수 있다는 강점도 있죠.
  • 뭐 결국은 결론을 정해두고 강점들을 찾는 것이지만, 제가 볼 때는 이러한 강점들이 있다고 생각해요. 네, 이제 저는 Git을 이용해서 논문을 쓸 겁니다.

Git diff

  • 다만, git을 써서 논문을 쓰려고 한다면 git을 조금 더 잘 아는 것이 필요할 것 같다는 생각이 들었습니다. 그중에서 가장 중요한 것은 git diff, 이전 커밋 대비 현재 어떤 차이가 있는지를 파악할 수 있는 명령어를 잘 이해하는 것이 필요할 것 같아요.
  • 따라서, 오늘은 git diff를 좀 더 잘 사용해보려고 합니다.

Just git diff

  • 그냥 git diff를 쓰면 이전의 commit 대비 현재의 directory에서의 차이를 보여줍니다. 빨간색은 ‘삭제된 내용’, 초록색은 ‘추가된 내용’이죠. 다만, git은 기본적으로는 줄 단위로 관리하기 때문에, 그냥 git diff로 보면 그 변화가 한번에 보이지 않아요.

Use git diff --color-words: 단어 단위로 보기

  • git diff --color-words를 사용하면, 줄단위가 아니라, 단어 단위로 어디가 지워지고 어디가 남아있고 어디가 추가되었는지를 좀 더 확실하게 볼 수 있습니다.

wrap-up

  • 원래는 좀 더 많은 다양한 내용이 있을까? 해서 봤는데, 일단은 이게 다 인것 같아요.
  • 조금 아쉬운 점이라면, “글자 수를 센다거나”하는 각 파일별 점진적인 변화를 체크하는 것이 없거나, 혹은 제가 찾기 어렵거나 둘 중 하나인 것 같습니다. 전체 프로젝트에 대해서는 알 수 있지만, 하나의 파일 별로 어느 정도 진전이 있는지 파악할 수 있다면 더 좋을 것 같긴 한데, 음, 조금 아쉽네요.

reference

태그:

카테고리:

업데이트:

댓글남기기