아름다운 수식을 커맨드 라인에서 만들어 내고 싶다!
하고 싶은 일
명령 줄에서 저하되지 않는 SVG 형식의 수식을 만들고 싶습니다. (PNG도 생성할 수 있습니다)
브라우저를 사용하여 온라인으로 TeX 표기법 수식을 이미징하는 웹 사이트가 이미 있습니다.
하지만 다음과 같은 문제가 있습니다.
따라서 아름다운 SVG 형식의 수식
에서 만드는 방법의 소개입니다.
설치
npm 에서 다음 명령을 사용하면
math2image
명령으로 설치할 수 있습니다. 명령으로 사용하기 때문에 -g
옵션으로 install 해 버립니다.npm install -g math2image
GitHub 리포지토리
GitHub : htps : // 기주 b. 이 m / n wtgck / th2
math2image
라는 이름으로 개발하고 있습니다.사용법
echo
를 사용하여 수식을 math2image
명령에 전달하면 SVG 이미지를 생성할 수 있습니다.echo "e^{i \pi} + 1 = 0" | math2image > euler_identity.svg
(Qiita는 SVG를 표시 할 수없는 것 같기 때문에 PNG입니다)
파이프로 수식을 전달할 수 있으므로 중간 파일 없이 SVG를 생성할 수 있습니다. SVG의 표준 출력에 낼 수 있으므로, 그것을 파이프 해 JPEG로 하는 등, 파이프를 연결해 다른 형식으로 변환하는 것도 가능할 것입니다.
다음과 같이 조금 복잡해질 수 있습니다.
echo "\sum_{n=0}^∞\frac{f^{(n)}(a)}{ n! }(x-a)^n" | math2image > taylor_series.svg
파일에서 만들기
아래 내용의
sample7.math.tex
를 준비해, (확장자는 무엇이든 OK입니다)sample7.math.tex
% (from: https://en.wikibooks.org/wiki/LaTeX/Mathematics)
f(n) =
\begin{cases}
n/2 & \quad \text{if } n \text{ is even}\\
-(n+1)/2 & \quad \text{if } n \text{ is odd}
\end{cases}
다음과 같이 실행하면
sample7.math.tex.svg
로 생성됩니다.math2image sample7.math.tex
지정된 파일 경로에 저장
파일명・파일 패스를 지정하고 싶을 때는
-o
옵션으로 지정으로 합니다. 다음 예제에서는 out/euler_identity.svg
에 저장됩니다.예
echo "e^{i \pi} + 1 = 0" | math2image -o out/euler_identity.svg
.png 형식으로 저장
--to-png
옵션과 --png-width=500
를 지정하면 투명 png로 깨끗하게 저장할 수 있습니다.예
echo "e^{i \pi} + 1 = 0" | math2image --to-png --png-width=500 > euler_identity.png
사용하는 기술
MathJax 을 이용하고 있습니다. MathJax는 Qiita의
```math
의 하이라이트 기능에서도 사용되고 있는 기능으로 TeX 기법의 수식을 브라우저(JavaScript 등)에서 생성할 수 있는 기술입니다.참고 : Qiita 수식 치트 시트 - Qiita
이 MathJax를 Node.js에서 사용하려면 mathjax-node을 사용합니다.
PNG 생성은 svg2png을 사용하고 있으며 내부에서는 PhantomJS에서 svg에서 PNG로 변환하는 것 같습니다. 2년 정도 전에 개발이 멈추고 있기 때문에, 가능한 한 파괴적인 변경을 하지 않고 다른 라이브러리에 이행할 수 있으면 좋겠습니다.
수식 이외도 생성할 수 있다!
MathJax로 생성할 수 있는 것이라면 무엇이든 생성할 수 있을 것이므로, 수식에 한정하지 않고 테이블(표)등도 생성 가능합니다.
보고 즐거운 MathJax에서 생성하는 아름다운 수식 사이트를 발견했습니다. 표라든지 교환 도식이었습니다.
math2image
하지만 사용할 수 있어야 합니다.Easy Copy MathJax
Reference
이 문제에 관하여(아름다운 수식을 커맨드 라인에서 만들어 내고 싶다!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nwtgck/items/b8f6d9d977245feb131f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)