我以为这个问题已经得到解答了,但我找不到切中要点的答案,所以我在寻找想法和建议。问题如下:
我有一份文档,我想与一些人分享,让他们写下评论。我想缩小页面或文本行的宽度,然后在右侧添加一个区域。例如:
Phasellus tempor! Scelerisque ________________________
platea mattis sit, lorem sed. ________________________
Pid, cursus sit platea quis eu, ________________________
sociis urna turpis adipiscing? ________________________
In ac, habitasse, vel lundium. ________________________
Porttitor? Tincidunt sociis, ut ________________________
dapibus ultricies a. Mid duis cum ________________________
in pid! Lacus. Parturient cum ________________________
Elementum tincidunt! Dolor urna, ________________________
sed eu, nascetur ut! Ultrices auctor, ________________________
cras pellentesque parturient placerat ________________________
rhoncus ac turpis hac, placerat vut. ________________________
我首先倾向于使用marginpar
,但我想看看是否还有其他更好的选择。
如示例所示,我倾向于让注释行与段落相对应,即如果左侧没有文本,则右侧不需要有注释空间。
我还希望能够通过轻按开关关闭此区域以发表评论,也就是说,将边距宽度等恢复正常,而不添加线条。我认为这不会太难。
顺便说一句,我正在使用todonotes
和lineno
包memoir
,所以我想要一个不会破坏其功能的解决方案。
答案1
既然你lineno
无论如何都会使用包,我根据这个包制作了一个解决方案。你必须将数字放在左边才能使其工作,如下例所示。我们引入一个\PrintCommentLine
打印行的命令,并将这个宏添加到\makeLineNumberLeft
负责打印行号的宏中。你也可以轻松地将其关闭。
\documentclass{article}
\usepackage{lineno}
\usepackage[latin]{babel}
\usepackage{lipsum}
% CODE STARTS HERE
\iftrue % change to \iffalse to switch it off
\setlength{\textwidth}{0.5\textwidth}
\def\PrintCommentLine{\kern1.1\textwidth\rule{0.9\textwidth}{1pt}}
\def\makeLineNumberLeft{%
\hss\linenumberfont\LineNumber\hskip\linenumbersep%
\hbox to 0pt{\PrintCommentLine\hss}}
\linenumbers
\leftlinenumbers
\fi
% CODE ENDS HERE
\begin{document}
\noindent
\lipsum
\end{document}