- Questo topic ha 1 risposta, 2 partecipanti ed è stato aggiornato l'ultima volta 18 anni fa da .
-
Topic
-
Ciao a tutti.Sto scrivendo un articolo sui comandi obsoleti di LaTeX. Vorrei realizzare un ambiente (in realtà due, come si vedrà fra poco) per inserire il codice errato in modo che sia immediatamente visibile, e che non ci lo possa confondere con quello giusto.
Ho visto che nell’ “Elenco dei peccati” viene proposto un codice scritto in rosso per gli orrori ed uno in verde per le correzioni. Questa soluzione, però, ha lo svantaggio di non essere utile se si stampa l’articolo con stampante b/n.
Pensavo a una “serpentina” che affiancasse il codice errato, per tutta la sua estensione (quindi usando un comando come \marginpar o \graffito).
Gli ambienti che uso per introdurre il codice giusto sono “codice” e “sidebyside”.
`\documentclass[10pt,a4paper,twoside,openright,titlepage,fleqn,
cleardoubleempty,abstracton,pointlessnumbers,%
headinclude,footinclude,BCOR5mm,%
tablecaptionabove]{scrreprt}\usepackage{lipsum}
\usepackage[writefile]{listings}
\usepackage{classicthesis-ldpkg}
\usepackage[eulerchapternumbers,subfig,beramono,%
eulermath,pdfspacing]{classicthesis}\lstset{frame=lines,flexiblecolumns=true}
\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\lstnewenvironment{codice}%
{\setkeys{lst}{columns=fullflexible,keepspaces=true}%
\lstset{basicstyle=\small\ttfamily,escapeinside={£*}{*£}}%
}%
{}\begin{document}
\lipsum[1]
\begin{codice}
Due matrici $n\times n$ complesse $A$ e $B$ si dicono \emph{simili}
se esiste una matrice $n\times n$ invertibile $T$ tale che
\begin{equation}
B=T^{-1}AT.
\end{equation}
\end{codice}\lipsum[2]
\begin{sidebyside}
Due matrici $n\times n$
complesse $A$ e $B$ si dicono
\emph{simili} se esiste una
matrice $n\times n$
invertibile $T$ tale che
\begin{equation}
B=T^{-1}AT.
\end{equation}
\end{sidebyside}\lipsum[3]
\end{document}`
Qualcuno ha voglia di cimentarsi nell’impresa definire due nuovi ambienti, partendo da questi qui?Grazie mille,
L.
- Devi essere connesso per rispondere a questo topic.