我希望我的 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}
警告:您可能需要使用 Adobe Acrobat 进行打印,因为几乎没有其他 PDF 查看器能够理解 OCG
和关闭