パッケージを使用してコードを書いていますalgorithm
。ただし、エッジを小さくしたいです。minipage
、ボックスを使用しましたが、機能しませんでした。誰か私に提案をしてくれませんか?
私はこれを持っています
\documentclass[a4paper]{article}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{algorithm}
%========================
\begin{document}
\section*{Example Algorithm}
%----------------------
\begin{algorithm}
\caption{Penalty function}
\begin{itemize}
\item Let $\{c_k\}$, $k=1,2,\ldots$, be a sequence tending to infinity such that for each $k$, $0 \leq c_k < c_{k+1}$.
\item Define the function $$q(\mu_{k},x) = f(x) + \mu_{k}P(x).$$
\item For each k solve the problem
\begin{gather*} minimize \ q(\mu_{k},x), \end{gather*}
obtaining a solution point $x_{k}$.
\end{itemize}
\end{algorithm}
%----------------------
\end{document}
その結果
でも私はしたい
答え1
フロートalgorithm
は次のように定義されますfloat
の です\newfloat
。その結果、フロート全体が再構成のために消費されます ( の配置を含む\caption
、スタイルによって異なります)。これは、フロートの幅を調整する可能性にも影響します。
minipage
この問題を回避する方法の 1 つは、 float を a 内に配置し、 float にならないようにすることです。これは、float
パッケージの[H]
float 仕様によってサポートされています。
\documentclass{article}
\usepackage{amsmath,algorithm}
\begin{document}
\section*{Example Algorithm}
\begin{algorithm}[H]
\caption{Penalty function}
\begin{itemize}
\item Let $\{c_k\}$, $k = 1,2,\dots$, be a sequence tending to infinity such that for each~$k$, $0 \leq c_k < c_{k+1}$.
\item Define the function $$q(\mu_{k},x) = f(x) + \mu_k P(x).$$
\item For each k solve the problem
\[ \text{minimize } q(\mu_k,x),c \]
obtaining a solution point~$x_k$.
\end{itemize}
\end{algorithm}
{\centering
\begin{minipage}{.7\linewidth}
\begin{algorithm}[H]
\caption{Penalty function}
\begin{itemize}
\item Let $\{c_k\}$, $k = 1,2,\dots$, be a sequence tending to infinity such that for each~$k$, $0 \leq c_k < c_{k+1}$.
\item Define the function $$q(\mu_{k},x) = f(x) + \mu_k P(x).$$
\item For each k solve the problem
\[ \text{minimize } q(\mu_k,x),c \]
obtaining a solution point~$x_k$.
\end{itemize}
\end{algorithm}
\end{minipage}
\par
}
\end{document}
もちろん、minipage
必要1 つ使用してください\begin{algorithm}[H]
(フローティング動作を回避するため)。それでもフローティングが必要な場合はalgorithm
、次の回避策を使用できます。
\begin{figure}[htb]
\centering
\begin{minipage}{.7\linewidth}
\begin{algorithm}[H]
% <your algorithm>
\end{algorithm}
\end{minipage}
\end{figure}
非フロートをalgorithm
フロート内に配置するfigure
それなし\caption
に を使用しますfigure
。
答え2
私の場合は次の解決策が効果的でした:
\documentclass{article}
\usepackage{amsmath,algorithm}
\begin{document}
\begin{algorithm}
\centering
\begin{minipage}{0.8\linewidth}
\centering
\caption{%caption
}
\label{%label
}
\begin{algorithmic}[1]
% Your algorithm here
\end{algorithmic}
\end{minipage}
\end{algorithm}
\end{document}