当我处于多列环境中时,我的算法不会显示。页面一片空白。完整的 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 选项实现(由floats
或algorithm
来自的环境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}