我commentaire
为我的一个项目定义了一个新环境,以便为文档的特定段落带来启发。它以评论的作者和文本作为输入。它工作正常。不过,我有一个关于显示的问题。我不希望评论与上面的段落分开,但我希望评论后有一个段落分隔符,基本上与以下输出完全相反:
使用samepage
环境已经在另一页上修复了注释与上段(链接段落)的分离,但它仍然在上段和注释之间使用垂直空格(抱歉我的英语)进行换行,并且换行(代码 l.36)似乎并没有使注释成为与下面段落分开的段落。
所以这里有一个 MWE:(检查输出第 2 页),抱歉文本太长,我需要大量的文本来显示这个问题。
\documentclass[french, 11pt, a4paper, titlepage]{report}
\usepackage[T1]{fontenc}
\usepackage[utf8x]{inputenc}
\usepackage{fontawesome}
\newenvironment{commentaire}[1]
{
\nopagebreak
\newcommand{\footArg}{#1}
\paragraph{\faCommentsO}
}
{
~(\footArg)
}
\begin{document}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer mauris lacus, rhoncus eget feugiat ac, vestibulum eu nisl. Nam accumsan et mi quis vehicula. Nunc eu nisi ullamcorper, bibendum arcu a, mollis lectus. Praesent et hendrerit augue. Donec dapibus tortor ut purus faucibus auctor. Sed viverra eget lorem ac vehicula. Etiam faucibus dictum interdum. Quisque sed fringilla nibh. Aliquam eleifend, nunc sed malesuada egestas, nulla lacus egestas mi, quis egestas eros velit sed mauris. Proin ornare lacus tincidunt dapibus scelerisque. Ut fringilla ultrices purus vel dictum.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer mauris lacus, rhoncus eget feugiat ac, vestibulum eu nisl. Nam accumsan et mi quis vehicula. Nunc eu nisi ullamcorper, bibendum arcu a, mollis lectus. Praesent et hendrerit augue. Donec dapibus tortor ut purus faucibus auctor. Sed viverra eget lorem ac vehicula. Etiam faucibus dictum interdum. Quisque sed fringilla nibh. Aliquam eleifend, nunc sed malesuada egestas, nulla lacus egestas mi, quis egestas eros velit sed mauris. Proin ornare lacus tincidunt dapibus scelerisque. Ut fringilla ultrices purus vel dictum.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer mauris lacus, rhoncus eget feugiat ac, vestibulum eu nisl. Nam accumsan et mi quis vehicula. Nunc eu nisi ullamcorper, bibendum arcu a, mollis lectus. Praesent et hendrerit augue. Donec dapibus tortor ut purus faucibus auctor. Sed viverra eget lorem ac vehicula. Etiam faucibus dictum interdum. Quisque sed fringilla nibh. Aliquam eleifend, nunc sed malesuada egestas, nulla lacus egestas mi, quis egestas eros velit sed mauris. Proin ornare lacus tincidunt dapibus scelerisque. Ut fringilla ultrices purus vel dictum.
Morbi a lacinia nunc, sed ornare justo. Integer consequat sem purus, nec bibendum turpis ultrices quis. Cras nisl felis, ultricies vitae faucibus posuere, vestibulum id enim. Etiam pellentesque enim egestas, ornare diam id, ullamcorper ex. Pellentesque laoreet nisl pretium nisl tincidunt, non pharetra elit tempus. Nulla facilisi. Suspendisse a odio dui. Etiam ac est vitae tortor elementum imperdiet in non diam. Mauris fermentum nec nisl tristique sollicitudin. Morbi vel tristique purus.
Nam elementum erat et orci venenatis aliquet. Morbi vel ligula nisl. Vivamus nec turpis id elit tempus facilisis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Mauris id est condimentum, sollicitudin dolor sit amet, lacinia ligula. Etiam luctus quis lacus facilisis tempus. Maecenas viverra felis porttitor nunc vestibulum aliquet. Duis efficitur tortor sit amet sem placerat, vitae cursus mi finibus. Ut elementum enim feugiat, pretium orci id, tincidunt augue. Nunc in sollicitudin mauris.
\begin{samepage}
Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. In lacinia est enim, non vulputate purus iaculis ut. Sed dictum magna quis pretium elementum. Sed in ante diam. Nam vitae tellus non dui imperdiet feugiat id ac nisi. Praesent est dolor, fermentum sed mattis sed, tempor vitae purus. Curabitur posuere, justo ac tincidunt accumsan, est sapien aliquet purus, malesuada sagittis magna velit ut est. Mauris posuere, tellus et congue fermentum, ipsum enim facilisis sapien, ultricies pharetra nisl velit non lectus. Maecenas pretium ex eget est dignissim, et commodo libero efficitur. Curabitur a ullamcorper mi, sit amet pharetra odio. Nullam purus metus, ullamcorper mattis urna eget, ornare molestie ante. Pellentesque eu interdum augue. Sed in sem luctus, bibendum arcu vel, sollicitudin arcu. Suspendisse potenti. Nam nulla leo, pellentesque vel vehicula a, rutrum in nisl. Morbi a ipsum sapien.
\begin{commentaire}{author}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer mauris lacus, rhoncus eget feugiat ac, vestibulum eu nisl. Nam accumsan et mi quis vehicula. Nunc eu nisi ullamcorper, bibendum arcu a, mollis lectus. Praesent et hendrerit augue. Donec dapibus tortor ut purus faucibus auctor. Sed viverra eget lorem ac vehicula. Etiam faucibus dictum interdum. Quisque sed fringilla nibh. Aliquam eleifend, nunc sed malesuada egestas, nulla lacus egestas mi, quis egestas eros velit sed mauris. Proin ornare lacus tincidunt dapibus scelerisque. Ut fringilla ultrices purus vel dictum.
\end{commentaire}
\end{samepage}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer mauris lacus, rhoncus eget feugiat ac, vestibulum eu nisl. Nam accumsan et mi quis vehicula. Nunc eu nisi ullamcorper, bibendum arcu a, mollis lectus. Praesent et hendrerit augue. Donec dapibus tortor ut purus faucibus auctor. Sed viverra eget lorem ac vehicula. Etiam faucibus dictum interdum. Quisque sed fringilla nibh. Aliquam eleifend, nunc sed malesuada egestas, nulla lacus egestas mi, quis egestas eros velit sed mauris. Proin ornare lacus tincidunt dapibus scelerisque. Ut fringilla ultrices purus vel dictum.
Sed viverra venenatis pretium. Sed a faucibus sapien. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec mauris risus, luctus ut ipsum a, euismod viverra tortor. Sed dapibus leo nec tortor rhoncus egestas. Sed nisi velit, faucibus eget tellus nec, fringilla pellentesque elit. Morbi et justo mattis, volutpat arcu a, fermentum lacus. In nec pharetra purus.
Morbi a lacinia nunc, sed ornare justo. Integer consequat sem purus, nec bibendum turpis ultrices quis. Cras nisl felis, ultricies vitae faucibus posuere, vestibulum id enim. Etiam pellentesque enim egestas, ornare diam id, ullamcorper ex. Pellentesque laoreet nisl pretium nisl tincidunt, non pharetra elit tempus. Nulla facilisi. Suspendisse a odio dui. Etiam ac est vitae tortor elementum imperdiet in non diam. Mauris fermentum nec nisl tristique sollicitudin. Morbi vel tristique purus.
Nam elementum erat et orci venenatis aliquet. Morbi vel ligula nisl. Vivamus nec turpis id elit tempus facilisis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Mauris id est condimentum, sollicitudin dolor sit amet, lacinia ligula. Etiam luctus quis lacus facilisis tempus. Maecenas viverra felis porttitor nunc vestibulum aliquet. Duis efficitur tortor sit amet sem placerat, vitae cursus mi finibus. Ut elementum enim feugiat, pretium orci id, tincidunt augue. Nunc in sollicitudin mauris.
Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. In lacinia est enim, non vulputate purus iaculis ut. Sed dictum magna quis pretium elementum. Sed in ante diam. Nam vitae tellus non dui imperdiet feugiat id ac nisi. Praesent est dolor, fermentum sed mattis sed, tempor vitae purus. Curabitur posuere, justo ac tincidunt accumsan, est sapien aliquet purus, malesuada sagittis magna velit ut est. Mauris posuere, tellus et congue fermentum, ipsum enim facilisis sapien, ultricies pharetra nisl velit non lectus. Maecenas pretium ex eget est dignissim, et commodo libero efficitur. Curabitur a ullamcorper mi, sit amet pharetra odio. Nullam purus metus, ullamcorper mattis urna eget, ornare molestie ante. Pellentesque eu interdum augue. Sed in sem luctus, bibendum arcu vel, sollicitudin arcu. Suspendisse potenti. Nam nulla leo, pellentesque vel vehicula a, rutrum in nisl. Morbi a ipsum sapien.
\end{document}
如何修复此问题?谢谢。
答案1
我会避免滥用\paragraph
:
\documentclass[11pt, a4paper, titlepage]{report}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{fontawesome}
\newenvironment{commentaire}[1]
{%
\par\nopagebreak
\newcommand{\footArg}{#1}%
\makebox[0pt][r]{\makebox[\parindent][l]{\faCommentsO}}\ignorespaces
}
{\unskip~(\footArg)\par\addvspace{\medskipamount}}
\begin{document}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer mauris lacus, rhoncus eget feugiat ac, vestibulum eu nisl. Nam accumsan et mi quis vehicula. Nunc eu nisi ullamcorper, bibendum arcu a, mollis lectus. Praesent et hendrerit augue. Donec dapibus tortor ut purus faucibus auctor. Sed viverra eget lorem ac vehicula. Etiam faucibus dictum interdum. Quisque sed fringilla nibh. Aliquam eleifend, nunc sed malesuada egestas, nulla lacus egestas mi, quis egestas eros velit sed mauris. Proin ornare lacus tincidunt dapibus scelerisque. Ut fringilla ultrices purus vel dictum.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer mauris lacus, rhoncus eget feugiat ac, vestibulum eu nisl. Nam accumsan et mi quis vehicula. Nunc eu nisi ullamcorper, bibendum arcu a, mollis lectus. Praesent et hendrerit augue. Donec dapibus tortor ut purus faucibus auctor. Sed viverra eget lorem ac vehicula. Etiam faucibus dictum interdum. Quisque sed fringilla nibh. Aliquam eleifend, nunc sed malesuada egestas, nulla lacus egestas mi, quis egestas eros velit sed mauris. Proin ornare lacus tincidunt dapibus scelerisque. Ut fringilla ultrices purus vel dictum.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer mauris lacus, rhoncus eget feugiat ac, vestibulum eu nisl. Nam accumsan et mi quis vehicula. Nunc eu nisi ullamcorper, bibendum arcu a, mollis lectus. Praesent et hendrerit augue. Donec dapibus tortor ut purus faucibus auctor. Sed viverra eget lorem ac vehicula. Etiam faucibus dictum interdum. Quisque sed fringilla nibh. Aliquam eleifend, nunc sed malesuada egestas, nulla lacus egestas mi, quis egestas eros velit sed mauris. Proin ornare lacus tincidunt dapibus scelerisque. Ut fringilla ultrices purus vel dictum.
Morbi a lacinia nunc, sed ornare justo. Integer consequat sem purus, nec bibendum turpis ultrices quis. Cras nisl felis, ultricies vitae faucibus posuere, vestibulum id enim. Etiam pellentesque enim egestas, ornare diam id, ullamcorper ex. Pellentesque laoreet nisl pretium nisl tincidunt, non pharetra elit tempus. Nulla facilisi. Suspendisse a odio dui. Etiam ac est vitae tortor elementum imperdiet in non diam. Mauris fermentum nec nisl tristique sollicitudin. Morbi vel tristique purus.
Nam elementum erat et orci venenatis aliquet. Morbi vel ligula nisl. Vivamus nec turpis id elit tempus facilisis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Mauris id est condimentum, sollicitudin dolor sit amet, lacinia ligula. Etiam luctus quis lacus facilisis tempus. Maecenas viverra felis porttitor nunc vestibulum aliquet. Duis efficitur tortor sit amet sem placerat, vitae cursus mi finibus. Ut elementum enim feugiat, pretium orci id, tincidunt augue. Nunc in sollicitudin mauris.
\begin{samepage}
Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. In lacinia est enim, non vulputate purus iaculis ut. Sed dictum magna quis pretium elementum. Sed in ante diam. Nam vitae tellus non dui imperdiet feugiat id ac nisi. Praesent est dolor, fermentum sed mattis sed, tempor vitae purus. Curabitur posuere, justo ac tincidunt accumsan, est sapien aliquet purus, malesuada sagittis magna velit ut est. Mauris posuere, tellus et congue fermentum, ipsum enim facilisis sapien, ultricies pharetra nisl velit non lectus. Maecenas pretium ex eget est dignissim, et commodo libero efficitur. Curabitur a ullamcorper mi, sit amet pharetra odio. Nullam purus metus, ullamcorper mattis urna eget, ornare molestie ante. Pellentesque eu interdum augue. Sed in sem luctus, bibendum arcu vel, sollicitudin arcu. Suspendisse potenti. Nam nulla leo, pellentesque vel vehicula a, rutrum in nisl. Morbi a ipsum sapien.
\begin{commentaire}{author}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer mauris lacus, rhoncus eget feugiat ac, vestibulum eu nisl. Nam accumsan et mi quis vehicula. Nunc eu nisi ullamcorper, bibendum arcu a, mollis lectus. Praesent et hendrerit augue. Donec dapibus tortor ut purus faucibus auctor. Sed viverra eget lorem ac vehicula. Etiam faucibus dictum interdum. Quisque sed fringilla nibh. Aliquam eleifend, nunc sed malesuada egestas, nulla lacus egestas mi, quis egestas eros velit sed mauris. Proin ornare lacus tincidunt dapibus scelerisque. Ut fringilla ultrices purus vel dictum.
\end{commentaire}
\end{samepage}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer mauris lacus, rhoncus eget feugiat ac, vestibulum eu nisl. Nam accumsan et mi quis vehicula. Nunc eu nisi ullamcorper, bibendum arcu a, mollis lectus. Praesent et hendrerit augue. Donec dapibus tortor ut purus faucibus auctor. Sed viverra eget lorem ac vehicula. Etiam faucibus dictum interdum. Quisque sed fringilla nibh. Aliquam eleifend, nunc sed malesuada egestas, nulla lacus egestas mi, quis egestas eros velit sed mauris. Proin ornare lacus tincidunt dapibus scelerisque. Ut fringilla ultrices purus vel dictum.
Sed viverra venenatis pretium. Sed a faucibus sapien. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec mauris risus, luctus ut ipsum a, euismod viverra tortor. Sed dapibus leo nec tortor rhoncus egestas. Sed nisi velit, faucibus eget tellus nec, fringilla pellentesque elit. Morbi et justo mattis, volutpat arcu a, fermentum lacus. In nec pharetra purus.
Morbi a lacinia nunc, sed ornare justo. Integer consequat sem purus, nec bibendum turpis ultrices quis. Cras nisl felis, ultricies vitae faucibus posuere, vestibulum id enim. Etiam pellentesque enim egestas, ornare diam id, ullamcorper ex. Pellentesque laoreet nisl pretium nisl tincidunt, non pharetra elit tempus. Nulla facilisi. Suspendisse a odio dui. Etiam ac est vitae tortor elementum imperdiet in non diam. Mauris fermentum nec nisl tristique sollicitudin. Morbi vel tristique purus.
Nam elementum erat et orci venenatis aliquet. Morbi vel ligula nisl. Vivamus nec turpis id elit tempus facilisis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Mauris id est condimentum, sollicitudin dolor sit amet, lacinia ligula. Etiam luctus quis lacus facilisis tempus. Maecenas viverra felis porttitor nunc vestibulum aliquet. Duis efficitur tortor sit amet sem placerat, vitae cursus mi finibus. Ut elementum enim feugiat, pretium orci id, tincidunt augue. Nunc in sollicitudin mauris.
Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. In lacinia est enim, non vulputate purus iaculis ut. Sed dictum magna quis pretium elementum. Sed in ante diam. Nam vitae tellus non dui imperdiet feugiat id ac nisi. Praesent est dolor, fermentum sed mattis sed, tempor vitae purus. Curabitur posuere, justo ac tincidunt accumsan, est sapien aliquet purus, malesuada sagittis magna velit ut est. Mauris posuere, tellus et congue fermentum, ipsum enim facilisis sapien, ultricies pharetra nisl velit non lectus. Maecenas pretium ex eget est dignissim, et commodo libero efficitur. Curabitur a ullamcorper mi, sit amet pharetra odio. Nullam purus metus, ullamcorper mattis urna eget, ornare molestie ante. Pellentesque eu interdum augue. Sed in sem luctus, bibendum arcu vel, sollicitudin arcu. Suspendisse potenti. Nam nulla leo, pellentesque vel vehicula a, rutrum in nisl. Morbi a ipsum sapien.
\end{document}
答案2
您的commentaire
环境基本上执行了\paragraph
,其中预定义了该间距:
\newcommand\paragraph{%
\@startsection{paragraph}{4}%
{\z@}% <- Indentation
{3.25ex \@plus1ex \@minus.2ex}% <- Space before
{-1em}% <- Space after (if negative, then doesn't do a line rbeak)
{\normalfont\normalsize\bfseries}}% <- Format
所以我们必须改变commentaire
环境来将这些空间添加到正确的位置。
的参数\paragraph
用 排版Format
,其前有一个Indentation
(\z@
),其后有一个水平空格Space after
(1em
),因此我们可以写:
\par\noindent% No indentation
{\normalfont\normalsize\bfseries% Format
\faCommentsO}\hskip1em\relax% Space after
然后,当环境结束时,我们想要Space before
:
\par
\addvspace{3.25ex \@plus1ex \@minus.2ex}%
综合起来,commentaire
环境将如下所示:
\makeatletter
\newenvironment{commentaire}[1]
{%
\nopagebreak
\newcommand{\footArg}{#1}%
\par\noindent
{\normalfont\normalsize\bfseries
\faCommentsO}\hskip1em\relax
}{%
~(\footArg)%
\par
\addvspace{3.25ex \@plus1ex \@minus.2ex}%
}
\makeatother
输出: