알고리즘 부동소수점의 너비 조정

알고리즘 부동소수점의 너비 조정

패키지 를 사용하여 코드를 작성하고 있습니다 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}

관련 정보