Hallo,
mit startinnercode=
wird ausgeführt, was danach, also nach dem Gleichheitszeichen als Code angegeben wird, und zwar innerhalb der Box, die mdframed zur Verfügung stellt. Siehe texdoc mdframed
.
Es gibt zahlreiche Optionen. Auf der Suche nach Möglichkeiten, wie man die Abstände bei \mrk
möglichst gleich hinkriegt, habe ich herumprobiert, aber weiter komme ich gerade nicht:
Code: Alles auswählen
\documentclass[parskip=half-]{scrartcl}
\usepackage{polyglossia}
\setdefaultlanguage{german}
\usepackage{scrjura}
\usepackage{blindtext}
\usepackage{mdframed}
\usepackage{xcolor}
\usepackage{microtype}
\definecolor{j}{RGB}{0,255,0}
\definecolor{n}{RGB}{255,0,0}
\definecolor{v}{RGB}{255,215,0}
\usepackage{etoolbox}
\newbool{markieren}
\newcommand{\mrk}[2]{
\ifbool{markieren}
{\begin{mdframed}[
backgroundcolor=#1!20,
linewidth=0pt,
startinnercode={\stepcounter{par}(\thepar)},
leftmargin=0pt,
rightmargin=0pt,
innerleftmargin=0pt,
innerrightmargin=0pt,
innertopmargin=0pt,
innerbottommargin=0pt,
hidealllines=true,
]#2\end{mdframed} \vspace*{-14pt}
}
{#2}}
\setbool{markieren}{false} % true/false
\begin{document}
\begin{contract}
\Clause{title=Paragraph}
\mrk{j}{\blindtext}
\mrk{n}{\blindtext}
\mrk{v}{\blindtext}
\newpage
\Clause{title=Paragraph}
\blindtext
\blindtext
\blindtext
\end{contract}
\end{document}