2

Pandoc によって docx に変換される次のような tex ファイルがあります。

\documentclass[12pt]{report}
\begin{document}
% latex table generated in R 3.0.1 by xtable 1.7-1 package
\begin{table}[!h]
\centering
\begin{tabular}{rlll}
  \hline
 & PIK3CA & APC & ALDH2 \\ 
  \hline
Detection point & 120\~{}121 & 102\~{}104 & 76\~{}78 \\ 
  Genotype & -/- & A/A & G/G \\ 
   \hline
\end{tabular}
\end{table}
\end{document}

Pandoc プログラム (v1.11.1) を使用して変換すると、docx コンテンツにこの余分な[!h]文字列が含まれますが、これは単なるテーブル配置パラメーターであるため、存在しないはずです。

[!h]
    PIK3CA  APC ALDH2
Detection point 120~121 102~104 76~78
Genotype    -/- A/A G/G

配置パラメーターとして使用すると、変換された docxに[ht][ht]の余分な文字列が含まれます。

それを避けるための提案はありますか?それとも、Pandoc がその瞬間に適切に処理できなかっただけですか?

4

1 に答える 1

0

さらに調査した結果、その背後にあるメカニズムを発見したと思います。

Pandocによる図と表のフローティングについての議論( Google グループと Pandocリリース ノート(ノート ページで「longtable」を検索)) によると、Pandoc は現在、テーブルの書式設定にlongtableを使用しており、実際にはlongtableはフローティングを行いません。これは、Pandoc が配置パラメータを受け入れないことを意味しますが、デフォルトでは R パッケージのxtableがパラメータを生成し[ht]ます。

したがって、knitr と一緒に xtable を使用し結果を docx に変換したい人は、配置パラメーターを削除して、生成された tex ファイルをハックする必要があります[ht]( Yihuiから採用されたコード)

    x = readLines('foo.tex')
    # remove any placement parameters generated by xtable
    x = gsub('(\\\\begin\\{table\\}).+', '\\1', x)
    # write the processed tex file back
    writeLines(x, 'foo.tex')
于 2013-07-18T06:05:56.753 に答える