\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
就会按预期工作。