Re: Un bug di babel

#67930
Up
0
Down
::


Torno sulla sillabazione con [tt]\emph[/tt] e sulla definizione del comando [tt]\hemph[/tt]:

ivan” post=66977[…]
In questo modo, però, bisogna usare un comando apposito all’occorrenza, quindi ho pensato di trovare una soluzione più generale.
Spulciando tra source2e.pdf sono arrivato a questo:
`\makeatletter
\DeclareRobustCommand\itshape
{\penalty10000\hskip0pt\not@math@alphabet\itshape
\mathit\fontshape\itdefault\selectfont}
\makeatother
`
[…]

C’è qualcosa che non va in quello che ho detto? Si può fare meglio?

Ciao
Ivan

Qualcosa che non va c’è: 🙂
`\documentclass{suftesi}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lipsum}

\makeatletter
% Queste due sono le definizioni in suftesi.cls. Togliendo il commento non compila:
\DeclareRobustCommand\itshape{%
\penalty\@M
% \hskip\z@skip
\not@math@alphabet\itshape\mathit
\fontshape\itdefault\selectfont}
\titleformat{\paragraph}[runin]
{\itshape}
{}
{}
{}
[.\hspace*{1em}]
\makeatother

\begin{document}
\paragraph{Dà errore}
\lipsum[1]
\end{document}`

Digitando `H’, titlesec spiega che il secondo argomento obbligatorio di [tt]\titleformat[/tt] non può contenere materiale orizzontale. Cioè non può esserci quel [tt]\hskip\z@skip[/tt].

Una soluzione sarebbe dare a [tt]\titleformat[/tt] la vecchia definizione di [tt]\itshape[/tt]:
`\titleformat{\paragraph}[runin]
% {\itshape}
{\not@math@alphabet\itshape\mathit
\fontshape\itdefault\selectfont}
{}
{}
{}
[.\hspace*{1em}]`

Ma probabilmente ne esistono di migliori. 🙂

Ciao
Antonio

Go to top