我怎样才能将算法和图形并列在一起?
说,
XXXXXXXXXXX FIG ONE
XXXXXXXXXXX FIG ONE
XXXXXXXXXXX FIG ONE
XALGORITHMX FIG TWO
XXXXXXXXXXX FIG TWO
请仅发布可行的解决方案 - 我是 LaTeX 新手。还请告知要包含哪些包。
答案1
为了正确引用数字,您可以使用caption
包裹它提供了。即使您没有在环境中声明内容,也会\captionof{figure}{<caption>}
将标题排版<caption>
为环境的标题。这非常有用,因为不允许在 (非浮点)内排版 (或浮点) 。此外,figure
figure
figure
minipage
listings
包裹逐字排版大量语言,并可以扩展以包含您自己的格式。
这是一个展示构造以及引用能力(如果需要)的小例子。
\documentclass{article}
\usepackage[margin=1in]{geometry}% http://ctan.org/pkg/geometry
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\usepackage{listings}% http://ctan.org/pkg/listings
\usepackage{caption}% http://ctan.org/pkg/caption
%\usepackage{graphicx}% http://ctan.org/pkg/graphicx
\begin{document}
\lipsum[1]
\medskip
\noindent\begin{minipage}{.5\textwidth}
\begin{lstlisting}[language=C,caption={My first program},label=mylisting]
#include <stdio.h>
main()
{
printf ("Hello World!\n");
}
\end{lstlisting}
\end{minipage}%
\begin{minipage}[t]{.5\textwidth}
\centering
\rule{0.3\textwidth}{50pt}
\captionof{figure}{This is a figure caption.} \label{myfig1}
\bigskip
\rule{0.25\textwidth}{70pt}
\captionof{figure}{This is another figure.} \label{myfig2}
\end{minipage}
\medskip
On the left is Listing~\ref{mylisting}. On the right is Figures~\ref{myfig1} and~\ref{myfig2}.
\lipsum[2]
\end{document}
为了使用更伪代码的列表,您可能对 [algorithmicx
软件包 ][algorithmicx-pkg] 感兴趣。但是,为了使其完全发挥上述功能,您还需要algorithm
定义浮点数(和相关浮点数计数器)的 [ 软件包 ][algorithm-pkg] algorithm
。现在您可以使用了\captionof{algorithm}{<caption>}
。这是一个类似的例子:
\documentclass{article}
\usepackage[margin=1in]{geometry}% http://ctan.org/pkg/geometry
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\usepackage{algorithm}% http://ctan.org/pkg/algorithm
\usepackage{algpseudocode}% http://ctan.org/pkg/algorithmicx
\usepackage{caption}% http://ctan.org/pkg/caption
%\usepackage{graphicx}% http://ctan.org/pkg/graphicx
\begin{document}
\lipsum[1]
\medskip
\noindent\begin{minipage}{.5\textwidth}
\captionof{algorithm}{Euclid’s algorithm}\label{myalg}
\begin{algorithmic}[1]
\Procedure{Euclid}{$a,b$}\Comment{The g.c.d. of a and b}
\State $r\gets a\bmod b$
\While{$r\not=0$}\Comment{We have the answer if r is 0}
\State $a\gets b$
\State $b\gets r$
\State $r\gets a\bmod b$
\EndWhile\label{euclidendwhile}
\State \textbf{return} $b$\Comment{The gcd is b}
\EndProcedure
\end{algorithmic}
\end{minipage}%
\begin{minipage}[t]{.5\textwidth}
\centering
\rule{0.3\textwidth}{50pt}
\captionof{figure}{This is a figure caption.} \label{myfig1}
\bigskip
\rule{0.25\textwidth}{70pt}
\captionof{figure}{This is another figure.} \label{myfig2}
\end{minipage}
\medskip
On the left is Algorithm~\ref{myalg}. On the right is Figures~\ref{myfig1} and~\ref{myfig2}.
\lipsum[2]
\end{document}
lipsum
提供了一些虚拟文本,同时geometry
仅用于增加文本块大小(通过margin=1in
)。虚拟图形用黑色矩形框表示,但您可能对graphicx
包裹用于插入您的图像。
根据算法或图形的大小,还可以调整垂直对齐。
答案2
您可以使用\begin{minipage}{.5\textwidth}...\end{minipage}
可以并排排列的 minipages(),或者可以检查wrapfig
一般通过文本流包装图像的包。
答案3
我通常将minipage
其放在tabular
环境中。要包含图形,您需要使用graphicx
。
\begin{tabular}{cc}
\raisebox{.1cm}{\begin{minipage}{.5\textwidth}
Algorithm
\end{minipage}} &
\begin{minipage}{.5\textwidth}
\includegraphics[width=\textwidth]{figurename.eps}
\end{minipage}
\end{tabular}
您可能还需要使用它\raisebox
来调整一个框或另一个框的高度。
\begin{tabular}{cc}
\raisebox{-.1cm}{\begin{minipage}{.5\textwidth}
Algorithm
\end{minipage}} &
\begin{minipage}{.5\textwidth}
\includegraphics[width=\textwidth]{figurename.eps}
\end{minipage}
\end{tabular}