Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

This is a standard model of a Brazilian contract: http://www.consultta.com/modelos_contratos/modelos_contrato/0215.htm

It more or less follow the way Brazilian laws are written: as you can see, the sections are named, like "DO OBJETO DO CONTRATO"; then text is built as an enumeration of paragraphs:

"Cláusula 1ª. (text)"

"Cláusula 2ª. (text)"

Each of the "Cláusula" level paragraph may have sub-paragraphs. If there is only one, it is prefixed by "Parágrafo único", if there are more than one, they are prefixed with "§ 1º", "§ 2º" and so on (in the link I sent, they use "Parágrafo primeiro" and "Paragrafo segundo", but it is equivalent to the "§ 1º" form). The gotcha is that the numbering of "Cláusula" continues after the section titles, as you can see in the sample document.

Starting from a LaTeX article class, how to customize the appearance of enumeration (or maybe create another command set) to support this specific way of formatting?

share|improve this question

3 Answers 3

up vote 9 down vote accepted

too late to worry too much about spacing but this does the section levels and the paragraph counting, it takes two passes to get the paragraph counts for each clause.

enter image description here

b.cls

\LoadClass[a4paper]{article}
\RequirePackage[utf8]{inputenc}

\def\maketitle{%
\begin{center}\large\bfseries\@title
\end{center}}



\renewcommand\section{\@startsection{section}{1}{\z@}%
                                    {3.25ex \@plus1ex \@minus.2ex}%
                                    {-1em}%
                                    {\normalfont\large\bfseries}*}

\AtEndDocument{\immediate\write\@auxout{\string\expandafter\gdef\noexpand\csname B@\the\c@subsection\string\endcsname{\the\c@paragraph}}}
\newcommand\clause{%
\immediate\write\@auxout{\string\expandafter\gdef\noexpand\csname B@\the\c@subsection\string\endcsname{\the\c@paragraph}}%
\setcounter{paragraph}{0}%
\@startsection{subsection}{2}{\z@}%
                                    {3.25ex \@plus1ex \@minus.2ex}%
                                    {-.1em}%
                                    {\normalfont\normalsize\bfseries}{}}

\renewcommand\paragraph{\@startsection{paragraph}{3}{\z@}%
                                    {3.25ex \@plus1ex \@minus.2ex}%
                                    {-1em}%
                                    {\normalfont\normalsize}{}}


\def\thesubsection{Cláusula \arabic{subsection}ª.}
\def\theparagraph{%
Parágrafo 
\expandafter\ifx\csname B@\the\c@subsection\endcsname\relax
??%
\else
\expandafter\ifnum\csname B@\the\c@subsection\endcsname=1
único%
\else
\ifcase\c@paragraph\or
primeiro\or
segundo\or
third\or
fourth\else
many%
\fi
\fi
\fi
.}

\endinput

sample input (not all of it marked up, just concentrating on the headings)

\documentclass{b}

\begin{document}

\title{CONTRATO DE PRODUÇÃO DE SOFTWARE ENTRE PESSOAS FÍSICAS}

\section{IDENTIFICAÇÃO DAS PARTES CONTRATANTES}


CONTRATANTE: (Nome do Contratante), (Nacionalidade), (Estado Civil), (Profissão), Carteira de Identidade nº (........................), C.P.F. nº (....................), residente e domiciliado na Rua (..........................................................), nº (.....), bairro (...............), Cep (....................), Cidade (......................), no Estado (......);

 CONTRATADO: (Nome do Contratado), (Nacionalidade), (Estado Civil), (Profissão), Carteira de Identidade nº (........................), C.P.F. nº (.......................), residente e domiciliado na Rua (........................................................), nº (.....), bairro (....................), Cep (..............), Cidade (.......................), no Estado (.......).

As partes acima identificadas têm, entre si, justo e acertado o presente Contrato de Produção de Software entre Pessoas Físicas, que se regerá pelas cláusulas seguintes e pelas condições descritas no presente.


\section{DO OBJETO DO CONTRATO}



\clause O presente contrato tem como OBJETO, a construção, pelo CONTRATADO, de software, com a seguinte descrição técnica:

a) O software deverá seguir o projeto em anexo, feito pelo CONTRATADO, seguindo as instruções dadas pelo CONTRATANTE.

b) A linguagem de programação será (.........) (php, delphi, etc).

       c) O software exigirá como configuração mínima de hardware (.....................) e como sistema operacional (..................................) (Descrever a configuração mínima necessária).

d) (.....................) (Descrever outros itens do software).

\section{DA EXECUÇÃO}


\clause O CONTRATANTE se obriga a acompanhar a execução do software, fazendo os testes que o CONTRATADO exigir durante a execução do trabalho, sob pena de este paralisar seus trabalhos até que os testes pedidos sejam feitos.

\paragraph Caso o resultado dos testes seja aprovado pelo CONTRATANTE, o CONTRATADO prosseguirá a produção, sendo vedado ao primeiro requerer modificações naquilo já aprovado, a menos que haja combinação em contrário entre as partes.

\clause No serviço estabelecido neste contrato, o CONTRATADO somente fornecerá a mão-de-obra necessária, responsabilizando-se o CONTRATANTE pelo fornecimento de todos os dados para a confecção do software, de acordo com a solicitação do CONTRATADO.

\clause A construção do software será feita pessoalmente pelo CONTRATADO, facultando-lhe a contratação de ajudantes, os quais terão vínculo único e direto com o mesmo, que ficará exclusivamente responsável pelo pagamento e por todos os encargos existentes.

\clause Quaisquer danos causados a terceiros e provenientes da execução do trabalho, agindo dolosa ou culposamente, serão de inteira responsabilidade do CONTRATADO, mesmo que praticados pelos seus ajudantes.

\clause O CONTRATADO terá completa e irrestrita liberdade para executar seu trabalho, não necessitando de predeterminar horários ou funções, ficando assim, caracterizado, que o mesmo exerce de maneira autônoma seus serviços, não mantendo nenhum vínculo trabalhista com o CONTRATANTE.

\section{DA PROTEÇÃO DO SOFTWARE}


\clause Fica vedado ao CONTRATANTE a reprodução do software, ou mesmo o consentimento para que outro o faça, sem prévia autorização do CONTRATADO.


\clause  O CONTRATADO não se responsabiliza pelo funcionamento do software caso o código fonte do programa seja adulterado por terceiros não autorizados. Quaisquer alterações desejadas pelo CONTRATANTE deverão ser requisitadas diretamente ao CONTRATADO.

\section{DO PAGAMENTO}


\clause Pelo serviço prestado, o CONTRATANTE pagará ao CONTRATADO a quantia de R\$ (........) (Valor expresso), sendo que metade no momento de celebração deste contrato e metade ao término da confecção do software.

\clause Caso o valor acertado na Cláusula anterior não seja pago no período previsto, o CONTRATANTE se responsabilizará por multa de (.......)% do valor.

\section{DA RESCISÃO}


\clause O presente instrumento poderá ser rescindido caso qualquer uma das partes descumpra o disposto neste contrato.

\paragraph Caso o CONTRATANTE dê motivo à rescisão do contrato, será obrigado a pagar ao CONTRATADO por inteiro a retribuição compactuada.

\paragraph Caso o CONTRATADO dê motivo à rescisão do contrato, terá direito à retribuição proporcional ao que tiver realizado até então, mas responderá por perdas e danos.

\clause  Na hipótese de o CONTRATADO pedir a rescisão do contrato sem que a outra parte tenha dado motivo, terá direito à retribuição proporcional ao que tiver realizado até então, mas responderá por perdas e danos.

\clause  Na hipótese de o CONTRATANTE pedir a rescisão do contrato sem que a outra parte tenha dado motivo, será obrigado a pagar ao CONTRATADO por inteiro a retribuição compactuada.      

\section{DO PRAZO}



\clause  O CONTRATADO se compromete a executar o software em (.........) meses, a iniciar-se no primeiro dia útil após a entrega pelo CONTRATANTE de todo o material e dados necessários à confecção.

\paragraph O prazo será suspenso caso o CONTRATANTE descumpra o disposto na Cláusula 2ª.

\clause  Quaisquer problemas que possam ocasionar interrupções das atividades de confecção do software acarretarão a suspensão do prazo contido na Cláusula anterior, devendo o CONTRATADO avisar previamente o CONTRATANTE.

\clause O CONTRATANTE terá um prazo de (....) dias para testar o software depois de pronto e sugerir outras alterações em partes do programa que ainda não foram autorizados nos moldes da Clausulas 2º.

\section{DO FORO}


\clause Para dirimir quaisquer controvérsias oriundas do CONTRATO, as partes elegem o foro da comarca de (...................);

\paragraph

(Local, data e ano).

(Nome e assinatura do Contratante)

(Nome e assinatura do Contratado)

(Nome, RG e assinatura da Testemunha 1)

(Nome, RG e assinatura da Testemunha 2)


\end{document}

For unexplained reasons I redefined section there to be inline, this keeps it as display which automatically suppress page breaks after:

\renewcommand\section{\@startsection{section}{1}{\z@}%
                                   {-3.5ex \@plus -1ex \@minus -.2ex}%
                                   {2.3ex \@plus.2ex}%
                                    {\normalfont\large\bfseries}*}
share|improve this answer
    
In this solution, is there a way to prevent page breaks between the section title and the following clause? –  lvella Dec 11 '13 at 0:08
1  
@lvella yes that was supposed to be automatically the case but I messed up the definition, added updated code to the end of the answer. –  David Carlisle Dec 11 '13 at 1:05

I'd use titlesec:

\documentclass[a4paper]{article}
\usepackage[margin=2cm]{geometry}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[brazil]{babel}

\usepackage{titlesec}
\titleformat{\section}[block]
  {\normalsize\bfseries}
  {}
  {0pt}
  {\MakeUppercase}
\titlespacing{\section}
  {0pt}
  {4ex plus 1ex minus 1ex}
  {1ex}

\titleformat{\subsection}[runin]
  {\normalsize}
  {}
  {0pt}
  {\ifclausula Cl\'ausula \theclausula\textsuperscript{a}.\else Par\'agrafo \fi}
\titlespacing{\subsection}
  {0pt}
  {1ex plus 1ex}
  {.5em}

\newif\ifclausula
\newcounter{clausula}

\newcommand{\clausula}{%
  \clausulatrue\refstepcounter{clausula}%
  \subsection{}}
\newcommand{\paragrafo}[1]{%
  \clausulafalse
  \subsection*{#1.}}

\begin{document}

\title{CONTRATO DE PRODUÇÃO DE SOFTWARE ENTRE PESSOAS FÍSICAS}

\maketitle

\section{IDENTIFICAÇÃO DAS PARTES CONTRATANTES}


CONTRATANTE: (Nome do Contratante), (Nacionalidade), (Estado Civil), (Profissão), Carteira 
de Identidade nº (........................), C.P.F. nº (....................), residente e 
domiciliado na Rua (..........................................................), nº (.....), 
bairro (...............), Cep (....................), Cidade (......................), no 
Estado (......);

CONTRATADO: (Nome do Contratado), (Nacionalidade), (Estado Civil), (Profissão), Carteira de 
Identidade nº (........................), C.P.F. nº (.......................), residente e 
domiciliado na Rua (........................................................), nº (.....), 
bairro (....................), Cep (..............), Cidade (.......................), no 
Estado (.......).

As partes acima identificadas têm, entre si, justo e acertado o presente Contrato de 
Produção de Software entre Pessoas Físicas, que se regerá pelas cláusulas seguintes e pelas 
condições descritas no presente.


\section{DO OBJETO DO CONTRATO}



\clausula O presente contrato tem como OBJETO, a construção, pelo CONTRATADO, de software, com a seguinte descrição técnica:

a) O software deverá seguir o projeto em anexo, feito pelo CONTRATADO, seguindo as 
instruções dadas pelo CONTRATANTE.

b) A linguagem de programação será (.........) (php, delphi, etc).

c) O software exigirá como configuração mínima de hardware (.....................) e como 
sistema operacional (..................................) (Descrever a configuração mínima 
necessária).

d) (.....................) (Descrever outros itens do software).

\section{DA EXECUÇÃO}


\clausula O CONTRATANTE se obriga a acompanhar a execução do software, fazendo os testes que 
o CONTRATADO exigir durante a execução do trabalho, sob pena de este paralisar seus 
trabalhos até que os testes pedidos sejam feitos.

\paragrafo{único} Caso o resultado dos testes seja aprovado pelo CONTRATANTE, o CONTRATADO 
prosseguirá a produção, sendo vedado ao primeiro requerer modificações naquilo já aprovado, 
a menos que haja combinação em contrário entre as partes.

\clausula No serviço estabelecido neste contrato, o CONTRATADO somente fornecerá a 
mão-de-obra necessária, responsabilizando-se o CONTRATANTE pelo fornecimento de todos os 
dados para a confecção do software, de acordo com a solicitação do CONTRATADO.

\clausula A construção do software será feita pessoalmente pelo CONTRATADO, facultando-lhe a 
contratação de ajudantes, os quais terão vínculo único e direto com o mesmo, que ficará 
exclusivamente responsável pelo pagamento e por todos os encargos existentes.

\clausula Quaisquer danos causados a terceiros e provenientes da execução do trabalho, 
agindo dolosa ou culposamente, serão de inteira responsabilidade do CONTRATADO, mesmo que 
praticados pelos seus ajudantes.

\clausula O CONTRATADO terá completa e irrestrita liberdade para executar seu trabalho, não 
necessitando de predeterminar horários ou funções, ficando assim, caracterizado, que o mesmo 
exerce de maneira autônoma seus serviços, não mantendo nenhum vínculo trabalhista com o 
CONTRATANTE.


\section{DA PROTEÇÃO DO SOFTWARE}

\clausula Fica vedado ao CONTRATANTE a reprodução do software, ou mesmo o consentimento para 
que outro o faça, sem prévia autorização do CONTRATADO.


\clausula O CONTRATADO não se responsabiliza pelo funcionamento do software caso o código 
fonte do programa seja adulterado por terceiros não autorizados. Quaisquer alterações 
desejadas pelo CONTRATANTE deverão ser requisitadas diretamente ao CONTRATADO.

\section{DO PAGAMENTO}

\clausula Pelo serviço prestado, o CONTRATANTE pagará ao CONTRATADO a quantia de R\$ 
(........) (Valor expresso), sendo que metade no momento de celebração deste contrato e 
metade ao término da confecção do software.

\clausula Caso o valor acertado na Cláusula anterior não seja pago no período previsto, o 
CONTRATANTE se responsabilizará por multa de (.......)% do valor.


\section{DA RESCISÃO}

\clausula O presente instrumento poderá ser rescindido caso qualquer uma das partes 
descumpra o disposto neste contrato.

\paragrafo{primeiro} Caso o CONTRATANTE dê motivo à rescisão do contrato, será obrigado a 
pagar ao CONTRATADO por inteiro a retribuição compactuada.

\paragrafo{segundo} Caso o CONTRATADO dê motivo à rescisão do contrato, terá direito à 
retribuição proporcional ao que tiver realizado até então, mas responderá por perdas e 
danos.

\clausula Na hipótese de o CONTRATADO pedir a rescisão do contrato sem que a outra parte 
tenha dado motivo, terá direito à retribuição proporcional ao que tiver realizado até então, 
mas responderá por perdas e danos.

\clausula Na hipótese de o CONTRATANTE pedir a rescisão do contrato sem que a outra parte 
tenha dado motivo, será obrigado a pagar ao CONTRATADO por inteiro a retribuição 
compactuada.


\section{DO PRAZO}

\clausula O CONTRATADO se compromete a executar o software em (.........) meses, a 
iniciar-se no primeiro dia útil após a entrega pelo CONTRATANTE de todo o material e dados 
necessários à confecção.

\paragrafo{único} O prazo será suspenso caso o CONTRATANTE descumpra o disposto na Cláusula 
2ª.

\clausula Quaisquer problemas que possam ocasionar interrupções das atividades de confecção 
do software acarretarão a suspensão do prazo contido na Cláusula anterior, devendo o 
CONTRATADO avisar previamente o CONTRATANTE.

\clausula O CONTRATANTE terá um prazo de (....) dias para testar o software depois de pronto 
e sugerir outras alterações em partes do programa que ainda não foram autorizados nos moldes 
da Clausulas 2º.


\section{DO FORO}

\clausula Para dirimir quaisquer controvérsias oriundas do CONTRATO, as partes elegem o foro 
da comarca de (...................);


(Local, data e ano).

(Nome e assinatura do Contratante)

(Nome e assinatura do Contratado)

(Nome, RG e assinatura da Testemunha 1)

(Nome, RG e assinatura da Testemunha 2)


\end{document}

enter image description here

Notice that using internally \subsection for \clausula and \paragrafo will ensure that no page break will happen between a section and a cláusula.

share|improve this answer

This is not a complete answer but perhaps somebody else can finish it. Do you want something like the following?

\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage[utf8]{inputenc}
\usepackage{enumitem}
\newlist{contrato}{enumerate}{2}
\setlist[contrato,1,2]{wide,,labelindent=0pt}
\setlist*[contrato,1]{label={Cláusula \arabic*\textsuperscript{a}.}}
\setlist*[contrato,2]{label={\S\ \arabic*\textdegree}}

\begin{document}

\section*{A Section}

\begin{contrato}
  \item Clause 1 just says here is some legal text just to fill up the space and see what it does, where it goes, who it knows.
    \begin{contrato}
      \item Par 1.
      \item Par 2.
    \end{contrato}
\end{contrato}

\section*{New Section}

\begin{contrato}[resume]
    \item Clause 2 says some more stuff.
    \item Clause 3 lays down further conditions.
      \begin{contrato}
        \item Par 1.
        \item Par 2.
      \end{contrato}
\end{contrato}

\end{document}

If that's roughly right, it leaves the problem of automatically formatting the first paragraph correctly when there is only one paragraph for a clause. But I can't currently think how to do that in any neat or tidy way.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.