以下 MWE:
\documentclass[11pt]{memoir}
\usepackage{caption}
\captionsetup[table]{
listformat=empty,
tablename=Table,
justification=justified,
labelsep=quad,
position=above,
skip=\onelineskip,
width=\linewidth,
labelfont={small},
font={small}
}
\begin{document}
\begin{table}
\caption{A table.}
\end{table}
\end{document}
生成错误消息! Package caption Error: Can be used only in preamble
。如果我注释该\captionsetup
命令,则不会出现这样的错误消息。我知道该类memoir
提供了自己的字幕工具,但我宁愿使用该包caption
。有人可以解释一下这个问题吗?
编辑:我一评论密钥tablename
,问题就消失了。但即使它有效,我也不会称其为令人满意的解决方案。
答案1
编辑:感谢 Gonzalo Medina,我想我有一个解释。:)
tablename
和figurename
确实是 的有效条目\captionsetup
,只要您使用它时不使用可选参数。想法:不使用可选参数全局有效,因此分别通过和设置和名称\captionsetup
是有意义的。figure
table
figurename
tablename
以下代码有效:
\captionsetup{
tablename=Table,
listformat=empty,
justification=justified,
labelsep=quad,
position=above,
skip=\onelineskip,
width=\linewidth,
labelfont={small},
font={small}
}
我们正在全局设置标题布局。
现在,当我们提供可选参数时,我们将范围限制在要设置的浮点数内。假设我们使用\captionsetup[table]{...}
,我们将在范围内配置标题table
,因此没有必要使用tablename
,而只能使用name
。
我们可以使用name
键代替tablename
,因为我们正在配置table
:
\documentclass[11pt]{memoir}
\usepackage{caption}
\captionsetup[table]{
name=Table,
listformat=empty,
justification=justified,
labelsep=quad,
position=above,
skip=\onelineskip,
width=\linewidth,
labelfont={small},
font={small}
}
\begin{document}
\begin{table}
\caption{A table.}
\end{table}
\end{document}
如果我们想使用tablename
,则必须使用\captionsetup
不带可选参数:
\documentclass[11pt]{memoir}
\usepackage{caption}
\captionsetup{
tablename=Table,
listformat=empty,
justification=justified,
labelsep=quad,
position=above,
skip=\onelineskip,
width=\linewidth,
labelfont={small},
font={small}
}
\begin{document}
\begin{table}
\caption{A table.}
\end{table}
\end{document}
仅供参考,重命名表名的另一种方法是使用。但是,正如AstroPig在评论中提到的那样,如果我们使用该语言\renewcommand{\tablename}{Table}
,它不起作用。babel
french
答案2
caption 包的某些选项与回忆录文档类的定义相冲突。以下 Google 群组帖子应该会有所帮助。
参考文献 1:Google 群组。