asciidoctor-katex 사용

5260 단어 asciidoctor
개요
asciidoctor-katex로 대체적으로 공식적인 표시를 할 수 있기 때문에 참고입니다.
게다가 만인에게 추천할 만한 것이 아니다.(이 일은 마지막에 쓰시오.)
설치하다.
환경: Ubuntu 18, ruby 2.5.1 p57, Asciidoctor 1.5.8
$ gem install katex
$ gem install asciidoctor-katex
Activedoc 파일의 샘플
KaTeX에서 사용하는 초기화 코드입니다. 그러나 적어도 CLI (asciidoctor-asciidoctor-katex...) 가 실행된 느낌은 자동으로 깊이 들어가지 않습니다.
= KaTeX sample
:stem:

ifeval::["{backend}" == "html5"]
[pass]
++++
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css" integrity="sha384-BdGj8xC2eZkQaxoQ8nSLefg4AV4/AwB3Fj+8SUSo7pnKP6Eoy18liIKTPn9oBYNG" crossorigin="anonymous">
<script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.js" integrity="sha384-JiKN5O8x9Hhs/UE5cT5AAJqieYlOZbGT3CHws/y97o3ty4R7/O5poG9F3JoiOYw1" crossorigin="anonymous"></script>
<script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/contrib/auto-render.min.js" integrity="sha384-kWPLUVMOks5AQFrykwIup5lo0m3iMkkHrD0uJ4H5cjeGihAutqP0yW0J6dpFiVkI" crossorigin="anonymous"
    onload="renderMathInElement(document.body);"></script>
++++

endif::[]

== インライン数式
latexmath:[E=mc^{2}]

== 円の面積

[stem,latexmath]
++++
\begin{aligned}
\text{半円の面積} =
\dfrac{S}{2} & =\displaystyle\int_{-\frac{\pi}{2}}^{\frac{\pi}{2}} \sqrt{r^2 - r^2 \sin^2\theta}\cdot(r\cos\theta)d\theta \\
&=r^2 \displaystyle \int_{-\frac{\pi}{2}}^{\frac{\pi}{2}} \cos^2\theta d\theta
\end{aligned}
++++
명령행
$ asciidoctor --backend=html5 -r asciidoctor-katex -o katex.html katex.adoc
렌더링 결과

총결산
개인용 공식 노트 등 용도로ifdef를 넣을 수 있는데...이런 사람들은 단점의 영향이 적다고 느낀다.ifdef로 나누면 더 좋은 대체 방법을 찾을 때 환승도 쉽다.
  • asciidoctor-mathematical에 비해 설치가 간단
  • KaTeX를 매립해야 하는 Starter는 관리에 매우 번거롭다
  • 장점과 단점에 대한 상세한 설명
  • 프로젝트 비활성화
  • Contributer 혼자 있고 비활성 상태(최종 업데이트 4개월 전)
  • CLI는 코드를 초기화하는 데 있어서 완전하지 않고 점점 나아질 희망도 없고 적극적으로 사용할 상황도 아니다.
  • CLI도 표시할 수 있지만 공식적인 예를 들면 좋지 않아요.
    작성자는 Node입니다.js에 더 관심이 있을 수 있음(추측)
  • KateX에 사용할 코드를 삽입해야 하고 간단한 AsciDoc가 없는 문서 자체는 KateX에 의존하는 문서입니다.

  • MathJaX는 ifeval::["{backend}" == "html5"]에서 KaTeX용 코드를 분리하려고 해도 같은 백엔드여서 분리할 수 없습니다.-r asciidoctor-katex -a use-katex로서 ifdef::use-katex[] ~ endif::[]처럼 분리해야 한다.
  • 와 asciidoctor-mathematical의 비교
  • 설치하는 동안 asciidoctor-katex가 더 가볍다(차라리 asciidoctor-mathematical의 설치가 매우 간단하지 않다)
  • 에 나타난 asciidoctor-katex도 더 예쁘다(asciidoctor-mathematical이면 underbrace 등은 잘 보이지 않는다)
  • 오프라인 이용, asciidoctor-mathematical이 유리
  • ifdef 코드 예
    옵션 지정 예
    ifdef::use-katex[]
    [pass]
    ++++
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css" integrity="sha384-zB1R0rpPzHqg7Kpt0Aljp8JPLqbXI3bhnPWROx27a9N0Ll6ZP/+DiW/UqRcLbRjq" crossorigin="anonymous">
    <script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.js" integrity="sha384-y23I5Q6l+B6vatafAwxRu/0oK/79VlbSz7Q9aiSZUvyWYIYsd+qj+o24G5ZU2zJz" crossorigin="anonymous"></script>
    <script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/contrib/mhchem.min.js" crossorigin="anonymous"></script>
    <script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/contrib/auto-render.min.js" integrity="sha384-kWPLUVMOks5AQFrykwIup5lo0m3iMkkHrD0uJ4H5cjeGihAutqP0yW0J6dpFiVkI" crossorigin="anonymous"
            onload="renderMathInElement(document.body);"></script>
    ++++
    endif::[]
    
    KaTex로 표시할 때
    $ asciidoctor --backend=html5 -r asciidoctor/katex/treeprocessor -a use-katex -o katex.html katex.adoc
    
    MathJaX로 표시할 때
    $ asciidoctor --backend=html5 -o mathjax.html katex.adoc
    
    참고 자료
  • jirutka/asciidoctor-katex: Asciidoctor extension for converting ... -

  • KaTeX – The fastest math typesetting library for the web
    ->Installation에는 Starter template의 초기화 코드가 있음

  • Asciidoctor KaTeX 2
    안 해봤어.최근에 완성한 프로젝트인 것 같습니다.서버 사이트에 나타나는 방향.
  • 좋은 웹페이지 즐겨찾기