agodemar

Risposte nei forum create

Stai visualizzando 15 risposte – dal 106 al 120 (di 133 totali)
  • Autore
    Risposte
  • in risposta a: Figure….sono disperato #21407
    Up
    0
    Down
    ::


    Uno dei pochi casi in cui l’opzione [H] può rivelarsi utile è quando viene usata
    congiuntamente al comando \afterpage.
    Se scrivi così:
    `
    \afterpage{%
    \begin{figure}[H]
    \centering
    \includegraphics[angle=90, height=24cm]{immagini/cross_fondazione}
    \caption{figure}{Schema di risoluzione con il metodo di \emph{Cross} per la trave di fondazione}\label{fg:fondazione_cross}
    \end{figure}
    }
    `
    potresti avere che una parte di quel testo che fino a quel punto non è stato ancora
    composto viene effettivamente usata per completare la pagina. Alla pagina successiva,
    grazie ad \afterpage, avrai certamente la figura in cima alla pagina.
    In alternativa, con [htp] avresti la figura in pagina intera se le sue dimensioni lo
    richiedono.

    Ciao
    Agostino

    in risposta a: Array in TeX #21336
    Up
    0
    Down
    ::


    Davvero grazie.
    Codice snello, efficiente ed utile.

    Ripensando ai vari costrutti che sono a disposizione degli utenti
    TeX/LaTeX mi viene da immaginare un parallelo tra i classici argomenti
    trattati nei testi di programmazione ed un possibile tutorial per
    LaTeX orientato ai programmatori.

    Con i vari \, \, \, \ e questo genere di
    strutture dati, cioè liste e funzioni di manipolazione degli elementi, arrays,
    operazioni varie, ecc.(messi a disposizione da questo o quel pacchetto,
    ad esempio ifthen o calc o arrayjob), si potrebbe impostare un discorso
    rivolto all’utente che si sente anche “programmatore”.
    Ovviamente ciascun linguaggio ha i suoi punti di forza ed un dominio
    applicativo di dimensioni finite.
    LaTeX non si presta certo al supercalcolo 😉
    Ma ha delle peculiarità ben precise, basate sul concetto
    di espansione.

    [Mumble mumble… ]

    Ciao
    Agostino

    Ciao

    in risposta a: Array in TeX #21334
    Up
    0
    Down
    ::


    Grazie!
    L’esempio è perfetto.

    Ci sono limitazioni: se la lista contiene 5 elementi e si scrive \extract{\mylist}{6} (o un numero maggiore), non succede nulla

    Questo va bene: una funzione che non funziona non deve recare danni al programma chiamante.

    A questo punto, mi chiedo come potrebbe essere definita una macro che conta gli elementi di \mylist. Ad esempio si potrebbero fare cose del genere:
    `
    \def\n=\howmany{\mylist}
    \extract{\mylist}{\n}
    `

    Ciao,
    Agostino

    in risposta a: Array in TeX #21332
    Up
    0
    Down
    ::


    Ciao Enrico,
    grazie della segnalazione. Il pacchetto arrayjob mi sembra un ottimo riferimento, ricco di esempi.

    Agostino

    in risposta a: “Grafici vettoriali”, quale pacchetto? #21021
    Up
    0
    Down
    ::


    Pacchetto pgf (noto anche come tikz).
    E’ fatto apposta per quello.
    Il manuale è qui:
    http://www.ctan.org/tex-archive/graphics/pgf/base/doc/generic/pgf/version-for-pdftex/en/pgfmanual.pdf

    Buon divertimento,

    Agostino

    in risposta a: Indirizzi email #5430
    Up
    0
    Down
    ::


    Salve a tutti.
    Per la cronaca, dvips in genere non spezza; dvipdfmx spezza.

    Inoltre, nel LaTeX Companion (2nd Edition), pagina 95, si parla dell’opzione [hyphens]
    del pacchetto url. L’esempio
    `
    \documentclass{article}
    \usepackage[hyphens]{url}
    \urldef\lproject\url{http://www.latex-project.org}
    \begin{document}
    \fontfamily{pzc}\selectfont Zapf Chancery!
    \lproject\ (default set-up) \quad
    \urlstyle{rm}\lproject\ (CM Roman) \quad
    \urlstyle{sf}\lproject\ (CM Sans Serif) \quad
    \urlstyle{tt}\lproject\ (CM Typewriter) \quad
    \urlstyle{same}\lproject\ (Zapf Chancery)
    \end{document}
    `
    preso dal link:
    http://www.ctan.org/tex-archive/info/examples/tlc2/#jh94fad432a5b00c949cb6d343c97aab00
    dovrebbe mostrare come vengono spezzati gli indirizzi.

    Agostino

    in risposta a: Gnuplot e tikz #20774
    Up
    0
    Down
    ::


    Aggiungo un mio esempio:

    Le curve, gli assi e le etichette degli assi sono ottenuti con il seguente script Gnuplot:
    `
    set terminal lua solid nopicenvironment originreset plotsize 11cm,6.5cm
    set output 'Mach_Cl.tex'
    set datafile separator “,”
    set format x “%3.1f”
    set format y “%3.1f”
    set key at graph 0.78, graph 0.17
    set ytics offset 1,0
    set xtics offset 0,0.5
    set border lw 2
    set xrange [ 0 : 2 ] noreverse nowriteback
    set xlabel '\relsize{1}$\text{\sf M}_{\infty}$' \
    offset graph 0.445, graph 0.07
    set yrange [ 0.0 : 3 ] noreverse nowriteback
    set ylabel \
    '\tikz[baseline]{\node at (0,0) rotate=-90]{\relsize{0}$\displaystyle \frac{C_{\ell}}{\,\,C_{\ell}\big|_{\text{\sf M}_{\infty}=0}\,}$};}' \
    offset graph -0.010, graph 0.42

    # this sets tikz nodes for later reference
    set label “” at 0,0 font “,gp refnode,name=nM00a”
    set label “” at 0,0.5 font “,gp refnode,name=nM00b”
    set label “” at 0,0.7 font “,gp refnode,name=nM00c”
    set label “” at 1,0 font “,gp refnode,name=nM10a”
    set label “” at 1,0.5 font “,gp refnode,name=nM10b”
    set label “” at 1,0.7 font “,gp refnode,name=nM10c”
    set label “” at 1,3.0 font “,gp refnode,name=nM10d”
    set label “” at 0.8,0 font “,gp refnode,name=nM08a”
    set label “” at 0.8,0.5 font “,gp refnode,name=nM08b”
    set label “” at 0.8,0.7 font “,gp refnode,name=nM08c”
    set label “” at 1.2,0 font “,gp refnode,name=nM12a”
    set label “” at 1.2,0.5 font “,gp refnode,name=nM12b”
    set label “” at 1.2,0.25 font “,gp refnode,name=nM12bm”
    set label “” at 1.2,0.7 font “,gp refnode,name=nM12c”
    set label “” at 1.9,0 font “,gp refnode,name=nM20a”
    set label “” at 1.9,0.5 font “,gp refnode,name=nM20b”
    set label “” at 1.9,0.25 font “,gp refnode,name=nM20bm”
    set label “” at 1.9,0.7 font “,gp refnode,name=nM20c”

    set label “” at 0.83,1.7 font “,gp refnode,name=nP1”
    set label “” at 1.3,0.9 font “,gp refnode,name=nP2”

    ClSub(x)=1/sqrt(1.-x**2)
    ClSup(x)=1/sqrt(x**2 – 1.) – 0.2

    set yzeroaxis
    set samples 150, 150
    plot \
    ClSub(x) with lines lw 3 lt 2, \
    ClSup(x) with lines lw 3 lt 2, \
    'Mach_Cl_c.csv' using 1:2:(30000.) smooth acsplines with lines lw 3 lt 1
    `

    Il file di dati letto da questo script è qui:
    http://wpage.unina.it/agodemar/temp/Mach_Cl_c.csv.

    Successivamente, il file Mach_Cl.tex, creato da Gnuplot, è stato richiamato dal seguente sorgente LaTeX:

    `
    \documentclass[10pt]{article}
    \usepackage[T1]{fontenc}
    \usepackage{textcomp}
    \usepackage[latin1]{inputenc}
    \usepackage{gnuplot-lua-tikz}
    \usepackage{relsize}

    % #1 plot number — multiplots are numbered from 1 to n, a single plot is allways number 1)
    % #2 point name — name the point to reference it later
    % #3 rel. x pos — relative x position between 0 and 1
    % #4 rel. y pos — relative y position between 0 and 1
    \newdimen\gptmpdimx
    \newdimen\gptmpdimy
    \newcommand{\gpsetplotcoord}[4]{%
    \pgfextractx{\gptmpdimx}{%
    \pgfpointlineattime{#3}%
    {\pgfpointanchor{gpbb south west #1}{center}}%
    {\pgfpointanchor{gpbb south east #1}{center}}}%
    \pgfextracty{\gptmpdimy}{%
    \pgfpointlineattime{#4}%
    {\pgfpointanchor{gpbb south west #1}{center}}%
    {\pgfpointanchor{gpbb north west #1}{center}}}%
    \coordinate (#2) at (\gptmpdimx,\gptmpdimy);%
    }
    %%
    %% e.g. \gplegendline{gp_lt_color1}{gp_lt_plot1}
    %%
    \newcommand{\gplegendline}[2]{%
    \tikz[gnuplot,baseline,yshift=.6ex]{\draw[#1,#2](0,0)–(.6,0);}%
    }
    %%
    %% e.g. \gplegendmark{gp_lt_color0}{gp_mark1}
    %%
    \newcommand{\gplegendmark}[2]{%
    \tikz[gnuplot,baseline,yshift=.6ex]{\color{#1}\gppoint{#2}{(0,0)}}%
    }
    %%
    %% e.g. “time / t \quad\gplabelarrow”
    %%
    \newcommand{\gplabelarrow}{%
    \tikz[baseline]{\draw[yshift=.7ex,->](0,0)–(.7,0);}%
    }

    \definecolor{mydarkgreen}{rgb}{0.03,0.47,0.03}
    \definecolor{mydarkblue}{rgb}{0.07,0.08,0.4}

    \begin{document}

    \begin{tikzpicture}[gnuplot]

    \renewcommand{\gpsolidlines}{} % “disable” \gpsolidlines
    \gpdashedlines

    % change the color of default gnuplot line types
    \colorlet{gp_lt_color0}{mydarkblue}%
    \colorlet{gp_lt_color1}{mydarkgreen}%
    %%
    %% change font size
    %%
    %\tikzstyle{every node}=+[font=\relsize{1}]

    %%
    %% customize line types
    %%
    %\tikzstyle{gp_lt_plot0} = [loosely dotted]%
    %\tikzstyle{gp_lt_plot1} = [loosely dashed]%
    %\tikzstyle{gp_lt_plot1} = [dashed]%

    %% include plot file

    \input{Mach_Cl.tex}

    %%
    %% draw legend
    %%

    \node[draw=none,right=0pt,anchor=south west,xshift=8cm,yshift=5.0cm,rounded corners=0.5ex,fill=white] at (gpbb south west 1) {%
    \tikz{%
    \node[anchor=east,inner sep=0pt,yshift=0\baselineskip]%
    {\relsize{1}teorico\ \gplegendline{gp_lt_color1}{gp_lt_plot1, very thick}};
    \node[anchor=east,inner sep=0pt,yshift=-1.3\baselineskip]%
    {\relsize{1}sperimentale\ \gplegendline{gp_lt_color0}{gp_lt_plot0, very thick}};
    }
    };

    %%
    %% draw the rest
    %%

    \draw[draw=none,pattern=dots,pattern color=mylightblue,fill opacity=0.8] (nM08a) — (nM12a) — (nM12c) — (nM08c) — cycle;
    \draw[draw=none,pattern=dots,pattern color=mydarkgreen!50,fill opacity=0.8] (nM00a) — (nM08a) — (nM08c) — (nM00c) — cycle;
    \draw[draw=none,pattern=dots,pattern color=orange!70,fill opacity=0.8] (nM12a) — (nM20a) — (nM20bm) — (nM12bm) — cycle;
    \draw[dashed,mydarkblue] (nM10a) — (nM10d);
    \draw[solid,very thick,mydarkblue,arrows=<->] (nM00b) — node [pos=0.5,fill=white,inner sep=0.4ex]{subsonico} (nM08b);
    \draw[solid,very thick,mydarkblue,arrows=<->] (nM08b) — node [pos=0.5,fill=white,inner sep=0.4ex]{transonico} (nM12b);
    \draw[solid,very thick,mydarkblue,arrows=<->] (nM12bm) — node [pos=0.5,fill=white,inner sep=0.4ex]{supersonico} (nM20bm);
    \draw[dashed,mydarkblue] (nM08a) — (nM08c);
    \draw[dashed,mydarkblue] (nM12a) — (nM12c);

    \node at (nP1) [node distance=0pt,%xshift=20pt,yshift=-5pt,%
    pin={[pin distance=1.0cm,pin edge={bend left,mydarkgreen!70,thick}]120:{%
    $\displaystyle\propto\frac{1}{\sqrt{1-\text{\sf M}_{\infty}}}$}%
    }%
    ]{};

    \node at (nP2) [node distance=0pt,%xshift=20pt,yshift=-5pt,%
    pin={[pin distance=1.2cm,pin edge={bend left,mydarkgreen!70,thick}]40:{%
    $\displaystyle\propto\frac{1}{\sqrt{\text{\sf M}_{\infty}-1}}$}%
    }%
    ]{};
    \end{tikzpicture}
    \end{document}
    `

    Buon disegno,
    Agostino

    in risposta a: Pdf, Latex e open source #20264
    Up
    0
    Down
    ::


    Io credo che ci sia effettivamente questo tipo di problema quando ci deve essere interscambio di documenti tra soggetti che collaborano allo stesso livello.
    Penso alle situazioni in cui stai lavorando a parte di un documento, e magari ti stai divertendo anche a farlo con LaTeX, ma poi il tuo lavoro deve essere integrato con quello di qualcuno che usa Word… Sembra un dramma.
    Ovviamente questa non è una situazione realistica. Nella realtà delle cose è chiaro che si decide prima con quale strumento comporre il documento. E se si sceglie Word uno ci mette una pietra sopra, o al massimo lavora con OpenOffice.

    Nei casi in cui c’è interscambio di documenti tra soggetti che hanno ruoli decisamente
    diversi, come quando un relatore deve correzione le bozze di tesi di un laureando o una laureanda, credo che il problema non sia insormontabile.
    Non mi risulta che i relatori abbiano così tanto tempo da dedicare alla scrittura di pezzi di tesi. Essi piuttosto apportano delle correzioni qua e là, cancellature o suggerimenti di modifica.

    Quando correggo le tesi dei miei studenti anch’io preferisco lavorare sulla versione elettronica del documento. Scorro il file PDF ed inserisco le mie annotazioni. Non è né più né meno che un tipico lavoro di revisione redazionale.
    Un approccio alternativo è, sempre che la pazienza del revisore lo permetta, scrivere in un file di testo: (1) la posizione della correzione (pagina e riga dall’alto o dall’alto), (2) la frase da cambiare, (3) come va cambiata la frase o cosa va aggiunto o tolto.

    Agostino

    in risposta a: Pdf, Latex e open source #20262
    Up
    0
    Down
    ::


    Io credo che la cosa più delicata in questi casi sia rendere “morbido”
    l’impatto con la composizione asincrona.

    In altre parole, per introdurre al collega il mondo di LaTeX io dedicherei del
    tempo ad installare il “motore”, cioè, ad esempio, MiKTeX o TeXLive,
    avendo cura nel tranquillizzarlo, spiegando che si tratta di una procedura
    semplice e da fare una tantum (dopo si renderà conto che se serve qualche
    estensione ed è collegato in rete, questa si installa da sola!).

    Poi, servirà un’altro pochettino di energia a dare al collega la “patente”:
    cioè aiutarlo ad installare rapidamente TeXnic Center o TeXMaker o WinEdt.

    Infine, un semplice esempio, del tipo “Salve mondo” dimostrerà che,
    in fondo, la composizione non è poi così asincrona…

    Agostino

    in risposta a: Aiuto con layout avanzato #18027
    Up
    0
    Down
    ::


    Benissimo!
    Io direi di formare un piccolo team. Di due o tre volontari, incluso il sottoscritto,
    che possano contribuire al confezionamento del pacchetto con i loro
    suggerimenti e con la loro esperienza.

    Ad esempio: chi può suggerire gli step necessari a dare una qualità standard
    al pacchetto longmedal.sty ?
    Che so: come impostare un .dtx, che stile dare al commento del codice. eccetera.

    Commenti?

    Agostino

    in risposta a: Aiuto con layout avanzato #18025
    Up
    0
    Down
    ::


    Ringrazio per i complimenti e per i suggerimenti.

    Quelli che ho riportato sono degli esempi composti un po’ frettolosamente ma
    sufficienti per me ad effettuare un minimo di debug e per far vedere la versatilità
    dell’ambiente che ho creato.
    Per far quadrare bene tutto, i margini le ampiezze del medaglione, eccetera, c’è
    da sperimentare un po’. Ecco il motivo per cui ho previsto l’opzione debug=true.

    Riguardo alla proposta formale di un nuovo pacchetto, devo dire che non saprei da
    dove cominciare e a chi mandare cosa. Comunque l’idea mi piace.
    Come da ultimo scambio di idee con Claudio Beccari, si potrebbe scrivere un articolo
    per ArsTeXnica. In tal caso vorrei arrivare a confezionare un pacchetto scritto per
    bene e presentarlo per bene.

    Ciao,
    Agostino

    in risposta a: Aiuto con layout avanzato #18022
    Up
    0
    Down
    ::


    Salve a tutti.

    Ho lavorato al problema posto in questo thread e credo di essere arrivato ad una soluzione decente. Nel farlo ho ricevuto i consigli illuminanti di Claudio Beccari, che ringrazio. La soluzione che presento qui è senz’altro suscettibile di miglioramenti e modifiche future.

    Premessa

    Intanto, incollo un esempio di layout reale che mi interessa riprodurre:

    Il problema in questione è uno di quelli che si risolve semplicemente con un impaginatore tipo Xquark, o simili altri programmi, cose professionali. Alternativamente si può provare con il freeware Scribus. Il mio scopo è di utilizzare LaTeX ed ho cercato una soluzione che non si servisse di strumenti “esterni”.

    Soluzione

    Ho creato l’ambiente:
    `\longmedal[]{}`
    ispirandomi al nome “medaglione” usato da Beccari nella guida a LaTeX distribuita da GuIT. L’ambiente longmedal si avvale del pacchetto xkeyval per il passaggio dei parametri. Un esempio è il seguente:
    `
    \definecolor{mylightgray}{rgb}{0.95,0.95,0.95}
    %
    \longmedal[%
    width=1.1\textwidth, height=0.6\textheight,
    topfraction=0.65,
    innermargin=1.5cm,outermargin=0.2cm,
    columns=1,
    drawframe=true,drawsideframe=false,
    framerule=2pt,frameheadrule=2.5em,framesep=2mm,
    framecolor=darkgray,framebgcolor=mylightgray,
    label={lmd:OneA}]%
    {
    Test testo testo testo …
    }
    `

    Uno dei parametri più significativi è “height”: esso indica l’altezza complessiva del medaglione. Un altro parametro interessante è “columns”: ho voluto gestire anche un numero superiore a uno di colonne di testo avvalendomi del pacchetto multicols. Il significato degli altri parametri è intuitivo.

    Incollo qui il risultato di due esempi di cui darò il codice più avanti:

    esempio 1


    esempio 2

    L’algoritmo che divide il testo all’interno dell’ambiente e lo fa fluire nei diversi medaglioni è abbastanza semplice:

    1. Si raccoglie tutto il “materiale”, cioè il testo, in una vbox.

    2. Si comincia ad estrarre la parte alta della vbox con il comando
    primitivo \vsplit di TeX di altezza prefissata (height).

    3. Si utilizza un nuovo tipo di float (pacchetto float) con specificatore [t]
    ed imponendo, tra le altre cose, topfraction=,
    topnumber = 1, bottomnumber=0, totalnumber=1.

    4. Se l’altezza rimanente della vbox è ancora superiore a height
    si riparte dal punto 2, altrimenti si applica il punto 3 alla vbox e
    si finisce.

    Per quanto riguarda l’altezza delle diverse scatole in cui è suddiviso il
    testo ho scelto di adottare rigidamente un’altezza costante
    e gestire il contenuto con delle \rule di LaTeX opportune
    (si vedono passando l’opzione debug=true)

    Per controllare la parità del numero di pagina ho usato il pacchetto
    chngpage ( http://www.tex.ac.uk/cgi-bin/texfaq2html?label=oddpage ).

    Codice
    Allego il risultato del mio lavoro fino a questo punto.
    `
    % (c) 2007 Agostino De Marco
    % Distributed freely. You can redistribute it freely.

    \ProvidesFile{longmedal.sty}
    \ProvidesPackage{longmedal}

    \typeout{Package: `longmedal' v0.1\space <2007/11/23> (Agostino De Marco)}

    \NeedsTeXFormat{LaTeX2e}

    \RequirePackage{%
    float,caption,geometry,multicol,ifthen,calc,
    afterpage,
    xkeyval,
    color,
    placeins,
    chngpage% for \checkoddpage, \ifcpoddpage , http://www.tex.ac.uk/cgi-bin/texfaq2html?label=oddpage
    }

    %————————————————————
    % the new float type

    % http://www.guit.sssup.it/phpbb/viewtopic.php?t=1318&highlight=floatstyle

    \newcommand\floatc@LMDfloatstyle[2]{{\@fs@cfont #1} #2\par}
    \newcommand\fs@LMDfloatstyle{%
    \def\@fs@cfont{\bfseries}%
    \let\@fs@capt\floatc@ruled% \relax%
    \let\@fs@capt\relax%
    \def\@fs@pre{\relax}% {\hrule\kern2pt}%
    \def\@fs@post{\relax}% {\vskip-5pt\hrule\kern2pt}% linea sotto
    \def\@fs@mid{\relax}% {\kern2pt\hrule\kern2pt\vskip-2pt}%
    %
    \let\@fs@iftopcapt\iftrue% ensures caption position at top of float, superseeds \captionsetup
    % \let\@fs@iftopcapt\iffalse% caption at bottom
    %
    % no caption at all, see caption.sty
    \def\caption@@make##1##2{}%
    }

    \DeclareCaptionStyle{LMDfloatstyle}{labelfont=bf,labelsep=space,strut=off,position=top}
    \captionsetup[LMDfloatstyle]{textfont=it,position=top,belowskip=0pt}

    \floatstyle{%
    LMDfloatstyle% other standard styles: plain, ruled, boxed
    }
    \newfloat{MedalFloat}{t}{lom}[chapter]
    \floatname{MedalFloat}{Insight Box}

    %————————————————————
    % the name to be displayed in the heading

    \newcommand{\LMDname}{\textsc{Insight Box}\ \theMedalFloat}

    %————————————————————
    % Box outer stuff: colors of frame and background, rule width, etc.

    \newcommand*{\LMDframecolor}{black}
    \newcommand*{\LMDframebgcolor}{gray}
    \newlength{\LMDframesep} \setlength{\LMDframesep}{\fboxsep}
    \newlength{\LMDframerule} \setlength{\LMDframerule}{\fboxrule}
    \newlength{\LMDframeheadrule} \setlength{\LMDframeheadrule}{2em}

    %————————————————————
    % variables

    \newcounter{LMDcolumns} \setcounter{LMDcolumns}{1}
    \newcounter{LMD@columns} \setcounter{LMD@columns}{1}

    \newlength{\LMDwidth} \setlength{\LMDwidth}{\textwidth}
    \newlength{\LMDwidtha} \setlength{\LMDwidth}{\textwidth}
    \newlength{\LMDwidthb} \setlength{\LMDwidth}{\textwidth}

    \newlength{\LMDinnermargin} \setlength{\LMDinnermargin}{0.5cm}
    \newlength{\LMDoutermargin} \setlength{\LMDoutermargin}{0.5cm}

    \newlength{\LMDevenhoffset} \setlength{\LMDevenhoffset}{0cm}
    \newlength{\LMDoddhoffset} \setlength{\LMDoddhoffset}{0cm}

    \newlength{\LMDheightmax} \setlength{\LMDheightmax}{0.6\textheight}
    \newlength{\LMDheight} \setlength{\LMDheight}{\LMDheightmax-\LMDframeheadrule-2\baselineskip}

    \newlength{\lmd@dimena} \setlength{\lmd@dimena}{\z@}

    \newcommand{\lmd@topfraction}{\topfraction}

    \newcommand{\lmd@setfloatpar}{%
    \renewcommand{\bottomfraction}{0.2}%
    \setcounter{topnumber}{1}%
    \setcounter{bottomnumber}{0}%
    \setcounter{totalnumber}{1}%
    }

    %————————————————————————————-
    % the main environment

    %………………………………………………………….. xkeyval settings
    % define a command \longmedal[key1=value1,key2=value2,…]{…}
    % the parameters are set using xkeyval approach

    \newdimen\@lmdinnermargin
    \newdimen\@lmdoutermargin
    \newdimen\@lmdframesep
    \newdimen\@lmdframerule
    \newdimen\@lmdframeheadrule
    \newdimen\@lmdoddhoffset
    \newdimen\@lmdevenhoffset

    \define@key{lmd}{width}{\def\@lmdwidth{#1}
    \setlength{\LMDwidth}{\@lmdwidth}}%
    \define@key{lmd}{height}{\def\@lmdheight{#1}%
    \setlength{\LMDheightmax}{\@lmdheight}}% <--- NB \define@key{lmd}{topfraction}{\def\@lmdtopfraction{#1} \renewcommand*{\topfraction}{\@lmdtopfraction}}% \define@key{lmd}{textfraction}{\def\@lmdtextfraction{#1} \renewcommand*{\textfraction}{\@lmdtextfraction}}% \define@key{lmd}{bottomfraction}{\def\@lmdbottomfraction{#1} \renewcommand*{\bottomfraction}{\@lmdbottomfraction}}% \define@key{lmd}{columns}{\def\@lmdcolumns{#1}% \setcounter{LMD@columns}{\@lmdcolumns}% \setcounter{LMDcolumns}{\@lmdcolumns}% }% \define@key{lmd}{name}{\def\@lmdname{#1} \renewcommand{\LMDname}{\@lmdname}}% \define@key{lmd}{label}{\def\@lmdlabel{#1}}% \define@key{lmd}{caption}{\def\@lmdcaption{#1}}% \define@key{lmd}{innermargin}{\@lmdinnermargin=#1 \setlength{\LMDinnermargin}{\@lmdinnermargin}}% \define@key{lmd}{outermargin}{\@lmdoutermargin=#1 \setlength{\LMDoutermargin}{\@lmdoutermargin}}% \define@key{lmd}{oddhoffset}{\@lmdoddhoffset=#1 \setlength{\LMDoddhoffset}{\@lmdoddhoffset}}% \define@key{lmd}{evenhoffset}{\@lmdevenhoffset=#1 \setlength{\LMDevenhoffset}{\@lmdevenhoffset}}% \define@key{lmd}{framesep}{\def\@lmdframesep{#1} \setlength{\LMDframesep}{\@lmdframesep}}% \define@key{lmd}{framerule}{\def\@lmdframerule{#1} \setlength{\LMDframerule}{\@lmdframerule}}% \define@key{lmd}{frameheadrule}{\def\@lmdframeheadrule{#1} \setlength{\LMDframeheadrule}{\@lmdframerule}}% \define@key{lmd}{framecolor}{\def\@lmdframecolor{#1} \renewcommand*{\LMDframecolor}{\@lmdframecolor}}% \define@key{lmd}{framebgcolor}{\def\@lmdframebgcolor{#1} \renewcommand*{\LMDframebgcolor}{\@lmdframebgcolor}}% % ........................................................................ % boolean options \newboolean{lmd@drawframe}\setboolean{lmd@drawframe}{false} \newboolean{lmd@drawsideframe}\setboolean{lmd@drawsideframe}{false} \newboolean{lmd@debug}\setboolean{lmd@debug}{false} \newboolean{lmd@isodd}\setboolean{lmd@isodd}{false} \define@boolkey{lmd}{drawframe}{% \ifKV@lmd@drawframe \setboolean{lmd@drawframe}{true} \else \setboolean{lmd@drawframe}{false} \fi }{% \PackageWarning{longmedal}{erroneous input for drawframe, ignored}% } \define@boolkey{lmd}{drawsideframe}{% \ifKV@lmd@drawsideframe \setboolean{lmd@drawsideframe}{true} \else \setboolean{lmd@drawsideframe}{false} \fi }{% \PackageWarning{longmedal}{erroneous input for drawsideframe, ignored}% } \define@boolkey{lmd}{debug}{% \ifKV@lmd@debug \setboolean{lmd@debug}{true} \else \setboolean{lmd@debug}{false} \fi }{% \PackageWarning{longmedal}{erroneous input for debug, ignored}% } % ........................................................................ \newcommand{\longmedal}[2][]{% % % xkeyval related stuff % \def\@lmdwidth {}% treated as macro, not as a length \def\@lmdheight {}% treated as macro, not as a length \def\@lmdcolumns {}% treated as macro, not as a counter \def\@lmdtopfraction {}% \def\@lmdbottomfraction {}% \def\@lmdtextfraction {}% \def\@lmdname {}% \def\@lmdcaption {}% \def\@lmdlabel {}% \def\@lmdframecolor {black}% \def\@lmdframebgcolor {white}% % \@lmdframeheadrule=2em%\fboxrule \@lmdframerule=0pt%\fboxrule \@lmdframesep=\fboxsep% \@lmdinnermargin=0pt% \@lmdoutermargin=0pt% \@lmdoddhoffset=0pt% \@lmdevenhoffset=0pt% % % parse key-value arguments % \setkeys{lmd}{#1}% % % environment initial settings % % height % having issued: \setlength{\LMDheightmax}{\lmd@height} % i.e. the maximum height-wise length is that given by user... % \setlength{\LMDheight}{\LMDheightmax-\LMDframeheadrule -\baselineskip } % % width \ifnum\value{LMD@columns}=1% % single column \setlength{\LMDwidtha}{\LMDwidth% -2\@lmdframesep-2\@lmdframerule% }% needs calc \else % multiple columns \setlength{\LMDwidtha}{\LMDwidth% -2\fboxsep-2\fboxrule% -\value{LMD@columns}\columnsep+\columnsep% -\value{LMD@columns}\columnseprule+\columnseprule% }% needs calc \fi % % the width of text to be splitted \setlength{\LMDwidthb}{\LMDwidtha% -\LMDinnermargin% some convenient margin -\LMDoutermargin% some convenient margin }% needs calc % \divide\LMDwidthb\value{LMD@columns} % % tweaks some float settings (could use \lmd@setfloatpar ) \renewcommand{\bottomfraction}{0.2}% \setcounter{topnumber}{1}% \setcounter{bottomnumber}{0}% \setcounter{totalnumber}{1}% % %------------------------------------------------------------------- % \LMDbox is the main box: it stores the environment ``material'' % \setbox\LMDbox=\vbox\bgroup\hsize\LMDwidthb\noindent #2 \par\egroup% this closes the main box: now it contains the ``material'' % %------------------------------------------------------------------- \setbox\LMDbox\vbox{\unvbox\LMDbox}% unbox in itself % % % now the main macro: check for the height of \LMDbox and possibly split % (NO RECURSION, while loop instead) \lmd@makeboxes{} } \newboolean{@lmd@issplit} \setboolean{@lmd@issplit}{false} \newcounter{@lmd@howmanychunks} \setcounter{@lmd@howmanychunks}{0} \newlength{\lmd@filler}% used in last chunk if split occurred \setlength{\lmd@filler}{0pt} %\newsavebox{\LMDbox} %\newsavebox{\LMDboxa} %\newsavebox{\LMDboxb} \newbox\LMDbox \newbox\LMDboxa \newbox\LMDboxb \def\lmd@makeboxes#1{\relax % % stores the desired height of boxes in the float(s) % Note 1: user might have set \topfraction by hand outside or inside the environment % Note 2: user might have set \LMDheight by hand outside or inside the environment % % % Main loop: strip off the top part of \LMDbox until the height of % remaining part is less than the derired height of the float % % % \@whiledim\ht\LMDbox>\LMDheight%
    \do{%
    %
    % we want to put the top part of \LMDbox in auxiliary boxes \LMDboxa and \LMDboxb
    %
    \ifnum\value{LMD@columns}>1%
    \setbox\LMDboxa=\vsplit\LMDbox to \value{LMD@columns}\LMDheight%
    %
    \setbox\LMDboxb=\vtop{% <--- NB % \setlength{\linewidth}{\LMDwidth}% multicols balances column widths according to \linewidth \begin{multicols}{\value{LMD@columns}} \unvbox\LMDboxa \end{multicols} % }% \setbox\LMDboxa=\box\LMDboxb \else \setbox\LMDboxa\vsplit\LMDbox to \LMDheight% % \setbox\LMDboxa\vtop{% <--- NB % \unvbox\LMDboxa}% unbox in itself \fi % % now put on page the material (contained in \box\LMDboxa) % % prevent changes in float counter when \LMDbox has been previously splitted \ifthenelse{\boolean{@lmd@issplit}}{\addtocounter{MedalFloat}{-1}}{}% % \begin{MedalFloat} \caption{MedalFloat. Chunk: \the@lmd@howmanychunks}% \noindent% % % debug... \makebox[0pt][r]{\texttt{split \the@lmd@howmanychunks}\rule{0.3cm}{0pt}}% % \checkoddpage% needs chngpage, I guess it needs two latex passes % \if@twoside% \ifcpoddpage% needs chngpage % % odd pages % \setboolean{lmd@isodd}{true}% set this global variable for external use % % repack the material in \box\LMDboxb % \setbox\LMDboxb\hbox{% % % put the main rule as a filler \setlength{\lmd@dimena}{\LMDheightmax-\ht\LMDboxa} \ifthenelse{\boolean{lmd@debug}}{\rule[-\lmd@dimena]{2pt}{\lmd@dimena}}{\rule[-\lmd@dimena]{0pt}{\lmd@dimena}} % \ifthenelse{\boolean{lmd@debug}}{\rule{\LMDinnermargin}{2pt}}{\rule{\LMDinnermargin}{0pt}}% \box\LMDboxa% \ifthenelse{\boolean{lmd@debug}}{\rule{\LMDoutermargin}{2pt}}{\rule{\LMDoutermargin}{0pt}}% }% % % finally shipout the hbox into the frame % \centerline{\FrameCommand{\box\LMDboxb}}% do it at the end \else% % % even page % \setboolean{lmd@isodd}{false}% set this global variable for external use % \setbox\LMDboxb\hbox{% % % put the main rule as a filler \setlength{\lmd@dimena}{\LMDheightmax-\ht\LMDboxa} \ifthenelse{\boolean{lmd@debug}}{\rule[-\lmd@dimena]{2pt}{\lmd@dimena}}{\rule[-\lmd@dimena]{0pt}{\lmd@dimena}} % \ifthenelse{\boolean{lmd@debug}}{\rule{\LMDoutermargin}{2pt}}{\rule{\LMDoutermargin}{0pt}}% \box\LMDboxa% \ifthenelse{\boolean{lmd@debug}}{\rule{\LMDinnermargin}{2pt}}{\rule{\LMDinnermargin}{0pt}}% }% % % finally shipout the hbox into the frame % \centerline{\FrameCommand{\box\LMDboxb}}% do it at the end \fi \else% % % one side document % \setbox\LMDboxb\hbox{% % % put the main rule as a filler \setlength{\lmd@dimena}{\LMDheightmax-\ht\LMDboxa} \ifthenelse{\boolean{lmd@debug}}{\rule[-\lmd@dimena]{2pt}{\lmd@dimena}}{\rule[-\lmd@dimena]{0pt}{\lmd@dimena}} % \ifthenelse{\boolean{lmd@debug}}{\rule{\LMDinnermargin}{2pt}}{\rule{\LMDinnermargin}{0pt}}% \box\LMDboxa% \ifthenelse{\boolean{lmd@debug}}{\rule{\LMDoutermargin}{2pt}}{\rule{\LMDoutermargin}{0pt}}% }% % % finally shipout the hbox into the frame % \centerline{\FrameCommand{\box\LMDboxb}}% do it at the end \fi % \end{MedalFloat} % % flag the float as splitted \ifdim\ht\LMDbox>0cm%
    \setboolean{@lmd@issplit}{true}\fi
    %
    % update chunk count
    \stepcounter{@lmd@howmanychunks}
    %
    }% end of while
    %
    \ifdim\ht\LMDbox>0cm
    %
    % nothing to split or last iteration
    %
    \ifthenelse{\boolean{@lmd@issplit}}%
    {%
    %
    % prevent changes in float counter when \LMDbox has been previously splitted
    %
    \addtocounter{MedalFloat}{-1}%
    }{}%
    %
    % show last chunk of material
    %
    \ifnum\value{LMD@columns}>1%
    % ? \setbox\LMDboxa=\vsplit\LMDbox to \value{LMD@columns}\LMDheight
    %
    \setbox\LMDboxa=\vtop{% <--- NB % \setlength{\linewidth}{\LMDwidth}% multicols balances column widths according to \linewidth % \begin{multicols}{\value{LMD@columns}} \unvbox\LMDbox% ..a \end{multicols} }% % \else \setbox\LMDboxa\vtop{% <-- NB \unvbox\LMDbox\par% }% \fi \begin{MedalFloat} \caption{MedalFloat. Chunk: \the@lmd@howmanychunks\ end}% \noindent% \checkoddpage% needs chngpage \if@twoside% \ifcpoddpage% needs chngpage \setboolean{lmd@isodd}{true}% set this global variable for external use \setbox\LMDboxb\hbox{% % % put the main rule as a filler \setlength{\lmd@dimena}{\LMDheightmax-\ht\LMDboxa} \ifthenelse{\boolean{lmd@debug}}{\rule[-\lmd@dimena]{2pt}{\lmd@dimena}}{\rule[-\lmd@dimena]{0pt}{\lmd@dimena}} % \ifthenelse{\boolean{lmd@debug}}{\rule{\LMDinnermargin}{2pt}}{\rule{\LMDinnermargin}{0pt}}% \box\LMDboxa% \ifthenelse{\boolean{lmd@debug}}{\rule{\LMDoutermargin}{2pt}}{\rule{\LMDoutermargin}{0pt}}% }% \centerline{\FrameCommand{\box\LMDboxb}}% \else% % % even page % \setboolean{lmd@isodd}{false}% set this global variable for external use \setbox\LMDboxb\hbox{% % % put the main rule as a filler \setlength{\lmd@dimena}{\LMDheightmax-\ht\LMDboxa} \ifthenelse{\boolean{lmd@debug}}{\rule[-\lmd@dimena]{2pt}{\lmd@dimena}}{\rule[-\lmd@dimena]{0pt}{\lmd@dimena}} % \ifthenelse{\boolean{lmd@debug}}{\rule{\LMDoutermargin}{2pt}}{\rule{\LMDoutermargin}{0pt}}% \box\LMDboxa \ifthenelse{\boolean{lmd@debug}}{\rule{\LMDinnermargin}{2pt}}{\rule{\LMDinnermargin}{0pt}}% }% % % finally shipout the hbox into the frame (LAST CHUNK) % \centerline{\FrameCommand{\box\LMDboxb}}% \fi \else% % % one side document % \setbox\LMDboxb\hbox{% \setlength{\lmd@dimena}{\LMDheightmax-\ht\LMDboxa} \ifthenelse{\boolean{lmd@debug}}{\rule[-\lmd@dimena]{2pt}{\lmd@dimena}}{\rule[-\lmd@dimena]{0pt}{\lmd@dimena}} \ifthenelse{\boolean{lmd@debug}}{\rule{\LMDinnermargin}{2pt}}{\rule{\LMDinnermargin}{0pt}}% \box\LMDboxa% \ifthenelse{\boolean{lmd@debug}}{\rule{\LMDoutermargin}{2pt}}{\rule{\LMDoutermargin}{0pt}}% }% % finally shipout the hbox into the frame (LAST CHUNK, ONESIDE) \FrameCommand{\box\LMDboxb} \fi \end{MedalFloat} \fi % % reset the split flag % \setboolean{@lmd@issplit}{false} % % reset the number of chunks \setcounter{@lmd@howmanychunks}{0} % % set height pf box 0 to 0 after the last piece has been shipped out; the while do cycle ends % \ht\LMDbox=\z@% } %------------------------------------------------------------ % framing commands % % ref.: http://www.guit.sssup.it/phpbb/viewtopic.php?t=3186&start=15

    \definecolor{lmd@blue}{rgb}{.4,.4,1}
    \definecolor{lmd@lightblue}{rgb}{.8, .8, 1}
    \definecolor{lmd@darkblue}{rgb}{0.07,0.08,0.4}
    \definecolor{lmd@darkgreen}{rgb}{0.03,0.47,0.03}
    \definecolor{lmd@lightgray}{rgb}{0.95,0.95,0.95}
    \definecolor{lmd@darkgray}{gray}{.25}
    \definecolor{lmd@violet}{rgb}{0.84,0,0.69}
    \definecolor{lmd@orange}{cmyk}{0,0.61,0.87,0}
    \definecolor{lmd@indigo}{cmyk}{0.8,0.9,0,0}
    \definecolor{lmd@lightorange}{rgb}{.98,.75,.14}

    \newlength\sidebarMyBox
    \newlength\envruleMyBox
    \newlength\envborderMyBox
    \setlength\sidebarMyBox{1.5pt}% 1.5mm
    \setlength\envruleMyBox{0.4pt}
    \setlength\envborderMyBox{2.0mm}% A:2.5

    \long\def\lmd@boxfboxs#1{%
    \leavevmode
    \setbox\@tempboxa\hbox{%
    \color@begingroup
    \kern\fboxsep{#1}\kern\fboxsep
    \color@endgroup}%
    \@frames@x\relax}
    %
    \def\@frames@x#1{%
    \@tempdima\fboxrule
    \advance\@tempdima\fboxsep
    \advance\@tempdima\dp\@tempboxa
    %
    % hoffset
    \ifthenelse{\boolean{lmd@isodd}}{\hspace{\LMDoddhoffset}}{\hspace{\LMDevenhoffset}}
    %
    \hbox{%
    \lower\@tempdima\hbox{%
    \vbox{%
    %\hrule\@height\fboxrule
    % agodemar …
    \hrule height \LMDframeheadrule% 2.0em
    %
    \par
    \makebox[0pt][l]{%
    \raisebox{0.5\LMDframeheadrule-0.25\baselineskip}[0cm][0cm]{%
    \ifthenelse{\boolean{@lmd@issplit}}{%
    % @lmd@howmanychunks
    \ifthenelse{\boolean{lmd@isodd}}{%
    \textcolor{\LMDframecolor}{\ \LMDname}%
    }{%
    \textcolor{white}{\ \footnotesize (continua da pag. precedente)}%
    }%
    }{%
    \textcolor{white}{\ \LMDname}%
    }%
    }%
    }%
    \par
    \hrule height 0pt
    % … agodemar
    %
    \hbox{%
    \ifthenelse{\boolean{lmd@drawsideframe}}{\vrule\@width\LMDframerule}{}%
    #1%
    \vbox{%
    %\vskip\fboxsep
    \textcolor{\LMDframebgcolor}{\hrule height 2\LMDframesep}% a little tweak
    \box\@tempboxa
    \vskip\fboxsep}%
    #1%
    \ifthenelse{\boolean{lmd@drawsideframe}}{\vrule\@width\LMDframerule}{}%
    }%
    \ifthenelse{\boolean{lmd@drawframe}}{\hrule\@height\LMDframerule}{}%
    }%
    }%
    }%
    }

    \def\lmd@boxfcolorbox#1#{\lmd@MyBoxcolor@fbox{#1}}
    \def\lmd@MyBoxcolor@fbox#1#2#3{%
    \color@b@x{\fboxsep\z@\color#1{#2}\lmd@boxfboxs}{\color#1{#3}}}

    \def\FrameCommand{%
    % Uncomment here to change globally these dimensions
    \fboxrule=\the\sidebarMyBox%
    %\fboxsep=\the\envborderMyBox%
    \lmd@boxfcolorbox%
    {\LMDframecolor}% border
    {\LMDframebgcolor}% background
    }%
    % Provide configuration commands:
    \providecommand\FrameCommand{\fboxrule=\FrameRule \fboxsep=\FrameSep \fbox}
    \@ifundefined{FrameRule}{\newdimen\FrameRule \FrameRule=\fboxrule}{}
    \@ifundefined{FrameSep} {\newdimen\FrameSep \FrameSep =3\fboxsep}{}
    `

    Ecco infine un esempio di documento:
    `
    \documentclass[12pt,twoside]{book}
    \usepackage[T1]{fontenc}
    \usepackage{lmodern}
    \usepackage[italian]{babel}
    \usepackage[latin1]{inputenc}
    %————————————————
    \usepackage{titlesec}
    % pagestyle
    \usepackage{calc}% needed here
    \widenhead*{0pt}{\marginparsep + \marginparwidth} % symmetrically
    \renewpagestyle{plain}{}
    \newpagestyle{latexbook}[\bfseries]{
    \headrule
    \sethead%
    [\thepage][][\chaptertitle]%
    {\thesection\ \sectiontitle}{}{\thepage}
    \setfoot[][][]{}{}{}
    }
    \pagestyle{latexbook}
    %————————————————
    \usepackage{amsmath,amsfonts}
    \usepackage{framed,color,lipsum}
    \usepackage{manfnt}
    %\usepackage{graphicx,pstricks}
    \usepackage{multicol}
    \usepackage{lipsum}
    %————————————————
    % LONG MEDAL

    \usepackage{longmedal}

    %————————————————
    \usepackage{afterpage}

    \begin{document}
    \mainmatter
    \chapter{Gnats nel mondo}

    {\hangindent=3pc\hangafter=-2\parindent=0pc
    \makebox[0pt][r]{\makebox[3pc][l]{\dbend}}%
    \lipsum[1]
    }\medskip

    {\hangindent=3pc\hangafter=-2\parindent=0pc
    \makebox[0pt][r]{\makebox[3pc][l]{\dbend}}%
    \lipsum[2]
    }\medskip

    {\hangindent=3pc\hangafter=-2\parindent=0pc
    \makebox[0pt][r]{\makebox[3pc][l]{\dbend}}%
    \lipsum[3]
    }\medskip

    \section{Gnu, questo sconosciuto}

    \lipsum[1]\medskip

    \afterpage{\clearpage\input{es_lm_1.tex}}

    \lipsum[2]\medskip

    \lipsum[3]\medskip

    \lipsum[4]\medskip

    \lipsum[5]\medskip

    \lipsum[1]\medskip

    \lipsum[2]\medskip

    %—————————————————————————–
    % see http://www.tex.ac.uk/cgi-bin/texfaq2html?label=floats
    %
    % si vogliono ristabilire i parametri “normali” degli oggetti floattanti
    %
    \renewcommand{\topfraction}{.85}
    \renewcommand{\bottomfraction}{.7}
    \renewcommand{\textfraction}{.15}
    \renewcommand{\floatpagefraction}{.66}
    \renewcommand{\dbltopfraction}{.66}
    \renewcommand{\dblfloatpagefraction}{.66}
    \setcounter{topnumber}{9}
    \setcounter{bottomnumber}{9}
    \setcounter{totalnumber}{20}
    \setcounter{dbltopnumber}{9}
    %—————————————————————————–

    \lipsum\medskip

    \lipsum\medskip

    \lipsum[3]\medskip

    \section{Gnome e i suoi fratelli}

    \lipsum

    \lipsum

    \begin{figure}[tb]
    \centering
    \fbox{\rule{0pt}{0.35\textheight}\rule{0.5\textwidth}{0pt}}
    \caption{Questa è una figura standard.}\label{fig:One}
    \end{figure}

    \lipsum

    \begin{figure}[htb]
    \centering
    \fbox{\rule{0pt}{0.75\textheight}\rule{0.5\textwidth}{0pt}}
    \caption{Questa è una figura standard.}\label{fig:Two}
    \end{figure}

    Oh, guarda che bella la \figurename~\ref{fig:One}!
    Oh, guarda che bella la \figurename~\ref{fig:Two}!
    %%%Oh, guarda che bella la \figurename~MF.\ref{fig:MF:One}!
    %%%Oh, guarda che bella la \figurename~MF.\ref{fig:MF:Two}!

    \chapter{Scopriamo il mondo di Gnome}

    \section{L'ambiente di lavoro}

    \lipsum\medskip

    \lipsum[1]\medskip

    \lipsum[2]\medskip

    \lipsum[3]\medskip

    \lipsum[4]\medskip

    {\color{blue}AAA}\par

    \afterpage{\clearpage\input{es_lm_2.tex}}

    \lipsum\medskip

    \lipsum\medskip

    \lipsum\medskip

    \lipsum\medskip

    \lipsum\medskip

    \lipsum

    \end{document}
    `

    File es_lm_1.tex :
    `
    \definecolor{mylightgray}{rgb}{0.95,0.95,0.95}

    \longmedal[%
    debug=false,
    width=1.1\textwidth,
    innermargin=1.5cm,
    outermargin=0.2cm,
    height=0.60\textheight,
    topfraction=0.65,
    columns=1,
    drawframe=true,
    framerule=2pt,
    %frameheadrule=2.5em,
    %framesep=2mm,
    framecolor=darkgray,
    framebgcolor=mylightgray,
    label={lmd:OneA}
    ]{%
    {\bf\Large a}
    \lipsum[1]\medskip

    {\bf\Large b}
    \lipsum[2]\medskip

    {\bf\Large c}
    \lipsum[3]\medskip

    {\bf\Large d}
    \lipsum[3]\medskip
    {\bf\Large e}
    \lipsum[4]\medskip

    {\bf\Large f}
    \lipsum[5]
    }
    `

    File es_lm_2.tex :
    `
    \longmedal[
    debug=false,
    drawframe=true,
    drawsideframe=true,
    framerule=4pt,
    framecolor=darkgray,
    framebgcolor=yellow,
    width=1.3\textwidth,
    innermargin=2.5cm,
    outermargin=0.2cm,
    evenhoffset=1cm,oddhoffset=-1cm,
    height={0.50\textheight},
    topfraction=0.7,
    columns=2,
    label={lmd:One}
    ]{%
    {\bf\Large a}
    \lipsum[1]\medskip
    {\bf\Large b}
    \lipsum[2]\medskip

    {\bf\Large c}
    \lipsum[3]\medskip

    {\bf\Large d}
    \lipsum[4]\medskip

    {\bf\Large e}
    \lipsum[5]\medskip

    {\bf\Large f}
    \lipsum[6]
    }
    `

    Per chi vuole provare, basta copiare e incollare…

    Ciao,
    Agostino

    in risposta a: Disegno con Latex #18451
    Up
    0
    Down
    ::


    Per questo genere di disegni io darei un’occhiata
    a:
    http://tug.org/PSTricks/main.cgi?file=Examples/uml

    Esempio al volo? Eccolo:
    http://tug.org/PSTricks/Examples/uml.tex

    Ovviamente per cominciare con pstricks è indispensabile
    aver esplorato prima a dovere il sito di riferimento:
    http://tug.org/PSTricks/main.cgi

    Ciao,
    Agostino

    in risposta a: Comprendere un comando in un file Cls. #18097
    Up
    0
    Down
    ::


    Molto istruttivo. Grazie.
    Comincio a desiderare un simile livello di comprensione.

    Ciao
    Agostino

    in risposta a: Aiuto con layout avanzato #18021
    Up
    0
    Down
    ::


    A questo punto si potrebbe porre il seguente problema:

    Come si potrebbe fare a mettere una footnote in alto alla pagina
    anziché in basso ?

    A occhio, credo che modificando alcuni registri che contengono le dimensioni chiave del punto di inserimento della footnote e dell’altezza della footnote
    la cosa si possa fare.
    Purtroppo non so come farlo.

    Agostino

Stai visualizzando 15 risposte – dal 106 al 120 (di 133 totali)

Go to top