LaTeX 문서에서 원하는 정확한 위치에 그림을 배치하는 방법은 무엇입니까?

LaTeX 문서에서 원하는 정확한 위치에 그림을 배치하는 방법은 무엇입니까?

제가 작업 중인 새 책의 최종 제출 단계에 대해 출판사는 시작하자마자 예제에 그림을 배치하도록 요청했습니다. 예를 들어, 문제의 일부로 그림을 포함하는 경우 게시자는 문제가 끝나고 솔루션이 시작되자마자 그림이 나타나기를 원합니다. 불행하게도 그림은 출력(PDF) 파일의 다음 페이지에 나오는데 어떻게 해야 할지 모르겠습니다. 내 질문은 LaTeX 문서에서 원하는 정확한 위치에 그림을 배치하는 방법입니다. 특별한 패키지를 사용하여 이를 달성할 수 있습니까? 큰 도움을 주셔서 감사합니다!

답변1

부동 소수점은 LaTeX에게 내용을 '최적의 위치'로 이동하라고 지시하므로 부동 소수점을 사용하지 마십시오. 대신 의 수직 간격 손실을 보상하기 위해 또는 패키지 및 환경이나 유사한 환경 을 \captionof사용 하십시오 . 이 예는 이것이 그림 목록을 생성하는 데 잘 작동한다는 것을 보여 주지만 Okular-on-X 버그로 인해 지금은 괜찮은 이미지를 만들 수 없습니다.capt-ofcaptioncenterfigure

\documentclass[]{article}
\usepackage{capt-of}
\usepackage{graphics}

\begin{document}
\listoffigures

\begin{center}\includegraphics{example-image-a}\par\captionof{figure}{A figure.}\end{center}
\begin{center}\includegraphics{example-image-b}\par\captionof{figure}{A figure.}\end{center}
\begin{center}\includegraphics{example-image-c}\par\captionof{figure}{A figure.}\end{center}
\end{document}

답변2

특별한 패키지를 사용하여 이를 달성할 수 있습니까?

그래서 내가 문제를 이해한다면,발행자문제, 이미지, 솔루션이라는 세 가지 요소를 모두 함께 유지하려고 합니다. 전체 블록이 PDF에 다음과 같이 표시되어야 하는지 확실하지 않습니다.뜨다또는 텍스트에서 요청한 대로 특정 단락 사이에 정확하게 배치할 수도 있습니다. 여기서는 전자, 즉 ProblemSolutionfloat라고 가정했습니다. 즉, LaTeX는 figure환경 내부의 이미지와 똑같은 방식으로 문제 해결 블록을 부동 소수점으로 배치하지만 세 가지 요소는 모두 항상 함께 그룹화됩니다.

환경 에 모든 것을 배치하는 것만으로도 목표를 달성할 수 있습니다 figure. 하지만,뜨다패키지는 몇 가지 추가 사항으로 인해 매우 편리합니다(아래 예 참조). 예를 들어 사용자 \caption정의 레이블을 사용하고 사용자 정의 부동 소수점 목록을 만들 수 있으며 부동 소수점의 스타일을 지정할 수 있습니다. 가장 중요한 매크로는 입니다 \newfloat. 사용자 정의 환경을 생성하면 내부의 모든 것이 다른 표준 플로트와 동일한 방식으로 이동합니다.

예에서는 ProblemsSolution텍스트에서 환경이 정확히 어디에 배치되고 PDF에서 나타나는 위치를 기록해 두십시오. 예를 들어, 첫 번째문제첫 번째 단락 뒤에 배치되지만 LaTeX가 충분한 공간을 찾지 못하기 때문에 PDF의 바로 다음 페이지 상단에 나타납니다. 두 번째와 세 번째는 ProblemSolutionPDF에 다음과 같이 표시됩니다.요청됨이제는 그들을 위한 공간이 충분하기 때문입니다. 세 가지 경우 모두 모든 것이 여전히 함께 그룹화되어 있습니다.

예:

\documentclass[12pt]{book}
\usepackage{graphicx}
\usepackage{float}
\usepackage{caption}
\usepackage[colorlinks]{hyperref}
\usepackage{kantlipsum}

\newfloat{problem}{tbhp}{psf}[chapter]
\floatname{problem}{Problem}
\newenvironment{ProblemSolution}{%
  \begin{problem}
    \noindent\leftskip=2cm\rightskip=2cm\small
}{\end{problem}}
\captionsetup[problem]{font=small,labelfont=bf,width=\dimexpr\linewidth-4cm}%


% \usepackage{showframe}
% \renewcommand*\ShowFrameLinethickness{0.2pt}
% \renewcommand*\ShowFrameColor{\color{blue}}

\title{The Title}
\author{First Last}
\date{}


\begin{document}
\maketitle
\listof{problem}{List of Problems}

\chapter{First one}
First paragraph.
\kant[1]

\begin{ProblemSolution}
  \paragraph{Problem:}
  Some notes about a problem that should be a little longer and span multiple lines.

  \begin{center}
    \includegraphics[width=0.5\linewidth,height=0.25\linewidth]{example-image-a}
    \caption{Caption about the first problem}
  \end{center}

  \paragraph{Solution:}
  Something about solution.
\end{ProblemSolution}

Second paragraph.
\kant[2]

Third paragraph.
\kant[3]

Fourth paragraph.
\kant[4]

\begin{ProblemSolution}
  \paragraph{Problem:}
  Some notes about a problem that should be a little longer and span multiple lines.

  \begin{center}
    \includegraphics[width=0.5\linewidth,height=0.25\linewidth]{example-image-b}
    \caption{Caption about the second problem}
  \end{center}

  \paragraph{Solution:}
  Something about solution.
\end{ProblemSolution}


\chapter{Second two}
Fifth paragraph.
\kant[5-6]

\begin{ProblemSolution}
  \paragraph{Problem:}
  Some notes about a problem that should be a little longer and span multiple lines.

  \begin{center}
    \includegraphics[width=0.5\linewidth,height=0.25\linewidth]{example-image-c}
    \caption{Caption about the third problem}
  \end{center}

  \paragraph{Solution:}
  Something about solution.
\end{ProblemSolution}

Sixth paragraph.
\kant[7]
\end{document}

여기에 이미지 설명을 입력하세요

관련 정보