Introduction

우분투 16.04의 경우 apt-get install texlive로 설치할 수 있는 texlive 버전은 15년도 버전입니다. 이를 최신 17년도 버전으로 업데이트를 하기 위해선 직접 공식 홈페이지 https://www.tug.org/texlive/ 에서 설치파일을 받거나 ppa를 통해서 받을 수 있습니다. 이 포스트에서는 ppa를 통해서 받는 방법과 이때 발생할 수 있는 문제 해결법을 다루겠습니다.

Prerequisite

  • OS: Ubuntu 16.04 LTS
  • texlive: 15년도 버전 texlive가 설치되어 있음

PPA를 통한 texlive-2017 설치

우선 다음과 같이 ppa를 등록해줍니다.

$ sudo add-apt-repository ppa:jonathonf/texlive-2017

이후 apt-get을 업데이트 후 texlive-full을 설치합니다.

$ sudo apt-get update
$ sudo apt-get install texlive-full

이렇게 할 경우, 이미 설치되어 있는 15년도 texlive 때문에 다음과 비슷한 dependencies 에러가 납니다.

Preparing to unpack .../texlive-fonts-extra-doc_2017.20170619-1~16.04.york0_all.deb ...
Unpacking texlive-fonts-extra-doc (2017.20170619-1~16.04.york0) over (2015.20160320-1) ...
dpkg: error processing archive /var/cache/apt/archives/texlive-fonts-extra-doc_2017.20170619-1~16.04.york0_all.deb (--unpack):
 trying to overwrite '/usr/share/doc/texlive-doc/latex/mweights/README', which is also in package texlive-latex-extra-doc 2015.20160320-1
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Preparing to unpack .../texlive-fonts-recommended-doc_2017.20170619-1~16.04.york0_all.deb ...
Unpacking texlive-fonts-recommended-doc (2017.20170619-1~16.04.york0) over (2015.20160320-1ubuntu0.1) ...
Errors were encountered while processing:
 /var/cache/apt/archives/texlive-fonts-extra-doc_2017.20170619-1~16.04.york0_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

이 경우 texlive-fonts-extra-doc 파일을 덮어쓸 수가 없어서 발생하는 문제입니다. 이를 지우고 관련 파일들을 다시 설치해줍시다.

$ sudo dpkg --force-all --purge texlive-fonts-extra-doc
$ sudo apt-get -f install

이런식으로 덮어쓸 수 없는 15년도 버전 파일들을 제거하고 설치를 재개하는 과정을 몇번 반복하면 됩니다.

Introduction

Vim에서 Markdown 문법으로 작성한 .md 파일을 실시간으로 미리보기 위하여 여러가지 Vim Plugin들을 검색해 보았습니다. 가장 인기있는 (Github star가 높은) 방법은 suan의 vim-instant-markdown 이었습니다. 하지만 이 레포는 업데이트가 좀 오래되어서 좀 더 최신의 방법들을 찾아보았고 실패한 방법과 성공한 방법 한가지씩을 소개해 드리겠습니다.

Prerequisites

Tested Specifications

  • OS: Mac OS X 10.13.3
  • Vim: Vim 8.0

Installations

실패한 방법

우선 Fandoc을 설치합니다.

$ brew install pandoc

그 다음 .vimrc 파일에서 다음을 추가하고 :PluginInstall을 타이핑해서 JamesdVesuna 의 vim-markdown-preview 플러그인을 설치합니다.

Plugin 'JamshedVesuna/vim-markdown-preview'

우리는 John MacFarlane의 Pandoc을 이용해 .md 파일을 .html로 렌더링 할 것이기 때문에 다음줄을 .vimrc에 추가해 줍니다.

let vim_markdown_preview_pandoc=1

위 플러그인의 렌더링 키매핑은 기본적으로 Ctrl-p 인데, 이것은 vim에서 자주 사용되는 Ctrl-P 플러그인과 키매핑이 겹치기 때문에 다음과 같이 키매핑을 바꿔줍니다.

let vim_markdown_preview_hotkey='<C-m>'

ERROR: 이유는 모르겠지만 위 방법대로 하면 preview가 보이지 않습니다..


성공한 방법

우선 shime의 livedown을 설치합니다.

$ npm install -g livedown

이후 Vundle을 이용해 shime의 vim-livedown을 설치합니다. 다음 줄을 .vimrc 파일에 추가해 주고 :PluginInstall을 타이핑해서 플러그인을 설치합니다.

Plugin 'shime/vim-livedown'

또한 편의를 위해 키매핑을 다음과 같이 설정합니다. 마찬가지로 다음 줄을 .vimrc에 추가합니다.

nnoremap <Leader>mm :LivedownToggle<CR>

이제 .md 파일에서 Vim을 이용해 작업하다 normal mode에서 <Leader>mm을 누르면 사파리에서 렌더링 된 Markdown 파일이 보여집니다.

Markdown to HTML

Preview 와는 별개로 .md 파일을 .html로 변환하여 그 내용을 다른 곳에 붙여넣어야 할 경우가 있습니다. 예를들어 블로그에 글을 쓰는 경우가 해당합니다.

우선 npm으로 mardown-to-html 패키지를 설치합니다.

$ npm install markdown-to-html -g

그 다음 다음 명령어를 통해 github-flavored-markdown 변환 결과를 Mac 클립보드에 붙여넣습니다.

$ github-markdown myfile.md | pbcopy

굳이 github-flavored를 쓰는 이유는 Vim에서 작업할 때 하나의 엔터는 한 문단으로 취급하기 위해서 입니다. 이후에 원하는 편집기 에디터에 Ctrl-V로 붙여넣으시면 됩니다.

MathJax Support

기본적으로 livedown은 MathJax를 지원하지 않습니다. 그러나 다음과 같이 간단한 수정으로 MathJax를 지원하게끔 설정할 수 있습니다.

우선 /usr/local/lib/node_modules/ 경로의 index.html 파일을 에디터로 열고, <head> ... </head> 태그 사이에 다음을 붙여넣습니다.

  <script type="text/javascript"
	src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> 
  <script type="text/x-mathjax-config">                                         
    MathJax.Hub.Config({                                                        
      tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}                            
    });                                                                            
  </script>

이후 :LivedownToggle을 실행하면 수식이 잘 보입니다.

+ Recent posts