將一組文字和圖像放置在同一匯出的 PDF 頁面上

將一組文字和圖像放置在同一匯出的 PDF 頁面上

我是 Tex 的新手,這個問題可能寫得不好,所以我會盡力解釋得更好。

我正在編寫一本參考手冊,其中有很多具有相同結構的“塊”:一段文字(可能是一個或兩個短段落),然後是一個圖像(通常是螢幕截圖)。

我希望能夠定義這樣一個區塊,當將文件匯出為 PDF 時,輸出位於同一頁上。據我所知,當這個“塊”開始並且不適合當前頁面時,會有一些頁面被半填充。在這些情況下,我希望該區塊完全放置在下一頁。

我一直在玩\begin{samepage},\begin{minipage}和類似的東西(在同一個網絡中搜索很多)但沒有運氣。顯然我做錯了什麼,或是採取了錯誤的方法來解決問題。

看看我的程式碼:

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Phasellus leo ipsum, dictum non auctor quis, euismod vitae enim. Mauris varius.

\begin{figure}[h]
  \begin{center} \includegraphics[scale={0.7}]{IMG1} \end{center}
  \caption{Image caption}
  \label{fig:IMG1}
\end{figure}

我希望所有這段文字(2 段)和一個圖始終位於同一頁。

這能實現嗎?事實上,當我發現時我以為我明白了\begin{minipage}!如果是這種情況,您能寫下一段簡短的程式碼來說明如何使用它嗎? (請記住,我是一個新手,一些明顯的事情現在對我來說並不那麼明顯)。

編輯:我會嘗試@Werner提示,但我已經使用 \newcommand 來縮短所有先前編寫的 \begin{figure} 環境。像這樣:

\newcommand{\figureSF}[4]{
  \begin{figure}[h]
    \begin{center} \includegraphics[scale={#4}]{#1} \end{center}
    \caption{#2}
\label{#3}
\end{figure}
}

所以前面的一段程式碼就變成了:

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Phasellus leo ipsum, dictum non auctor quis, euismod vitae enim. Mauris varius.

\figureSF{IMG1}{Image caption}{fig:IMG1}{0.7}

由於這個新指令只接受 4 個參數,是否有一個簡單的方法可以修改它來處理您所描述的情況?

答案1

看起來你正在寫一堆文本,然後在中間有一些你想要「放在一起」的「塊」。為此,鑑於您目前已經使用figure影像環境,您可以在figure. TeX 不關心環境包含什麼——它可以是表格、圖像、一些文本,等等。這是一個小例子:

在此輸入影像描述

\documentclass{article}
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\usepackage[demo]{graphicx}% http://ctan.org/pkg/graphicx
\begin{document}
\lipsum[1-2]
\begin{figure}
  \hrulefill\par
  \lipsum[3-4]
  \centering\includegraphics[scale={0.7}]{IMG1}
  \caption{Some caption}\label{fig:label1}
  \hrulefill
\end{figure}
\lipsum[5-6]
\lipsum[7-8]
\begin{figure}
  \hrulefill\par
  \lipsum[9-10]
  \centering\includegraphics[scale={0.7}]{IMG2}
  \caption{Some other caption}\label{fig:label2}
  \hrulefill
\end{figure}
\lipsum[11-12]
\end{document}​

我在浮動“塊”的上方和下方添加了一個,\hrulefill以明確文本內容隨圖像浮動。此外,還[demo]可以選擇graphicx僅用於此範例,因為我沒有您提到/使用的圖像。

請注意,所有與浮動相關的限制(和好處!)都與此用法有關。例如,頁面頂部/底部允許的文字/浮動部分等。layouts包裹 文件(部分6 浮動佈局,第 21 頁)。

就圖形位置而言,請參見如何影響 LaTeX 中圖形和表格等浮動環境的位置?(和使表格/數字靠近提到的地方)。

也可以將其捆綁到單一命令中:

\documentclass{article}
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\usepackage[demo]{graphicx}% http://ctan.org/pkg/graphicx
\newcommand{\figureSF}[5]{%
  \begin{figure}[ht]
    \hrulefill\par
    #1\par\bigskip
    \centering\includegraphics[scale=#5]{#2}
    \caption{#3}\label{#4}
    \hrulefill
  \end{figure}
}
\begin{document}
\lipsum[1-2]
\figureSF{\lipsum[3-4]}{IMG1}{Some caption}{fig:label1}{0.7}
\lipsum[5-6]
\lipsum[7-8]
\figureSF{\lipsum[9-10]}{IMG2}{Some other caption}{fig:label2}{0.7}
\lipsum[11-12]
\end{document}​

相關內容