2017-11-24 28 views
1

나는 pandoc을 사용하여 TeX 개 파일을 개 파일 (JeKyll과 함께 사용)로 변환하고 있습니다.판도 : tex에서 html 로의 완벽한 통과?

나는 HTML에서, 어떤 변경없이, 직접이 생존하는 방법으로 파일로 변환을 일부 원시 블록을 삽입 할.

예를 들어, 나는 이런 식으로 뭔가를 추가 할 수 있습니다 :

{% highlight python %} 
def func(ok): 
    return ok 
{% endhighlight %} 

내가 에서이 작업을 수행 할 수는 {=html}를 사용하여 HTML 메릴랜드,하지만를 TeX->에 대해 부분 메릴랜드 ?

+1

필자는 이것을 자동화하기 위해 pandoc 필터를 작성할 수 있다고 생각하지만, 일단 TeX을 markdown으로 변환 한 다음 markdown을 수정 한 다음'jekyll' 또는'jekyll-pandoc'을 사용하여 HTML을 생성하는 것이 좋습니다. .. – mb21

+0

@ mb21 좋아,하지만 tex-> md 변환에서 원시 블록을 잃어 버린다. 그것은 주된 문제입니다. 판독 필터가 필요한가요? 더 쉬운 방법이 있습니까? – Kiuhnm

+0

LaTeX에 원시 HTML이 있습니까? 나는 이해하지 못한다 ... 라텍스 엔진으로 컴파일하지 않을 것이다 ... – mb21

답변

2

@ mb21은 알레 데이가 지적한대로 필터를 사용해야합니다.

\begin{verbatim} 
%%%HTML 
<aside>Embedding raw HTML can be helpful</aside> 
\end{verbatim} 

Pandoc가 정상으로 이것을 읽습니다 :

는 당신은 너무 좋은 방법과 같이, 특별히 표시 그대로 환경을 사용하는 것, 입력 문서가 유효 유액을 유지하려면 아마 것

코드 블록은, 그러나 우리는 원시 HTML 블록으로 변환 필터를 사용할 수 있습니다

function CodeBlock(cb) 
    local rawHtml = cb.text:match('^%s*%%%%%%HTML\n(.*)') 
    if rawHtml then 
    return pandoc.RawBlock('html', rawHtml) 
    end 
end 

는 파일에 위의 내용을 저장하고 pandoc의 --lua-filter 옵션의 인수로 사용합니다.

+0

코드에서 '축 어적 (verbatim)'에 대한 참조가 없습니다. 더 깨끗한 방법이 있습니까? 예를 들어,'\ begin {my_special_block}'을 사용하고 루아 코드에서 그것을 잡을 수 있습니까? – Kiuhnm

+0

나는 유능한 라텍스가 아니란 걸 잊어 버렸지 만'\ newenvironment'을 사용할 수있다. – Kiuhnm

+1

라텍스를 파싱 할 때'raw_tex' pandoc 확장을 사용할 수 있으며, * 모든 * 환경과 pandoc에 알려지지 않은 명령을 원시 라텍스 블록으로 변환한다. 그런 다음 lua를 사용하여 이러한 원시 블록의 내용을 구문 분석 할 수 있습니다. 이것은 아마도 위와 같은 "축 어적"환경의 사용보다 훨씬 더 복잡해질 것입니다. – tarleb