![标题后的文本导致意外换行或居中](https://linux22.com/image/391038/%E6%A0%87%E9%A2%98%E5%90%8E%E7%9A%84%E6%96%87%E6%9C%AC%E5%AF%BC%E8%87%B4%E6%84%8F%E5%A4%96%E6%8D%A2%E8%A1%8C%E6%88%96%E5%B1%85%E4%B8%AD.png)
我希望我的图形标题具有以下格式:
- 图号为粗体
- 前几个词是图表的标题,并且总是粗体
- 其余标题未加粗
这是我的 MWE:
\documentclass{report}
\usepackage{graphicx}
\usepackage[labelfont=bf,textfont=bf]{caption}
\begin{document}
\begin{figure}
\centering
\includegraphics[width=\textwidth]{cat}
\caption{A cat} depicted sitting at the table.
\end{figure}
\end{document}
这使得以下内容:
我不喜欢这样,因为标题不应该居中,而且非粗体文本也不应该在新行上。它应该看起来像这样:
并且图形列表(未显示)中的图形名称应该只是粗体部分,而不是全部。
不可接受的解决方案:
- 删除
textfont=bf
然后加粗A cat
——图形列表中的图形标题会太长。 - 使用短标题参数
\caption
- 我最终会输入两次每个标题,这很烦人并且违反了 DRY。
答案1
那这个呢?使用命令
\mycaption[A cat]{depicted sitting at the table.}
在这种情况下,您不需要输入两次;您只需要将其拆分。
\documentclass{report}
\usepackage{graphicx}
\usepackage[labelfont=bf]{caption}
\newcommand{\mycaption}[2][]{\caption[#1]{\textbf{#1} #2}}
\begin{document}
\listoffigures
\begin{figure}\centering
\includegraphics[width=\textwidth]{example-image-a}
\mycaption[A cat]{depicted sitting at the table.}
\end{figure}
\end{document}