- Questo topic ha 10 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 19 anni, 4 mesi fa da
lorenzo.pantieri.
-
CreatoreTopic
-
22 Aprile 2007 alle 21:55 #14216::
Ancora ciao… e ancora (una finezza su) Classicthesis… 😳Uso Classicthesis con il pacchetto minitoc. Vorrei che la scritta “Indice” di ciascun mini-indice venisse scritta in “spacedlowsmallcaps”, che è -almeno credo!- il “font” con cui vengono composte le testatine, i titoli delle sezioni, il nome dell’autore nel frontespizio, …
Ci sono quasi:
`\renewcommand{\mtifont}{\normalsize\scshape}`
produce un risultato molto vicino all’ariginale, senonché la “i” iniziale di “Indice” è più grande rispetto alle altre lettere della parola, e quindi il “carattere” non è lo spacedlowsmallcaps che vorrei. Neppure
`\renewcommand{\mtifont}{\normalsize\scshape\lsstyle }`
risolve.Uso Classicthesis con le opzioni:
`\documentclass[10pt,a4paper,twoside,openright,titlepage,fleqn,
cleardoubleempty,abstractoff,pointlessnumbers,
headinclude,footexclude,BCOR5mm]{scrreprt}\usepackage{classicthesis-ldpkg}
\usepackage[eulerchapternumbers,subfigure,beramono,eulermath]{classicthesis}\DeclareRobustCommand{\spacedallcaps}[1]{\MakeTextUppercase{\textls[170]{#1}}}
\DeclareRobustCommand{\spacedlowsmallcaps}[1]{\MakeTextLowercase{\scshape\textls[90]{#1}}}
`
con il file classicthesis.sty modificato in modo da eliminare tutta la parte relativa a soul (André mi ha “promesso” che la prossima versione dello stile conterrà questa modifica).Grazie mille,
Lorenzo
-
CreatoreTopic
-
AutoreRisposte
-
-
22 Aprile 2007 alle 22:05 #14217::
Ancora ciao… e ancora (una finezza su) Classicthesis… 😳
Uso Classicthesis con il pacchetto minitoc. Vorrei che la scritta “Indice” di ciascun mini-indice venisse scritta in “spacedlowsmallcaps”, che è -almeno credo!- il “font” con cui vengono composte le testatine, i titoli delle sezioni, il nome dell’autore nel frontespizio, …
Ci sono quasi:
`\renewcommand{\mtifont}{\normalsize\scshape}`
produce un risultato molto vicino all’ariginale, senonché la “i” iniziale di “Indice” è più grande rispetto alle altre lettere della parola, e quindi il “carattere” non è lo spacedlowsmallcaps che vorrei. Neppure
`\renewcommand{\mtifont}{\normalsize\scshape\lsstyle }`
risolve.Uso Classicthesis con le opzioni:
`\documentclass[10pt,a4paper,twoside,openright,titlepage,fleqn,
cleardoubleempty,abstractoff,pointlessnumbers,
headinclude,footexclude,BCOR5mm]{scrreprt}\usepackage{classicthesis-ldpkg}
\usepackage[eulerchapternumbers,subfigure,beramono,eulermath]{classicthesis}\DeclareRobustCommand{\spacedallcaps}[1]{\MakeTextUppercase{\textls[170]{#1}}}
\DeclareRobustCommand{\spacedlowsmallcaps}[1]{\MakeTextLowercase{\scshape\textls[90]{#1}}}
`
con il file classicthesis.sty modificato in modo da eliminare tutta la parte relativa a soul (André mi ha “promesso” che la prossima versione dello stile conterrà questa modifica).Se non gli chiedi di usare \spacedlowsmallcaps, come fa a sapere che lo vuoi?
Credo che il modo migliore sia di dirgli
`\def\ptctitle{indice}
\def\mtctitle{indice}
\def\stctitle{indice}`
dopo aver caricato minitoc e di usare la seconda definizione (con \lsstyle). In questo modo l’iniziale è minuscola.Ciao
Enrico
-
22 Aprile 2007 alle 22:30 #14218::
Se non gli chiedi di usare \spacedlowsmallcaps, come fa a sapere che lo vuoi?
Credo che il modo migliore sia di dirgli
`\def\ptctitle{indice}
\def\mtctitle{indice}
\def\stctitle{indice}`
dopo aver caricato minitoc e di usare la seconda definizione (con \lsstyle). In questo modo l’iniziale è minuscola.Grazie Enrico, funziona! Avevo provato in tanti modi a usare il comando \spacedlowsmallcaps, ma non sono risucito a “dirlo a LaTeX in modo corretto”.
Da quello che capisco, il comando \scshape seleziona il maiscoletto, \lsstyle produce la spaziatura e l’inziale minuscola viene ottenuta ridefinendo ad hoc la “i”.
Mi resta una curiosità. In Classicthesis ci sono tantissime scritte in spacedlowsmallcaps. Oltre ai casi che dicevo, se scrivo un articolo le voci “Indice” e “Riferimenti bibliografici” sono già in spacedlowsmallcaps, senza bisogno di fare alcun aggiustamento “manuale”. Evidentemente, ci sarà una parte del codice che dice: “metti tutte le scritte in spacedlowsmallcaps”. Io però non l’ho trovata”. 😳 Ecco, sarebbe forse più elegante dire “metti anche la voce Indice dei mini-Indici nell’elenco delle cose da mettere in spacedlowsmallcaps”!
Ad ogni modo, la tua soluzione funziona benissimo!
Ciao e grazie,
L.
-
22 Aprile 2007 alle 22:40 #14219::
Grazie Enrico, funziona! Avevo provato in tanti modi a usare il comando \spacedlowsmallcaps, ma non sono risucito a “dirlo a LaTeX in modo corretto”.
Da quello che capisco, il comando \scshape seleziona il maiscoletto, \lsstyle produce la spaziatura e l’inziale minuscola viene ottenuta ridefinendo ad hoc la “i”.
Mi resta una curiosità. In Classicthesis ci sono tantissime scritte in spacedlowsmallcaps. Oltre ai casi che dicevo, se scrivo un articolo le voci “Indice” e “Riferimenti bibliografici” sono già in spacedlowsmallcaps, senza bisogno di fare alcun aggiustamento “manuale”. Evidentemente, ci sarà una parte del codice che dice: “metti tutte le scritte in spacedlowsmallcaps”. Io però non l’ho trovata”. 😳 Ecco, sarebbe forse più elegante dire “metti anche la voce Indice dei mini-Indici nell’elenco delle cose da mettere in spacedlowsmallcaps”!
Ad ogni modo, la tua soluzione funziona benissimo!
Dubito che si riesca a far digerire a minitoc qualcosa di diverso, è un pacchetto molto complesso.
La tua curiosità è presto soddisfatta: guarda classicthesis.sty.
Alle righe 200-209 definisce i comandi per i titoli di capitolo e sezione; alla riga 211 il comando per le etichette di description; alle 228-229 quelli per le testatine. Alle righe 318-336 fa qualche trucchetto per l’indice.
Il problema è che \spacedlowsmallcaps non è un dichiarazione, ma un comando con argomento. Questo ne limita le possibilità di uso.
Ciao
Enrico
-
23 Aprile 2007 alle 7:40 #14220
-
8 Maggio 2007 alle 8:04 #14221::
Il problema è che \spacedlowsmallcaps non è una dichiarazione, ma un comando con argomento. Questo ne limita le possibilità di uso.
Riprendo questo topic perché, nella mia esperienza d’uso, mi sono accorto che sarebbe molto utile una dichiarazione che faccia lo stesso servizio di \spacedlowsmallcaps, che come osserva Enrico è un comando con argomento. Finora ho usato \lsstyle insieme con il trucco di mettere manualmente la voce in minuscolo. Davvero non c’è altro modo?
Grazie mille,
L.
-
8 Maggio 2007 alle 11:04 #14222::
Il problema è che \spacedlowsmallcaps non è una dichiarazione, ma un comando con argomento. Questo ne limita le possibilità di uso.
Riprendo questo topic perché, nella mia esperienza d’uso, mi sono accorto che sarebbe molto utile una dichiarazione che faccia lo stesso servizio di \spacedlowsmallcaps, che come osserva Enrico è un comando con argomento. Finora ho usato \lsstyle insieme con il trucco di mettere manualmente la voce in minuscolo. Davvero non c’è altro modo?
Temo proprio di no, finché non ci sarà un font “tutto minuscolo” e uno “tutto maiuscolo” o un modo meno “barbaro” di convertire da maiuscolo a minuscolo e viceversa. Si può fare con XeTeX e certi font otf. Ma allora ti scordi di comporre matematica. 🙁
Ciao
Enrico
-
10 Maggio 2007 alle 6:47 #14223::
Temo proprio di no, finché non ci sarà un font “tutto minuscolo” e uno “tutto maiuscolo” o un modo meno “barbaro” di convertire da maiuscolo a minuscolo e viceversa. Si può fare con XeTeX e certi font otf. Ma allora ti scordi di comporre matematica. 🙁
Grazie mille Enrico, sei chiarissimo e risolutivo come sempre!
Scusami se continuo questa discussione sul comando \spacedlowsmallcaps. Ho creato con makebst uno stile bibliografico personalizzato che, fra l’altro, pone il nome degli autori in maiuscoletto. Per omogeneità con il resto del documento, vorrei trasformare questo maiuscoletto in spacedlowsmallcaps. Ho aperto il file .bst, ho cercato “sc” e ho visto che l’unico punto in cui si menziona il maiuscoletto è questo:
`FUNCTION {scaps}
{ duplicate$ empty$
{ pop$ “” }
{ “\textsc{” swap$ * “}” * }
if$
}
`
Ho semplicemente rimpiazzato queste righe con
`FUNCTION {scaps}
{ duplicate$ empty$
{ pop$ “” }
{ “\spacedlowsmallcaps{” swap$ * “}” * }
if$
}
`
ma evidentemente io e LaTeX ragioniamo in maniera diversa:
`[67]) [68] (./FrontBackmatter/Bibliografia.tex (./Distribuzioni.bbl
(./Distribuzioni.brf)
! Undefined control sequence.
arbogast, l.z
f.
l.17?
`
Questo errore con il vecchio stile bibliografico non veniva generato. Se procedo con la compilazione la bibliografia viene generata, ma è tutta “pasticciata”, con i titoli delle opere e le case editrici a volte in maiuscoletto a volte no. 😯Ho anche provato a sostituire manualmente \spacedlowsmallcaps nel file .bbl al posto dei vari \textsc, ma si presenta lo stesso problema.
C’è modo di risolvere la cosa?
Ciao e grazie ancora,
Lorenzo
-
10 Maggio 2007 alle 7:29 #14224::
Scusami se continuo questa discussione sul comando \spacedlowsmallcaps. Ho creato con makebst uno stile bibliografico personalizzato che, fra l’altro, pone il nome degli autori in maiuscoletto. Per omogeneità con il resto del documento, vorrei trasformare questo maiuscoletto in spacedlowsmallcaps. Ho aperto il file .bst, ho cercato “sc” e ho visto che l’unico punto in cui si menziona il maiuscoletto è questo:
`FUNCTION {scaps}
{ duplicate$ empty$
{ pop$ “” }
{ “\textsc{” swap$ * “}” * }
if$
}`
Ho semplicemente rimpiazzato queste righe con
`FUNCTION {scaps}
{ duplicate$ empty$
{ pop$ “” }
{ “\spacedlowsmallcaps{” swap$ * “}” * }
if$
}`
ma evidentemente io e LaTeX ragioniamo in maniera diversa:
`[67]) [68] (./FrontBackmatter/Bibliografia.tex (./Distribuzioni.bbl
(./Distribuzioni.brf)
! Undefined control sequence.
arbogast, l.z
f.
l.17?`
Questo errore con il vecchio stile bibliografico non veniva generato. Se procedo con la compilazione la bibliografia viene generata, ma è tutta “pasticciata”, con i titoli delle opere e le case editrici a volte in maiuscoletto a volte no. 😯Ho anche provato a sostituire manualmente \spacedlowsmallcaps nel file .bbl al posto dei vari \textsc, ma si presenta lo stesso problema.
C’è modo di risolvere la cosa?
Mi pare bizzarro quel messaggio di errore: induce a pensare che “z” sia un carattere attivo e non capisco dove lo sia diventato. Difficile fare una diagnosi a distanza senza vedere il contesto.
Prova a rispondere a quel messaggio di errore con
`i\showthe\catcode`\z`
Ti dovrebbe rispondere con un numero, non necessariamente subito.Ciao
Enrico
-
10 Maggio 2007 alle 8:07 #14225::
Ciao Enrico, questo è un documento minimale che riproduce il problema:
`\documentclass{scrreprt}
\usepackage{classicthesis-ldpkg}
\usepackage[eulerchapternumbers,subfigure,beramono,eulermath]{classicthesis}
\begin{document}
\bibliographystyle{classic}
\bibliography{/Users/Lorenzo/Documents/Documenti_LaTeX/mat}
\nocite{bell:matematici}
\end{document}
`
dove
`
@BOOK{bell:matematici,
AUTHOR = {E.~T.~Bell},
TITLE = {I grandi matematici},
PUBLISHER = {Sansoni},
YEAR = {1988, ed.~or.~1937},
ADDRESS = {Firenze}
}
`
La cosa strana è che la voce del file bbl è
`\bibitem[{Bell(1937)}]{bell:matematici}
\spacedlowsmallcaps{Bell, E.~T.} (1988, ed.~or.~1937), \emph{I grandi
matematici}, Sansoni, Firenze.
`
che mi pare perfetta, eppure nel pdf finale “Sansoni” e “Firenze” sono in small caps (neanche in spacedlowsmallcaps)! 😯 😥La risposta del compilatore al codice che mi hai scritto è
`! Undefined control sequence.
bell, e.z
t.
l.15? i\showthe\catcode`\z
> 11.
t
l.15?
)
`
Ti invio anche un paio di warning nel log:
`pdfTeX warning (font expansion): font should be expanded before its first use
Package microtype Info: Character `029' is missing in font
(microtype) `T1/pplj/m/sc/10'. Ignoring protrusion settings
(microtype) for this character.pdfTeX warning (font expansion): font should be expanded before its first use
! Undefined control sequence.
bell, e.z
t.
l.15?
)
`
Grazie,
L.
-
10 Maggio 2007 alle 9:29 #14226::
Mi è venuta un’idea. Deve essere il comando \spacedlowsmallcaps che “non sta capito”! Ho provato ad aggiungere manualmente un paio di parentesi graffe
`{\spacedlowsmallcaps{Bell, E.~T.}}`
e adesso il pdf è corretto, anche se ricevo sempre quell’errore (non fatale) in compilazione.Questo comando \spacedlowsmallcaps si comporta un po’ come una dichiarazione, un po’ come un comando con argomento…
Mah!
Ricordo che ho ridefinito i comandi in questo modo:
`\DeclareRobustCommand{\spacedallcaps}[1]{\MakeTextUppercase{\textls[170]{#1}}}
\DeclareRobustCommand{\spacedlowsmallcaps}[1]{\MakeTextLowercase{\scshape\textls[90]{#1}}}`
L.
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.