- Questo topic ha 2 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 17 anni, 9 mesi fa da .
-
Topic
-
Chiedo scusa per il titolo criptico. Vorrei inserire una didascalia breve da scrivere nell’elenco del codici, ottenuto con il pacchetto listings. Sarebbe facile, naturalmente: basta usare
`caption={[didascalia breve]Didascalia}`
Solo, non voglio usare quella sintassi, ma solo:
`caption={Didascalia}`
La ragione? La solita! Il codice lo inserisco in un ambiente sidebyside, e non voglio che il lettore sia distratto dalla didascalia breve. Ho provato a riciclare un trucco che con il pacchetto float aveva funzionato:
`\documentclass{scrartcl}
\usepackage[italian]{babel}
\usepackage[nochapters]{classicthesis-ldpkg}
\usepackage[nochapters]{classicthesis}
\usepackage[italian]{arsclassica}\addto\captionsitalian{%
\renewcommand{\lstlistingname}{Codice}}\addto\captionsitalian{%
\renewcommand{\lstlistlistingname}{Elenco dei codici}}\newlistof{listings}{lol}{\lstlistlistingname}
\renewcommand{\cftlistingspresnum}{\scshape\MakeTextLowercase}%
\renewcommand{\cftlistingsfont}{\normalfont}%
\renewcommand{\cftlistingspagefont}{\normalfont}%
\renewcommand{\cftlistingsleader}{\hspace{1.5em}}%
\renewcommand{\cftlistingsafterpnum}{\cftparfillskip}%
\makeatletter
\let\l@lstlisting\l@listings
\let\lstlistoflistings\listoflistings
\makeatother\begin{document}
\refstepcounter{dummy}
\addcontentsline{toc}{section}{\lstlistlistingname}
\pdfbookmark[1]{\lstlistlistingname}{lol}
\lstlistoflistings\begin{lstlisting}[float,caption=Un codice mobile.]
for i:=maxint to 0 do
begin
{ non far nulla }
end;
\end{lstlisting}\begingroup
\let\standardcaption\captionbelow
\def\captionbelow{\standardcaption[Didascalia breve]}
\begin{lstlisting}%for i:=maxint to 0 do
begin
{ do nothing }
end;
\end{lstlisting}
\endgroup\end{document}`
Invano. C’è modo di rimediare?Grazie millle,
L.
- Devi essere connesso per rispondere a questo topic.