是否有可能旋转 ConTeXt 文档上的整个“文本”框架?

是否有可能旋转 ConTeXt 文档上的整个“文本”框架?

这 100% 是出于好奇。我突然想到,是否有可能将textConTeXt(Mark IV)文档的整个框架旋转到一定程度。我猜这个\rotate命令可以解决问题,但我不知道如何将其应用于框架text(通过\setupframed)。我在这个网站上的一个问题上看到“所有浮点都支持旋转”(在 ConTeXt 中旋转位置表/位置图形以及标题?),但我真的不知道该text框架(或任何其他框架)是否算作浮动。

任何线索都将不胜感激!

答案1

要旋转排版区域,您需要定义一个新的输出例程。在下面的示例中,我定义了一个新的例程,将每个发货框旋转 10 度。这\showframe仅用于可视化目的。

\unprotect
\unexpanded\def\page_shipout_rotatepage#1%
  {\writestatus{rotatepage}{rotating \the\realpageno}%
   \page_shipouts_normal{\rotate[rotation=10]{#1}}}

\installshipoutmethod{rotatepage}\page_shipout_rotatepage

\setuppaper
  [\c!method=rotatepage]

\protect

\showframe
\starttext
\dorecurse{10}{\input knuth\endgraf}
\stoptext

第一页如下所示:

在此处输入图片描述

感谢@Metafox,您也可以通过使用\invokepagehandler{normal}而不是 来实现此功能,而无需使用保护模式\page_shipouts_normal

\unexpanded\def\PageShipoutRotatePage#1%
  {\writestatus{rotatepage}{rotating \the\realpageno}%
   \invokepagehandler{normal}{\rotate[rotation=10]{#1}}}

\installshipoutmethod{rotatepage}\PageShipoutRotatePage

\setuppaper
  [method=rotatepage]


\showframe
\starttext
\dorecurse{10}{\input knuth\endgraf}
\stoptext

答案2

也许

\framed{\rotate[rotation=-34]{\framedtext{\input knuth\relax}}}

相关内容