Salve a tutti,
Credevo di aver risolto definitivamente l’impostazione dell’ambiente per le proposizioni, e invece, se possibile, mi manca un semplice raffinamento stilistico. Io uso un indent per cui la proposizione viene allineata con il testo, ma in realtà vorrei che la proposizione fosse lievemente più piccola, per intenderci che sia tutta allineata con il rientro che si ha nella prima riga.
Qualcuno è a conoscenza del comando per fare questo, se esiste?
Occorre simulare di essere in un ambiente list: perciò definiamo l’enunciato come un ambiente “interno” e lavoriamo con certe faccende interne di LaTeX.
`\newtheorem{propx}{Proposizione}
\makeatletter
\newenvironment{prop}[1][]
{\par
\parshape \@ne \parindent \dimexpr\linewidth-2\parindent\relax
\advance\linewidth-2\parindent \advance\@totalleftmargin\parindent
\expandafter\propx\if\relax\detokenize{#1}\relax\else[#1]\fi}
{\endpropx}
\makeatother`
Interessante.
Userai \begin{prop} e \end{prop} come faresti di solito. Naturalmente puoi impostare contatori e stili di teoremi come sempre, ma su propx e non su prop.
È l’unico tipo di enunciati che devi fare a questo modo? Perché se no occorre lavorare un pochino di più.
`\usepackage{etoolbox}
\makeatletter
\newcommand{\indenttheorem}[2]{%
\@tempdima=#2\relax
\expandafter\pretocmd\csname#1\endcsname{%
\par\parshape \@ne \@tempdima \dimexpr\linewidth-2\@tempdima\relax
\advance\linewidth-2\@tempdima \advance\@totalleftmargin\@tempdima}{}{}}
\makeatother
\newtheorem{prop}{Proposizione}
\indenttheorem{prop}{\parindent}
\newtheorem{thm}{Teorema}
\indenttheorem{thm}{2cm}`
Non c’è bisogno di due ambienti separati. Il comando \indenttheorem prende come primo argomento il nome di un ambiente di tipo teorema (che sia già stato definito) e come secondo argomento la lunghezza del rientro desiderato.
Ciao
Enrico