Pandoc의 신택스 하이라이트 색 구성표
소개
Pandoc에서 마크다운을 PDF로 변환할 때 --highlight-style
선택적으로 색 구성표를 지정할 수 있습니다. 지적할 수 있는 컬러 스킴은 이하와 같다.
이 색 구성표는 각각 같은 이름의 신택스 하이라이트 엔진에서 파생 된 것 같습니다.
코드는 아래에 둡니다.
공식 매뉴얼
Markdown 으로 PDF
우선 일상의 문서를 Markdown으로 쓰고, 뭔가 인쇄하거나 메일로 보낼 때 PDF로 한다는 사람은 많다고 생각한다. 나는 VSCode에서 Markdown Preview에서 미리보기하면서 쓰고 htps : // 기주 b. 코 m/카이쵸 256/판도 c_히 ghぃght에서 PDF로 변환하고있다. 그러나 기본적으로 수식은 변환되지 않습니다. 예를 들면 이런 마크다운을 썼다고 한다.
# Fizz Buzzを書いてみる
数式はこちら。
$$
\textrm{Print} \quad
\begin{cases}
\textrm{FizzBuzz!} & \textrm{if} \quad i \bmod 15 =0 \\
\textrm{Fizz!} & \textrm{if} \quad i \bmod 3 =0 \\
\textrm{Buzz!} & \textrm{if} \quad i \bmod 5 =0 \\
i & \textrm{otherwise}
\end{cases}
$$
Pythonによるコード例はこちら。
```py
for i in range(1, 100):
if i % 3 is 0 and i % 5 is 0:
print("Fizz Buzz!")
elif i % 3 is 0:
print("Fizz!")
elif i % 5 is 0:
print("Buzz!")
else:
print(i)
```
이것을 VSCode의 Markdown PDF로 변환하면 이런 식으로 수식을 변환해주지 않는다.
Markdown PDF
그래서 Pandoc을 사용하여 변환해 보겠습니다. 그 후에 여백 조정으로 일지모른다.
pandoc test.md -s -o default.pdf --latex-engine=lualatex -V documentclass=ltjarticle -V geometry:margin=1in
이것으로 변환한 PDF는 이런 느낌이 된다.
수식도 좋은 느낌으로 신택스 하이라이트도 있지만 코드 블록에 배경색이 없기 때문에 어디에서 어디까지인지 알기 어렵습니다. 그래서 색 구성표를 바꾸기로 했는데, 어느 것이 어떤 느낌이 되는지 찾아보면
Pandoc의 색 구성표
Pandoc로 변환 할 때 --highlight-style=pygments
등으로하면 색 구성표를 지정할 수 있습니다. 이제 같은 마크다운 파일을 다른 방식으로 PDF로 변환해 보자.
나는 낡은 인간이므로, 무엇이든 makefile로 하는 버릇이 있는데, 우선 이런 것을 써 본다.
makefilePDF=pygments.pdf kate.pdf monochrome.pdf espresso.pdf zenburn.pdf haddock.pdf tango.pdf
PANDOCOPT=--latex-engine=lualatex -V documentclass=ltjarticle -V geometry:margin=1in
all: $(PDF)
%.pdf: test.md
pandoc $< -s -o $@ --highlight-style=$* $(PANDOCOPT)
.PHONY: clean
clean:
rm -f $(PDF)
입력이되는 test.md
를 각 색상 구성표로 PDF로 변환하는 샘플입니다.
pygments
디폴트는 pygments
로, 이런 느낌이 된다.
해외에 그런 블로그
비교적 좋은 느낌이지만, 배경색이 없기 때문에 코드 블록의 단락을 알기 어렵다.
케이트
kate
그렇다면 이런 느낌이 된다.
문자열이 붉게 눈에 띄는 대신, for
이나 if
등의 예약어가 검게 되어 있네요.
monochrome
monochrome
는 말 그대로 흑백.
breezeDark
breezeDark
는, 배경색이 검은색이 되어, 색도 독특한 느낌.
espresso
espresso
는 그 이름대로, 배경색이 커피 같은 색으로 되어 있다. 색도 조금 억제할까.
zenburn
zenburn
심지어 배경은 검은 색입니다. 색상은 창백한 느낌.
haddock
haddock
배경색은 흰색입니다. 예약어가 푸른다는 것은 어쩐지 익숙해져 있는 것 같다.
tango
tango
는 haddock
와 비슷하지만 배경색이 밝은 회색으로되어 있습니다. 이에 따라 예약어의 색도 조금 겸손하게. 반대로 숫자 등의 리터럴이 조금 눈에 띈다.
요약
Pandoc에 의한 코드 블록의 색 구성표를 정리했다. 개인적으로는 tango
를 좋아할까. 「문서를 무엇으로 쓸까」는 대단히 번거롭고, 그러한 의미에서는 다양한 포맷간의 변환을 할 수 있는 Pandoc는 편리하네요.
Reference
이 문제에 관하여(Pandoc의 신택스 하이라이트 색 구성표), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kaityo256/items/01176b3c463ba45166f9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
# Fizz Buzzを書いてみる
数式はこちら。
$$
\textrm{Print} \quad
\begin{cases}
\textrm{FizzBuzz!} & \textrm{if} \quad i \bmod 15 =0 \\
\textrm{Fizz!} & \textrm{if} \quad i \bmod 3 =0 \\
\textrm{Buzz!} & \textrm{if} \quad i \bmod 5 =0 \\
i & \textrm{otherwise}
\end{cases}
$$
Pythonによるコード例はこちら。
```py
for i in range(1, 100):
if i % 3 is 0 and i % 5 is 0:
print("Fizz Buzz!")
elif i % 3 is 0:
print("Fizz!")
elif i % 5 is 0:
print("Buzz!")
else:
print(i)
```
pandoc test.md -s -o default.pdf --latex-engine=lualatex -V documentclass=ltjarticle -V geometry:margin=1in
PDF=pygments.pdf kate.pdf monochrome.pdf espresso.pdf zenburn.pdf haddock.pdf tango.pdf
PANDOCOPT=--latex-engine=lualatex -V documentclass=ltjarticle -V geometry:margin=1in
all: $(PDF)
%.pdf: test.md
pandoc $< -s -o $@ --highlight-style=$* $(PANDOCOPT)
.PHONY: clean
clean:
rm -f $(PDF)
Pandoc에 의한 코드 블록의 색 구성표를 정리했다. 개인적으로는
tango
를 좋아할까. 「문서를 무엇으로 쓸까」는 대단히 번거롭고, 그러한 의미에서는 다양한 포맷간의 변환을 할 수 있는 Pandoc는 편리하네요.
Reference
이 문제에 관하여(Pandoc의 신택스 하이라이트 색 구성표), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kaityo256/items/01176b3c463ba45166f9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)