패키지 를 사용하여 코드를 작성하고 있습니다 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
하고 플로트하지 않도록 만드는 것입니다. 이는 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
필요하다사용할 것입니다 \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
에 a를 사용합니다 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}