在每一行的开头和结尾处进行拦截

在每一行的开头和结尾处进行拦截

有没有办法在每个段落前插入连字符?

段落后面怎么样?

像这样:

----Lorem ipsum dolor sit amet, consectetur adipiscing ...
[...]
... fames ac turpis egestas.----------------------------

我尝试使用\dotfill,但我不想手动执行此操作。而且我希望使用连字符,而不是点。

答案1

这只适用于普通段落(无列表)。

\documentclass{article}
\usepackage{lipsum}

\newenvironment{blockpars}
 {\everypar{{\setbox0=\lastbox\hyphens{\wd0}}}%
  \let\par\hyphenpar
}
 {\hyphenpar}

\newcommand{\hyphens}[1]{\xleaders\hbox{-}\hskip#1}
\newcommand{\hyphenpar}{\unskip\hyphens{\fill}\kern0pt\endgraf}

\begin{document}

\begin{blockpars}
This is a blocked paragraph.

This is another blocked paragraph, which is longer and
wraps to the next line, provided we add a proper amount
of words.

\lipsum[1-2]\lipsum*[3]
\end{blockpars}

\end{document}

在此处输入图片描述

答案2

您可以使用

\def\mypar#1\par{\MyDashes#1\MyDashes\par}
\let\oldep\everypar  \newtoks\everypar  \oldep{\the\everypar\mypar}

改编自:

在此处输入图片描述

笔记:

  • 这是仅有的已针对段落进行测试。在列表环境中,它似乎将连字符添加到每个段落的开头\item

    在此处输入图片描述

    不确定这个解决方案还会遇到什么其他困难。

代码:

\documentclass{article}
\usepackage{xcolor}

\newcommand*{\MyDashes}{\textcolor{red}{\bfseries-- -- --}}

%% https://tex.stackexchange.com/q/296584/4301
\def\mypar#1\par{\MyDashes#1\MyDashes\par}

%% https://tex.stackexchange.com/a/119760/4301
\let\oldep\everypar  \newtoks\everypar  \oldep{\the\everypar\mypar}

\begin{document}

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tellus sapien, ultrices non dapibus quis, suscipit nec tortor. Suspendisse ultrices scelerisque purus ac fermentum. Cras laoreet quam at dolor vehicula, hendrerit pharetra tellus rhoncus. Maecenas tincidunt, eros et bibendum rutrum, ex magna porta sem, ac tempus elit arcu vel leo. In tristique ligula non augue eleifend ornare. Integer pellentesque massa ligula, quis facilisis metus pellentesque a. Proin non massa libero. Praesent ut dolor non erat ornare elementum. Etiam pellentesque metus justo, vel fringilla mi condimentum sed.

In nec est sapien. Maecenas blandit laoreet neque a convallis. Proin dapibus nisi felis, id feugiat nunc cursus eget. Maecenas libero lorem, fringilla eu hendrerit non, volutpat a urna. Duis elementum facilisis quam, at euismod nulla tincidunt eu. Curabitur vitae dui nec nibh elementum blandit vel finibus massa. Sed mollis lorem vel diam molestie aliquet. Maecenas scelerisque augue sit amet urna gravida vulputate.

Quisque tincidunt ac mi in gravida. Phasellus eleifend, metus at dignissim porttitor, ex tellus venenatis justo, et gravida purus nisi at lectus. Sed id felis in urna lobortis ultrices eu eu risus. Ut condimentum arcu eu ante dignissim, a vestibulum tellus sodales. Fusce mauris nisi, faucibus sed convallis at, molestie eget quam. In hac habitasse platea dictumst. Morbi et fringilla tortor, id scelerisque arcu. Maecenas vitae ipsum nisi. Mauris non maximus massa, eget rhoncus felis. Nullam nec metus venenatis est vehicula feugiat. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nam congue, urna cursus mollis venenatis, libero risus rutrum tellus, et ornare elit magna eget felis. Proin a metus arcu.

Proin lorem libero, elementum sit amet mollis quis, eleifend a nisi. Donec sit amet vehicula orci. Pellentesque sed aliquet ligula. Proin non dignissim diam. Aenean mi purus, interdum et dui nec, pretium faucibus mauris. Ut pulvinar mollis eros. Sed eleifend non quam vitae volutpat.

Suspendisse potenti. Vestibulum sed consequat quam, eu dictum tortor. Nulla nec leo eleifend, congue nunc eget, venenatis nibh. Nam molestie turpis ante, et facilisis libero ultricies a. Morbi et bibendum metus. Aliquam sollicitudin placerat viverra. Vestibulum eu luctus magna. Curabitur eu faucibus mauris, ut ultricies metus. Fusce magna metus, mollis at consequat at, congue sit amet nibh. Duis vitae massa sit amet eros accumsan posuere sed vitae sem. Quisque nec nisl purus.

\end{document}

相关内容