作为对此的后续问题: 如何排版类似《我的奋斗》评论版的批判性工具?
由于出现的软件包没有完全满足我的要求,因此我想出了以下代码:
\documentclass{article}
\newlength{\commentlength}
\newlength{\thiscommentxstart}
\newlength{\thiscommentxend}
\newlength{\commentstartx}
\newlength{\commentstarty}
\newlength{\thisboxstartx}
\newlength{\thisboxendx}
\newlength{\thisboxstarty}
\newlength{\thisboxendy}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{xcolor}
\newcounter{comments}
\setcounter{comments}{1}
\usepackage{lengthconvert}
\usepackage{zref-savepos}
\usepackage[absolute,overlay]{textpos}
\usepackage{calc}
\setlength{\TPHorizModule}{\textwidth}
\setlength{\TPVertModule}{\textheight}
\textblockorigin{0mm}{0mm}
\newcommand*{\currpos}[1]{%
\zsavepos{#1}%
}
\newcommand{\mycomment}[4]{%
\currpos{#1}%
%
\setlength{\thisboxstartx}{\zposx{#1}sp}%
\setlength{\thisboxstarty}{\zposy{#1}sp}%
\setlength{\thisboxendx}{\zposx{#2}sp}%
\setlength{\thisboxendy}{\zposy{#2}sp}%
%
\setlength{\thiscommentxstart}{\thisboxstartx}%
\setlength{\thiscommentxend}{\thisboxendx}%
\setlength{\commentlength}{\thisboxendx-\thisboxstartx-\marginparwidth}%
\if\ifnum\thiscommentxstart<\thiscommentxend%
\setlength{\commentlength}{\thisboxstartx-\marginparwidth}%
\fi%
\setlength{\commentstartx}{\thisboxstartx}%
\setlength{\commentstarty}{(\paperheight-\thisboxstarty)+\voffset-0.1in}%
\textbf{#3}\currpos{#2}%
\vadjust{\begin{textblock*}{\commentlength}(\commentstartx,\commentstarty)\noindent%
\textcolor{red}{#4}%
\end{textblock*}}%
}
\begin{document}
das hier ist fließtext um \mycomment{label}{labelende}{einen relativ kurzen text und seine textbox}{kommentare können durchau auch mal länger sein als der kommentierte text, müssen sie aber nicht} herum. danach folgt weiterer unkommentierter text.
\vspace{10em}
das hier ist weiterer fließtext um \mycomment{labelzwei}{labelzweiende}{einen kurzen und seine textbox}{kommentar 2 ist kürzer als kommentar 1} herum. danach folgt weiterer unkommentierter text.
\end{document}
这将创建一个如下的文档:
这和我想要的有点相似。我现在只需要做两件事:
- 每页后自动创建一个空白页
- 将文本块*移动到该页面。
我找不到任何方法让 LaTeX 在第 n + 1 页上写入文本,而文本仍位于第 n 页。我必须以某种方式将其写入辅助文件中吗?或者还有其他方法可以实现这一点吗?
如果这样做了,我的目标就实现了。这里有人能帮我吗?正如我所说,我找不到这两个问题的信息。
答案1
Textpos 并非设计用于将textblock
环境放置在当前页面以外的其他页面上,因此我认为这对于您的特定问题来说不起作用。
我添加了对您链接问题的答案,这可能会有所帮助。