`\documentclass{scrreprt}
\usepackage[writefile]{listings}
\usepackage{classicthesis-ldpkg}
\usepackage{classicthesis}\lstset{extendedchars}
\makeatletter
\lstnewenvironment{sidebyside}{%
\global\let\lst@intname\@empty
\setbox\z@=\hbox\bgroup
\setkeys{lst}{columns=fullflexible,%
linewidth=0.45\linewidth,keepspaces=true,%
breaklines=true,%
breakindent=0pt,%
boxpos=t,%
basicstyle=\small\ttfamily
}%
\lst@BeginAlsoWriteFile{\jobname.tmp}%
}{%
\lst@EndWriteFile\egroup
\begin{center}%
\begin{minipage}{0.45\linewidth}%
\hbox to\linewidth{\box\z@\hss}
\end{minipage}%
\qquad
\begin{minipage}{0.45\linewidth}%
\setkeys{lst}{frame=none}%
\leavevmode \catcode`\^^M=5\relax
\small\input{\jobname.tmp}%
\end{minipage}%
\end{center}%
}
\makeatother\begin{document}
\begin{sidebyside}
\begin{large}
In questo momento,
sto mentendo.\par
\end{large}
\end{sidebyside}
\end{document}
`
Grazie mille,
L.
Il problema è il \leavevmode prima di \catcode`\^^M=5. Puoi notare che
`aaa\par
\leavevmode\begin{large}Io dico la verità\end{large}`
presenta lo stesso problema (ho messo “aaa\par” per mostrare lo spazio in più). Ora vedi tu se cancellarlo oppure no: qui risolve il problema, in altri posti potrebbe dare guai.
Se si è in modo verticale, lo spazio dopo \begin{large} è ignorato, il paragrafo comincia solo con il primo carattere. Dopo \leavevmode quello spazio non è ignorato.
Un ambiente che si usa anche in modo orizzontale deve avere sempre una definizione del tipo
`\newenvironment{xxx}{…\ignorespaces}{\unskip…}`
per togliere gli spazi spuri. Motivo in più per non propagandare gli pseudoambienti “large” e simili.
Ciao
Enrico