pandocを使用してマークダウンの図を参照するにはどうすればよいですか?


100

私は現在マークダウンでドキュメントを書いており、テキストから画像への参照を作成したいと思います。

this is my text, I want a reference to my image1 [here]. blablabla

![image1](img/image1.png)

マークダウンをpdfに変換した後、画像が1〜2ページ後に配置され、ドキュメントが意味をなさないため、この参照を行います。

更新:

私はその投稿ライアンの答えを試しましたが、それを機能させることはできません。どうやらコード:

[image]: image.png "Image Title" 
![Alt text][image] 
A reference to the [image](#image).

生成する必要があります:

\begin{figure}[htbp] 
\centering 
\includegraphics[keepaspectratio,width=\textwidth,height=0.75\textheight]{i mage.png} 
\caption{Alt text} 
\label{image} 
\end{figure} 

A reference to the image (\autoref{image}).

代わりに、私は入手します:

\begin{figure}[htbp]
\centering
\includegraphics{image.png}
\caption{Alt text}
\end{figure}

A reference to the \href{\#image}{image}.

私は2つの問題に気づきました:

  • \label{image} 表示されません。参照は作成されません。
  • (\autoref{image})なる\href{\#image}{image}:交差参照が検出されません。

そして、それをpdfに変換すると、明らかに画像にリンクしません。リンクはありますが、何にもリンクしていません。

どんな助けでも大歓迎です!!


1
groups.google.com/group/pandoc-discuss/msg/4a42442657a96414に記載されている方法を試しましたか?
NN

私はそれをテストしました、そしてそれはautorefを作り出しません。奇妙な...
ロメインピエル

たぶんあなたはあなたが試したもの、あなたが得たもの、そしてあなたが欲しいものを含めるためにあなたの質問を編集するべきです(あなたを助けるのがより簡単になるでしょう)。
NN

回答:


95

パンドックではあなたも行うことができます:

![This is the caption\label{mylabel}](/url/of/image.png)
See figure \ref{mylabel}.

41
これは、TeXに変換する場合にのみ役立ちますが、同じMarkdownソースからHTMLを作成する場合にも役立ちません。
ジェイコブ

12
すべての出力形式pandoc-fignospandoc-crossrefで
joelostblom '26

残念ながら、これは非常に柔軟な方法ではありません。この方法で画像の幅または高さを指定することはできません。そのようにPDFを含めることは可能ですか?そうでない場合は、PDFの出力ケースとして望ましいため、これもマイナス面になります。
Zelphir Kaltstahl 2016

2
使用して幅と高さを設定することが可能である:![This is the caption\label{mylabel}](/url/of/image.png){width=30px height=20px}
サム・ウォルポール

24

図の番号付けと参照には、pandoc-fignosフィルターを使用できます。LaTeXだけでなく、あらゆる出力フォーマットで動作します。

次のように、画像の属性にラベルを追加します。

 ![Caption.](image.png) {#fig:description}

...そして、次のように図を参照します。

 @fig:description

pandoc-fignosフィルターをインストールして適用する方法については、Webページに記載されています。方程式で同じ種類のことを行うためのpandoc-eqnosフィルターもあります。



18

同様の投稿で彼の回答を読んだ後、ライアングレイとチャットしました。実際に使用する彼の解決策:

[image]: image.png "Image Title" 
![Alt text][image] 
A reference to the [image](#image).

マルチマークダウンを使用する場合にのみ適応されます。

pandocに関しては、相互参照を作成する唯一のソリューションは、latexキーワードを直接使用することです。

[image]: image.png "Image Title"
![Alt text \label{mylabel}][image]
See figure \ref{mylabel}.

5
しかし、Jakobが認められた答えで言ったように、「これはTeXに変換する場合にのみ役立ちますが、同じMarkdownソースからHTMLを作成する場合にも役立ちません。」
DanielTuzes 2015年

マルチマークダウンの場合、自動的に計算された図番号を使用して図を参照する方法はありますか?[](#image)のようなものを想像して、multimarkdownが空白のテキストを数字に置き換えます(脚注の場合と同様)。
アレックジェイコブソン

4

Pandocはセクションの参照をサポートします(接頭辞がセクション識別子による#)。

この未解決の問題に関するコメントは、次の回避策がセクション識別子を活用してLaTeXおよびHTMLで画像参照を生成する方法を説明しています。

<div id="fig:lalune">
![A voyage to the moon\label{fig:lalune}](lalune.jpg)

</div>

[The voyage to the moon](#fig:lalune).

前の空行</div>は必須です。



2

最後にPandocのPDF出力が必要だと仮定します。

私が見つけた画像を挿入してその属性を変更するための最良のソリューションは次のとおりです。

\begin{figure}[H]
\includegraphics[width=0.25\textwidth, height=!]{images/path.png}
\centering
\caption{mycaption}
\end{figure}

と私のtemplate.latex中で:

\usepackage{wrapfig}
\usepackage{float}

他のソリューションでは、少なくとも標準のマークダウンでは、画像の幅または高さを指定できません。ただし、ドキュメントで使用する前に画像の出力サイズを構成する場合を除いて、本や紙のようなものでは図の寸法を指定することが不可欠です。その場合、画像の作成に使用するツールのさまざまな設定を処理する必要があります。

Matplotlibの場合は、PDFにエクスポートして、投稿したコードを使用することをお勧めします。これにより、物事を心配することなく、出力PDFでの画像の外観を構成する際に最高の画像品質と最高の柔軟性が得られます。


このすべてのラテックス構文は、マークダウンファイルに直接入りますか?
スピンアップ2016

@spinupはい。Pandocは、マークダウンファイルに埋め込まれたLatexのものを処理できます。別のアドバイス:Matplotlibからエクスポートする場合はPDFファイルとしてエクスポートします。このようにして、Pandoc / latexエンジンは画像品質を低下させず、PDFファイルをズームインまたはズームアウトしたときにピクセル化されたものではなく、スケーラブルな画像が得られます。
Zelphir Kaltstahl 2016

1

pandoc-のcrossRef次の構文を参照図を横断することができます:

![Caption](file.ext){#fig:label}

次に、引用構文に類似したテキスト内の図を参照して[@fig:label]コンパイルします--filter pandoc-crossref--filter pandoc-citeprocこれも使用している場合は、前に来る必要があります)。

たとえば\usepackage[font=small,labelfont=bf]{caption}でスタイルを制御できheader-includesます。


\listoffiguresラテックスで使用する場合の関連する巧妙なトリックは、このlua-filterです。これにより、図の凡例全体を図のリストに表示する代わりに、短いタイトルを設定できます。

![Caption](file.ext){#fig:label short-caption='my short caption'}

次にでコンパイルし--lua-filter short-captions.luaます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.