當我在 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 選項(由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}