有没有办法自动使用标题的第一句话作为目录中显示的短标题?我正是想这样写:
\caption{First Sentence. Second Sentence.}
编译为:\caption[First Sentence]{First Sentence. Second Sentence.}
在第一句话之后,我不需要只有一句话。
答案1
作为一种快速而粗略的破解方法,请在您的序言中尝试这样做:
\let\oldcaption\caption
\def\splitter #1. #2@@{\oldcaption[#1]{#1. #2}}
\def\caption#1{\splitter #1@@}
但请注意,我假设您的环境非常简单。
答案2
如果您像我一样将所有标签直接写在标题后面:
sed 's/\(\\caption\){\(\\label{[^}]\+}\)\([^.]*\)\.\(.\+\)/\1[\3]{\2\3. \4/' report.tex
在某些情况下,这种方法有效。它使用 GNU sed 扩展,\+
否则匹配太多。