Weave.jl을 사용하면 Julia + Markdown → PDF, HTML을 할 수 있습니다!
Weave.jl이란 무엇입니까? &이 기사를 통해 할 수있는 일
Weave.jl은
라는 특징이 있는 패키지입니다. Markdown과 Julia의 융합입니다! (어휘력)
대학의 보고서, 세미나의 자료와 자신의 생각을 정리한다. . . 등 용도가 떠오르네요!
Weave.jl을 작성할 때,
는 쓸 수 있다(쓰는 방법을 알고 있는 & 쓰는 방법을 조사할 수 있다)라고 하는 전제로 진행합니다.
환경
VSCode에서 편집하고 있습니다.
VSCode의 Julia 환경 구축에 대해서는 이 기사 등을 참조하십시오.
VSCode의 확장 기능은
넣고 있습니다.
mac ↓
macOS Catalina
julia ↓
julia> versioninfo()
Julia Version 1.4.2
Commit 44fa15b150* (2020-05-23 18:35 UTC)
Platform Info:
OS: macOS (x86_64-apple-darwin18.7.0)
CPU: Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-8.0.1 (ORCJIT, skylake)
Environment:
JULIA_EDITOR = "/Applications/Visual Studio Code.app/Contents/Resources/app/bin/code"
JULIA_NUM_THREADS =
흐름
1. jmd 파일
브라우저에서 .jmd
확장자 파일을 준비합니다. (jmd는 아마, julia+markdown이겠지...)
준비한 .jmd
파일에 다음과 같이 설명합니다.
코드가 쓰여 있는 부분을 보면 sin(x) 그래프에 cos(x) 그래프를 겹치는 코드군요. 이와 같이, 3개의 그레이브 악센트(`)로 둘러싸인 개소에 코드를 써 갑니다. 출력시에는이 부분에 쓰여진 코드가 실행됩니다.
이것을 출력합시다.
2. 실행을 위한 .jl 파일
그런 다음 실행을 위해 .jl
파일을 준비합니다. 나는 .jmd
와 같은 디렉토리에 있었지만 나중에 상대 경로를 넣기 때문에 문제는 없습니다. 준비한 .jl
파일에는 목적에 따라 다음과 같은 코드를 씁니다.
jmd → HTML을 원하는 사람
demo.jlusing Weave
#相対パスを入力
filename = normpath("demo.jmd")
weave(filename , out_path = :pwd , doctype = "md2html")
jmd → pdf를 원하는 사람
demo.jlusing Weave
#相対パスを入力
filename = normpath("demo.jmd")
# 英語のみでいいとき
weave(filename , out_path = :pwd , doctype = "md2pdf")
# 日本語を出力したいとき
weave(filename , out_path = :pwd , doctype = "md2pdf" , template="julia_tex.tpl")
여기서 pdf 변환의 코드에 나온 julia_tex.tpl
에 대해서, 이것은 일본어 대응을 위한 파일입니다. .jl
파일과 동일한 디렉토리에 둡니다. 내용은 다음과 같습니다. (쿠로키 씨가 쓴 코드입니다. 여기)
julia_tex.tpl%%
%% Taken from
%% https://github.com/JunoLab/Weave.jl/blob/master/templates/julia_tex.tpl
%%
%% I've applied GenKuroki-san's patch
%% https://gist.github.com/genkuroki/479a1fec113035f05c661675eee8b830
%%
% \documentclass[12pt,a4paper]{article}
\documentclass[12pt,a4paper,xelatex,ja=standard]{bxjsarticle}
% \usepackage[a4paper,text={16.5cm,25.2cm},centering]{geometry}
\geometry{top=1cm, bottom=1cm, left=2cm, right=2cm}
\usepackage{lmodern}
\usepackage{amssymb,amsmath}
\usepackage{bm}
\usepackage{graphicx}
\usepackage{microtype}
\usepackage{hyperref}
\setlength{\parindent}{0pt}
\setlength{\parskip}{1.2ex}
\hypersetup
{ pdfauthor = { {{{:author}}} },
pdftitle={ {{{:title}}} },
colorlinks=TRUE,
linkcolor=black,
citecolor=blue,
urlcolor=blue
}
{{#:title}}
\title{ {{{ :title }}} }
{{/:title}}
{{#:author}}
\author{ {{{ :author }}} }
{{/:author}}
{{#:date}}
\date{ {{{ :date }}} }
{{/:date}}
{{ :highlight }}
\begin{document}
{{#:title}}\maketitle{{/:title}}
\tableofcontents
{{{ :body }}}
\end{document}
3. 실행
그렇다면 여기까지 설명이 끝나면 실행해 봅시다. VSCode에서는 shift + Enter
에서 Julia REPL이 움직입니다. 실행이 성공하면 HTML로 변환한 사람은 HTML 파일, pdf로 변환한 사람은 pdf 파일이 디렉토리에 생성됩니다. pdf 변환 후 이런 느낌 ↓ (이어서 실행 한 HTML 파일도 있습니다)
어때요, 대단하네요! ! (콧숨)
제대로 실행된 상태로 pdf로 변환되어 주었어요. HTML로 변환한 사람도 브라우저에서 열어 주면 제대로 표시됩니다. 후 이것 GitHub에 올려 공개할 수 있겠네요, 강하다.
4. HTML의 일본어 대응 문제
기사의 끝에, 아직 접하고 있지 않은 「HTML의 일본어 대응화」에 대해 씁니다. 이것은 더 이상 HTML 파일을 직접 편집하는 것이 빠릅니다. 편집기에서 HTML 파일을 열고 두 번째 줄에 있습니다.
demo.html<HTML lang = "en">
을
demo.html<HTML lang = "ja">
다시 작성해 드리겠습니다. 간단 간단.
마지막으로
여기까지 읽어 주셔서 감사합니다. 꼭 시도해보십시오.
Weave.jl을 사용하여 여러 가지 일을 할 수 있을 것 같네요, 저도 상상이 작동합니다.
여기까지 도착하기 위해서 참고로 한 것은 기사내 링크로 임베드해 주셨습니다. 감사합니다.
더 똑똑하게 쓰는 기사는 여기입니다.
Reference
이 문제에 관하여(Weave.jl을 사용하면 Julia + Markdown → PDF, HTML을 할 수 있습니다!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/MizutoKadowaki0312/items/2d248db7e86de39c5918
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
using Weave
#相対パスを入力
filename = normpath("demo.jmd")
weave(filename , out_path = :pwd , doctype = "md2html")
using Weave
#相対パスを入力
filename = normpath("demo.jmd")
# 英語のみでいいとき
weave(filename , out_path = :pwd , doctype = "md2pdf")
# 日本語を出力したいとき
weave(filename , out_path = :pwd , doctype = "md2pdf" , template="julia_tex.tpl")
%%
%% Taken from
%% https://github.com/JunoLab/Weave.jl/blob/master/templates/julia_tex.tpl
%%
%% I've applied GenKuroki-san's patch
%% https://gist.github.com/genkuroki/479a1fec113035f05c661675eee8b830
%%
% \documentclass[12pt,a4paper]{article}
\documentclass[12pt,a4paper,xelatex,ja=standard]{bxjsarticle}
% \usepackage[a4paper,text={16.5cm,25.2cm},centering]{geometry}
\geometry{top=1cm, bottom=1cm, left=2cm, right=2cm}
\usepackage{lmodern}
\usepackage{amssymb,amsmath}
\usepackage{bm}
\usepackage{graphicx}
\usepackage{microtype}
\usepackage{hyperref}
\setlength{\parindent}{0pt}
\setlength{\parskip}{1.2ex}
\hypersetup
{ pdfauthor = { {{{:author}}} },
pdftitle={ {{{:title}}} },
colorlinks=TRUE,
linkcolor=black,
citecolor=blue,
urlcolor=blue
}
{{#:title}}
\title{ {{{ :title }}} }
{{/:title}}
{{#:author}}
\author{ {{{ :author }}} }
{{/:author}}
{{#:date}}
\date{ {{{ :date }}} }
{{/:date}}
{{ :highlight }}
\begin{document}
{{#:title}}\maketitle{{/:title}}
\tableofcontents
{{{ :body }}}
\end{document}
<HTML lang = "en">
<HTML lang = "ja">
Reference
이 문제에 관하여(Weave.jl을 사용하면 Julia + Markdown → PDF, HTML을 할 수 있습니다!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/MizutoKadowaki0312/items/2d248db7e86de39c5918텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)