我在文档类中遇到了意外行为report
。我必须使用table
浮点数:
\documentclass[a4paper,12pt]{report}
\usepackage{float}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{tabularx,ragged2e,booktabs,caption}
%%
\captionsetup[figure]{labelfont={bf,sf},justification = raggedright,textfont=sf,font=small} % justification = raggedright
\captionsetup[subfigure]{labelfont={bf,sf},textfont=sf,justification=right,font=footnotesize}
\captionsetup[algorithm]{labelfont={bf,sf},textfont=sf,justification=right,font=small}
\captionsetup[table]{labelfont={bf,sf},textfont=sf,justification=right,font=small}
\begin{document}
\begin{table}[h!]
\begin{center}
\begin{tabular}{r l}
\hline
ML & Machine Learning
% and so forth
\end{tabular}
\caption{Commonly used shorthands}
\label{tab:shorthands}
\end{center}
\end{table}
\end{document}
我无法理解的是:我在文档中使用了相同的结构article
。序言是相同的,因为我将使用相同的工具,显然我只更改了文档类。在文档中,article
上述模型可以正常工作,但在report
文档中却不行。错误是
Package caption Error: right undefined. \begin{table}[h!]
在不同的文档类别中使用这些浮点数是否存在差异?在这种report
情况下,它在主文件或单独的章节文件中都不起作用。
编辑
按照@Zarko 的建议,我对仅包含相关包的单个代码片段进行分组。
答案1
当我扩充您的代码以使其可编译时,我收到以下错误消息 - 与您在查询中报告的错误消息不太一样:
! Package caption Error: right undefined.
See the caption package documentation for explanation.
Type H <return> for immediate help.
...
l.117 \begin{table}[h!]
该字符串! Package caption Error: right undefined
应该是一个提示。考虑以下三个前导指令
\captionsetup[subfigure]{labelfont={bf,sf},textfont=sf,justification=right,font=footnotesize}
\captionsetup[algorithm]{labelfont={bf,sf},textfont=sf,justification=right,font=small}
\captionsetup[table]{labelfont={bf,sf},textfont=sf,justification=right,font=small}
在这三个指令中,都必须用justification=right
替换justification=raggedright
。
请注意,该justification=right
问题并不存在于四条\captionsetup
指令中的第一条指令中:
\captionsetup[figure]{labelfont={bf,sf},justification = raggedright,textfont=sf,font=small}
因为从纯粹的句法角度来看这个选项justification = raggedright
是正确的,所以您到目前为止还没有在figure
环境中遇到与字幕相关的问题,对吗?