当放置在边缘时,带有空/空白标题的标准浮动的标签行为

当放置在边缘时,带有空/空白标题的标准浮动的标签行为

\caption{}当标签放在边缘时,如何实现相同的仅标签(无分隔符)行为?

我从这里,但是这并不适用于标准浮点数。

梅威瑟:

\documentclass{tufte-book}
\usepackage{wrapfig}
\usepackage[demo]{graphicx}
\usepackage{caption}
\usepackage{etoolbox}


\makeatletter
\patchcmd{\@caption}{\csname fnum@#1\endcsname:
\ignorespaces#3}{
\csname fnum@#1\endcsname\ifblank{#3}{}{: \ignorespaces#3}}{}{}
\makeatother 


\begin{document}
\begin{figure}
  \begin{center}
    \includegraphics[width=3cm]{graphic.pdf}
    \caption[Caption for the list of figures]{ }
    \label{fig:figureX}
  \end{center}
\end{figure}
\begin{wrapfigure}{l}{4cm}
  \begin{center}
    \includegraphics[width=3cm]{graphic.pdf}
    \caption[Caption for the list of figures]{}
    \label{fig:figureX}
  \end{center}
\end{wrapfigure}
\end{document}

“图 1:”(边距)与“图 2”(文本栏)

答案1

看起来您需要添加几个\expandafter

\makeatletter
\patchcmd{\@caption}{\csname fnum@#1\endcsname:
\ignorespaces#3}{
\csname fnum@#1\endcsname\expandafter\ifblank\expandafter{#3}{}{: \ignorespaces#3}}{}{}
\makeatother 

由于#3\@tufte@stored@caption用于常规图形/表格,因此\ifblank会评估 else/false 分支。一旦\@tufte@stored@caption使用 将其扩展为空白字符串\expandafter\ifblank就会按预期工作。

相关内容