我想在页边空白处显示章节、定理和方程的较长标签,并设置换行符,以免它们超出页边空白。我尝试了以下两个答案这个问题,但都不能与informs3
文檔類別。
---------- 现有方法如何失败 - 请随意跳过 ----------
为了第一个答案给定此处,标签中的每个字符将显示在单独的行中:
为了第二个答案,标签将延伸到页面的文本主体中:
---------- 现有方法失败的结束 ----------
理想情况下,我希望每个标签都能够显示出来,以便
- 占据页边距的整个水平空间:从纸张边缘到正文边缘;
- 用“打开方框”(␣)符号替换每个空白处;并且
- 根据需要在任意字符处断行(包括单词的中间,这样就满足了目标 1)。
当然,标签显示不应该以其他方式改变文档的呈现方式。
以下是 MWE:
\documentclass{informs3}
%Existing methods to display the label
%Method 1 (does not work)
%\usepackage{seqsplit}
%\usepackage{showkeys}
%\usepackage{xstring}
%\renewcommand*\showkeyslabelformat[1]{%
% \noexpandarg%
% % instead of \textvisiblespace you can also put in ~
% % if you want to keep a plain space at space characters
% \StrSubstitute{\(\{\)#1\(\}\)}{ }{\textvisiblespace}[\TEMP]%
% \parbox[t]{\marginparwidth}%
% {\raggedright\normalfont\small\ttfamily\expandafter\seqsplit\expandafter{\TEMP}}}
%Method 2 (does not work)
%\usepackage{showkeys}
%\renewcommand*\showkeyslabelformat[1]{%
% \fbox{\parbox[t]{\marginparwidth}{\raggedright\normalfont\small\ttfamily#1}}}
\TheoremsNumberedThrough %to define theorem-type environments
\begin{document}
\section{The Main Section} \label{sec:a really looooooooooooooooong label for a section}
\begin{equation}
a=b \label{eqn:a long label for an equation}
\end{equation}
\begin{theorem} \label{thm:a long label for a theorem}
Example of a theorem with a long label.
\end{theorem}
\end{document}
答案1
那么类将 \marginparwidth 设置为零,然后您的代码会努力将标签放入这个空间。您可以尝试类似这样的操作。标签仍会重叠,但由于没有更多空间,因此对此无能为力:
\documentclass{informs3}
\usepackage[T1]{fontenc}
\usepackage{showkeys}
\ExplSyntaxOn
\renewcommand*\showkeyslabelformat[1]{%
\fbox{\parbox[t]{1.5cm}{\SingleSpacedXI\raggedright\normalfont\small\ttfamily\str_map_inline:nn{#1}{##1\hspace{0pt}}}}}
\ExplSyntaxOff
%
\TheoremsNumberedThrough %to define theorem-type environments
\def\blub{123}
\begin{document}
\section{The Main Section} \label{sec:a really_looooooooooooooooong label for a section}
\begin{equation}
a=b \label{eqn:a long label for an equation}
\end{equation}
\begin{theorem} \label{thm:a long label for a theorem}
Example of a theorem with a long label.
\end{theorem}
\end{document}