我正在使用该包展示钥匙在我的 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}}}