演算法未在多列中顯示

演算法未在多列中顯示

當我在 multicol 環境中時,我的演算法沒有顯示。該頁面只是空白。完整的 TeX 程式碼可以在這裡找到:

\documentclass[12pt,landscape]{article}
\usepackage{multicol}
\usepackage{calc}
\usepackage[landscape]{geometry}
\usepackage{graphicx}
\usepackage{latexsym, marvosym}
\usepackage{pifont}
\usepackage{lscape}
\usepackage{graphicx}
\usepackage{array}
\usepackage{booktabs,dirtytalk}
\usepackage[bottom]{footmisc}
\usepackage{tikz}
\usetikzlibrary{shapes}
\usepackage{color,soul}
\usepackage{mathptm}
\usepackage[boxruled, linesnumbered]{algorithm2e}
\usepackage{algorithmic}
\usepackage{amsmath, amssymb, amsthm}
\usepackage{epsf}

\setcounter{secnumdepth}{0}

\setlength{\parindent}{0pt}
\setlength{\parskip}{0pt plus 0.5ex}

\usepackage{titlesec}

\begin{document}

\raggedright
\footnotesize
\begin{multicols*}{3}

\setlength{\premulticols}{1pt}
\setlength{\postmulticols}{1pt}
\setlength{\multicolsep}{1pt}
\setlength{\columnsep}{2pt}

\scriptsize


\section{Sorting}

\begin{algorithm}
\caption{InsertionSort}
\begin{algorithmic}
\STATE Input: A
\FOR{$i = 0$ to $n - 2$}
        \STATE{$j = i$}
        \WHILE{$j \ge 0$ and $A[j + 1] < A[j]$}
                \STATE{swap $A[j]$ and $A[j + 1]$}
                \STATE{j = j - 1}
        \ENDWHILE
\ENDFOR
\end{algorithmic}
\end{algorithm}



\end{multicols*}
\end{document}

希望獲得一些幫助來顯示我的演算法,謝謝!

答案1

你應該考慮回顧一下.log奇怪的事情發生的時間。在這種情況下,您會看到 (La)TeX 報告的以下內容:

包 multicol 警告:在「multicols」環境中不允許使用浮動和邊距! 。

為了避免這種情況,浮點數不應在 內浮動multicols,這可以透過[H]ERE 選項(由floatsalgorithm環境來自algorithm2e)。

在此輸入影像描述

\documentclass{article}

\usepackage{multicol}
\usepackage[landscape]{geometry}
\usepackage{algorithm,algorithmic}

\begin{document}

\begin{multicols*}{2}
  \section{Sorting}

  \begin{algorithm}[H]
    \caption{InsertionSort}
    \begin{algorithmic}
      \STATE Input: A
      \FOR{$i = 0$ to $n - 2$}
        \STATE{$j = i$}
        \WHILE{$j \ge 0$ and $A[j + 1] < A[j]$}
          \STATE{swap $A[j]$ and $A[j + 1]$}
          \STATE{j = j - 1}
        \ENDWHILE
      \ENDFOR
    \end{algorithmic}
  \end{algorithm}
\end{multicols*}

\end{document}

相關內容