caption
我正在尝试使用float 环境(在本例中)内的包更改标题格式figure
。但是,\captionsetup[figure]{}
在 中不起作用,\begin{figure} ... \end{figure}
这绝对是可能的,并在caption
文档第 4 页,即:
\captionsetup 只对当前环境有影响,这一点很好。因此,如果您只想更改当前图形或表格的设置,只需将命令放在
\captionsetup
图形或表格内 \caption 命令之前即可。例如\begin{figure}
...\captionsetup{singlelinecheck=off}
\caption{. . .}
\end{figure}
关闭单行检查,但仅适用于此图形,因此所有其他标题保持不变。
我不记得以前遇到过这个问题,有人能重现这个问题或提供如何修复以便\captionsetup
使用本地的指导吗?我认为我正确地调用了命令,尽管我这边也可能出现一个简单的错误。
日志文件(带有\showfiles
):
This is pdfTeX, Version 3.141592653-2.6-1.40.24 (TeX Live 2022) (preloaded format=pdflatex)
restricted \write18 enabled.
entering extended mode
(./test.tex
LaTeX2e <2022-11-01> patch level 1
L3 programming layer <2023-02-22>
(c:/texlive/2022/texmf-dist/tex/latex/base/book.cls
Document Class: book 2022/07/02 v1.4n Standard LaTeX document class
(c:/texlive/2022/texmf-dist/tex/latex/base/bk10.clo))
(c:/texlive/2022/texmf-dist/tex/latex/caption/caption.sty
(c:/texlive/2022/texmf-dist/tex/latex/caption/caption3.sty
(c:/texlive/2022/texmf-dist/tex/latex/graphics/keyval.sty)))
(c:/texlive/2022/texmf-dist/tex/latex/caption/subcaption.sty)
(c:/texlive/2022/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def)
No file test.aux.
Caption Info: Option list on `figure'
Caption Data: {position=bottom,labelfont={Large,it}, labelsep=period} on input
line 27.
Package caption Warning: Unused \captionsetup[figure] on input line 25.
See the caption package documentation for explanation.
[1{c:/texlive/2022/texmf-var/fonts/map/pdftex/updmap/pdftex.map}] (./test.aux)
*File List*
book.cls 2022/07/02 v1.4n Standard LaTeX document class
bk10.clo 2022/07/02 v1.4n Standard LaTeX file (size option)
caption.sty 2022/03/01 v3.6b Customizing captions (AR)
caption3.sty 2022/03/17 v2.3b caption3 kernel (AR)
keyval.sty 2022/05/29 v1.15 key=value parser (DPC)
subcaption.sty 2022/01/07 v1.5 Sub-captions (AR)
l3backend-pdftex.def 2023-01-16 L3 backend support: PDF output (pdfTeX)
***********
)<c:/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx9.pfb><c:/texl
ive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb><c:/texlive/2022/t
exmf-dist/fonts/type1/public/amsfonts/cm/cmr9.pfb>
Output written on test.pdf (1 page, 30235 bytes).
Transcript written on test.log.
梅威瑟:
\documentclass[oneside]{book}
\usepackage{caption}
\usepackage{subcaption}
\captionsetup[figure]{position=bottom,labelfont={bf, small}, textfont={small}}
\begin{document}
\begin{figure}[t]
\caption{Bold and small}
\end{figure}
\begin{figure}[t]
\captionsetup[figure]{position=bottom,labelfont={Large,it}, labelsep=period}
\caption{Large and italic}
\showcaptionsetup{figure}
\end{figure}
\end{document}
目前的情况:
答案1
根据@Peter Wilson的评论,我联系了caption
他们的维护者GitLab 上的问题跟踪器在这里我很感谢维护者如此迅速地做出回应:
通过 给出的选项
\captionsetup[x]{...}
将在环境开始时应用x
(而不是在\caption
环境 x 内的),因此\captionsetup[figure]{...}
应用“太晚了”,因为\captionsetup[figure]{...}
仅将给定的选项添加到“在图形环境开始时应用的选项列表”。 之所以以这种方式实现,是因为否则\captionsetup{...}
图形内的内容不会覆盖\captionsetup[figure]{...}
在序言中给出的选项,否则会使子标题选项的使用顺序更加复杂。
维护人员表示,他们将caption
在新版本中更新文档,以更清楚地说明该文档\captionsetup["float"]{...}
是在环境开始时应用的,不适合在“浮动”环境中使用。在阅读caption
文档 pdf 后,我并没有意识到这一点,所以也许这会对在发布之前可能遇到相同问题的其他人有所帮助。