多列算法未显示

多列算法未显示

当我处于多列环境中时,我的算法不会显示。页面一片空白。完整的 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}

相关内容