我正在尝试使用 caption 包来执行此操作,并使用了以下代码,但它仍然没有给我句号作为标签分隔符。我该如何解决这个问题?以下是我所拥有的:
\documentclass[english,dotinlabels,nohyper,notoc]{tufte-handout}
\usepackage{babel}
\usepackage{hyperref}
\usepackage{caption}
\captionsetup[figure]{labelformat=simple, labelsep = period}
\captionsetup[marginfigure]{labelformat=simple, labelsep = period}
\begin{document}
\section{test}
\begin{figure}
\caption{erere}
\end{figure}
\vspace{20pt}
this is a test
\begin{marginfigure}
\caption{rerweaere}
\end{marginfigure}
\end{document}
如下所示,它适用于图形,但不适用于边距图形:
答案1
您可以重新定义marginfigure
以包含标题格式的更改:
\documentclass[english,dotinlabels,nohyper,notoc]{tufte-handout}
\usepackage{babel}
\usepackage{hyperref}
\usepackage{caption}
\captionsetup[figure]{labelformat=simple, labelsep = period}
\makeatletter
\renewenvironment{marginfigure}[1][-1.2ex]%
{\begin{@tufte@margin@float}[#1]{figure}%
\captionsetup{labelformat=simple, labelsep = period}}
{\end{@tufte@margin@float}}
\makeatother
\begin{document}
\section{test}
\begin{figure}
\caption{erere}
\end{figure}
\vspace{20pt}
this is a test
\begin{marginfigure}
\caption{rerweaere}
\end{marginfigure}
\end{document}
附带说明一下,此文档类不支持类选项openany
。a5paper
答案2
目前,Tufte-LaTeX 类与该包的配合还不太好caption
。
最简单的解决方案是重新定义\@caption
由 Tufte-LaTeX 类定义的命令。在文档的序言中添加以下代码:
\makeatletter
\long\def\@caption#1[#2]#3{%
\par
\addcontentsline{\csname ext@#1\endcsname}{#1}%
{\protect\numberline{\csname the#1\endcsname}{\ignorespaces #2}}%
\begingroup
\@parboxrestore
\if@minipage
\@setminipage
\fi
\@tufte@caption@font\@tufte@caption@justification
\noindent\csname fnum@#1\endcsname. \ignorespaces#3\par% changed : to .
\endgroup}
\makeatother
您提供的示例还具有居中标题(作为使用该包的副产品caption
),而不是通常在 Tufte 风格文档中发现的右侧不规则标题。