希望复现下面的效果
下面是代码的MWE(需要使用pdflatex
编译)
% pdflaTeX for libertine fonts
\documentclass[12pt,a4paper]{article}
\usepackage[margin=1.2cm]{geometry}
\usepackage{libertineRoman}
\usepackage{libertineMono}
\usepackage{biolinum}
\usepackage[libertine]{newtxmath}
\usepackage{lipsum}
\usepackage{xcolor}
\usepackage{algorithm}
\usepackage{algpseudocode}
\algnewcommand\algorithmicinput{\textbf{Input:}}
\algnewcommand\Input[1]{\item[]\algorithmicinput\ #1}
\algnewcommand\algorithmicoutput{\textbf{Output:}}
\algnewcommand\Output[1]{\item[]\algorithmicoutput\ #1}
\pagestyle{empty}
\begin{document}
\lipsum[1]
\begin{minipage}{.48\textwidth}
\begin{algorithm}[H]%此处为什么一定要使用[H]参数,不太懂什么par mode
\centering
\caption{SSM(S4)}
\begin{algorithmic}[1]
\Input{$x:(B,L,D)$}
\Output{$y:(B,L,D)$}
\State $A:(D,N) \leftarrow \text{Parameter}$ \par \Comment{$\text {Represents structured}\ \ N \times N\ \ \text{martix}$}
\State $B:(D,N) \leftarrow \text{Parameter}$
\State $C:(D,N) \leftarrow \text{Parameter}$
\State $\Delta:(D) \leftarrow \tau_\Delta(\text{Parameter})$
\State $\bar{A},\bar{B}:(D,N) \leftarrow \text{discretize}(\Delta,A,B)$
\State $y \leftarrow \text{SSM}(\bar{A},\bar{B},C)(x)$ \par
\Comment{Time-invariant: recurrence or convolution}
\State \textbf{return} y
\end{algorithmic}
\end{algorithm}
\end{minipage}
\begin{minipage}{.48\textwidth}
\begin{algorithm}[H]%
\centering
\caption{SSM+Selection(S6)}
\begin{algorithmic}[1]
\Input{$x:(B,L,D)}$
\Output{$y:(B,L,D)$}
\State $A:(D,N) \leftarrow \text{Parameter}$ \par \Comment{$\text{Represents structured}\ \ N \times N\ \ \text{martix}$}
\State $B:\textcolor{red!90!black}{(B,L,N)} \leftarrow \textcolor{red!90!black}{s_B(x)}$
\State $C:\textcolor{red!90!black}{(B,L,N)} \leftarrow \textcolor{red!90!black}{s_C(x)}$
\State $\Delta:\textcolor{red!90!black}{(B,L,D)} \leftarrow \tau_\Delta(\text{Parameter}+\textcolor{red!90!black}{s_\Delta(x)})$
\State $\bar{A},\bar{B}:(B,L,D,N) \leftarrow \text{discretize}(\Delta,A,B)$
\State $y \leftarrow \text{SSM}(\bar{A},\bar{B},C)(x)$ \par
\Comment{\textcolor{red!90!black}{Time-varying}: recurrence (\textcolor{red!90!black}{scan}) only}
\State \textbf{return} y
\end{algorithmic}
\end{algorithm}
\end{minipage}
\vskip.5cm
\lipsum[2]
\end{document}
得到的效果有以上的问题
还有第四个问题:在minipage
内部的\begin{algorithm}[H]
为何一定是[H]
,而不能是[htbp]
??后者提示报错。
我想知道,为什么使用
[htbp]
之类的选项不行呢?@u70550 htbp 都是浮动选项,在盒子中,比如 minipage、tcolorbox 等环境,内容不能浮动,根据实现的不同,可能会直接忽略、报警告、报错。
minipage 没居中是因为它和正常文本一样,前面有段首缩进。
@u10307 关于
htbp
和H
的区别清楚了,同时也确实在\begin{minipage}
前加入\noindent
可以使两个并排的minipage
居中。谢谢您!