Risposte nei forum create
-
AutoreRisposte
-
::
Pensionato (penso di essere unico!!!)
In precedenza dirigente in una società industriale con una passione quasi quarantennale per l’informatica.
Ho iniziato su un mainframe (Sperry Univac) e ho imparato da autodidatta il Fortran, il Basic, l’Assembler
e il C più vari sistemi operativi e programmi applicativi.
Avevo sentito parlare di Latex da alcuni anni, ma solo da un paio ho iniziato ad utilizzarlo per quello
che ho occasione di scrivere (l’avessi avuto quando 15 anni fa’ ho trascritto la tesi per mia moglie!)
Domizio
::E lo sconcerto è grande! 🙂
Cos’ho infilato che non va??Non so cosa dirti, a me funziona tutto senza problemi.
Controlla di aver eliminato le correzioni che avevamo fatto in precedenza e controlla
anche il tuo file sorgente, forse è rimasta qualcosa delle prove fatte.Se non trovi soluzione, fammi avere la tua email e ti invio i miei file.
Domizio
::Ottimo!
C’è solo un’ultima cosa, poi direi che la “revisione” del pacchetto
si può considerare ultimata. Avrai notato che le tracce (nella fattispecie
l’indicazione della durata) sono allineate a destra con la fine del testo
(ad esempio i titoli o la linea in basso). A sinistra invece
i piccoli box con il numero delle tracce “sporgono” a sinistra, per cui
la distribuzione globale dello spazio è asimmetrica. In altre parole,
c’è meno spazio a sinistra fra la banda laterale e i piccolli box e più spazio
a destra fra la fine riga delle tracce e la banda laterale. È necessario
metter mano alla selva di numerini dei molti \put per ottenere
una collocazione simmetrica della “scatola” con le tracce
rispetto all’asse centrale della copertina?Se provi a stamparla su carta e a misurare le distanze con un righello, Ti puoi rendere conto
che la differenza è più apparente che reale: in effetti è solo di 1 mm.
Comunque volendola aggiustare é sufficiente cambiare lo 0 in 1 nel \put alla riga 412
` \put(1,13){%`
In questo modo gli spazi a destra e sinistra sono identici.Riflettendo poi sulla modifica per spaziare le scritte rispetto al margine sono giunto
alla conclusione che quello che abbiamo fatto non sia la cosa migliore (anche se funziona).
La modifica è predisposta solo sulla banda colorata sinistra e agisce anche su quella destra
perché non avendo definito nessun comando specifico per questa vengono duplicate a destra
le definizioni di sinistra.
Se ora volessimo dare una diversa definizione alle scritte di destra con i comandi \leftspinebis,
\centerspinebis e \rightspinebis troviamo che le spaziature rispetto ai margini non sono corrette.
Se proviamo a duplicare le modifiche fatte per la sinistra (righe 96-98 ) anche per la destra (righe 99-101)
la cosa funziona, ma se poi eliminiamo la definizione delle scritte di destra le spaziature risultano raddoppiate!
A questo punto la cosa migliore è annullare le modifiche che avevamo fatto alle righe 96-98 e impostare
alcune nuove modifiche nelle righe a partire dalla 338
` \put(0,4){\colorbox{\spinec@lor}{%
\makebox(4,110){%
\makebox[\@hstrip][r]{%
\begin{rotate}{90}\hspace{3mm}\spinef@nt\leftspin@\end{rotate}%
}%
}%
}}\@sethwstrips{\centerspin@}
\put(0,4){%
\makebox(6.5,110){%
\raisebox{0pt}[\@wstrip]{\makebox[\@hstrip][r]{%
\begin{rotate}{90}\spinef@nt\centerspin@\end{rotate}%
}}%
}%
}\@sethwstrips{\rightspin@}
\put(0,4){%
\makebox(6.5,107)[t]{%
\raisebox{0pt}[\@wstrip]{\makebox[\@hstrip][r]{%
\begin{rotate}{90}\spinef@nt\rightspin@\end{rotate}%
}}%
}%
}\@sethwstrips{\leftspin@bis}
\put(144.5,4){\colorbox{\spinec@lor}{%
\makebox(4,110)[t]{%
\makebox[\@hstrip][l]{%
\begin{rotate}{-90}\hspace{3mm}\spinef@nt\leftspin@bis\end{rotate}%
}%
}%
}}\@sethwstrips{\centerspin@bis}
\put(144.5,4){%
\makebox(6.5,110){%
\raisebox{\@wstrip}[\@wstrip]{\makebox[\@hstrip][l]{%
\begin{rotate}{-90}\spinef@nt\centerspin@bis\end{rotate}%
}}%
}%
}\@sethwstrips{\rightspin@bis}
\put(144.5,7){%
\makebox(6.5,110){%
\raisebox{\@wstrip}[\@wstrip]{\makebox[\@hstrip][l]{%
\begin{rotate}{-90}\spinef@nt\rightspin@bis\end{rotate}%
}}%
}%
}
`
Nota bene: sono 4 modifiche!
Con questo dovremmo avere concluso. 😀
Ciao, Domizio
::Ulteriore piccola modifica: nelle bande il testo di \leftspine e \rightspine
è a mio avviso troppo “attaccato” al margine. Devo modificare
le impostazioni numeriche di \put?No. Le impostazioni numeriche di \put definiscono la posizione dell’angolo
inferiore sinistro del box colorato (la prima in orizzontale e la seconda in verticale),
mentre quelle del \makebox definiscono la dimensione del box colorato.
Per spaziare un po’ le scritte rispetto al margine è sufficiente aggiungere uno spazio
vuoto nella loro definizione (prima e/o dopo)
`\leftspine{\sffamily \ ALKAN: ORGAN WORKS — Vol. 1 – \textbf Violinsonaten}
\centerspine{}
\rightspine{\sffamily Bowyer\ }`
oppure se vuoi definirlo con maggiore precisione puoi sostituire lo spazio con il comando \hspace{}
`\leftspine{\sffamily \hspace{3mm}ALKAN: ORGAN WORKS — Vol. 1 – \textbf Violinsonaten}
\centerspine{}
\rightspine{\sffamily Bowyer\hspace{3mm}}`Sei troppo esperto per essere un “Domizio” qualsiasi…. 🙂
“Domizio” è evidentemente un nickname (da Lucio Domizio Enobarbo, lo conosci? 🙂 ),
ma non sono assolutamente un esperto; sono uno che ha usato wordprocessor per 3 decenni
(Word, Wordstar, Easyscript e DOC un software infame per i mainframe della Sperry Univac)
e che da qualche anno ha con piacere scoperto LaTeX.
Lo uso quando mi serve scrivere qualcosa (per me o per amici) e ad ogni nuova necessità/difficoltà
cerco la soluzione più opportuna consultando i manuali e quanto scrivono i Veri Esperti
nei Forum e/o newsgroup per cercare la soluzione più soddisfacente.
Non avendo problemi di produttività (sono in pensione 😀 ) posso gestire il mio tempo come voglio
e ogni volta imparo qualcosa di nuovo (anche questa volta).Domizio
::Alla r. 191
` \spinefont{\fhb{9}{11}\bfseries\textcolor{white}}%`Bene, ho fatto qualche prova modificando il file cd.cls, vedi se la cosa può aiutare.
Modifica la medesima riga (per me è la 192 perchè ho aggiunto la riga con il \RequirePackage) con
`\spinefont{\fhb{9}{11}\bfseries\textcolor{\spinefontc@lor}}%
`
e subito prima inserisci `\spinecolor{white}{black}`
Poi modifica le due righe dove hai inserito il comando \colorbox con
`\colorbox{\spinec@lor}`
Infine aggiungi dopo la riga 82
`\DeclareRobustCommand*\spinecolor[2]{\def\spinec@lor{#1}\def\spinefontc@lor{#2}}
`
A questo punto senza più toccare il file cd.cls si possono modificare i colori inserendo nel tuo file TeX (dopo \begin{documento}) il comando
`\spinecolor{red}{white}`
dove il primo colore è quello del box e il secondo quello del font.
Ciao, Domizio
::La cosa interessante sarebbe che l’autore
del pacchetto inserisse queste opzioni,
ma vedo che non lo modifica dal 2007…La correzione proposta è la cosa più semplice che potevo escogitare, ma ha lo svantaggio di dover mettere mano al pacchetto ogni volta che si vuol cambiare colore.
Sarebbe opportuno poter definire i colori come un parametro da passare di volta in volta al pacchetto.
Al momento le mie scarse conoscenze di LaTeX non mi consentono di dare una soluzione più corretta (non sono nemmeno sicuro che la soluzione che ho proposto sia la migliore. 🙁 )
Se avrò tempo voglio studiare un po’ la soluzione (tutto serve per crescere, anche a 63 anni)Domizio
::Ho ripreso i file .cls. Se non sbalgio (il che è assai probabile)
le righe di codice che definiscono le bande laterali della copertina sono:
` \@sethwstrips{\leftspin@}\put(0,4){%
\makebox(6.5,110){%
\makebox[\@hstrip][r]{%
\begin{rotate}{90}\spinef@nt\leftspin@\end{rotate}%
}%
}%
}\@sethwstrips{\centerspin@}
\put(0,4){%
\makebox(6.5,110){%
\raisebox{0pt}[\@wstrip]{\makebox[\@hstrip][r]{%
\begin{rotate}{90}\spinef@nt\centerspin@\end{rotate}%
}}%
}%
}\@sethwstrips{\rightspin@}
\put(0,4){%
\makebox(6.5,110)[t]{%
\raisebox{0pt}[\@wstrip]{\makebox[\@hstrip][r]{%
\begin{rotate}{90}\spinef@nt\rightspin@\end{rotate}%
}}%
}%
}`
Ora, queste box possono essere colorate?M.
Scusa la mia assenza, ma ho avuto impegni.
Si le righe che mostri sono quelle delle bande laterali, ma solo per il lato sinistro; per il lato destro sono le righe successive, strettamente simili.
Per avere il colore sulle bande laterali bisogna fare qualche altra modifica al file cd.cls
In particolare alle righe 335-341 modificare:
`
\put(0,4){\fcolorbox{red}{yellow}{%
\makebox(6.5,110){%
\makebox[\@hstrip][r]{%
\begin{rotate}{90}\spinef@nt\leftspin@\end{rotate}%
}%
}%
}}
`
Analogamente alle righe 365-371
`
\put(0,4){\fcolorbox{red}{yellow}{%
\makebox(6.5,110){%
\makebox[\@hstrip][r]{%
\begin{rotate}{90}\spinef@nt\leftspin@\end{rotate}%
}%
}%
}}
`
Inoltre dopo la riga 72 inserisci questa nuova riga:
`\RequirePackage{color}`
Questo pacchetto definisce i nomi dei colori: black, white, red, green, blue, cyan, magenta e yellow.
il primo parametro del comando \fcolorbox è il colore del bordo, mentre il secondo è il colore di fondo.
Se non vuoi il bordo puoi sostituire il comando \fcolorbox con \colorbox seguito da un solo colore.
Se la dimensione del box colorato non ti soddisfa (mi sembra un po’ largo) puoi aggiustarlo modificando leggermente i parametri del \makebox seguente o del \put che precede (fai qualche prova).
Nel tuo esempio di codice ho visto che hai eliminato il comando \centerspine perchè (credo) la parola “Violinsonaten” si sovrapponeva alla prima parte di testo.
Questo problema puoi risolverlo scrivendo:
`\leftspine{\sffamily ALKAN: ORGAN WORKS — Vol. 1 – \textbf Violinsonaten}
\centerspine{}
\rightspine{\sffamily Bowyer}
`
Fammi sapere l’esito delle tue prove, mi piacerebbe utilizzare questo pacchetto in alcune occasioni.Ciao, Domizio
::Non capisco, eppure immagini ne ho inserite parecchie altrove.
Probabilmente mi sto perdendo in un bicchiere d’acqua…
Ma non funzionano né
`\covergraphics{faure.jpg}`
con o senza estensione – dove il file in questione
è nella stessa directory del file .tex, né,
avendo spostato il file in una subdirectory,
`\covergraphics{pics/faure.jpg}`
Nel file di log non trovo riferimento a file non trovati…
[/code]Non è un problema di directory o di nome del file.
\covergraphics è un comando piuttosto stupido, non carica nessuna immagine, ma é quasi esattamente uguale a \covertext: devi dirgli tu nell’argomento cosa deve fare.
Prova ad esempio ad inserire questo codice dopo aver cancellato l’esistente comando \covertext;
`
\backtext{
Ludwig van Beethoven\\
\bfseries Violin Sonaten
}\covergraphics{
\centering
\includegraphics[width=10cm]{faure}\medskip
Ludwig van Beethoven\\
\bfseries Violin Sonaten
}
`
E necessario includere \backtext perché normalmnte il testo della copertina posteriore é posto uguale al testo definito con \covertext,
ma ora questo comando non viene dato perciò è necessario inserire \backtext.
Prova a variare l’argomento di \covergraphics per ottenere l’aspetto che preferisci.
E’ definita anche l’opzione della classe “covergraphics”, ma non mi sembra che abbia altro effetto che forzare l’opzione “alignbacktop”,
cosa della quale non vedo alcuna utilità.
Forse c’è qualche errore.Domizio
::Nessun suggerimento?
Guardate che torno a OpenOffice!
Anzi a MS Word 😈
M.Non sia mai!
Non sono esperto di LaTeX, ma ogni occasione è buona per imparare qualcosa in più (avendo tempo a disposizione).
Non conoscevo il pacchetto CD e il tuo messaggio mi ha spinto a informarmi (potrebbe interessare anche me).Perché non funziona \bigskip?
Leggendo il codice si vede che la copertina posteriore è realizzata con tre diversi box:
– quello in altro per il titolo del CD con tre diversi allineamenti verticali (basso di default e gli altri definiti dalle opzioni alignbacktop e alignbakcenter)
– quello al centro per l’elenco delle tracce (in realtà due box sinistro e destro)
– quello in basso per le informazioni aggiuntive (anche questo due box sinistro e destro)Quest’ultimo box, come scritto nel manuale, è bottom-aligned, quindi il testo introdotto viene sistemato nella parte inferiore del box; se in questo testo si inserisce un comando \bigskip, questo non sposta il basso le righe seguenti, ma sposta in altro le righe precedenti e se siamo all’inizio del testo non fa proprio niente. Nel tuo caso addirittura risulta fuori dai box quindi andrebbe ad agire all’inizio del testo, sulla copertina anteriore.
Per convincerti di ciò fai una prova: fallo seguire immediatamente (prima del comando \leftinfo) da un qualsiasi testo e guarda dove questo viene stampato.Detto questo come risolvere il tuo problema?
La soluzione più semplice e indolore è quella di mettere i nomi degli esecutori sulla medesima riga; ad esempio “Henryk Szering – Wilhelm Kempff”Se questa soluzione non ti aggrada, l’unica altra possibilità è quella di spostare in alto il box centrale (quello delle tracce) ma questo può essere fatto solo modificando il file cd.cls contenuto nella tua distribuzione (non so dirti esattamente dove perché io uso MikTeX sotto Windows, mentre credo di aver capito che usi Linux).
Le modifiche da fare sono poche e sono indicate in rosso nel codiice seguente:
`
\put(17,0){%
\begin{picture}(121,118)
\put(0,90){%
\makebox(120,22)[\@lignback]{%
\parbox{12.1cm}{%
\raggedright\backf@nt
\ifx\b@cktext\undefined
\ifx\c@vergraphics\@empty\else\c@vertext\fi
\else
\b@cktext
\fi
\alignt@baseline
}%
}%
}\put(0,13){%
\makebox(55,70)[tl]{%
\begin{minipage}{\wtr@cklist}%
\lineskip=.5pt\lineskiplimit=1pt\raggedright
\tracklistf@nt\lefttr@cklist
\end{minipage}%
}%
}\put(65,13){%
\makebox(55,70)[tl]{%
\begin{minipage}{\wtr@cklist}%
\lineskip=.5pt\lineskiplimit=1pt\raggedright
\tracklistf@nt\righttr@cklist
\end{minipage}%
}%
}
`
La parte di codice é quella della definizione del comando \makeback a partire dalla riga 393.
Nota che oltre a spostare in alto il box centrale si deve corrispondentemente spostare in alto il margine inferiore del box superiore altrimenti collidevano.Spero che questo ti aiuti e che non mi attiri gli anatemi dei maggiori esperti. 🙂
Domizio
-
AutoreRisposte