(轉)LaTeX技巧:subfigure排版並排放置兩圖


LaTeX插圖始終是件麻煩的事情, 這里介紹了如何 在LaTeX文檔中插入圖片, 但有時還是不能滿足某些特殊要求. 前面介紹了使用Latex的subfigure豎排圖形, 這是介紹使用latex的subfigure排版並排放置的兩張圖.

注意要使用宏包\usepackage{graphicx}和\usepackage{subfigure}

[CODE]

\begin{figure}
\begin{minipage}[t]{0.5\linewidth}
\centering
\includegraphics[width=2.2in]{fig1.eps}
\caption{fig1}
\label{fig:side:a}
\end{minipage}%
\begin{minipage}[t]{0.5\linewidth}
\centering
\includegraphics[width=2.2in]{fig2.eps}
\caption{fig2}
\label{fig:side:b}
\end{minipage}
\end{figure}

還有一種方法:

在某些情況下,有時會希望將並列的圖形組成一組,而其中的每一幅圖都保持其獨立性。 paisubfigure 宏包的 \subfigure 命令將這一組做為一幅圖形,其中的每一幅圖做為子圖形。例如:

[code]

\begin{figure} \centering \subfigure[Small Box with a Long Caption]{ \label{fig:subfig:a} %% label for first subfigure \includegraphics[width=1.0in]{graphic.eps}} \hspace{1in} \subfigure[Big Box]{ \label{fig:subfig:b} %% label for second subfigure \includegraphics[width=1.5in]{graphic.eps}} \caption{Two Subfigures} \label{fig:subfig} %% label for entire figure \end{figure}
子圖的標記有兩種形式:
  1. 一種是出現在子圖的下面作為標題的一部分。這通過命令 \@thesubfigure  來生成。
  2. 另一種是在使用 \ref 命令的時候出現。這通過將命令 \p@subfigure  的輸出處理后傳遞給 \thesubfigure 命令來生成。
上面的這些命令使用 subfigure 計數器和 \thefigure 命令。子圖的標記的格式由下面的命令來控制。
  • 命令 \thefigure 印出當前圖形的編號。
  • 計數器 subfigure 記錄子圖的編號,命令 \alph{subfigure}  將計數器 subfigure 的值用小寫字母印出,而命令 \roman{subfigure} 則是用小寫羅馬數字印出(有關印出計數器值的命令可參見文獻 [1, 第 98 頁] 和  [3, 第 446 頁]。)。
  • 命令 \thesubfigure 缺省使用小寫字母,如 (a),(b) 等。
  • 命令 \@thesubfigure 缺省為 \thesubfigure\space,即在標題標記和文本之間加上一個空白。
  • 命令 \p@subfigure 缺省為 \thefigure
如果改變子圖標題的標記,字體等的缺省值,可參見文獻 [10]。下面給出幾個簡單的例子:
  • 若想讓子圖標題標記使用小寫羅馬數字如 (i), (ii)等, \ref 命令的結果如 12i, 12ii 等,可使用下面的命令(最好放在導言區中)
     \renewcommand{\thesubfigure}{\roman{subfigure}} \makeatletter \renewcommand{\@thesubfigure}{(\thesubfigure)\space} \renewcommand{\p@subfigure}{\thefigure} \makeatother
  • 若想讓子圖標題標記使用阿拉伯數字如 12.1:, 12.2: 等, \ref 命令的結果如 12.1, 12.2 等,可使用下面的命令
     \renewcommand{\thesubfigure}% {\thefigure.\arabic{subfigure}} \makeatletter \renewcommand{\@thesubfigure}{\thesubfigure:\space} \renewcommand{\p@subfigure}{} \makeatother 
缺省情況下,用 \listoffigures 命令生成的圖形目錄中只包括圖形,而不包括子圖。要想在圖形目錄中包括子圖,要在 \listoffigures  命令前加上 \setcounter{lofdepth}{2}。需要說明的是,由於 LATEX 的變化,導致目前版本(3/95)的 subfigure 宏包在圖形目錄的子圖輸入項開始部分都加上 ``numberline1''。將下面的代碼加到導言區中就可以解決這一問題。
\makeatletter \renewcommand{\@subcaption}[2]{% \begingroup \let\label\@gobble \def\protect{\string\string\string}% \xdef\@subfigcaptionlist{% \@subfigcaptionlist,% {\numberline {\@currentlabel}% \noexpand{\ignorespaces #2}}}% \endgroup \@nameuse{@make#1caption}{\@nameuse{@the#1}}{#2}} \makeatother
演示效果圖:
LaTeX技巧151:subfigure排版並排放置兩圖 
演示代碼:
\documentclass{article}
\usepackage{CJK}
\usepackage{graphicx}
\usepackage[includemp,body={398pt,550pt},footskip=30pt,%
            marginparwidth=60pt,marginparsep=10pt]{geometry}
\usepackage{graphicx}
\usepackage{subfigure}

 \begin{CJK*}{GBK}{song}
  \renewcommand\figurename{圖}
\begin{document}
\begin{figure}
\begin{minipage}[t]{0.5\textwidth}
\centering
\includegraphics[width=2.2in]{pic1.eps}
\caption{fig1}
\label{fig:side:a}
\end{minipage}%
\begin{minipage}[t]{0.5\textwidth}
\centering
\includegraphics[width=2.2in]{pic.eps}
\caption{fig2}
\label{fig:side:b}
\end{minipage}
\end{figure}
\begin{figure}
  \centering
  \subfigure[Small Box with a Long Caption]{
    \label{fig:subfig:a} %% label for first subfigure
    \includegraphics[width=1.0in]{pic1.eps}}
  \hspace{1in}
  \subfigure[Big Box]{
    \label{fig:subfig:b} %% label for second subfigure
    \includegraphics[width=1.5in]{pic.eps}}
  \caption{Two Subfigures}
  \label{fig:subfig} %% label for entire figure
\end{figure}

\paragraph{}
\clearpage
\end{CJK*}
\end{document}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM