Latex模板wileyNJD-v2出现Unknown float option `H‘.错误的解决办法

本文讲述了如何在使用WileyNJD-v2模板的Latex论文中,通过解决float与floatpag包冲突,利用minipage和[H]浮动选项调整算法宽度,并使其居中的问题。作者详细介绍了错误原因及解决方案,对算法排版进行了优化。
摘要由CSDN通过智能技术生成

描述

最近在用Latex写文章(模板为WileyNJD-v2),发现自己的算法每行内容不是很长,导致右边出现大片的空白,例如下面这种情况:
1

看着感觉有些难受,于是想让算法减少一下宽度并居中。百度解决方案后发现推荐的解决方案是将算法的浮动选项设置为[H],并将其放入minipage来控制宽度,代码大致如下:

\begin{minipage}{7cm}
\begin{algorithm}[H]
  \caption{CAPTION}\label{myalg}
  \renewcommand{\algorithmicrequire}{\textbf{Input}}
  \renewcommand{\algorithmicensure}{\textbf{Output}}
  \begin{algorithmic}[1]
    \Require ABC
    \Ensure DEF
    \State ABCDEF
  \end{algorithmic}
\end{algorithm}
\end{minipage}

但是这样写的话Latex会报错:

Not in outer par mode.

出现这个错误的原因是,Latex认为我们没有将算法的浮动选项设置为H,如果去掉外层的minipage后,报的错误就是这个:

Unknown float option `H'.

[H]是出自float包的一个选项,但奇怪的是,WileyNJD-v2.cls中明明引入了float包,为什么还不能使用这个浮动选项呢?

原因

经过一段时间的探索后,发现cls文件中引入float包那里是这样写的:
2

查找了一下原因,发现float和floatpag之间是有冲突的,正是因为有这个冲突才导致浮动选项H无法被识别

解决方案

解决方案就是:将cls文件中,引入float包的语句挪到引入floatpag下面。
再回到tex文件中,结合minipage和[H]就可以来缩减算法的宽度了,还可以配合\centerline让算法居中,变得更美观一些。

\centerline{
  \begin{minipage}{7cm}
    \begin{algorithm}[H]
      \caption{CAPTION}\label{myalg}
      \renewcommand{\algorithmicrequire}{\textbf{Input}}
      \renewcommand{\algorithmicensure}{\textbf{Output}}
      \begin{algorithmic}[1]
        \Require ABC
        \Ensure DEF
        \State ABCDEF
      \end{algorithmic}
    \end{algorithm}
  \end{minipage}
}

3

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值