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}
関連するもう1つの質問は、次のような出力を生成することです。
\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}