![如何创建带有可折叠校样的文档?](https://linux22.com/image/464562/%E5%A6%82%E4%BD%95%E5%88%9B%E5%BB%BA%E5%B8%A6%E6%9C%89%E5%8F%AF%E6%8A%98%E5%8F%A0%E6%A0%A1%E6%A0%B7%E7%9A%84%E6%96%87%E6%A1%A3%EF%BC%9F.png)
我正在尝试创建一个包含一系列定理和证明的文档,一个接一个。我希望在 pdf 中,可以单击证明旁边的按钮来折叠该证明。这样会很方便,这样我就可以浏览文档并查看定理的整体流程(而不必在每个定理之间放置一堆证明文本),但仍可以通过单击按钮展开它来查看某个给定定理的证明。
我认为我必须使用 ogcx2 包。我找到了相关的解决方案这里,但它并没有完全满足我的要求。它只处理列表中的项目,而我想创建一个证明环境。此外,即使关闭了隐藏文本,它似乎也会保留与隐藏文本相关的空间。例如,如果我在下面添加一些文本,即使关闭了隐藏文本,它也会保留 pdf 中的空间。这是我的带有“更多文本”的代码:
\documentclass{article}
\usepackage{xcolor}
\usepackage{mathabx} % \blacktriangleright, \blacktriangledown
\usepackage{ocgx2}
% toggle switch with rotating item symbol; also defines Layer name and id
\NewDocumentCommand{\itemtoggle}{mm}{% #1 OCG name (as shown in Layer tab of the PDF viewer);
% #2 internal identifier
{\hypersetup{pdfborder=0 0 0}% suppresses link border around item if hyperref is loaded
\switchocg{#2}{%
\begin{ocg}{#1}{#2}{off}\rlap{$\blacktriangledown$}\end{ocg}%
\begin{ocmd}{\AllOff{#2}}$\blacktriangleright$\end{ocmd}%
}}%
}
\ProvideDocumentCommand{\hypersetup}{m}{}
\begin{document}
The relativity equation $E=mc^2$
\begin{itemize}
\item[\itemtoggle{Mass-Energy Equivalence}{emc2}]
{\color{cyan}%
In physics, mass-energy equivalence is the relationship between mass and energy in a system's rest frame, where the two values differ only by a constant and the units of measurement. The principle is described by Albert Einstein's famous formula.}
\begin{ocmd}{\AllOn{emc2}}
The formula defines the Energy ($E$) of a particle in its rest frame as the product of mass ($m$) and speed of light squared ($c^2$) \dots
\end{ocmd}
More text.
\end{itemize}
\end{document}
如您所见,即使 emc2 文本被隐藏,这也会在 PDF 中输出以下内容:
我希望当按钮关闭时,“更多文本”会直接显示在蓝色文本下方,没有间隙。有办法吗?