Lorenzo,
Riprendo questo topic perché ho finalmente trovato due ottimi modi per riprodurre l’ambiente che cercavi.
A parte l’ottimo pacchetto sverb, ne esiste un’altro che si chiama, nemmeno a farlo apposta
example
ftp://tug.ctan.org/pub/tex-archive/macros/latex209/contrib/misc/example.sty
Ecco un esempio
`
\documentclass{article}
\usepackage{amsmath,amsthm,amssymb}
\usepackage{example}
\begin{document}
Testo Testo Testo Testo Testo Testo Testo Testo Testo Testo Testo
Testo Testo Testo Testo Testo Testo Testo Testo Testo Testo Testo
\begin{example}
$f(x)=x^2$
$$
g(x)=\int f(x)dx g(x)=\int f(x)dx
$$
\end{example}
Testo Testo Testo Testo Testo Testo Testo Testo Testo Testo Testo
Testo Testo Testo Testo Testo Testo Testo Testo Testo Testo Testo
\end{document}
`
Questo ambiente è identico a quello che ha usato Lamport nella realizzazione del suo noto libro. Come puoi notare anche questo sborda. Comunue penso che se con geometry o con setlength annulli marginparwidth, non dovrebbe sbordare.
Il secondo metodo è quello che desideri tu ed è realizzato mediante il pacchetto listings.
Ti metto direttamente l’esempio, perché del codice capisco solo l’ultima parte.
`
\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[writefile]{listings}
\usepackage[italian]{babel}
\lstset{extendedchars} % important
\makeatletter
\lstnewenvironment{sidebyside}{%
\global\let\lst@intname\@empty
\setbox\z@=\hbox\bgroup
\setkeys{lst}{language={},style={},basewidth=0.51em,%
basicstyle=\small\ttfamily% or whatever
} %
\lst@BeginAlsoWriteFile{\jobname.tmp}%
}{%
\lst@EndWriteFile\egroup
\ifdim \wd\z@>.5\linewidth %%% alternative?
\begin{center}%
\hbox to\linewidth{\box\z@\hss}%
\end{center}%
\leavevmode \catcode`\^^M=10\relax
\input{\jobname.tmp}%
\else
\begin{center}%
\begin{minipage}{0.45\linewidth}%
\hbox to\linewidth{\box\z@\hss}%
\end{minipage}%
\qquad
\begin{minipage}{0.45\linewidth}%
\leavevmode \catcode`\^^M=10\relax
\input{\jobname.tmp}%
\end{minipage}%
\end{center}%
\fi
}
\makeatother
\begin{document}
Testo Testo Testo Testo Testo Testo Testo Testo Testo Testo Testo
Testo Testo Testo Testo Testo Testo Testo Testo Testo Testo Testo
\begin{sidebyside}
\textit{Andrea} è il mio nome,
\textit{Lorenzo} è il tuo.
\LaTeX\ è il nostro programma
preferito. Esempio con il
pacchetto listings.
\end{sidebyside}
Testo Testo Testo Testo Testo Testo Testo Testo Testo Testo Testo
Testo Testo Testo Testo Testo Testo Testo Testo Testo Testo Testo
\end{document}
`
se vuoi puoi anche invertire l’ordine in questo modo:
`…..
\else
\begin{center}%
\begin{minipage}{0.45\linewidth}%
\leavevmode \catcode`\^^M=10\relax
\input{\jobname.tmp}%
\end{minipage}%
\qquad
\begin{minipage}{0.45\linewidth}%
\hbox to\linewidth{\box\z@\hss}%
\end{minipage}%
\end{center}%
\fi
}
\makeatother`
Ciao
Alla prossima
Andrea