LaTeX를 웹페이지에 삽입하는 가장 좋은 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/116054

  •  02-07-2019
  •  | 
  •  

문제

LaTeX 문서를 html로 변환하는 것에 대해 묻는 것이 아닙니다.

내가 할 수 있기를 원하는 것은 HTML 문서에서 LaTeX 수학 명령을 사용하고 브라우저에 올바르게 표시되도록 하는 것입니다.이는 서버 측이나 클라이언트 측에서 수행될 수 있습니다.

도움이 되었습니까?

해결책

MediaWiki는 당신이 찾고 있는 것을 할 수 있습니다.Texvc(http://en.wikipedia.org/wiki/Texvc) "(AMS) 라텍스 수학적 표현을 검증하고 HTML, MATHML 또는 PNG 그래픽으로 변환합니다." 당신이 찾고있는 것 같네요.

여기에서 수학 방정식을 처리하는 방법에 대한 Wikipedia의 기사를 확인하세요. http://en.wikipedia.org/wiki/Help:공식.또한 LaTeX에 대한 광범위한 참조와 다양한 렌더링 유형(PNG/MathML/HTML)의 장단점도 있습니다.

MediaWiki는 수학 공식을 위해 Latex 및 AMS-Latex의 일부 확장을 포함하여 Tex Markup의 하위 집합을 사용합니다.사용자 기본 설정 및 표현식의 복잡성에 따라 PNG 이미지 또는 간단한 HTML 마크 업을 생성합니다.앞으로 더 많은 브라우저가 더 똑똑하기 때문에 많은 경우 강화 된 HTML 또는 MathML을 생성 할 수있을 것입니다.(MathML 지원 추가에 대한 현재 작업에 대한 정보는 Blahtex를 참조하십시오.)

보다 정확하게는 MediaWiki는 TEXVC를 통해 마크 업을 필터링하여 실제 렌더링을 위해 TEX에 명령을 전달합니다.따라서 전체 TEX 언어의 제한된 부분 만 지원됩니다.자세한 내용은 아래를 참조하세요....

HTML의 장점

  • 인라인 HTML 공식은 항상 나머지 HTML 텍스트와 제대로 정렬됩니다.
  • 공식의 배경, 글꼴 크기 및 얼굴은 나머지 HTML 컨텐츠와 일치하며 외관은 CSS 및 브라우저 설정을 존중합니다.
  • HTML을 사용하는 페이지는 더 빠르게 로드됩니다.

TeX의 장점

  • TeX은 의미상 HTML보다 우수합니다.Tex에서 "x"는 "수학적 변수 x"를 의미하는 반면 HTML "X"는 무엇이든 의미 할 수 있습니다.정보는 돌이킬 수 없을 정도로 손실되었습니다.여기에는 여러 가지 이점이 있습니다.
    1. TeX는 HTML로 변환될 수 있지만 그 반대는 불가능합니다.이는 서버 측에서 텍스트 내의 복잡성과 위치, 사용자 기본 설정, 브라우저 유형 등에 따라 공식을 항상 변환 할 수 있음을 의미합니다.따라서 가능한 경우 TEX의 이점과 함께 HTML의 모든 이점을 유지할 수 있습니다.현재 상황이 이상적이지 않다는 것은 사실이지만 정보/내용을 삭제 해야하는 좋은 이유는 아닙니다.상황을 개선하는 데 도움이되는 더 많은 이유입니다.
    2. Tex는 지원하는 브라우저의 경우 MathML로 변환하여 의미론을 유지하고 벡터로 렌더링 할 수 있습니다.
  • Tex는 조판 공식을 위해 특별히 설계되었으므로 입력이 더 쉽고 자연스럽고 출력이 더 미적으로 유쾌합니다.
  • Tex에 글을 쓸 때 편집자는 서버의 이미지로 렌더링되므로 브라우저 지원에 대해 걱정할 필요가 없습니다.반면에 HTML 공식은 일부 브라우저 나 이전 버전의 브라우저에 의해 편집자의 의도 (또는 전혀 아님)와 일관성이 없어 질 수 있습니다.

다른 팁

나는 선호한다 MathJax 이미지 렌더링을 선택하는 솔루션(앨리어싱 문제 발생)에 비해

MathJax는 수학을 위한 오픈 소스 Javascript 렌더링 엔진입니다.이미지나 플래시 대신 CSS와 웹폰트를 사용하고 LaTeX나 MathML을 렌더링할 수 있습니다.이렇게 하면 확대/축소에 문제가 없으며 스크린리더와도 호환됩니다.

나는 실제로 다음과 같은 작업을 수행하는 jQuery 플러그인을 개발한 적이 있습니다. jsLaTeX

사용 방법에 대한 가장 간단한 예는 다음과 같습니다.

$(".latex").latex();


<div class="latex">  
    \int_{0}^{\pi}\frac{x^{4}\left(1-x\right)^{4}}{1+x^{2}}dx =\frac{22}{7}-\pi  
</div>

위의 내용은 페이지에 다음 LaTeX 방정식을 생성합니다.

Equation

그만큼 데모 페이지 플러그인에는 더 많은 코드 예제와 데모가 포함되어 있습니다.

수학을 이미지로 삽입하려면 다음을 살펴보세요. MathTran.

페이지에 주로 텍스트로 수학을 삽입하려는 경우(필요한 경우에만 이미지 사용), jsMath 당신이 찾고 있는 것일 수도 있습니다.

역사적으로 LaTeX를 렌더링하고 이미지를 추출하는 것은 크로스 플랫폼, 크로스 브라우저 수학 작업에 가장 적합한 방법이었습니다.점점 더 MathML이 합리적인 대안이 되고 있습니다. 여기 Tex 마크업에서 MathML을 내보내 웹페이지에 삽입할 수 있는 온라인 변환기입니다.나는 Firefox와 Camino와 같은 Gecko 기반 브라우저가 Opera와 마찬가지로 MathML과 잘 작동한다는 것을 알고 있습니다.IE는 기본적으로 작동하지 않지만 사용 가능한 플러그인이 있습니다(예: 이 하나).

Texvc는 훌륭한 발견입니다!위 첨자/아래 첨자/이탤릭체/공통 기호에 주로 관심이 있다면 바닐라 HTML 출력이 잘 작동할 것입니다. 그러나 더 복잡한 것에 대해서는 가장 인기 있는 수학 중심 사이트(예: 볼프람) 이미지를 생성하므로 브라우저 간 호환성에 관심이 있는 경우 할 수 있는 일이 너무 많을 수 있습니다. :-(

나는 여기에서 모든 답변을 읽었으며 PDF에서 HTML로의 변환에 대해 아무도 언급하지 않았다는 사실에 놀랐습니다.당신이 사용하는 경우 pdf2htmlEX 그럴 것이다 PDF로 완벽한 웹페이지 만들기.라텍스를 pdf(pdflatex)로 컴파일하기만 하면 됩니다.

기본적으로 CSS, javascript 및 html로 만들어진 PDF 내용이 포함된 단일 html 파일을 생성합니다.나는 라텍스를 html로 변환하기 위해 많은 도구를 시도했는데 이것이 단연 최고입니다. 내가 찾은 가장 좋고 쉬운 솔루션.

당신은 시도해 볼 수 있습니다 LaTex렌더러.그것이 최선인지는 모르겠지만 효과가 있습니다.

나는 이것을 직접 조사하기 시작했고 상황이 발전한 것 같습니다.나는 우연히 만났다 이것 비교 데모 케이텍스 그리고 MathJax.


긴 이야기는 짧게 (이 글을 쓰는 시점에서):

  • 행렬 내부의 분수는 KaTeX에서 서로 충돌하지만 MathJax에서는 충돌하지 않습니다("교차곱" 참조).
  • 제곱근(또는 n번째 루트) 기호 내부에서 지수와 중첩된 제곱근이 수평 상단 선에 맞춰 올라가는 것처럼 보입니다("반복 분수" 및 "n번째 루트" 참조).
  • MathJax는 약간 더 굵고 큰 글꼴을 갖고 있으며 KaTeX는 약간 더 가늘습니다.

그러나 아마도 가장 결정적인 것은 페이지에 대한 전체 MathJax 처리가 평균적으로 1674ms 세 번의 실행 동안.대조적으로, KaTeX는 평균 128ms, 이는 훨씬 더 좋습니다!


각 웹사이트를 살펴볼 때 고려해야 할 몇 가지 다른 비교 사항이 있습니다.

  • KaTeX 메인 웹사이트는 LaTeX의 전부는 아니지만 대부분을 지원한다고 주장합니다.지원되는 기능을 나열합니다. 여기.MathJax는 그 중 일부를 표현합니다. 한계 또한.결국 "더 나은" 지원을 받는 사람들을 빠르게 훑어보는 것만으로는 알기 어렵습니다.내가 본 일부 블로그에서는 KaTeX의 지원이 적다고 말하고 있지만 다른 블로그에서는 KaTeX가 최근 몇 년 동안 지원이 크게 향상되었다고 말했습니다.
  • MathJax 웹사이트는 입력과 출력 모두에 대한 MathML 지원을 광고합니다.일부 KaTeX 문제 깃허브 대지 여기 그리고 여기 출력에는 MathML을 지원하지만 입력에는 지원하지 않음을 나타냅니다. (나는 MathML에 대해 잘 모르지만 적어도 시각 장애가 있는 사용자를 돕고 싶다면 중요해 보입니다.)
  • KaTeX 렌더링 동기적으로, 그래서 페이지를 리플로우하지 않습니다(페이지를 더 빠르게 만드는 것의 일부).그러나 그 대가로 브라우저를 일시적으로 잠급니다.
  • StackOverflow는 MathJax의 파트너입니다(참조: 여기).에 사용됩니다 일부 페이지 로드 시간 성능으로 인해 StackOverflow 자체에는 없지만 StackExchange 사이트.반면 KaTeX는 Kahn Academy에서 개발했습니다.

당신이 찾고 있는 것에 맞는다면 MathML을 보도록 권하고 싶습니다. JsTeX 당신에게 필요한 모든 것을 줄 수 있습니다.

당신이 사용할 수있는 tex2gif.LaTeX 스니펫을 가져와 LaTeX를 실행하고 PNG(또는 GIF)를 생성합니다.삽입하기 쉽고 스크립트 작성도 쉽습니다.그것은 나를 위해 작동합니다.

당신은 또한 확인할 수 있습니다 tex2png.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top