- Questo topic ha 22 risposte, 4 partecipanti ed è stato aggiornato l'ultima volta 16 anni, 4 mesi fa da
egreg9.
-
CreatoreTopic
-
21 Aprile 2010 alle 18:31 #44560::
Ciao a tutti, la nuova bibliografia dell’Arte sarà (più o meno) così:http://www.lorenzopantieri.net/LaTeX_files/boh.pdf
Non mi convince molto il numero della rivista all’inizio di riga (si vedano l’opera di Cevolani e il mio articolo “L’arte di gestire la bibliografia con biblatex”).
Ivan, che ne dici di provare a mettere uno spazio insecabile dopo lil titolo della rivista? Per intenderci, proverei una cosa come
`\Ars,~8,`
anziché
`\Ars, 8,`
Che ne pensi?Ciao,
L.
-
CreatoreTopic
-
AutoreRisposte
-
-
21 Aprile 2010 alle 18:32 #44561
-
21 Aprile 2010 alle 18:35 #44562
-
21 Aprile 2010 alle 18:39 #44563
-
21 Aprile 2010 alle 18:49 #44564::
Ciao a tutti, la nuova bibliografia dell’Arte sarà (più o meno) così:
http://www.lorenzopantieri.net/LaTeX_files/boh.pdf
Non mi convince molto il numero della rivista all’inizio di riga (si vedano l’opera di Cevolani e il mio articolo “L’arte di gestire la bibliografia con biblatex”).
Ivan, che ne dici di provare a mettere uno spazio insecabile dopo lil titolo della rivista? Per intenderci, proverei una cosa come
`\Ars,~8,`
anziché
`\Ars, 8,`
Che ne pensi?Ciao,
L.Io sono totalmente inesperto di LaTeX però penso che tu abbia ragione. Aggiungo, oltre alla tua segnalazione, lo spazio bianco tra l’otto e l’url.
-
21 Aprile 2010 alle 19:13 #44565::
Io sono totalmente inesperto di LaTeX però penso che tu abbia ragione. Aggiungo, oltre alla tua segnalazione, lo spazio bianco tra l’otto e l’url.
Gli URL sono molto difficili da giustificare, però in effetti quello spazio bianco andrebbe via, se l’8 fosse non fosse ad inizio riga.
Ciao,
L:
-
21 Aprile 2010 alle 19:25 #44566::
Ciao a tutti, la nuova bibliografia dell’Arte sarà (più o meno) così:
http://www.lorenzopantieri.net/LaTeX_files/boh.pdf
Non mi convince molto il numero della rivista all’inizio di riga (si vedano l’opera di Cevolani e il mio articolo “L’arte di gestire la bibliografia con biblatex”).
Ivan, che ne dici di provare a mettere uno spazio insecabile dopo lil titolo della rivista? Per intenderci, proverei una cosa come
`\Ars,~8,`
anziché
`\Ars, 8,`
Che ne pensi?Ciao,
L.Non sono d’accordo. Perché ci dovrebbe essere lo spazio insecabile lì?
Con l’opzione volnumformat=volnumstrings c’è lo spazio insecabile in “vol.~5” e “n.~3”. Lì è meglio metterlo, anche se non lo vedo necessariamente indispensabile.
Metterlo dopo una virgola mi sembra proprio eccessivo. Inoltre se lo si mette lì ci sarebbero molti altri luoghi che a buon diritto lo richiederebbero.
Nessun dubbio su questo.
Il risultato della tua bibliografia è molto gratificante 🙂 Peccato per quei “Citato a pagina …”, ma, come direbbe un filosofo, sono ormai diventati una delle tue “cifre” 😉Io sono totalmente inesperto di LaTeX però penso che tu abbia ragione. Aggiungo, oltre alla tua segnalazione, lo spazio bianco tra l’otto e l’url.
Il problema di quello spazio dipende dall’url. Non c’è niente da fare. La soluzione secondo me è quella indicata qui:
http://www.guit.sssup.it/phpbb/viewtopic.php?t=6989&highlight=obeyspaces
Oppure si deve rinunciare alla spaziatura fissa; questa è la scelta di default fatta da Lehnam e modificata da me dopo un’ampia discussione.Ciao
Ivan
-
21 Aprile 2010 alle 19:36 #44567::
Non sono d’accordo. Perché ci dovrebbe essere lo spazio insecabile lì?
In astratto, sono d’accordo con te: non si vedono ragioni per mettere uno spazio insecabile dopo la virgola.
In pratica, però, guarda l’articolo di Cevolani e il mio articolosu biblatex.
a) Qui numeri “1” e “8” solitari ad inizio riga sono molto, molto, molto tristi.
b) Se i numeri fossero alla fine della riga precedente (come del resto nota anche ansys) l’URL verrebbe composto molto meglio. Guarda, per esempio, come è composto l’URL del mio articolo su ClassicThesis: il fatto che una parte venga allineata a sinistra non mi dà fastidio (è inevitabile, del resto). Quella voragine dopo l’”8″ nel mio articolo su biblatex, invece, è proprio terribile, orrenda. E forse si eviterebbe, inserendo lo spazio insecabile che ti dicevo.
Con l’opzione volnumformat=volnumstrings c’è lo spazio insecabile in “vol.~5” e “n.~3”. Lì è meglio metterlo, anche se non lo vedo necessariamente indispensabile.
Indispensabilissimo, in quei casi: non finirei mai una riga con “vol.” o “n.”.
Il risultato della tua bibliografia è molto gratificante 🙂 Peccato per quei “Citato a pagina …”, ma, come direbbe un filosofo, sono ormai diventati una delle tue “cifre” 😉
Non è detto che la versione finale sia proprio quella… 😉 Su “p.” e “pp.” devo ancora decidere!
Fammi sapere che decidi di fare. Io un tentativo (anche solo per vedere il risultato) lo farei…
Ciao,
L.
-
21 Aprile 2010 alle 20:01 #44568::
Ciao a tutti, la nuova bibliografia dell’Arte sarà (più o meno) così:
http://www.lorenzopantieri.net/LaTeX_files/boh.pdf
Non mi convince molto il numero della rivista all’inizio di riga (si vedano l’opera di Cevolani e il mio articolo “L’arte di gestire la bibliografia con biblatex”).
Ivan, che ne dici di provare a mettere uno spazio insecabile dopo lil titolo della rivista? Per intenderci, proverei una cosa come
`\Ars,~8,`
anziché
`\Ars, 8,`
Che ne pensi?Pensare che LaTeX possa risolvere da sé tutti i problemi di impaginazione è, come sai, vano. Vanitas vanitatum et omnia vanitas 🙂
Se poi aggiungi una giustezza ridotta rispetto a quella già non abbondante di ArsClassica, i problemi di giustificazione diventano insormontabili nel caso ci siano i temibili URI con 117 caratteri (la citazione del manuale di Ivan). Aumentare le costrizioni è sicura fonte di giustificazioni terribili. Uno stile fatto bene renderà minima la necessità di intervento manuale; purtroppo non lo si può evitare, se si desidera un risultato finale di ottima qualità. Ma almeno si sa dove andare a guardare perché, in generale, ci si può fidare di TeX nelle parti “normali”.
Ciao
Enrico
-
21 Aprile 2010 alle 20:09 #44569::
Pensare che LaTeX possa risolvere da sé tutti i problemi di impaginazione è, come sai, vano. Vanitas vanitatum et omnia vanitas 🙂
Se poi aggiungi una giustezza ridotta rispetto a quella già non abbondante di ArsClassica, i problemi di giustificazione diventano insormontabili nel caso ci siano i temibili URI con 117 caratteri (la citazione del manuale di Ivan). Aumentare le costrizioni è sicura fonte di giustificazioni terribili. Uno stile fatto bene renderà minima la necessità di intervento manuale; purtroppo non lo si può evitare, se si desidera un risultato finale di ottima qualità. Ma almeno si sa dove andare a guardare perché, in generale, ci si può fidare di TeX nelle parti “normali”.
Mi hai convinto, Enrico: aggiungere altri vincoli rischia di creare altri problemi di giustificazione. Però ora mi spieghi come modificare manualmente la mia bibliografia, per aggiungere lo spazio insecabile solo nelle (due) opere che mi danno problemi?
Concretamente, vorrei sapere come devo modifcare il .bbl
`\entry{cevolani:italiano}{article}{}
\name{author}{1}{%
{{Cevolani}{C.}%
{Gustavo}{G.}%
{}{}%
{}{}}%
}
\field{journaltitle}{\Ars}
\strng{namehash}{CG1}
\strng{fullhash}{CG1}
\field{labelyear}{2006}
\field{sortinit}{C}
\count{uniquename}{0}
\field{number}{1}
\field{title}{Norme tipografiche per l'italiano in \LaTeX}
\verb{url}
\verb http://www.guit.sssup.it/arstexnica/download_ars/arstexnica01.pdf
\endverb
\field{year}{2006}
\endentry`
in modo da avere lo spazio insecabile
`\Ars,~1`
lasciando invariato il resto.Garzie mille,
L.
-
21 Aprile 2010 alle 20:11 #44570::
Ciao a tutti, la nuova bibliografia dell’Arte sarà (più o meno) così:
http://www.lorenzopantieri.net/LaTeX_files/boh.pdf
Non mi convince molto il numero della rivista all’inizio di riga (si vedano l’opera di Cevolani e il mio articolo “L’arte di gestire la bibliografia con biblatex”).
Ivan, che ne dici di provare a mettere uno spazio insecabile dopo lil titolo della rivista? Per intenderci, proverei una cosa come
`\Ars,~8,`
anziché
`\Ars, 8,`
Che ne pensi?Pensare che LaTeX possa risolvere da sé tutti i problemi di impaginazione è, come sai, vano. Vanitas vanitatum et omnia vanitas 🙂
Se poi aggiungi una giustezza ridotta rispetto a quella già non abbondante di ArsClassica, i problemi di giustificazione diventano insormontabili nel caso ci siano i temibili URI con 117 caratteri (la citazione del manuale di Ivan). Aumentare le costrizioni è sicura fonte di giustificazioni terribili. Uno stile fatto bene renderà minima la necessità di intervento manuale; purtroppo non lo si può evitare, se si desidera un risultato finale di ottima qualità. Ma almeno si sa dove andare a guardare perché, in generale, ci si può fidare di TeX nelle parti “normali”.
Ciao
EnricoLetto, approvato e sottoscritto 😀
@ Lorenzo: il nome del file della doc è “biblatex-philosophy.pdf” (probabilmente è rimasto il -doc della precedente versione)
Ciao
Ivan
-
21 Aprile 2010 alle 20:14 #44571
-
21 Aprile 2010 alle 20:38 #44572
-
22 Aprile 2010 alle 12:51 #44573::
A mano. 8) Correggendo il bbl quando il testo è definitivo.
Certo. Potresti essere più specifico, Enrico? Diciamo che il mio .bbl è già definitivo. Mi dici come correggere il seguente:
`\entry{cevolani:italiano}{article}{}
\name{author}{1}{%
{{Cevolani}{C.}%
{Gustavo}{G.}%
{}{}%
{}{}}%
}
\field{journaltitle}{\Ars}
\strng{namehash}{CG1}
\strng{fullhash}{CG1}
\field{labelyear}{2006}
\field{sortinit}{C}
\count{uniquename}{0}
\field{number}{1}
\field{title}{Norme tipografiche per l'italiano in \LaTeX}
\verb{url}
\verb http://www.guit.sssup.it/arstexnica/download_ars/arstexnica01.pdf
\endverb
\field{year}{2006}
\endentry`
Grazie,
L.
-
22 Aprile 2010 alle 13:05 #44574::
A mano. 8) Correggendo il bbl quando il testo è definitivo.
Certo. Potresti essere più specifico, Enrico? Diciamo che il mio .bbl è già definitivo. Mi dici come correggere il seguente:
`\entry{cevolani:italiano}{article}{}
\name{author}{1}{%
{{Cevolani}{C.}%
{Gustavo}{G.}%
{}{}%
{}{}}%
}
\field{journaltitle}{\Ars}
\strng{namehash}{CG1}
\strng{fullhash}{CG1}
\field{labelyear}{2006}
\field{sortinit}{C}
\count{uniquename}{0}
\field{number}{1}
\field{title}{Norme tipografiche per l'italiano in \LaTeX}
\verb{url}
\verb http://www.guit.sssup.it/arstexnica/download_ars/arstexnica01.pdf
\endverb
\field{year}{2006}
\endentry`
Grazie,
L.Potresti provare, nel caso problematico del numero che va a capo, a scrivere
`\field{number}{\unskip~1}`
Ciao
Enrico
-
22 Aprile 2010 alle 13:56 #44575::
Potresti provare, nel caso problematico del numero che va a capo, a scrivere
`\field{number}{\unskip~1}`
Ciao
EnricoProvato ma non sembra funzionare 🙁
Con
`\field{number}{\hskip-1pt1}`
eventualmente aumentando lo spazio negativo, il numero dovrebbe tornare sopra.
Ma un giocare molto sporco perché potrebbe richiedere di giustificare manualmente l’intera riga.Ciao
Ivan
-
22 Aprile 2010 alle 16:00 #44576::
Potresti provare, nel caso problematico del numero che va a capo, a scrivere
`\field{number}{\unskip~1}`
Ciao
EnricoProvato ma non sembra funzionare 🙁
Con
`\field{number}{\hskip-1pt1}`
eventualmente aumentando lo spazio negativo, il numero dovrebbe tornare sopra.
Ma un giocare molto sporco perché potrebbe richiedere di giustificare manualmente l’intera riga.Ciao
IvanCi sono due spazietti con intercalata una penalità 10000 che non capisco da dove saltino fuori. Ma con “\unskip\unskip\unpenalty\unskip~” dovrebbe funzionare. Naturalmente uno si definisce una bella macro.
Come si fa a scoprirlo? Si scrive \showthe\lastnodetype e si scopre che il nodo precedente è “glue”; allora si aggiunge \unskip e si scopre che il nodo precedente è “glue”; di nuovo e il nodo precedente è “penalty”; con \unpenalty abbiamo un nodo “glue” e poi un nodo “char”. Finalmente!
In totale: glue per lo spazio tra parole; una penalità 10000 che sinceramente non so a che serva, poi uno spazio negativo di 0.00035pt e uno spazio positivo di 0.00035pt. ❓ Suppongo derivino dal codice di biblatex, quindi indagare dovrebbe essere complicato. 🙂
Ciao
Enrico
-
22 Aprile 2010 alle 17:41 #44577::
Ci sono due spazietti con intercalata una penalità 10000 che non capisco da dove saltino fuori.
Non ne ho la più pallida idea. Allora, il volume e il numero sono gestiti da questa macro:
`\newbibmacro*{volnumdefault}{%
\printfield{volume}%
\setunit*{\volnumpunct}%
\printfield{number}}`
Il comando \volnumpunct è definito così:
`\newcommand*{\volnumpunct}{\addcomma\space}`
Non dovrebbero essere qui gli spazi intrusi. Questa macro è richiamata all’interno di un’altra macro: journal+issuetitle, dove ci sono un paio di \ifdefstring{}{}{}{}…ma non credo sia nemmeno lì il problema.
L’altro comando eseguito dalla macro è \printfield. Credo sia definito nel file biblatex.sty così:
`\newrobustcmd*{\blx@imc@printfield}[2][]{%
\blx@imc@iffieldundef{#2}
{\blx@nounit}
{\blx@getformat\blx@theformat{ffd}{#1}{#2}%
\ifdefvoid\blx@theformat
{\blx@nounit}
{\blx@begunit
\def\currentfield{#2}%
\expandafter\expandafter
\expandafter\blx@theformat
\expandafter\expandafter
\expandafter{\csname abx@field@#2\endcsname}%
\blx@endunit}}}`Come si fa a scoprirlo? Si scrive \showthe\lastnodetype e si scopre che il nodo precedente è “glue”; allora si aggiunge \unskip e si scopre che il nodo precedente è “glue”; di nuovo e il nodo precedente è “penalty”; con \unpenalty abbiamo un nodo “glue” e poi un nodo “char”. Finalmente!
Non capisco dove mettere \showthe\lastnodetype 🙄
In totale: glue per lo spazio tra parole; una penalità 10000 che sinceramente non so a che serva, poi uno spazio negativo di 0.00035pt e uno spazio positivo di 0.00035pt. ❓ Suppongo derivino dal codice di biblatex, quindi indagare dovrebbe essere complicato. 🙂
Spero che dipendano da biblatex e non dai miei codici
Ciao
Ivan
-
22 Aprile 2010 alle 18:17 #44578::
Ci sono due spazietti con intercalata una penalità 10000 che non capisco da dove saltino fuori.
Non ne ho la più pallida idea. Allora, il volume e il numero sono gestiti da questa macro:
`\newbibmacro*{volnumdefault}{%
\printfield{volume}%
\setunit*{\volnumpunct}%
\printfield{number}}`
Il comando \volnumpunct è definito così:
`\newcommand*{\volnumpunct}{\addcomma\space}`
Non dovrebbero essere qui gli spazi intrusi. Questa macro è richiamata all’interno di un’altra macro: journal+issuetitle, dove ci sono un paio di \ifdefstring{}{}{}{}…ma non credo sia nemmeno lì il problema.
L’altro comando eseguito dalla macro è \printfield. Credo sia definito nel file biblatex.sty così:
`\newrobustcmd*{\blx@imc@printfield}[2][]{%
\blx@imc@iffieldundef{#2}
{\blx@nounit}
{\blx@getformat\blx@theformat{ffd}{#1}{#2}%
\ifdefvoid\blx@theformat
{\blx@nounit}
{\blx@begunit
\def\currentfield{#2}%
\expandafter\expandafter
\expandafter\blx@theformat
\expandafter\expandafter
\expandafter{\csname abx@field@#2\endcsname}%
\blx@endunit}}}`Come si fa a scoprirlo? Si scrive \showthe\lastnodetype e si scopre che il nodo precedente è “glue”; allora si aggiunge \unskip e si scopre che il nodo precedente è “glue”; di nuovo e il nodo precedente è “penalty”; con \unpenalty abbiamo un nodo “glue” e poi un nodo “char”. Finalmente!
Non capisco dove mettere \showthe\lastnodetype 🙄
In totale: glue per lo spazio tra parole; una penalità 10000 che sinceramente non so a che serva, poi uno spazio negativo di 0.00035pt e uno spazio positivo di 0.00035pt. ❓ Suppongo derivino dal codice di biblatex, quindi indagare dovrebbe essere complicato. 🙂
Spero che dipendano da biblatex e non dai miei codici
Non ci sono spazi spuri, se è questo che ti preoccupa; i due spazietti dopo la penalità si cancellano, ma sono comunque invisibili (0,00035 pt = 0.00012 mm).
Quanto a \showthe\lastnodetype, lo devi mettere davanti al numero della rivista:
`\field{number}{\showthe\lastnodetype1}`
per esempio, modificando il file .bbl. Durante la compilazione, TeX si ferma come per un errore e ti dice un numero. Il numero corrisponde a un tipo di nodo secondo la tabella
`-1: none (empty list)
0: char node
1: hlist node
2: vlist node
3: rule node
4: ins node
5: mark node
6: adjust node
7: ligature node
8: disc node
9: whatsit node
10: math node
11: glue node
12: kern node
13: penalty node
14: unset node
15: math mode nodes`
Puoi eliminare solo nodi kern (\unkern), penalty (\unpenalty) e glue (\unskip); con un trucco si possono eliminare anche i nodi hlist e vlist (che corrispondono a costruzioni come \hbox, \vbox, \box e \copy) dicendo
`{\setbox0=\lastbox}`
Ciao
Enrico
-
22 Aprile 2010 alle 20:01 #44579::
Una buona notizia e una cattiva.
La buona. I comandi che hai indicato si possono mettere anche nel file .bib:
`@article{Mori:2008,
Author = {Lapo F. Mori},
….
Number = {\unskip\unskip\unpenalty\unskip~6}}`
Questo semplifica il lavoro perché si possono eliminare i file ausiliari e ricompilare quante volte si vuole; in compenso il record potrebbe non andar bene in altri scritti. Poco male. Nel caso di Lorenzo, per esempio, è possibile creare due archivi bibliografici: uno normale e uno con i record “patologici”.
La cattiva. \showthe\lastnode nel file .bbl come da te indicato mi blocca la compilazione dicendo semplicemente “Undefined control sequence” 🙄Ciao
Ivan
-
22 Aprile 2010 alle 20:16 #44580::
Una buona notizia e una cattiva.
La buona. I comandi che hai indicato si possono mettere anche nel file .bib:
`@article{Mori:2008,
Author = {Lapo F. Mori},
….
Number = {\unskip\unskip\unpenalty\unskip~6}}`
Questo semplifica il lavoro perché si possono eliminare i file ausiliari e ricompilare quante volte si vuole; in compenso il record potrebbe non andar bene in altri scritti. Poco male. Nel caso di Lorenzo, per esempio, è possibile creare due archivi bibliografici: uno normale e uno con i record “patologici”.
La cattiva. \showthe\lastnode nel file .bbl come da te indicato mi blocca la compilazione dicendo semplicemente “Undefined control sequence” 🙄Ciao
Ivan\showthe\lastnodetype, uffa! 🙂 Correggo.
Ciao
Enrico
-
23 Aprile 2010 alle 5:54 #44581::
Ho provato il suggerimento di Ivan, e funziona:
`@article{cevolani:italiano,
author = {Cevolani, Gustavo},
title = {Norme tipografiche per l'italiano in \LaTeX},
journaltitle = {\Ars},
number = {\unskip\unskip\unpenalty\unskip~1},
year = {2006},
url = {http://www.guit.sssup.it/arstexnica/download_ars/arstexnica01.pdf}
}
`
Il risultato, così, è decisamente migliore.Grazie mille a Ivan ed Enrico,
L.
-
23 Aprile 2010 alle 8:47 #44582::
Ho provato il suggerimento di Ivan, e funziona:
`@article{cevolani:italiano,
author = {Cevolani, Gustavo},
title = {Norme tipografiche per l'italiano in \LaTeX},
journaltitle = {\Ars},
number = {\unskip\unskip\unpenalty\unskip~1},
year = {2006},
url = {http://www.guit.sssup.it/arstexnica/download_ars/arstexnica01.pdf}
}
`
Il risultato, così, è decisamente migliore.Grazie mille a Ivan ed Enrico,
L.Adesso potremmo provare ad automatizzare la faccenda:
`\newif\ifinserthardspace
\def\nobibbreak{\inserthardspacefalse\chasenodes\ifinserthardspace~\fi}
\def\chasenodes{%
\ifcase\lastnodetype
\or % 0: char node
\or % 1: hlist node
\or % 2: vlist node
\or % 3: rule node
\or % 4: ins node
\or % 5: mark node
\or % 6: adjust node
\or % 7: ligature node
\or % 8: disc node
\or % 9: whatsit node
\or % 10: math node
\expandafter\nobibunskip\or % 11: glue node
\expandafter\nobibunkern\or % 12: kern node
\expandafter\nobibunpenalty\or % 13: penalty node
\or % 14: unset node
% 15: math mode nodes
\fi
}
\def\nobibunskip{\unskip\inserthardspacetrue\chasenodes}
\def\nobibunkern{\unkern\inserthardspacetrue\chasenodes}
\def\nobibunpenalty{\unpenalty\chasenodes}`
Questo codice (che va nel preambolo del documento) definisce la macro \nobibbreak che va a caccia ricorsivamente dei nodi precedenti eliminando tutti quelli di tipo “glue”, “penalty” e “kern” e, se ne elimina uno, aggiunge uno spazio indivisibile (~). Quindi
`@article{cevolani:italiano,
author = {Cevolani, Gustavo},
title = {Norme tipografiche per l'italiano in \LaTeX},
journaltitle = {\Ars},
number = {\nobibbreak 1},
year = {2006},
url = {http://www.guit.sssup.it/arstexnica/download_ars/arstexnica01.pdf}
}`
dovrebbe funzionare. Hai voglia di provare?Ciao
Enrico
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.