我设法使用eso-pic
+calc
包在“begin”和“end”语句之间的右边距画一条垂直线。
我这样做是为了审阅手稿,以便于我的论文导师阅读和评论:在和之间画一条线\NEW
,\ENDNEW
以便他们清楚地知道新作品的位置。
我对现在所拥有的一切非常满意,但仍然有一件事困扰着我:该行缺少最后一页!
在我的序言中:
\usepackage{eso-pic,calc}
\newlength{\rightrule}
\setlength{\rightrule}{4\leftmargin+\textwidth+\marginparsep}
\newcommand{\MarginLineNew}{\AddToShipoutPicture{%
\AtPageLowerLeft{%
\put(\LenToUnit{\rightrule},0){\rule{1pt}{\paperheight}} % Rule on the right
}
}}
%start label for new stuff
\newcommand{\NEW}{\MarginLineNew}
%end label for new stuff
\newcommand{\ENDNEW}{\ClearShipoutPicture{}}
在文档中:
[...]
Some text
[...]
\NEW
Some text
[...]
\ENDNEW
显然,调用\ENDNEW
会设置当前页面,\ClearShipoutPicture
而我需要它应用于下一页,但我不知道是否可以使用此函数引用页面 +1。
有什么想法吗?
答案1
一种解决方法是,仅在清除发货图片后,使用带星号的版本为当前页面添加挂钩\AddToShipoutPicture*
。
梅威瑟:
\documentclass{article}
\usepackage{lipsum}
\usepackage{eso-pic,calc}
\newlength{\rightrule}
\setlength{\rightrule}{6\leftmargin+\textwidth+\marginparsep}
\newcommand{\MarginLineNew}{\AddToShipoutPicture{%
\AtPageLowerLeft{%
\put(\LenToUnit{\rightrule},0){\rule{1pt}{\paperheight}} % Rule on the right
}
}}
\newcommand{\MarginLineCurrent}{\AddToShipoutPicture*{%
\AtPageLowerLeft{%
\put(\LenToUnit{\rightrule},0){\rule{1pt}{\paperheight}} % Rule on the right
}
}}
%start label for new stuff
\newcommand{\NEW}{\MarginLineNew}
%end label for new stuff
\newcommand{\ENDNEW}{\ClearShipoutPicture\MarginLineCurrent}
\begin{document}
\NEW
\section{new part}
\lipsum[1-6]
\ENDNEW
\section{old part}
\lipsum[6-20]
\end{document}
结果: