pandoc을 사용하여 마크 다운에서 그림을 참조하려면 어떻게해야합니까?


100

현재 마크 다운으로 문서를 작성 중이며 내 텍스트의 이미지를 참조하고 싶습니다.

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

![image1](img/image1.png)

마크 다운을 pdf로 변환 한 후 이미지가 한 두 페이지에 배치되고 문서가 의미가 없기 때문에이 참조를하고 싶습니다.

최신 정보:

그 게시물 에서 Ryan의 답변 을 시도했지만 작동하지 않습니다. 분명히 코드 :

[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}.

두 가지 문제를 발견했습니다.

  • \label{image} 나타나지 않음 : 참조가 생성되지 않습니다.
  • (\autoref{image})됩니다 \href{\#image}{image}: 상호 참조가 감지되지 않습니다.

그리고 그것을 pdf로 변환하면 분명히 이미지에 연결되지 않습니다. 링크가 있지만 링크는 없습니다.

어떤 도움이라도 대단히 감사하겠습니다!


1
groups.google.com/group/pandoc-discuss/msg/4a42442657a96414에 언급 된 방법을 사용해 보셨습니까 ?
NN

나는 그것을 테스트했으며 자동 참조를 생성하지 않습니다. 이상한 ...
로맹 피엘

시도한 내용,받은 내용 및 원하는 내용을 포함하도록 질문을 편집해야 할 수 있습니다 (더 쉽게 도움이되도록).
NN

답변:


95

pandoc에서는 다음을 수행 할 수도 있습니다.

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

41
이것은 TeX로 변환하는 경우에만 도움이되지만 동일한 Markdown 소스에서 HTML을 생성하려는 경우에는 도움이되지 않습니다.
Jakob

12
모든 출력 형식 pandoc-fignospandoc-crossref
joelostblom

불행히도 이것은 그렇게하는 매우 유연한 방법이 아닙니다. 이런 식으로 이미지의 너비 나 높이를 지정할 수 없습니다. 그런 식으로 PDF를 포함 할 수 있습니까? 그렇지 않으면 PDF에서 출력 케이스로 선호되기 때문에 단점도 될 것입니다.
Zelphir Kaltstahl

2
다음을 사용하여 너비와 높이를 설정할 수 있습니다.![This is the caption\label{mylabel}](/url/of/image.png){width=30px height=20px}
Sam Walpole

24

그림 번호 지정 및 참조에 pandoc-fignos 필터를 사용할 수 있습니다 . LaTeX뿐만 아니라 모든 출력 형식에서 작동합니다.

다음과 같이 이미지 속성에 라벨을 추가합니다.

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

... 다음과 같이 그림을 참조하십시오.

 @fig:description

pandoc-fignos 필터를 설치하고 적용하는 방법에 대한 정보는 웹 페이지에 있습니다. 방정식으로 같은 종류의 작업을 수행하기위한 pandoc-eqnos 필터 도 있습니다 .


난과 비슷한 일을하고 싶습니다 정렬 된 목록의 요소를 참조
DanielTuzes

18

비슷한 게시물에서 그의 답변 을 읽은 후 Ryan Gray와 채팅을 했습니다. 실제로 사용하는 그의 솔루션 :

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

멀티 마크 다운을 사용할 때만 적용됩니다.

pandoc과 관련하여 상호 참조를 만드는 유일한 솔루션은 직접 라텍스 키워드를 사용하는 것입니다.

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

5
그러나 Jakob이 수락 된 답변에서 말했듯이 "이는 TeX로 변환하는 경우에만 도움이되지만 동일한 Markdown 소스에서 HTML을 생성하려는 경우에는 도움이되지 않습니다."
DanielTuzes

멀티 마크 다운의 경우 자동으로 계산 된 그림 번호를 통해 그림을 참조하는 방법이 있습니까? [] (# image)와 같은 것을 상상하면 multimarkdown이 빈 텍스트를 숫자로 대체합니다 (각주처럼).
Alec Jacobson

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>이 필요합니다.


4
적절한 해결책, 즉 사진에 대한 식별자를 허용하는 pandoc markdown 구문확장이 마침내 진행 중입니다. 계속 지켜봐주세요 :)
Susanne Oberhauser

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에서 이미지가 어떻게 보일지 구성 할 때 최상의 이미지 품질과 최고의 유연성을 제공합니다.


이 모든 라텍스 구문이 마크 다운 파일로 바로 들어가나요?
spinup

@spinup 예. Pandoc은 마크 다운 파일에 포함 된 라텍스 항목을 처리 할 수 ​​있습니다. 또 다른 조언 : Matplotlib에서 내보낼 때 PDF 파일로 내보내기. 이런 식으로 Pandoc / 라텍스 엔진은 이미지 품질을 저하시키지 않으며 PDF 파일을 확대 및 축소 할 때 픽셀 화되는 것 대신 확장 가능한 이미지를 갖게됩니다.
Zelphir Kaltstahl

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 입니다. 이 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.