Изменение команд начала/конца абзаца

Изменение команд начала/конца абзаца

Можно ли изменить команды TeX/LaTeX так, чтобы определенные команды выполнялись до/после абзаца? Например, мы знаем, что когда компилятор LaTeX видит команду \par или строку пробела, он заканчивает текущий абзац и переходит в вертикальный режим (?).

Итак, я ищу команду, которую я мог бы изменить так, чтобы я мог ввести

%redefine some commands up here

\begin{document}
Paragraph 1

Paragraph 2
\end{document}

и заставить его выдавать тот же результат, что и

\begin{document}
$\triangle$Paragraph 1

$\triangle$Paragraph 2
\end{document}

Другим связанным вопросом будет также создание выходных данных, подобных

\begin{document}
Paragraph 1$\square$

Paragraph 2$\square$
\end{document}

решение1

Переопределять \parглобально очень опасно. Но ограничено средой, можно добавить некоторые элементы без написания какой-либо команды. Пример:

(не гарантия безопасности в реальном документе)

МВЭ

\documentclass{article}
\usepackage{xcolor}

\newenvironment{crazypar}{%at begin 
\smallskip
\def\par{%
\pdfprimitive\par\noindent\rule{\textwidth}{0.4mm}%
\pdfprimitive\par\makebox[-2em][c]{\color{red}$\triangle$}\hspace{1.5em}
}}%
{%at end
\newline\noindent\rule{\textwidth}{0.4mm}
}


\begin{document}

This is a dummy text. This is a dummy text. This is a dummy text. This is a dummy text. This is a dummy text. This is a dummy text.

This is a dummy text. This is a dummy text. This is a dummy text. This is a dummy text. 

This is a dummy text. This is a dummy text.

\begin{crazypar}

This is a dummy text. 

This is a dummy text. This is a dummy text. This is a dummy text.

This is a dummy text. This is a dummy text. This is a dummy text. This is a dummy text. This is a dummy text. This is a dummy text.

This is a dummy text. This is a dummy text. This is a dummy text. This is a dummy text. This is a dummy text. This is a dummy text.  % no blank line here
\end{crazypar}

This is a dummy text. This is a dummy text. This is a dummy text. This is a dummy text.

\end{document}

Связанный контент