- Questo topic ha 12 risposte, 6 partecipanti ed è stato aggiornato l'ultima volta 20 anni, 6 mesi fa da
lorenzo.pantieri.
-
CreatoreTopic
-
8 Marzo 2006 alle 11:20 #8407::
Devo inserire nel mio documento il testo TASC-INFM e vorrei evitare che venga spezzato a fine riga.Purtroppo con il comando \hyphenation{TASC-INFM} sembra quasi che stia suggerendo di proposito a Latex di spezzare la parola tra TASC e INFM, che ironicamente è l’opposto delle mie intenzioni… 🙂
come posso fare?
grazie
LuCa
-
CreatoreTopic
-
AutoreRisposte
-
-
8 Marzo 2006 alle 11:53 #8408::
Ciao Luca.Su due piedi, protresti inserire la parola che non vuoi spezzare in una scatola:
`\hbox{TASC-INFM} `
In teoria dovrebbe bastare.Nota che, se tu non avessi avuto bisogno del trattino, avrebbe potuto bastarti una tilde (che legava le parole con uno spazio bianco e impediva loro, per quanto possibile, di essere stampate su due righe differenti). In questo caso, inoltre, non ci sarebbe stato bisogno di ricorrere alla scatola, che forse potrebbe essere considerato un trucco non proprio pulitissimo…
-
8 Marzo 2006 alle 13:06 #8409::
`\hbox{TASC-INFM} `
E, già che ci siamo, se ti è pesante scrivere \hbox{TASC-INFM} ogni volta che ti serve, potresti definire nel preambolo il comando:
`\newcommand{\TASCINFM}{\hbox{TASC-INFM}}`
così ti sarebbe sufficiente scrivere, ogni volta che ti occorre, solo \TASCINFM e non \hbox{TASC-INFM}. Siamo arrivati alla stessa lunghezza nella digitazione, così… 😉
-
8 Marzo 2006 alle 13:32 #8410::
Si certo, sono soluzione che avevo già immaginato. Ma di solito cerco di risolvere i problemi apportando modifiche al solo preambolo senza dover intervenire sul documento già scritto.
In questo caso, per coerenza, dovrei sostituire il termine con il comando ovunque nel documento, anche dove non và a capo.Comunque le tue proposte funzionano, grazie dell’interessamento.
Luca
-
8 Marzo 2006 alle 14:40 #8411::
di solito cerco di risolvere i problemi apportando modifiche al solo preambolo senza dover intervenire sul documento già scritto.
Questo è giusto, ma mi sa che in questo caso non puoi farci niente. Ti riporto un esempio che talvolta compare anche nelle guide base di LaTeX (per esempio, su Una (mica tanto) breve introduzione a LaTeX2e, a pag. 26 (42)): se tu devi scrivere un documento, e in questo documento ti dicono espressamente che nella stringa “Ing. Bianchi” le parole “Ing.” e “Bianchi” non devono essere separate in nessun punto del documento, tu sei comunque costretto (se vuoi rispettare la consegna) a piazzare una tilde tra “Ing.” e “Bianchi” all’interno del tuo documento per ogni occorrenza di questa stringa, semplicemente perché non sai in che punto della riga essa andrà a finire. Anzi, se vedi proprio che tale stringa oggi casca a metà riga, non puoi comunque desumere alcun posizionamento assoluto della stessa, dal momento che tra un mese potrebbe insorgere la necessità di modificare quel testo, e la stringa che prima cadeva a metà ora viene spezzata…
Nel dubbio, non hai altra scelta che inserire la tilde in tutte queste occorrenze, anche per quelle che, potenzialmente, potrebbero non averne mai bisogno.
Almeno secondo me, quindi, il fatto di dover modificare tutte le occorrenze di “TASC-INFM” (in “\TASCINFM”) non è più grave di doverlo fare per tutte quelle di “ing. Bianchi” (in “ing.~Bianchi”); il vero problema è se la soluzione della scatola è pulita o no… 🙂
Comunque, ho trovato un’altra fonte che, più o meno, corrobora la mia tesi.
Comunque le tue proposte funzionano, grazie dell’interessamento.
Grazie a te! A presto! 🙂
-
10 Marzo 2006 alle 20:05 #8412::
Potresti definire nel preambolo il comando:
`\newcommand{\TASCINFM}{\hbox{TASC-INFM}}`
così ti sarebbe sufficiente scrivere, ogni volta che ti occorre, solo
`\TASCINFM`
Siamo arrivati alla stessa lunghezza nella digitazione, così…Penso che nel sorgente si debba poi scrivere
`
\TASCINFM{}
`
per avere la spazio dopo il comando.Quanto a
`
Ing.~Bianchi
`
meglio scriverlo sempre così, per evitare che LaTeX inserisca uno spazio maggiore fra “Ing.” e “Bianchi”, interpretendo il punto come punto fermo.Lorenzo
-
11 Marzo 2006 alle 12:48 #8413
-
12 Marzo 2006 alle 11:27 #8414::
`\TASCINFM\
`. Ciao Emiliano. E’ proprio la stessa cosa? Mi sembra di aver letto su Impara LaTeX che
`
\
`
sia uno spazio a dimensione fissa. Sempre su Impara LaTeX mi pare sia scritto che
`
~
`
sia uno spazio insecabile a dimensione fissa (ma quest’ultima proprietà secondo me non è vera).Altro dubbio: non capisco perché non sia previsto in automatico in comandi come
`
\LaTeX testo
`
la spaziatura fra “LaTeX” e “testo”.Lorenzo
-
12 Marzo 2006 alle 15:24 #8415
-
12 Marzo 2006 alle 20:01 #8416::
`\TASCINFM\[color=darkblue]
[/color]`. […]E’ proprio la stessa cosa?[…]
Credo che non lo sia. Il mio metodo prevede di indicare una spaziatura con il pretesto di interrompere il comando. A riguardo della spaziatura,
*
. Spaces append glue to the current list. The exact amount of glue depends on \spacefactor, the current font, and \spaceskip and \xspaceskip parameters, as described in Chapter 12.
* \. A control-space command appends glue to the current list, using the same amount that a inserts when the space factor is 1000. \spacefactor è 1000 quando TeX processa materiale in box orizzontali, quindi durante il testo normale.
Questo è un vizio che mi rimane da quando ancora scrivevo con TeX e pertanto credo che sia stato lo stesso Knuth a suggerirne l’utilizzo nel suo The TeXbook: capitolo 3, pagina 8, con la spiegazione applicata al logo “\TeX”.
Ciao.
-
12 Marzo 2006 alle 20:13 #8417
-
13 Marzo 2006 alle 18:26 #8418::
[quote]`\TASCINFM\[color=darkblue]
[/color]`. […]E’ proprio la stessa cosa?[…]
Credo che non lo sia. Il mio metodo prevede di indicare una spaziatura con il pretesto di interrompere il comando. A riguardo della spaziatura,
*
. Spaces append glue to the current list. The exact amount of glue depends on \spacefactor, the current font, and \spaceskip and \xspaceskip parameters, as described in Chapter 12.
* \. A control-space command appends glue to the current list, using the same amount that a inserts when the space factor is 1000. \spacefactor è 1000 quando TeX processa materiale in box orizzontali, quindi durante il testo normale.
Questo è un vizio che mi rimane da quando ancora scrivevo con TeX e pertanto credo che sia stato lo stesso Knuth a suggerirne l’utilizzo nel suo The TeXbook: capitolo 3, pagina 8, con la spiegazione applicata al logo “\TeX”.
Ciao.[/quote]C’è qualche imprecisione. Quando si compone il logo \TeX, alla fine l’ultimo carattere è una X maiuscola senza alcuna protezione data da \hbox. Quindi lo space factor è 999.
E infatti la definizione del comando \TeX data in LaTeX è `T\kern-.1667em\lower.5ex\hbox{E}\kern-.125emX\@`e quindi lo \spacefactor è rimesso a posto automaticamente come se la lettera fosse minuscola. Il tutto però ha rilevanza solo quando \TeX è seguito da un segno di interpunzione. Se vogliamo solo uno spazio dopo, “\TeX\ ” e “\TeX{} ” sono, all’atto pratico, del tutto equivalenti. Ma con la definizione data in Plain TeX,`(… \TeX). Probably`dà un risultato diverso rispetto a`(… \TeX\spacefactor1000). Probably`Per chi non lo sapesse, \@ è equivalente a dare \spacefactor1000.
Ciao
Enrico
-
14 Marzo 2006 alle 10:25 #8419
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.