大多数时候,我们(或者更保守地说,我)认为 PDF 是一种适合打印的静态格式。过去,我曾对它的多功能性感到惊讶——它是多么的动态和交互性——所以我决定问以下问题。
我想创建一个多语言文档,其中的语言可以在运行时确定。也就是说,用户可以从下拉列表/单选按钮组中选择一种语言,相关内容将在整个文档中得到适当替换。
如果这是可能的话,我的理想界面/MWE 是:
\documentclass{whatever}
\usepackage{mwe} % just for \kant and \lipsum
\DeclareLanguageChoices{kant={One of Kant's Books},
psuedo-latin={Classical gibberish used in typesetting.}}
\begin{document}
\dochoices
\begin{LanguageChoice}
\BeginLanguage{kant}
\kant
\EndLanguage{kant}
\BeginLanguage{psuedo-latin}
\lipsum
\EndLanguage{psuedo-latin}
\end{LanguageChoice}
\end{document}
上面的语法是 LaTeX,但最受欢迎的是 pdfTeX、XeTeX、ConTeXt 和 LuaTeX 中的解决方案;只需将其调整为您选择的格式即可。:-)
\dochoices
使用此语法,生成的 PDF 将使用显示文本(在 中)在顶部( 在 处)显示某种控件,{}
并且根据所选的键显示适当的内容。
对潜在解决方案的思考
- 我认为该格式甚至无法垂直重新流动,因此仅采用最大框尺寸就足够了。
- 更多如我/评论所想的那样。
答案1
我认为使用 PDF 实现此目的有两种方法:
- 图层/可选内容组 (OCG)。如果您加载
microtype
在 Adobe Reader 中,你会看到效果,例如第 4 页。有 LaTeX 软件包可用于此目的(检查眼科标签)和语境可以轻松创建它们。请注意,除了 Adobe Reader 和 Acrobat 之外,很少有查看器支持 OCG。 - JavaScript的这些效果大概可以用JS来实现,但是除了Adobe的软件外很少有PDF查看器支持JavaScript。