tikz 列表中,多页

tikz 列表中,多页

我想在列表环境中添加一些 tikz。当代码不长(少于一页)时,tikz 的位置没有任何问题。

在此处输入图片描述

但是当代码很长时,tikz 会显示在错误的页面上。长代码的一个最小示例如下。

\documentclass{article}
\usepackage{tikz}
\usepackage{listings}
\usetikzlibrary{positioning}
\newcommand{\tikzmark}[1]{\tikz[overlay,remember picture] \node (#1) {};}

\begin{document}
a\\
a\\
a\\
a\\
a\\
a\\
a\\  
a\\
a\\
a\\
a\\
a\\
a\\
a\\  
a\\
a\\
a\\
a\\
a\\
a\\
a\\  
a\\
a\\
a\\
a\\
a\\
a\\
a\\ 
\begin{lstlisting}[escapechar= !]
a
a
a
a
a
a
THIS IS THE TEXT. !\tikzmark{a}!
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
\end{lstlisting}
\tikz[overlay,remember picture]{\node[fill=green, right=of a] (text) {\scriptsize \Huge HERE};}

\end{document}

我该如何修复它。

答案1

很可能我没有正确解释你的问题,但我想知道把注释放在后面有什么问题\tikzmark

\documentclass{article}
\usepackage{tikz}
\usepackage{listings}
\usetikzlibrary{positioning}
\newcommand{\tikzmark}[1]{\tikz[overlay,remember picture] \node (#1) {};}

\begin{document}
a\\
a\\
a\\
a\\
a\\
a\\
a\\  
a\\
a\\
a\\
a\\
a\\
a\\
a\\  
a\\
a\\
a\\
a\\
a\\
a\\
a\\  
a\\
a\\
a\\
a\\
a\\
a\\
a\\ 
\begin{lstlisting}[escapechar= !]
a
a
a
a
a
a
THIS IS THE TEXT. !\tikzmark{a}! !\tikz[overlay,remember picture]{\node[fill=green, right=of a] (text) {\Huge HERE};}!
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
\end{lstlisting}
\end{document}

相关内容