自然文档类中的 subfig 包

自然文档类中的 subfig 包

我在文档类“nature”中使用了 subfig 包。它不起作用。还有其他方法可以在这个类中绘制子图吗?

\documentclass{nature}
\usepackage{amsfonts}
\usepackage{mathtools}
\usepackage{amsthm}
\usepackage{amsmath,scalerel}
\usepackage{bm}
\usepackage{amssymb}\usepackage{graphicx}
\usepackage{multirow}
\usepackage{adjustbox}
\usepackage{epstopdf}
\usepackage[utf8]{inputenc}
\usepackage[margin=2.5cm]{geometry}
\usepackage{enumitem}
%\usepackage{caption}
\usepackage{pdflscape}
\usepackage{subfig}    
%\usepackage{pgfplots}
\usepackage{lipsum}% 

\usepackage{tikz, wrapfig,array}
\usetikzlibrary{trees}
\usetikzlibrary{calc,patterns,
    decorations.pathmorphing,
    decorations.markings, shapes.geometric, graphs, graphs.standard, quotes,shapes,chains,scopes,positioning,arrows}

\usetikzlibrary{arrows.meta}
\begin{document}
\begin{figure}
\centering
\subfigure[Simple order]{\begin{tikzpicture}[{<[scale=2.5,
          length=3,
          width=3]}-,grow=right,solid node/.style={circle,draw,inner sep=1,fill=black}]
   % \tikzstyle{every node}=[circle,draw]
    \node[solid node,label=left:{$\mu_1$}]{}
       child{node[solid node,label=above:{$\mu_2$}]{} child { node[solid node,label=above:{$\mu_3$}]{} child { node[solid node,label=right:{$\mu_4$}]{} }}}
        ;
\end{tikzpicture}\label{Fig_Simple_Order}
}
\subfigure[Tree order]{\begin{tikzpicture}[{[scale=2.5,
          length=3,
          width=3]<}-,grow=right,level 1/.style={sibling distance=5mm},solid node/.style={circle,draw,inner sep=1,fill=black}]
   % \tikzstyle{every node}=[circle,draw]
    \node[solid node,label=left:{$\mu_1$}]{}
       child { node[solid node,label=right:{$\mu_4$}]{} }
        child { node[solid node,label=right:{$\mu_3$}]{} }
        child { node[solid node,label=right:{$\mu_2$}]{} }
    ;
\end{tikzpicture}\label{Fig_Tree_Order}
}
\end{figure}
\end{document}

答案1

我发现这里有三个问题:

  1. subfig正在加载caption与文档类不兼容的包nature(因为它自己nature重新定义)。可以通过将选项添加到 来防止这种情况。\captioncaption=falsesubfig
  2. 该命令subfig提供的是 被称为\subfloat(而不是\subfigure)。
  3. \subfloat期望\@captype被定义。但是nature文档类重新定义,figure没有\@captype在自己的定义中设置。所以需要我们\@captype自己设置。
\documentclass{性质}
\usepackage{amsfonts}
\usepackage{mathtools}
\usepackage{amsthm}
\usepackage{amsmath,scalerel}
\usepackage{bm}
\usepackage{amssymb}\usepackage{graphicx}
\usepackage{多行}
\usepackage{调整框}
\usepackage{epstopdf}
\usepackage[utf8]{输入框}
\usepackage[margin=2.5cm]{几何}
\usepackage{enumitem}
\usepackage{pdflscape}
\usepackage[caption=false]{subfig}
%\usepackage{pgfplots}
\usepackage{lipsum}%

% 提供 \setcaptiontype 来设置 \@captype - 这是 \subfloat 所需要的
\制作字母
\newcommand\setcaptiontype[1]{\edef\@captype{#1}\ignorespaces}
\makeatother

\usepackage{tikz,wrapfig,数组}
\usetikzlibrary{树}
\usetikzlibrary{计算,模式,
    装饰.路径变形,
    装饰.标记、形状.几何、图形、图形.标准、引号、形状、链条、范围、定位、箭头}

\usetikzlibrary{arrows.meta}
\开始{文档}
\开始{图}
\setcaptiontype{图}
\定心
\subfloat[简单顺序]{\begin{tikzpicture}[{

相关内容