# Empty captions with KOMA-script, maybe together with hyperref

I like captions to normally have a colon, but not when the caption is empty. This is something that the package caption does automatically, so

\documentclass{scrartcl}

\usepackage{caption}
\usepackage{hyperref}

\begin{document}
\begin{figure}
\caption{Test}
\caption{}
\end{figure}
\end{document}


yields

which is what I want. But I want to use KOMA captions without the caption package, and then I get "Figure 1: Test / Figure 2:" with the extra colon at the end. How can I patch it to make it as I want?

I need a solution that works together with hyperref. An answer to this earlier question where hyperref isn't involved doesn't work with it, so it may complicate things.

Well I think it is really the better way to typeset and measure the caption instead of looking at the tokens:

 \documentclass{scrartcl}

\usepackage{hyperref}

\usepackage{xpatch}
\makeatletter
\patchcmd\@@makecaption{\begingroup}
{%
\settowidth{\@tempdima}{#3}%
\ifdim\@tempdima=0pt
\def\captionformat{}%
\fi
\begingroup
}{}{\fail}

\begin{document}
\begin{figure}
\caption{Test}
\caption{}
\caption{ }
\caption{new}
\end{figure}
\end{document}


Without hyperref this will also remove the colons for the caption with a space in it, but with hyperref this space counts.

• You still have the \usepackage{caption} line in there, which is what actually fixes it! – pst Feb 3 at 12:11
• Oh. Sorry. Will have to check again. – Ulrike Fischer Feb 3 at 12:13
• @pst I adapted the code. – Ulrike Fischer Feb 3 at 12:24
• Great! So now this is a better answer to my old question as well. For posterity I think it would be better if I remove that question and change this to be both without or with hyperref. What do you think? – pst Feb 3 at 12:33
• Are you OK with me doing as I suggested @Ulrike? (I don't want to go ahead otherwise since that question has an answer from you.) – pst Feb 6 at 11:06