- Questo topic ha 36 risposte, 4 partecipanti ed è stato aggiornato l'ultima volta 17 anni, 3 mesi fa da
mondopinguino.
-
CreatoreTopic
-
27 Febbraio 2009 alle 21:34 #31444::
Ho creato uno stile per un ambiente esempio che mi pare si adatti bene con il resto del documento, solo che ci sono alcune imperfezioni che non capisco. L’ambiente, creato col pacchetto amsthm, con comandi aggiuntivi, dovrebbe essere:-
* delimitato sopra e sotto da linee orizzontali;
* avere uno sfondo di colore grigio chiaro (RGB 250, 250, 250).Ci sono quasi riuscito, solo che:
-
* Il corpo del testo ed il colore di sfondo sono leggermente spostati a destra, oltre il margine destro del resto del documento;
* Se inizio l’ambiente alla fine di una pagina, il testo (dell’esempio) comincia alla pagina successiva mentre la linea orizzontale resta sulla pagina precedente;
* L’ambiente non viene staccato dal resto del testo, lo spazio verticale è lo stesso di quello tra i paragrafiIl codice che ho usato è
`
\newtheoremstyle{esempio}% name
{0pt}% Space above
{0pt}% Space below
{\small \fontfamily{cmbr}\selectfont}% Body font. Vuole dichiarazioni, non comandi!\itshape
{1.2em}% Indent amount
{}% Theorem head font
{.}% Punctuation after theorem head
{.5em}% Space after theorem head
{\textbf{\textsf{\textsc{#1}}}}% Theorem head spec (can be left empty, meaning `normal')
\theoremstyle{esempio}
\newtheorem{estheorem}{Esempio}\newenvironment{ruledgray}[1][\linewidth]
{\hrule\vspace{\fboxrule}%
\noindent\setbox0\vbox\bgroup%
\hsize#1}
{\par\egroup\setbox0\vbox{\unvbox0}%
\colorbox{lightbkgnd}{\box0}%
\hrule}
\newenvironment{es}{\ruledgray\estheorem}
{\endestheorem\endruledgray}
`Grazie, Roberto
-
CreatoreTopic
-
AutoreRisposte
-
-
27 Febbraio 2009 alle 22:14 #31445::
Ho creato uno stile per un ambiente esempio che mi pare si adatti bene con il resto del documento, solo che ci sono alcune imperfezioni che non capisco. L’ambiente, creato col pacchetto amsthm, con comandi aggiuntivi, dovrebbe essere:
-
* delimitato sopra e sotto da linee orizzontali;
* avere uno sfondo di colore grigio chiaro (RGB 250, 250, 250).Ci sono quasi riuscito, solo che:
-
* Il corpo del testo ed il colore di sfondo sono leggermente spostati a destra, oltre il margine destro del resto del documento;
* Se inizio l’ambiente alla fine di una pagina, il testo (dell’esempio) comincia alla pagina successiva mentre la linea orizzontale resta sulla pagina precedente;
* L’ambiente non viene staccato dal resto del testo, lo spazio verticale è lo stesso di quello tra i paragrafiIl codice che ho usato è
`
\newtheoremstyle{esempio}% name
{0pt}% Space above
{0pt}% Space below
{\small \fontfamily{cmbr}\selectfont}% Body font. Vuole dichiarazioni, non comandi!\itshape
{1.2em}% Indent amount
{}% Theorem head font
{.}% Punctuation after theorem head
{.5em}% Space after theorem head
{\textbf{\textsf{\textsc{#1}}}}% Theorem head spec (can be left empty, meaning `normal')
\theoremstyle{esempio}
\newtheorem{estheorem}{Esempio}\newenvironment{ruledgray}[1][\linewidth]
{\hrule\vspace{\fboxrule}%
\noindent\setbox0\vbox\bgroup%
\hsize#1}
{\par\egroup\setbox0\vbox{\unvbox0}%
\colorbox{lightbkgnd}{\box0}%
\hrule}
\newenvironment{es}{\ruledgray\estheorem}
{\endestheorem\endruledgray}
`Grazie, Roberto
`\newsavebox{\esbox}
\newenvironment{ruledgray}[1][\linewidth]
{\addvspace{\medskipamount}\setlength{\fboxrule}{0pt}%
\hrule\noindent\begin{lrbox}{\esbox}\edef\keepparindent{\the\parindent}%
\begin{minipage}{#1-2\fboxsep}\setlength{\parindent}{\keepparindent}}
{\end{minipage}\end{lrbox}%
\colorbox{lightbkgnd}{\usebox{\esbox}}%
\hrule\addvspace{\medskipamount}}`
Direi che è meglio se sostituisci 1.2em nella definizione dello stile esempio con \parindent. Inoltre è inutile chiedere \textsc dentro a \textbf, i font cmbright non possiedono il maiuscoletto nero.In definitiva lo trovo piuttosto brutto.
Ciao
Enrico
-
27 Febbraio 2009 alle 23:38 #31446::
😯 Ti ringrazio davvero di cuore Enrico, che più volte hai risposto alle mie richieste con rapidità strabiliante.Direi che è meglio se sostituisci 1.2em nella definizione dello stile esempio con \parindent.
Fatto, grazie mille, se l’avessi saputo l’avrei fatto da subito!
Inoltre è inutile chiedere \textsc dentro a \textbf, i font cmbright non possiedono il maiuscoletto nero.
Strabiliante, ma a giudicare da quello che vedo ho l’impressione che dal cappello sia uscito il maiuscoletto grassetto! Il risultato della compilazione è disponibile come file pdf all’indirizzo: http://documents.scribd.com/docs/1axsrezopw6qx4g7sofz.pdf Tra l’altro non era neppure mia intenzione, è stato solo un’errore di distrazione!
In definitiva lo trovo piuttosto brutto.
Ciao
EnricoQuesto mi sembra molto interessante, sono pronto a mettere tutto in discussione! Solo che non ho detto che ho usato lo stile classictesi + arsclassica. al link di sopra si vedono i risultati
`\newsavebox{\esbox}
\newenvironment{ruledgray}[1][\linewidth]
{\addvspace{\medskipamount}\setlength{\fboxrule}{0pt}%
\hrule\noindent\begin{lrbox}{\esbox}\edef\keepparindent{\the\parindent}%
\begin{minipage}{#1-2\fboxsep}\setlength{\parindent}{\keepparindent}}
{\end{minipage}\end{lrbox}%
\colorbox{lightbkgnd}{\usebox{\esbox}}%
\hrule\addvspace{\medskipamount}}`Ho già abusato della tua pazienza, lo so, ma mi piacerebbe capire quello che sto facendo, per non dover più chiedere aiuto, e magari per poter anche aiutare! Il mio codice l’avevo scritto più o meno dopo una giornata di ricerche, e riprende quanto fatto dalla guida GUIT a pag 207.
Questo codice dovrebbe comportarsi così:
* Crea una “scatola”
* inserisce al suo interno un ambiente
* l’ambiente per prima cosa mette uno spazio, poi una riga, fin qui più o meno si capisce
* \begin{lrbox}{\esbox} questo fa un’altra scatola?!?
* e poi dentro ci metto una minipage?!? Una matriosca di testo!!!
* il testo al suo interno è largo quanto il testo meno 2 separazioni ( #1-2\fboxsep)
* chiudo tutto e passo le scatole create a colorbox per applicare lo sfondo,
* infine la riga orizzontale di chiusura e l’altro spazio..
Quello che non capisco è il perché di questo gioco di matriosche e l’uso dei tanti \keepparindentCome si vede dal pdf la riga iniziale non è attaccata al blocco seguente, infatti resta alla pagina precedente! Non è un problema, non mi va di fare altre richieste, alla fine forzo un’interruzione di pagina manualmente dove dovesse servire. Infine faccio notare che se si guarda il pdf al 105% con il reader di adobe la riga superiore scompare (almeno sul mio pc), per via di una erronea visualizzazione, superabile se lo sfondo grigio fosse messo sotto le linee orizzontali!
Ciao, grazie mille, Roberto!
-
27 Febbraio 2009 alle 23:52 #31447::
😯 Ti ringrazio davvero di cuore Enrico, che più volte hai risposto alle mie richieste con rapidità strabiliante.
Direi che è meglio se sostituisci 1.2em nella definizione dello stile esempio con \parindent.
Fatto, grazie mille, se l’avessi saputo l’avrei fatto da subito!
Inoltre è inutile chiedere \textsc dentro a \textbf, i font cmbright non possiedono il maiuscoletto nero.
Strabiliante, ma a giudicare da quello che vedo ho l’impressione che dal cappello sia uscito il maiuscoletto grassetto! Il risultato della compilazione è disponibile come file pdf all’indirizzo: http://documents.scribd.com/docs/1axsrezopw6qx4g7sofz.pdf Tra l’altro non era neppure mia intenzione, è stato solo un’errore di distrazione!
In definitiva lo trovo piuttosto brutto.
Ciao
EnricoQuesto mi sembra molto interessante, sono pronto a mettere tutto in discussione! Solo che non ho detto che ho usato lo stile classictesi + arsclassica. al link di sopra si vedono i risultati
`\newsavebox{\esbox}
\newenvironment{ruledgray}[1][\linewidth]
{\addvspace{\medskipamount}\setlength{\fboxrule}{0pt}%
\hrule\noindent\begin{lrbox}{\esbox}\edef\keepparindent{\the\parindent}%
\begin{minipage}{#1-2\fboxsep}\setlength{\parindent}{\keepparindent}}
{\end{minipage}\end{lrbox}%
\colorbox{lightbkgnd}{\usebox{\esbox}}%
\hrule\addvspace{\medskipamount}}`Ho già abusato della tua pazienza, lo so, ma mi piacerebbe capire quello che sto facendo, per non dover più chiedere aiuto, e magari per poter anche aiutare! Il mio codice l’avevo scritto più o meno dopo una giornata di ricerche, e riprende quanto fatto dalla guida GUIT a pag 207.
Questo codice dovrebbe comportarsi così:
* Crea una “scatola”
* inserisce al suo interno un ambiente
* l’ambiente per prima cosa mette uno spazio, poi una riga, fin qui più o meno si capisce
* \begin{lrbox}{\esbox} questo fa un’altra scatola?!?
* e poi dentro ci metto una minipage?!? Una matriosca di testo!!!
* il testo al suo interno è largo quanto il testo meno 2 separazioni ( #1-2\fboxsep)
* chiudo tutto e passo le scatole create a colorbox per applicare lo sfondo,
* infine la riga orizzontale di chiusura e l’altro spazio..
Quello che non capisco è il perché di questo gioco di matriosche e l’uso dei tanti \keepparindentCome si vede dal pdf la riga iniziale non è attaccata al blocco seguente, infatti resta alla pagina precedente! Non è un problema, non mi va di fare altre richieste, alla fine forzo un’interruzione di pagina manualmente dove dovesse servire. Infine faccio notare che se si guarda il pdf al 105% con il reader di adobe la riga superiore scompare (almeno sul mio pc), per via di una erronea visualizzazione, superabile se lo sfondo grigio fosse messo sotto le linee orizzontali!
Ciao, grazie mille, Roberto!
Il comando \newsavebox{\esbox} riserva un registro box; meglio fare così che usare \box0 in questo caso. L’ambiente ruledgray è essenzialmente lo stesso che hai scritto tu, ma in linguaggio LaTeX; meglio così per via del colore, credimi.
L’ambiente lrbox crea una box memorizzandola nel registro \esbox; ma questa box è simile a una \mbox, quindi dentro ci metto una minipage larga #1-2\fboxsep (dimenticavo che occorre caricare il pacchetto calc). Tu usavi una \vbox con \hsize=#1 e questo era la causa dello “spostamento” che lamentavi: devi tenere conto del piccolo margine dovuto al \colorbox seguente. Prima ho impostato a zero \fboxrule, che non ci interessa, altrimenti si avrebbe un riquadro.
Il trucco con \keepparindent serve per impostare dentro alla minipage il rientro uguale a quello normale, nel caso ci sia più di un paragrafo.
Per evitare il problema della riga iniziale nella pagina precedente, inserisci \nobreak fra \hrule e \noindent.
Il fatto che il filetto sparisca probabilmente è dovuto al visualizzatore di pdf. Guarda al massimo ingrandimento e vedrai che c’è
Ciao
Enrico
-
28 Febbraio 2009 alle 0:03 #31448
-
1 Marzo 2009 alle 0:37 #31449
-
1 Marzo 2009 alle 15:29 #31450::
Stavo anche io cercando di creare un effetto simile. Se non sei contrario potresti postare il codice per realizzare un esempio tipo quello riportato nel file pdf postato?
Grazie!Certo, il codice c’è già tutto su questa pagina, ma vale la pena fare chiarezza per una consultazione più veloce. Spero di aver compreso correttamente la logica…
Per prima cosa si crea una ambiente, che crea un box largo quanto \textwidth, “correttamente” spaziato dal testo precedente e successivo, con sfondo grigio, linee orizzontali sopra e sotto, e lo spazio interno per inserire il testo leggermente più stretto. Il codice è il seguente:
`% AMBIENTE CON SFONDO GRIGIO E LINEE SOPRA E SOTTO
\newsavebox{\esbox}
\newenvironment{ruledgray}[1][\linewidth]
{\addvspace{\medskipamount}\setlength{\fboxrule}{0pt}%
\hrule\nobreak\noindent\begin{lrbox}{\esbox}\edef\keepparindent{\the\parindent}%
\begin{minipage}{#1-2\fboxsep}\setlength{\parindent}{\keepparindent}}
{\end{minipage}\end{lrbox}%
\colorbox{lightbkgnd}{\usebox{\esbox}}%
\hrule\addvspace{\medskipamount}}`
Poi creo uno stile per teoremi che non presenta alcuna spaziatura sopra e sotto, in questo caso mi interessa definire un ambiente esempio. Il codice, che richiede il pacchetto amsthm, è il seg:
`% AMBIENTE PER ESEMPI TIPO THEOREM
\newtheoremstyle{esempio}% name % 1. CREO LO STILE PER GLI ESEMPI
{0pt}% Space above
{0pt}% Space below
{\small}% Body font. Vuole dichiarazioni, non comandi!\fontfamily{cmbr}\selectfont \itshape
{\parindent}% Indent amount
{}% Theorem head font %dichiarazioni tipo \bfseries
{.}% Punctuation after theorem head
{.5em}% Space after theorem head
{\textbf{\textsf{\textsc{#1\ }}}\textbf{#2}}% #1=esempio, #2=numero – Theorem head spec
\theoremstyle{esempio} % 2. CREO UN AMBIENTE CON LO STILE DEFINITO
\newtheorem{estheorem}{Esempio}`
Infine mi creo l’ambiente esempio inserendo l’ambiente di tipo teorema personalizzato come esempio, nell’ambiente grigio con linee di delimitazione orizzontali:
`\newenvironment{es}{\ruledgray\estheorem} % 3. LO INSERISCO IN 1 CON SFONDO GRIGIO/LINEE
{\endestheorem\endruledgray}`Posso creare un esempio con lo stile indicato scrivendo \begin{es}Testo dell’esempio\end{esempio}, oppure posso usare solo il primo blocco di codice per creare un ambiente evidenziato in grigio con i comandi \begin{ruledgray}il testo scritto qui è delimitato da linee orizzontali ed evidenziato da uno sfondo grigio\end{ruledgray}.
Saluti, Roberto
-
1 Marzo 2009 alle 15:31 #31451
-
1 Marzo 2009 alle 22:46 #31452::
Putroppo mi da errore.
Allora, sto scrivendo un documento con classe scrbook.
Ho messo tutto il codice riportato nel penultimo post di mondopinguino e poi, all’interno tra i tag \begin{document} e \end{document} ho scritto
`\begin{document}
\begin{esempio} Testo dell'esempio \end{esempio}
\end{document}`
Quando premo PDF TeXity mi dice:Runway argument?
{textcomp \usepackage{amsthm} \newsavebox{\esbox} \newenviroment \ETC.
! File ended while scanning use of \@filewith@ption
\par
… -
1 Marzo 2009 alle 22:53 #31453::
Putroppo mi da errore.
Allora, sto scrivendo un documento con classe scrbook.
Ho messo tutto il codice riportato nel penultimo post di mondopinguino e poi, all’interno tra i tag \begin{document} e \end{document} ho scritto
`\begin{document}
\begin{esempio} Testo dell'esempio \end{esempio}
\end{document}`
Quando premo PDF TeXity mi dice:Runway argument?
{textcomp \usepackage{amsthm} \newsavebox{\esbox} \newenviroment \ETC.
! File ended while scanning use of \@filewith@ption
\par
…Non hai chiuso un argomento:
`\usepackage{textcomp}`
Ciao
Enrico
-
2 Marzo 2009 alle 11:01 #31454
-
2 Marzo 2009 alle 11:30 #31455::
Hai ragione! Purtropo però ora mi dice che non riconosce il colore lightbkgnd.
`undefined color lightbkgnd`Ops.. hai ragione tu, mi sono scordato di scriverti la definizione del colore…`\definecolor{lightbkgnd}{RGB}{250,250,250}`
Puoi definirti il colore che vuoi, al posto di lightbkgnd metti un nome che ti piace (sia quando lo definisci che quando lo usi), poi specifichi le componenti RGB, se hai un programma di grafica qualunque probabilmente puoi scegliere il colore vedendolo e leggi le componenti RGB.
-
2 Marzo 2009 alle 12:05 #31456
-
2 Marzo 2009 alle 19:13 #31457::
Mi dispiace ma sono sempre io. Ho creato un file di prova in cui ho solo il prologo con tutti i pacchetti usati e il resto e poi il testo dell’esempio tra i tag “document”.
Se compilo il file con solo l’esempio tutto OK ma se metto l’esempio in un file che avevo già mi da il seguente errore:
`! LateX error: something's wrong–perhalps a missin \item`
Immagino che in questa situazione sia difficle individuare il problema ma hai per caso idea di cosa può essere?
Grazie!
-
2 Marzo 2009 alle 20:21 #31458::
Mi dispiace ma sono sempre io. Ho creato un file di prova in cui ho solo il prologo con tutti i pacchetti usati e il resto e poi il testo dell’esempio tra i tag “document”.
Se compilo il file con solo l’esempio tutto OK ma se metto l’esempio in un file che avevo già mi da il seguente errore:
`! LateX error: something's wrong–perhalps a missin \item`
Immagino che in questa situazione sia difficle individuare il problema ma hai per caso idea di cosa può essere?
Grazie!Se scrivi
`\begin{itemize}
Pippo`
ottieni quell’errore. In ogni caso, vale la regola aurea del forum: invia un esempio minimo compilabile che riproduce il problema.Ciao,
L.
-
2 Marzo 2009 alle 21:28 #31459::
Hai ragione, spiegato così non si capisce tanto.
Il punto è questo: se faccio una pagina con solo il testo dell’esempio me la compila correttamente mentre se faccio una struttura più complessa con una pagina centrale in cui includo i diversi capitoli invece mi da quell’errore. Vista la mole di testo non posso realizzare tutto il libro in una pagina unica.Faccio un esempio pratico:
Questo è il contenuto del file Main.tex
`\include{Preambolo} % include il preambolo\begin{document}
\include{Argomento_1}
\end{document}
`Questo è il contenuto del file Preambolo.tex
`\documentclass[a4paper,12pt,italian]{scrbook}%============================================================
%PACCHETTI UTILIZZATI
%============================================================
\usepackage[italian]{babel}
\usepackage[ansinew]{inputenc}
\usepackage[pdftex]{lscape} %Questo pacchetto serve per la pagina in orizzontale
\usepackage{times}
\usepackage{graphicx}
\usepackage{pdfpages} %Questo pacchetto serve per includere pagine pdf
\usepackage{float}
\usepackage{hyperref}
\usepackage{color}
\usepackage{soul}
\usepackage{fancyhdr}
\usepackage{longtable}
\usepackage{textcomp}
\usepackage{amsthm}%============================================================
%CONFIGURAZIONE HYPERREF
%============================================================
\hypersetup{ %Questa parte configura i vari collegamenti interni nel documento
colorlinks=true,
linkcolor=blue,
urlcolor=cyan}%============================================================
%AMBIENTE CON SFONDO GRIGIO E LINEE SOPRA E SOTTO
%============================================================
\newsavebox{\esbox}
\newenvironment{ruledgray}[1][\linewidth]
{\addvspace{\medskipamount}\setlength{\fboxrule}{0pt}%
\hrule\nobreak\noindent\begin{lrbox}{\esbox}\edef\keepparindent{\the\parindent}%
\begin{minipage}{#1-2\fboxsep}\setlength{\parindent}{\keepparindent}}
{\end{minipage}\end{lrbox}%
\colorbox{lightbkgnd}{\usebox{\esbox}}%
\hrule\addvspace{\medskipamount}}
% AMBIENTE PER ESEMPI TIPO THEOREM
\newtheoremstyle{esempio}% name % 1. CREO LO STILE PER GLI ESEMPI
{0pt}% Space above
{0pt}% Space below
{\small}% Body font. Vuole dichiarazioni, non comandi!\fontfamily{cmbr}\selectfont \itshape
{\parindent}% Indent amount
{}% Theorem head font %dichiarazioni tipo \bfseries
{.}% Punctuation after theorem head
{.5em}% Space after theorem head
{\textbf{\textsf{\textsc{#1\ }}}\textbf{#2}}% #1=esempio, #2=numero – Theorem head spec
\theoremstyle{esempio} % 2. CREO UN AMBIENTE CON LO STILE DEFINITO
\newtheorem{estheorem}{Esempio}
\newenvironment{es}{\ruledgray\estheorem} % 3. LO INSERISCO IN 1 CON SFONDO GRIGIO/LINEE
{\endestheorem\endruledgray}
\definecolor{lightbkgnd}{RGB}{232,232,232} `Questo è il contenuto del file Argomento_1.tex
`\subsection*{Limiti di esposizione}
Qui ho scritto una facciata e mezza sul rischio da vibrazioni in generale con riferimenti alle norme e alle leggi specifiche oltre ad altri contenuti che potrebbero interessare.
%CONTENUTO: Esempio sul rischio vibrazioni
\begin{es}Il signor Tizio è dipendente di una piccola cooperativa che si occupa lavori di giardinaggio eseguiti soprattutto presso clienti privati e piccole aziende. Il datore di lavoro, a capo della cooperativa, decide di fare una valutazione sull'esposizione a rischio vibrazioni dei propri dipendenti. Una di queste riguarda Tizio che, nell'arco della giornata lavorativa in esame deve andare dalla signora Pina per lavori di sfalcio del prato, potatura arbusti e per abbattere (tagliare) un pino diventato troppo alto. Da un'analisi della giornata lavorativa (della durata complessiva di 8 ore) sono emersi i seguenti dati: \textbf{- Taglio albero:} 3 ore complessive di cui 40 minuti in cui è stata impiegata una motosega con motore a scoppio. \textbf{- Taglio erba:} 6 ore complessive di cui 120 minuti utilizzando un tosaerba semovente con motore a scoppio e 1 ora utilizzando un decespugliatore sempre alimentato a benzina. \textbf{- Potatura arbusti:} 1,5 ore di cui 1 ora utilizzando una sega elettrica più piccola della precedente. Il resto del turno è stato dedicato al carico e allo scarico degli utensili impiegati e per la pulizia finale degli stessi. Gli utensili impiegati ed i relativi dati sulle vibrazioni sono i seguenti.
\begin{description}
\item[Decespugliatore] con motore a scoppio (benzina) e organo di taglio a filo di plastica. Il database I.S.P.E.S.L., nel caso in cui questo utensile venga impiegato con la mano destra, fornisce i seguenti dati: $a_{W,x}= 4,3\frac{m}{s^2}$, $a_{W,y}= 3,9\frac{m}{s^2}$, $a_{W,z}=7,6\frac{m}{s^2}$ da cui si ricava, applicando la formula \ref{eq:vibrazioni0}, $a_{W,sum,decespugliatore}=\sqrt{4,3^2+3,9^2+7,6^2}=\sqrt{91,46}=9,563\frac{m}{s^2}$
\item[Tagliaerba semovente] con motore a scoppio (benzina) da 150cc e 4000W. Il costruttore ha dichiarato $a_{W,sum,tagliaerba}=8\frac{m}{s^2}$
\item[Motosega] con motore a scoppio (benzina) da 51cc e 2300W. Dal database I.S.P.E.S.L. si ottiene $a_{W,x}=4,3\frac{m}{s^2}$, $a_{W,y}=4,5\frac{m}{s^2}$, $a_{W,z}=3,5\frac{m}{s^2}$ da cui si può calcolare $a_{W,sum,motosega}=\sqrt{4,2^2+4,5^2+3,5^2}=\sqrt{32,676}=7,716\frac{m}{s^2}$
\item[Sega elettrica] da 1600W il cui costruttore ha dichiarato $a_{W,sum,sega_elettrica}=4\frac{m}{s^2}$
\end{description}
\end{es}`Premendo PDFTeXify da WinEdt mi da l’errore
LaTeX Font Info: Try loading font information for OT1+phv on input line 1.
(“C:\Programmi\MiKTeX 2.7\tex\latex\psnfss\ot1phv.fd”
File: ot1phv.fd 2001/06/04 scalable font definitions for OT1/phv.
)
LaTeX Font Info: Font shape `OT1/phv/bx/n’ in size <12> not available
(Font) Font shape `OT1/phv/b/n’ tried instead on input line 1.
LaTeX Font Info: Font shape `OT1/phv/bx/n’ in size <14.4> not available
(Font) Font shape `OT1/phv/b/n’ tried instead on input line 1.! LaTeX Error: Something’s wrong–perhaps a missing \item.
See the LaTeX manual or LaTeX Companion for explanation.
Type Hfor immediate help.
…l.4 \begin{es}
Il signor Tizio è dipendente di una piccola cooperativa che si…?
-
3 Marzo 2009 alle 12:37 #31460::
Il codice che hai postato non è proprio minimo, anzi è decisamente troppo ingombrante… Non so se funziona, ma puoi provare a disattivare il pacchetto times e ad aggiungere la riga \usepackage[T1]{fontenc}Resta un problema serio!!! L’ambiente così creato non è floating, e non è neppure spezzabile su più pagine poiché fa uso di una minipage! Come risultato si ha che la pagina precedente è fortemente “stirata” verticalmente, quasi vuota, probabilmente se il testo occupa più di una pagina ho un errore! Forse non sarebbe il caso di rivedere il precedente codice, che non fa uso della minipage?
Grazie, Roberto!
-
3 Marzo 2009 alle 17:23 #31461::
Effettivamente ho visto che il codice non risulta proprio perfettamente quando l’esempio è lungo. Proverò allora a scrivere solamente il testo dell’esercizio nel riquadro grigio e la soluzione all’esterno. Peccato perchè mi sembrava proprio buono come stile proprio per la sua semplicità.
Appena ho un po’ di tempo provo a scrivere solo il testo dell’esempio per vedere se me lo compila. Quello che mi faceva venire qualche dubbio irrisolto è perchè la compilazione in una pagina unica in cui c’era solo quello funzionava mentre inserito in un documento più ampio non funzionava.
-
3 Marzo 2009 alle 18:53 #31462::
Qualcuno sa dirmi dov’è che sbaglio, si usa così lrbox?!? Mi da la bellezza di 101 errori, che spariscono commentando le tre righe \begin…\end
`\newsavebox{\pippo}
\begin{lrbox}{\pluto}
questo è il contenuto di un box passato come comando
\end{\pluto}
\fbox{\usebox{\pluto}}
`
Non funziona neppure creando un box all’interno di lrbox, ad esempio con \parbox{}{testo}.
Chi sa qual’è l’errore?!? Grazie, Roberto
-
3 Marzo 2009 alle 18:58 #31463::
Qualcuno sa dirmi dov’è che sbaglio, si usa così lrbox?!? Mi da la bellezza di 101 errori, che spariscono commentando le tre righe \begin…\end
`\newsavebox{\pippo}
\begin{lrbox}{\pluto}
questo è il contenuto di un box passato come comando
\end{\pluto}
\fbox{\usebox{\pluto}}
`
Non funziona neppure creando un box all’interno di lrbox, ad esempio con \parbox{}{testo}.
Chi sa qual’è l’errore?!? Grazie, RobertoSe la box si chiama \pippo, perché vuoi usarne una inesistente di nome \pluto?
Ciao
Enrico
-
3 Marzo 2009 alle 20:11 #31464::
Se la box si chiama \pippo, perché vuoi usarne una inesistente di nome \pluto?
Ciao
EnricoScusa.. è stato un errore di distrazione per vari tentativi… il codice non funziona comunque… suppongo però che ho capito il concetto, di come dovrebbe funzionare?!? Oppure è proprio sbagliato visto che non funziona?!
-
3 Marzo 2009 alle 20:50 #31465::
Se la box si chiama \pippo, perché vuoi usarne una inesistente di nome \pluto?
Ciao
EnricoScusa.. è stato un errore di distrazione per vari tentativi… il codice non funziona comunque… suppongo però che ho capito il concetto, di come dovrebbe funzionare?!? Oppure è proprio sbagliato visto che non funziona?!
E io ho visto la pagliuzza ma non la trave. 🙂
`…
\end{lrbox}
…`
Ciao
Enrico
-
3 Marzo 2009 alle 22:51 #31466::
😥 grazie Enrico, solo che penso di averti fatto perdere soltanto tempo… cioè la soluzione che mi hai dato in effetti funziona, il problema è che se uso un \parbox, non posso suddividerlo in paragrafi o fare al suo interno cose complicate, non nasce per questo…Ricapitolando:
-Il problema è quello di creare un ambiente con sfondo grigio e righe orizzontali sopra e sotto
soluzioni:
> uso i comandi Tex, come vbox, forse qualcosa di vagamente funzionante si ottiene, ma non è adatto alla gestione del colore! (almeno credo…)
> Uso i comandi LaTex, che in particolare sarebbero, minpage e parbox, solo che
>>\parbox è un comando, accetta testo come argomento, quindi è difficile da sfruttare come un ambiente, quel che è peggio è che non è adatto a gestire più paragrafi [ Vedi qui]
>>minpage è già un ambiente, con il codice proposto tutto funziona. L’unico difetto è che l’ambiente minpage non si spezza su più pagine!! 😥
-
3 Marzo 2009 alle 23:27 #31467::
😥 grazie Enrico, solo che penso di averti fatto perdere soltanto tempo… cioè la soluzione che mi hai dato in effetti funziona, il problema è che se uso un \parbox, non posso suddividerlo in paragrafi o fare al suo interno cose complicate, non nasce per questo…
Ricapitolando:
-Il problema è quello di creare un ambiente con sfondo grigio e righe orizzontali sopra e sotto
soluzioni:
> uso i comandi Tex, come vbox, forse qualcosa di vagamente funzionante si ottiene, ma non è adatto alla gestione del colore! (almeno credo…)
> Uso i comandi LaTex, che in particolare sarebbero, minpage e parbox, solo che
>>\parbox è un comando, accetta testo come argomento, quindi è difficile da sfruttare come un ambiente, quel che è peggio è che non è adatto a gestire più paragrafi [ Vedi qui]
>>minpage è già un ambiente, con il codice proposto tutto funziona. L’unico difetto è che l’ambiente minpage non si spezza su più pagine!! 😥Pacchetto framed; la documentazione è all’inizio del file framed.sty
Ciao
Enrico
-
4 Marzo 2009 alle 11:05 #31468::
Pacchetto framed; la documentazione è all’inizio del file framed.sty
Ciao
Enrico😯 EUREKA!!! Questo si che è interessante, sto provando a decifrare la scarna documentazione, appena arrivo ad un risultato soddisfacente metto qui il risultato!!! PS: tra ricerche verie ho anche trovato questo forum che potrebbe essere considerato come una soluzione alternativa….
http://www.guit.sssup.it/phpbb/viewtopic.php?t=3316&highlight=longmedal
Ciao, grazie, Roberto
-
4 Marzo 2009 alle 12:25 #31469::
(cut)
PS: tra ricerche verie ho anche trovato questo forum che potrebbe essere considerato come una soluzione alternativa….
http://www.guit.sssup.it/phpbb/viewtopic.php?t=3316&highlight=longmedal
Ciao, grazie, RobertoL’avevo trovato anche io infatti sto provando a vedere di farlo funzionare anche se speravo in qualcosa di più semplice visto che quello è piuttosto lungo per via della continuità tra una pagina e l’altra. A me basterebbe il box semplice ed in grado, eventualmente di continuare nella pagina dopo. Devo dire però che è un ottimo punto di partenza.
Speriamo che lo pubblichino come pacchetto.
-
10 Marzo 2009 alle 23:09 #31470::
Ho riscritto l’ambiente che aggiunge uno sfondo grigio, una linea orizzonatale prima del testo ed una dopo. Questo ambiente fornisce un outout analogo a quello dei primi esempi, ma permette l’interruzione dell’ambiente su più pagine! Per prima cosa richiamo il pacchetto \usepackage{framed} e definisco il colore da usare, che nel mio caso è \definecolor{lightbkgnd}{RGB}{250,250,250}, poi creo l’ambiente con sfondo grigio:
`\newenvironment%
{sfondocolorato}
{ \setlength{\topsep}{0pt}
\def\FrameCommand{ \colorbox{lightbkgnd}}
\MakeFramed {%
\advance\hsize-4\fboxrule \FrameRestore}}%
{\endMakeFramed}`
Poi inserisco l’ambiente tra due linee orizzontali
`\newenvironment{prova}
{\addvspace{\medskipamount} \hrule\nobreak\sfondocolorato}
{\endsfondocolorato\nobreak\hrule \addvspace{\medskipamount}}`
ottengo un ambiente analogo al precedente `ruledgray`.I problemi sono gli stessi di partenza, cioè lo sfondo grigio fuoriesce leggermente dal margine destro e non è largo quanto le righe nere… anche se per vedere tali difetti bisogna ingrandire molto il pdf! Come si può correggere?! Io proprio non ci sono riuscito! (ricordo che è per la classe Arsclassica, riprende lo stile grafico delle porzioni di codice usate da Lorenzo Pantieri nelle sue guide)
-
13 Marzo 2009 alle 1:33 #31471::
Ho provato a scrivere questo obbrobbio:
`\newenvironment%
{sfondocolorato}
{ \setlength{\topsep}{0pt}
%\leftskip=200pt
\hsize=307.5pt
\setlength{\hoffset}{100pt}
\def\FrameCommand{ \colorbox{lightbkgnd}}
\MakeFramed {%
\FrameRestore}}%\advance\hsize-10pt
{\endMakeFramed}\newenvironment{prova}
{\addvspace{\medskipamount} \hrule\nobreak\sfondocolorato}
{\endsfondocolorato\nobreak\hrule \addvspace{\medskipamount}}`
con \hsize prima di creare il box riescpo a specificare la sua grandezza e riesco a stringerlo. Solo non capisco perché non posso usare come \hsize qualcosa tipo \width-2\parindent, poiché i -2\parindent finiscono nel testo come -2 0.5… il pacchetto calc c’è, ma non funziona! Seppure funzionasse, io cosa dovrei togliere? Un \fboxsep? ma se non ho il box non posso farlo giusto? Tra l’altro a me servirebbe semplicemente che l’area in grigio non uscisse dai margini (destro e sinistro)!Se con \hsize riesco a restringere la colonna in modo che non fuoriesca dal bordo destro, non risolvo il problema sul lato sinistro. Ho provato ad inserire comandi tipo \hoffset, ma non hanno alcun effetto sul box colorato, semmai agiscono sul testo!
Come faccio a far entrare il box colorato all’interno della pagina senza che fuoriesca leggermente dai margini?!? Quale sarebbe un codice più umano, o dove potrei cercare per trovare qualche possibile spiegazione per scrivermelo da solo??
Grazie, Roberto!
-
13 Marzo 2009 alle 9:19 #31472::
Ho provato a scrivere questo obbrobbio:
`\newenvironment%
{sfondocolorato}
{ \setlength{\topsep}{0pt}
%\leftskip=200pt
\hsize=307.5pt
\setlength{\hoffset}{100pt}
\def\FrameCommand{ \colorbox{lightbkgnd}}
\MakeFramed {%
\FrameRestore}}%\advance\hsize-10pt
{\endMakeFramed}\newenvironment{prova}
{\addvspace{\medskipamount} \hrule\nobreak\sfondocolorato}
{\endsfondocolorato\nobreak\hrule \addvspace{\medskipamount}}`
con \hsize prima di creare il box riescpo a specificare la sua grandezza e riesco a stringerlo. Solo non capisco perché non posso usare come \hsize qualcosa tipo \width-2\parindent, poiché i -2\parindent finiscono nel testo come -2 0.5… il pacchetto calc c’è, ma non funziona! Seppure funzionasse, io cosa dovrei togliere? Un \fboxsep? ma se non ho il box non posso farlo giusto? Tra l’altro a me servirebbe semplicemente che l’area in grigio non uscisse dai margini (destro e sinistro)!Se con \hsize riesco a restringere la colonna in modo che non fuoriesca dal bordo destro, non risolvo il problema sul lato sinistro. Ho provato ad inserire comandi tipo \hoffset, ma non hanno alcun effetto sul box colorato, semmai agiscono sul testo!
Come faccio a far entrare il box colorato all’interno della pagina senza che fuoriesca leggermente dai margini?!? Quale sarebbe un codice più umano, o dove potrei cercare per trovare qualche possibile spiegazione per scrivermelo da solo??
Grazie, Roberto!Ma perché non provare con una semplice modifica dell’ambiente shaded?
`\newenvironment{sfondocolorato}
{\addvspace{\medskipamount} \hrule\nobreak
\def\FrameCommand{\fboxsep=\FrameSep \colorbox{lightbkgnd}}
\MakeFramed {\advance\hsize-\width \FrameRestore}}
{\endMakeFramed\nobreak\hrule \addvspace{\medskipamount}}`
Ciao
Enrico
-
13 Marzo 2009 alle 9:55 #31473::
Ma perché non provare con una semplice modifica dell’ambiente shaded?
Per pura, profonda, ignoranza!… era proprio quello che stavo cercando di fare ma non capivo come!
`\newenvironment{sfondocolorato}
{\addvspace{\medskipamount} \hrule\nobreak
\def\FrameCommand{\fboxsep=\FrameSep \colorbox{lightbkgnd}}
\MakeFramed {\advance\hsize-\width \FrameRestore}}
{\endMakeFramed\nobreak\hrule \addvspace{\medskipamount}}`
Ciao
EnricoGrazie Enrico, sono commosso, davvero, adesso funziona a meraviglia!!
Se non scrivo orrori, vorrei solo far notare che per evitare che le righe orizzontali siano separate dall’ambiente grigio occorre inserire \setlength{\topsep}{0pt}, io l’ho inserito dopo {\medskipamount}. Inoltre mi sembra più corretto che lo spazio prima e dopo l’ambiente sia maggiore di quello che separa le righe orizzontali dall’interno dell’ambiente, per cui se lo spazio esterno è \medskipamount, lo spazio interno l’ho impostato a \smallskipamount sostituendo questa scrittura al posto di \FrameSep.
Spero con questo il problema sia chiuso, grazie ancora Enrico, Roberto!
-
27 Maggio 2009 alle 9:01 #31474::
Il \nobreak per l’ambiente creato, serve ad evitare che le linee di delimitazione finiscano su una pagina a se stante, e funziona!Per i codici, ottengo lo stesso ambiente con il pacchetto listing, e le impostazioni
`\lstset{tabsize=3, numbers=left, numberstyle=\tiny, %
stepnumber=1, numbersep=5pt, frame=lines, backgroundcolor=\color{lightbkgnd},%
language=matlab, columns=flexible, captionpos=b, % `solo che la linea di fondo spesso in questo caso si può staccare dal resto dell’ambiente, e va a finire sulla pagina successiva! C’è un’opzione come nobreak per attaccare la linea all’ambiente oppure mi conviene sistemare eventuai errori alla fine del lavoro?
Ciao, grazie, Roberto
-
27 Maggio 2009 alle 9:16 #31475::
Il \nobreak per l’ambiente creato, serve ad evitare che le linee di delimitazione finiscano su una pagina a se stante, e funziona!
Per i codici, ottengo lo stesso ambiente con il pacchetto listing, e le impostazioni
`\lstset{tabsize=3, numbers=left, numberstyle=\tiny, %
stepnumber=1, numbersep=5pt, frame=lines, backgroundcolor=\color{lightbkgnd},%
language=matlab, columns=flexible, captionpos=b, % `solo che la linea di fondo spesso in questo caso si può staccare dal resto dell’ambiente, e va a finire sulla pagina successiva! C’è un’opzione come nobreak per attaccare la linea all’ambiente oppure mi conviene sistemare eventuai errori alla fine del lavoro?
Non dici come ottieni il filetto finale. Potresti mostrare un esempio completo? Non necessariamente che produca il filetto nella pagina successiva, quello si può arrangiare.
Ciao
Enrico
-
27 Maggio 2009 alle 9:25 #31476::
Non dici come ottieni il filetto finale. Potresti mostrare un esempio completo? Non necessariamente che produca il filetto nella pagina successiva, quello si può arrangiare.
Ciao
Enricoframe=lines
Questo è il comando che mi aggiunge il filetto iniziale e finale. Per avere uno sfondo grigio basta inserire l’opzione:
backgroundcolor=\color{lightbkgnd}
sempre tra le impostazioni di listing, cioè nel comando \lstset.
-
27 Maggio 2009 alle 9:28 #31477::
Non dici come ottieni il filetto finale. Potresti mostrare un esempio completo? Non necessariamente che produca il filetto nella pagina successiva, quello si può arrangiare.
Ciao
Enricoframe=lines
Questo è il comando che mi aggiunge il filetto iniziale e finale. Per avere uno sfondo grigio basta inserire l’opzione:
backgroundcolor=\color{lightbkgnd}
sempre tra le impostazioni di listing, cioè nel comando \lstset.
Esempio completo? 😕
Ciao
Enrico
-
27 Maggio 2009 alle 12:58 #31478::
Ok, questo è l’esempio completo:
`\documentclass{book}
\usepackage{listings}
\lstset{basewidth=0.5em, tabsize=2, numbers=left, numberstyle=\tiny, %
stepnumber=1, numbersep=5pt, frame=lines, %
stringstyle=\ttfamily, language=matlab, columns=flexible, captionpos=b}\begin{document}
\chapter{Questo è un capitolo}
Testo, poi un listato\lstinputlisting[lastline=29, caption=Codice di esempio ]
{listato.m}Altro testo
\end{document}`
Serve un file, che in questo caso ho chiamato listato.m, che contiene almeno 29 linee di codice. In realtà uso la classe scrbook, in tal caso per l’overflow occorrono 36 linee!
-
27 Maggio 2009 alle 13:26 #31479::
Ok, questo è l’esempio completo:
`\documentclass{book}
\usepackage{listings}
\lstset{basewidth=0.5em, tabsize=2, numbers=left, numberstyle=\tiny, %
stepnumber=1, numbersep=5pt, frame=lines, %
stringstyle=\ttfamily, language=matlab, columns=flexible, captionpos=b}\begin{document}
\chapter{Questo è un capitolo}
Testo, poi un listato\lstinputlisting[lastline=29, caption=Codice di esempio ]
{listato.m}Altro testo
\end{document}`
Serve un file, che in questo caso ho chiamato listato.m, che contiene almeno 29 linee di codice. In realtà uso la classe scrbook, in tal caso per l’overflow occorrono 36 linee!
Temo che risolvere il problema automaticamente richieda un’analisi piuttosto profonda del codice del pacchetto. Il filetto finale non è prodotto con \hrule, ma con \vrule dentro una \hbox che viene preceduta da \baselineskip, il quale è un buon posto per cambiare pagina, secondo le regole di TeX.
Credo che ci sia poco da fare oltre al tentativo di segnalare la faccenda a chi si occupa del pacchetto.
Ciao
Enrico
-
27 Maggio 2009 alle 13:52 #31480::
Ok, volevo segnalare il bug, sulla documentazione di listings ho trovato l’indirizzo bmoses@dpdx.net, che però non è valido, il messaggio mi torna indietro con l’errore:other or undefined network or routing status. Riproverò…Intanto vorrei segnalare una possibile soluzione manuale per i casi di emergenza: invece di usare l’input da file, basta copiare ed incollare il codice tra \begin{listing} e \end{listing} per risolvere!
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.