Definindo cláusulas como no documento padrão C?

Definindo cláusulas como no documento padrão C?

Estou tentando escrever um documento com a mesma apresentação do documento padrão C. Aqui está o documento:Rascunho C n1570

Veja a página 256 e a seção 7.12.4.1, por exemplo. Minha dúvida é como fazer algo equivalente às cláusulas "Sinopse", "Descrição", "Devoluções" com título em negrito, um pouco de espaço vertical e um número na margem?

Responder1

Talvez não seja a melhor maneira de fazer isso, mas tem o resultado desejado. É possível colocar o primeiro argumento em um ambiente verbatimor listings, mas para maior clareza o deixei de fora. Deve-se notar ainda que esta solução não quebra itens como notas de rodapé, rótulos, etc.

\documentclass{article}
\usepackage{mwe}

\newlength{\MarginLength}
\setlength{\MarginLength}{\labelwidth}
\addtolength{\MarginLength}{\labelsep}

\newcommand{\domargin}[1]{%
  \hspace*{-\MarginLength}\makebox[0pt][r]{#1}\hspace*{\MarginLength}}

\newcommand{\defun}[3]{%
  \subsubsection*{Synopsis}\domargin{1}%
  #1%
  \subsubsection*{Desciption}\domargin{2}%
  #2%
  \subsubsection*{Returns}\domargin{3}%
  #3%
}

\begin{document}
\defun{%
  \lipsum[1]
  }{%
  \lipsum[2]
  }{%
  \lipsum[3]
}
\end{document}

saída

informação relacionada