LaTeX에서 두 그림을 같은 페이지에 유지하는 방법은 무엇입니까?


84

페이지에 그림으로 표시하고 싶은 이미지가 두 개 있습니다. 각각은 사용 가능한 공간의 절반 미만을 차지하므로 해당 페이지의 다른 항목을위한 공간이 많지 않지만 두 그림 모두에 충분한 공간이 있다는 것을 알고 있습니다. 나는 [ht]와 [hb], 둘 다 [h]와 둘 다 [ht]로 그림을 배치하려고했지만 여전히 나는 그 두 이미지를 같은 페이지에 넣을 수 없지만 그 사이에 최소한 몇 개의 단락을 넣을 수 있습니다.

두 그림을 같은 페이지에 유지하려면 어떻게해야합니까?


비슷한 질문은 최근 TeX.SX에 대한 질문을 받았다, 나는이 생각 대답 은 Using \afterpage명령이 가장 좋은 대답이다.
나는

답변:


140

하나의 Figure 환경에 두 개의 Figure를 넣을 수 있습니다. 예를 들면 :

\begin{figure}[p]
\centering
\includegraphics{fig1}
\caption{Caption 1}
\includegraphics{fig2}
\caption{Caption 2}
\end{figure}

각 캡션은 별도의 그림 번호를 생성합니다.


2
기억해야 할 좋은 대답입니다 :). 생각한 적은 없지만 깨끗해 보입니다. :).
bastijn

5
또 다른 가능성은 subfigure 패키지와 같은 그림 환경 내의 명령 \subfloat[Caption]{\includegraphics{file}}입니다.
Rupert Nash

11
비록 당신이 독립적으로 두 개의 서로 다른 수치를 라벨 \ 수없는 것
Mulone

1
이것이 최선 인 것 같아서 "정답"플래그를 변경했습니다.
Kusti

2
@Mulone- 환경 \label안에 넣으면 할 수있는 것 같습니다 \caption.
Chris

20

동일한 주제에 대한 이미지를 원하면 subfigure패키지 및 구성을 사용 합니다.

\begin{figure}
 \subfigure[first image]{\includegraphics{image}\label{first}}
 \subfigure[second image]{\includegraphics{image}\label{second}}
 \caption{main caption}\label{main_label}
\end{figure}

예를 들어 두 개의 다른 이미지를 나란히두고 싶다면 다음을 사용할 수 있습니다.

\begin{figure}
 \begin{minipage}{.5\textwidth}
  \includegraphics{image}
  \caption{first}
 \end{minipage}
 \begin{minipage}{.5\textwidth}
  \includegraphics{image}
  \caption{second}
 \end{minipage}
\end{figure}

열에있는 이미지의 경우 소스에 [1] [2] [3] [4]가 있지만 다음과 같이 표시됩니다.

[1] [3]

[2] [4].


1
Jerred Russel이 언급 한 구성을 여기서 사용할 수도 있습니다. stackoverflow.com/questions/1673942/latex-table-positioning Point is in using floatpackage.
Crowley

15

그림과 텍스트를 섞는 동안이 문제가 발생했습니다. 나를 위해 일한 것은 '!'가없는 'H'옵션이었습니다. 선택권. \begin{figure}[H]
'H'는 숫자가 코드에서 정확히 입력 한 위치에 있도록 강제합니다. 여기에는 다음이 포함되어야합니다. \usepackage{float}

옵션은 여기 에 설명되어 있습니다.


1
예, float패키지는 여기에서 확실히 정답입니다. 나는 종종! 같이 기호, \begin{figure}[h!]잘 텍에 다시 쓸 수로 힘으로 \please컴파일러는 여전히 이미지를 넣을 위치를 자체적으로 결정하기 때문이다. 이번에는 당신을 무시하는 대신 윙크합니다. float패키지는 당신이 확실히하고 싶은 일을 할 것입니다.
ely

6

둘 다 동일한 페이지에 있고 둘 다 기본적으로 전체 페이지를 차지할 경우 가장 좋은 방법은 LaTeX에게 둘 다 자신의 페이지에 두도록 지시하는 것입니다!

\begin{figure}[p]

위나 아래에 몇 줄의 텍스트 만있는 페이지에 두 개의 그림이있는 것은 아마도 건전한 인쇄 원칙 (예 : 추악)에 위배됩니다.


그건 그렇고, [!h]작동 하는 이유는 LaTeX에게 텍스트가있는 페이지의 플로트에 할당되어야하는 공간에 대한 일반적인 제한을 무시하도록 지시하기 때문입니다. 위에서 암시했듯이 제한이있는 이유가 있습니다. 다소 느슨해 질 수 있다는 말은 아닙니다. 이에 대한 FAQ 를 참조하십시오 .


1
보다 정확하게 [p]는 컴파일러에게 float 만있는 페이지에 배치하도록 지시합니다. 크기에 따라 두 그림에 대해 별도의 페이지가 생성 될 수도 있고 그렇지 않을 수도 있습니다.
fotNelton 2013


1

먼저 [h!]를 시도하지만 그렇지 않으면 추악한 방법으로 할 수 있습니다.

LateX는 자체 배치를 관리하므로 제약 조건이있는 이미지 배치가 약간 어렵습니다. 내가 그 자리에서 바로 그림을 원한다면 보통하는 일은 다음과 같이하는 것입니다.

text in front of image here

 \newpage 
 \figure1 
 \figure2

text after images here

올바른 방법이 아닐 수도 있지만 매력처럼 작동합니다. :).

//편집하다

페이지 상단에 작은 텍스트를 원하지만 / clearpage를 사용하면 똑같이 할 수 있습니다. 물론 더 이상 발생하지 않도록 조금 더 작게 조정할 수도 있습니다. 보이지 않는 공백이 의심되는 것보다 조금 더 클 수 있습니다. 동일한 페이지에 나타날 때까지 항상 내 이미지를 축소하려고합니다. 1 % 겹침이 없는지 확인하기 위해이 모든 것이 필요하지 않습니다. .


감사합니다, [h!] 작동했습니다! "추악한 방법"이이 경우에 필요하지 않았을 때도 알아두면 좋은 것 같아서 귀하의 답변을 선호했습니다.
Kusti
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.