制作 PDF 中未出现的 Tikz 形状/表面

制作 PDF 中未出现的 Tikz 形状/表面

我希望我的 tex 编辑器显示 A4 纸的 2 个孔,但不会出现在输出 PDF 中。

笔记:我不想使用 % 并注释掉圆圈然后再次编译。原因是,我将有数千个 .tex 文件,并且每次编译两次效率不高。

在此处输入图片描述

如果我用 tikz 画一个圆圈,那么输出的 PDF 将有 2 个孔:

    \documentclass[11pt,twoside,german]{article}
        \usepackage[T1]{fontenc}
        \usepackage[sfdefault,condensed,light]{roboto}
        \usepackage[utf8]{inputenc}
        \usepackage[paperwidth=210 mm,paperheight=297 mm,left=0mm,right=0mm,top=0mm,bottom=0mm]{geometry}
        \usepackage{eso-pic} 
        \usepackage{tikz}
    \usepackage{scrextend}  
        
        \begin{document}
        \ClearShipoutPicture
            \AddToShipoutPicture{%
                \AtPageLowerLeft{%
                    \begin{tikzpicture}%[line cap=round,line join=round,>=triangle 45,x=1.0cm,y=1.0cm]
                        \clip(0,0) rectangle (21,29.7);
                        \draw [fill=black!10!] (1.2,10.85) circle (3mm);
                        \draw [fill=black!10!] (1.2,18.85) circle (3mm);
                    \end{tikzpicture} 
                }
            }
        
        some text
        
        \vspace*{10cm} 
        
        some times i need this part
        
        \vspace*{2cm}
        
        \begin{addmargin}[2cm]{2cm}
        some times i add margins
        \end{addmargin}
        \end{document}

我怎样才能在输出 PDF 中隐藏这 2 个洞,但在 tex 编辑器中看到它们?谢谢您的帮助!

答案1

您可以将孔放在单独的 OCG 层上,该层不会打印:

 \documentclass[11pt,twoside,german]{article}
        \usepackage[T1]{fontenc}
        \usepackage[sfdefault,condensed,light]{roboto}
        \usepackage[utf8]{inputenc}
        \usepackage[paperwidth=210 mm,paperheight=297 mm,left=0mm,right=0mm,top=0mm,bottom=0mm]{geometry}
        \usepackage{eso-pic} 
        \usepackage{tikz}
        \usepackage{ocgx2}
    \usepackage{scrextend}  
        
\begin{document}
\ClearShipoutPicture
\AddToShipoutPicture{%
    \AtPageLowerLeft{%
        \begin{ocg}[printocg=never]{holes}{holes}{1}
            \begin{tikzpicture}%[line cap=round,line join=round,>=triangle 45,x=1.0cm,y=1.0cm]
                \clip(0,0) rectangle (21,29.7);
                \draw [fill=black!10!] (1.2,10.85) circle (3mm);
                \draw [fill=black!10!] (1.2,18.85) circle (3mm);
            \end{tikzpicture}
        \end{ocg}
    }
}

some text

\vspace*{10cm}

some times i need this part

\vspace*{2cm}

\begin{addmargin}[2cm]{2cm}
    some times i add margins
\end{addmargin}
\end{document}

警告:您可能需要使用 Adob​​e Acrobat 进行打印,因为几乎没有其他 PDF 查看器能够理解 OCG

您可以打开图层 在此处输入图片描述

和关闭

在此处输入图片描述

相关内容