9

私は OS X で Pandoc を試していますが、これまでの結果は印象的です。ただし、インライン コード サンプルで CSS スタイルを機能させるには、ブロックの問題が 1 つあります。Markdown から PDF に変換しています。

ソースに次の文字列があります。

* Create a simple HTML document (<span class="filename">simple.html</span>) and load it into the browser via the file system

私もこれを試しました:

* Create a simple HTML document (`simple.html`{.filename}) and load it into the browser via the file system

それぞれの場合にクラス「ファイル名」を同封のテキストに適用したいのですが、出力に何もしないようです。ただし、マニュアルには次のように記載されています。

一部の出力形式では、この情報を使用して構文の強調表示を行うことができます。現在、この情報を使用する出力形式は HTML と LaTeX のみです。

これが私のコマンドです:

pandoc \
    --output ./output.pdf \
    --css source/styles.css \
    source/en/docs/input.md

内部的に Pandoc が LaTeX で書いた PDF に変換しています。これを機能させることはできますか?または、LaTeX コマンドを使用して定義されたスタイルを使用できますか? - CSS である必要はありません。ただし、これはスタイル システムでなければなりません。イタリック体/フォント/色の属性を毎回変更することはできません。

出力を一時的に HTML に送信しようとしましたが、その場合、スタイルは特定のスタイル アセットから直接インポートされます。したがって、少なくとも 1 つの出力形式については、私のスタイルシート仕様とスパン マークアップは正しいです。

補遺

後付けのカップル:

  • ソリューションは Pandoc や Markdown である必要はありません。ただし、フォークとマージを簡単にするためにドキュメント ファイルを Git に保存したいので、確実に PDF に変換できる簡単なテキストベースのマークアップ言語である必要があります。HTML は冗長であるためあまり好きではなく、HTML を変換するエンジンもそれほど優れていません (ただし、確かに、私のフォーマット要件は控えめです)。
  • Pandoc からの HTML 出力は問題ないので、(単純な) HTML/CSS を確実に PDF に変換するものを見つけることができれば、問題ありません。もちろん、Pandoc はこれを実行できるはずですが、インライン スタイル (コード フラグメントの背景色) はレンダリングされません。HTML から PDF へのコンバーターでは重要な改ページなどを再導入する必要があるため、これは失敗かもしれません。
4

2 に答える 2

2

「それぞれのケースで、囲まれたテキストにクラス「ファイル名」を適用したいのですが、出力には何も起こらないようです。」

HTMLで動作します。Pandoc をインタラクティブに実行^Dして、結果のコードを確認します。

$>  pandoc -f markdown -t html

* Create a simple HTML document (`simple.html`{.filename}) and load it.

^D

<ul>
<li>Create a simple HTML document (<code class="filename">simple.html</code>) and load it.</li>
</ul>

.filenameクラスを使用すると、LaTeX では機能しません。既知のクラス名のいずれかを使用する必要があります。

$>  pandoc -f markdown -t latex

* Create a simple HTML document (`simple.html`{.filename}) and load it.

^D

\begin{itemize}
\tightlist
\item
  Create a simple HTML document (\texttt{simple.html}) and load it.
\end{itemize}

、、、などの既知のクラス名のいずれかを使用します。.bash.postscript.php

$>  pandoc -f markdown -t latex

* Create a simple HTML document (`simple.html`{.bash}) and load it.

^D

\begin{itemize}
\tightlist
\item
  Create a simple HTML document (\VERB|\KeywordTok{simple.html}| and
  load it.
\end{itemize}

HTML + CSS を PDF に変換するには、非営利目的で無料で使用できるPrinceXMLも参照してください。

于 2015-07-05T13:02:14.460 に答える
1

LaTeX についてはまったく知りませんが、この役立つマニュアルを使用してこのソリューションをハックしました。まず、スタイルを作成します。

\definecolor{silver}{RGB}{230,230,230}

\newcommand{\inlinecodeblock}[1]{
    \colorbox{silver}{
        \texttt{#1}
    }
}

そして、これを使用する方法は次のとおりです。

Some \inlinecodeblock{inline code}, and some widgets, go here

これにより、背景色と等幅フォントのスタイルが作成されます。マージンとパディングは私の好みでは少し大きいですが、非常に使いやすいスタートです。外観は次のとおりです。

インライン書式設定のスクリーンショット

欠点は、適切なスタイル (HTML など) をサポートする形式に出力したい場合、これらが失われることです。また、私のソリューションは LaTeX/PDF でのみ機能します。したがって、これらの問題を修正できる場合は、より良い回答を追加してください。


補遺:私はより良いアプローチを持っています。

\newcommand{\inlinecodeblock}[1]{
    \fboxsep 1pt
    \fboxrule 0pt
    \colorbox{silver}{\strut{\texttt{#1}}}
}

colorboxこれにより、余分な水平パディングの問題が回避されます-それを行ったのはパラメーターの改行だったと思います。strutテキストにディセンダーがあるかどうかに関係なく、ハイライトを同じ高さに保つ を追加しました。

ただし、これは完全ではありません。ボックスの外側にはまだ水平方向のマージンが多すぎます。また、ボックスの後のコンマは、次の行に孤立します。LaTeX をあきらめて、Pandoc から HTML にレンダリングし、それを使用wkhtmltopdfして最終的なドキュメントをレンダリングするかもしれません。

于 2013-07-27T21:50:39.650 に答える