Re: Particolare marginpar

#17924
Up
0
Down
::


Per quanto riguarda il marginpar particolare, ho fatto un po’ di progressi però vorrei un aiuto perché da solo non ce la farei mai 😉 Spero che alla fine dopo tanti sforzi venga una cosa carina da poter postare funzionante, così da essere utile anche ad altri.

Sullo spunto del post di egreg ho modificato il codice così:
`
\newbox\stripbox
{
\setlength\fboxsep{0pt}\setlength\fboxrule{0pt}
\global\setbox\stripbox=\hbox{%
\hskip2pt \colorbox[gray]{.5}{\hskip 4pt\relax\vrule height3pt width 0pt}%
\hskip6pt}
\dimen0=\ht\stripbox \advance\dimen0-1pt \ht\stripbox=\dimen0 \dp\stripbox=-1pt
}

\newenvironment{striscia}[0]
{\par\addvspace{\medskipamount}\noindent%
\valign\bgroup##\cr\leaders\copy\stripbox\vfill\cr
\vbox\bgroup\advance\hsize-14pt\vspace*{-1.5ex}
}
{\vspace*{-1ex}\egroup\cr\egroup\par\addvspace{\medskipamount}}
`
Questo crea semplicemente una striscia a sinistra del testo che scrivi in \begin{striscia} testo testo \end{striscia}.

Il seguente codice invece crea un comando con cui do in pasto al marginpar tutta la striscia (poi ridimensiono la box perché è grande… so che non si fa ma per ora faccio così).

`
\setlength{\marginparwidth}{4cm}
\let\oldmarginpar\marginpar
\renewcommand\marginpar[1]{\-\oldmarginpar[\raggedleft\sffamily\footnotesize #1]%
{\raggedright\sffamily\footnotesize #1}}

\newcommand{\marginstripsx}[1]{ \marginpar{
\resizebox{0.8\width}{\height}{ \begin{tabular}{p{4cm}}
\begin{striscia} \begin{flushleft}\tolerance=10000 #1\end{flushleft} \end{striscia}
\end{tabular} } }}`

Ora ho due problemi per andare avanti.

    1. Come faccio a modificare il codice per far venire la striscia non a sinistra ma a destra?

Dopo aver capito questo, vorrei creare un ambiente marginpardx per i margini nelle pagine di sx, ma non c’è alcuna difficoltà (oltre questa). Allora sorge un altro problema:
vorrei far scegliere a latex quale margine prendere in base alla pagina nella quale si trova; sarebbe a dire: se la pagine è a sx scegli quello per le pagine di sx e vcv. Ci sarebbe bisogno di una sorta di if… allora

    2. Come faccio a scrivere un codice che scelga tra due alternative in cui la condizione è: “la pagina in cui ti trovi è di sx?”

Spero che riusciremo nell’impresa…

bye e grazie per la disponibilità

P.S. Domandina sull’altro problema: c’è un comando per azzerare ad inizio capitolo (anche manualmente eh, nel senso che ogni capitolo lo riscrivo) il counter del teorema?

Go to top