在 `showkeys` 包中的标签显示中添加换行符

在 `showkeys` 包中的标签显示中添加换行符

我正在使用该包展示钥匙在我的 LaTeX 文件中显示标签。我的所有标签都采用 形式type:name:details。由于我的标签往往很长 ( lemma:the_name_of_the_lemma:...),因此我想重新定义\showkeyslabelformat命令以在每次 时换行:

这怎么可能?有没有办法用:换行符代替?

答案1

showkeys 使用以下命令排版标签

\providecommand*\showkeyslabelformat[1]{%
  \fbox{\normalfont\small\ttfamily#1}}

你可以用任何你想要的方式重新定义它,

在此处输入图片描述

\documentclass{article}

\usepackage{showkeys}

\renewcommand*\showkeyslabelformat[1]{%
  \fbox{\parbox[t]{2cm}{\raggedright\normalfont\small\ttfamily\hyphenchar\font=`\:#1}}}

\begin{document}

\section{zzz\label{section:with:a:long:label}}
\begin{equation}
  \label{equation:with:an:even:longer:label}
  1=0
\end{equation}
\end{document}

答案2

噢,我正要回答说这很难(因为 catcodes),这时 David 使用 给出了解决方案\hyphenchar。狡猾!

因此,我只想补充一点,同样的命令也可以在显示标签,仅改了名字。

\renewcommand*\showlabelsetlabel[1]{%
  \fbox{\parbox[t]{2cm}{%
    \raggedright\normalfont\small\ttfamily
    \hyphenchar\font=`\:
    #1}}}

相关内容