5

I would like to develop a small environment for a "theorem" very similar to what amsthm provides. Unfortunately, I cannot use this package for legacy reasons within the document. But I struggle to get the correct spacing before and after the environment. What I would like to get is the vertical spacing we get in between 2 paragraphs when we use 2 consecutive returns. How can I get that?

Thanks for your help

\documentclass{article}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}

\newenvironment{proposition}{%   
\par\noindent\textbf{Proposition~:} %
}{%
}   

\begin{document}
bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla.
\begin{proposition}
Hello.
\end{proposition}
bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla.
\begin{itemize}
\item Hello
\item Hello
\end{itemize}
\begin{proposition}
Hello.
\end{proposition}

\end{document}

2 Answers2

1

Maybe something like in this answer is what you're looking for.

\documentclass{article}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}

\newenvironment{proposition}{% see https://tex.stackexchange.com/a/44619/101651  
\par\addvspace{\baselineskip}\noindent\textbf{Proposition~:} %
}{%
\par\addvspace{\baselineskip}%
}


\begin{document}
bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla.
\begin{proposition}
Hello.
\end{proposition}
bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla.
\begin{itemize}
\item Hello
\item Hello
\end{itemize}
\begin{proposition}
Hello.
\end{proposition}
\end{document}

enter image description here

CarLaTeX
  • 62,716
  • That's the best option I have so far. It is not perfect as the \addvspace{\baselineskip} is added even if it was previously added. I need something such as \xspace that adds the space only if it was not there before. – InsideLoop Apr 21 '19 at 09:51
  • @InsideLoop What about egreg's answer? – CarLaTeX Apr 21 '19 at 09:57
1

You can use trivlist:

\documentclass{article}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}

\newenvironment{proposition}
 {%
  \setlength\topsep{\baselineskip}% we want a blank line before and after
  \trivlist\item\relax
  \textbf{Proposition\FBcolonspace:\FBcolonspace}\ignorespaces
 }
 {\endtrivlist}

\begin{document}
bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla.
\begin{proposition}
Hello.
\end{proposition}
bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla.
\begin{itemize}
\item Hello
\item Hello
\end{itemize}
\begin{proposition}
Hello.
\end{proposition}

\end{document}

enter image description here

egreg
  • 1,121,712