我正在制作一张有多列的海报(通过multicols
,可能是因为有一个自定义海报标题)。我知道我可以使用algorithmic2e
,但假设我只想坚持使用algorithmicx
- 有什么办法可以解决这个问题吗?
Package multicol Warning: Floats and marginpars not allowed
inside `multicols' environment!.
我能找到的所有解决方案都建议使用algorithmic2e
或将文档声明为\documentclass[twocolumn]{article}
。
我不知道如何使用后者与海报模板。
这是来自上述模板的最小工作代码,其中的algorithm
环境和算法代码从这个问题在那里,但似乎没有显示任何东西:
\documentclass[a0,landscape]{a0poster}
\usepackage{multicol} % This is so we can have multiple columns of text side-by-side
\columnsep=100pt % This is the amount of white space between the columns in the poster
\columnseprule=3pt % This is the thickness of the black line between the columns in the poster
\usepackage[svgnames]{xcolor} % Specify colors by their 'svgnames', for a full list of all colors available see here: http://www.latextemplates.com/svgnames-colors
% \usepackage{times} % Use the times font
\usepackage{palatino} % Uncomment to use the Palatino font
\usepackage{graphicx} % Required for including images
\graphicspath{{figures/}} % Location of the graphics files
\usepackage{booktabs} % Top and bottom rules for table
\usepackage[font=small,labelfont=bf]{caption} % Required for specifying captions to tables and figures
\usepackage{amsfonts, amsmath, amsthm, amssymb} % For math fonts, symbols and environments
\usepackage{wrapfig} % Allows wrapping text around tables and figures
%% custom packages
\usepackage{tikz}
\usepackage{relsize}
\usepackage{anyfontsize}
\usepackage{algpseudocode,algorithm,algorithmicx}
\newcommand*\DNA{\textsc{dna}}
\newcommand*\Let[2]{\State #1 $\gets$ #2}
\algrenewcommand\algorithmicrequire{\textbf{Precondition:}}
\algrenewcommand\algorithmicensure{\textbf{Postcondition:}}
\begin{document}
\begin{minipage}[b]{0.55\linewidth}
\veryHuge \color{NavyBlue} \textbf{Title} \color{Black}\\ % Title
\Huge\textit{Subtitle}\\[1cm] % Subtitle
\end{minipage}
\begin{minipage}[b]{0.25\linewidth}
\color{DarkSlateGray}
% Department Name\\ % Address
\end{minipage}
\begin{minipage}[b]{0.19\linewidth}
\includegraphics[width=20cm]{logo.png} % Logo or a photo of you, adjust its dimensions here
\end{minipage}
\vspace{1cm} % A bit of extra whitespace between the header and poster content
\begin{multicols}{3} % This is how many columns your poster will be broken into, a poster with many figures may benefit from less columns whereas a text-heavy poster benefits from more
\begin{abstract}
Some abstract.
\end{abstract}
\section*{Introduction}
Some intro
\section*{Main Objectives}
\begin{enumerate}
\item Lorem ipsum dolor sit amet, consectetur.
\item Nullam at mi nisl. Vestibulum est purus, ultricies cursus volutpat sit amet, vestibulum eu.
\item Praesent tortor libero, vulputate quis elementum a, iaculis.
\end{enumerate}
\color{Black}
\begin{algorithm}
\caption{Counting mismatches between two packed \DNA strings
\label{alg:packed-dna-hamming}}
\begin{algorithmic}[1]
\Require{$x$ and $y$ are packed \DNA strings of equal length $n$}
\Statex
\Function{Distance}{$x, y$}
\Let{$z$}{$x \oplus y$} \Comment{$\oplus$: bitwise exclusive-or}
\Let{$\delta$}{$0$}
\For{$i \gets 1 \textrm{ to } n$}
\If{$z_i \neq 0$}
\Let{$\delta$}{$\delta + 1$}
\EndIf
\EndFor
\State \Return{$\delta$}
\EndFunction
\end{algorithmic}
\end{algorithm}
\end{multicols}
\end{document}
谢谢。
答案1
谢谢大卫·查莱尔,我已经明白了。
解决方案很简单,您只需替换:
\begin{algorithm}
和
\begin{algorithm}[H]
一切都开始神奇地工作了。事实上,人们应该避免在其他浮动环境中使用浮动环境。