Izinkan HTML mentah dalam kode LaTeX dengan Pandoc

1

Saya tahu memasukkan HTML mentah dimungkinkan dalam dokumen Markdown dengan Pandoc, jadi saya bertanya-tanya apakah ada cara untuk mengizinkannya dalam dokumen LaTeX.

Pandoc mengonversi lebih rendah dari dan lebih dari karakter ke entitas HTML saat disertakan dalam dokumen LaTeX (bahkan ketika di dalam kata demi kata). itu masuk akal tetapi bukan itu yang saya inginkan.

geoffrey
sumber
1
lepas dari karakter
var firstName
1
Itu tidak bekerja. Anda dapat mencobanya online di sini : karakter dihapus sama sekali.
geoffrey
Saya berharap seseorang akan bekerja bagaimana cara mendukung \begin{rawhtml}...\end{rawhtml}dengan pandoc.
peterjc

Jawaban:

0

Cara terbaik adalah dengan menggunakan verbatimlingkungan yang ditandai khusus , yang kemudian dapat diubah menjadi format target yang diinginkan melalui filter Lua . Misalnya, tambahkan %%%htmltag sebagai baris pertama dari lingkungan kata demi kata, lalu masukkan HTML yang ingin Anda pertahankan:

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

Pandoc akan membaca ini sebagai blok kode normal, tetapi kami ingin blok HTML mentah. Kami menggunakan filter, filter untuk mengonversinya:

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

Simpan di atas ke dalam file dan gunakan itu sebagai argumen dari --lua-filteropsi pandoc .

tarleb
sumber
1
Ini luar biasa! Saya perhatikan bahwa kata demi kata berperilaku seperti blok dan memiliki kecenderungan untuk menutup paragraf, yang tidak bagus ketika saya ingin memasukkan elemen sebaris dalam paragraf, tetapi sekarang saya tahu ke mana harus mencari, saya harus bisa menyelesaikannya sendiri. Saya kira saya juga dapat memodifikasi perilaku \ texttt.
geoffrey