Newsgroup: it.comp.software.tex
Titolo: mbox e a capo

Il problema e' il seguente:
 quando scrito \mbox{blahblachsdfsfds} voglio che la stringa venga
inserita senza a capo. Tutto facile ok, ma se la stringa va fuori dal
margine vorrei che venisse automaticamente inserito un a capo davanti alla
stringa:
|ciao mondo           |
|blahblachsdfsfds    |
Anziche' l'orrobile risultato:
|ciao mondo blahbla|chsdfsfds
Avete idea?


- Il mio indirizzo e-mail valido è senza *net*. -

andare a capo.
No, lui non vuole andare a capo all'interno della scatola, ma che, se la
scatola non sta nella riga, l'intera scatola vada a capo.
La soluzione immediata č, naturalmente, inserire a mano un a capo prima
della scatola.
Non so se ci possa essere una soluzione automatica. Immagino che uno
\sloppy risolverebbe il problema, introducendone altri. Puň darsi perň che
sia anche qualcosa di piů intelligente.
Ciao.


Grazie, ma mi tocca specificare la dimensione del box mi sembra di capire, 
cosa che assolutamente voglio evitare.
Forse dovrei scrivere una macro (di cui non ho alcuna esperienza), spero che 
sia possibile farlo, perche' non mi sembra poi una cosa impossibile.
C'e' anche chi mi ha consigliato di controllarli tutti e mettere gli a capo 
a mano...ma dico io, latex lo uso proprio per non dover fare cose simili! 
Altrimenti mi prendo il word che e' meglio  ;) 

a mano...ma dico io, latex lo uso proprio per non dover fare cose simili! 
Non "tutti": quelli che effettivamente creano un overfull, e quali sono te
lo dice latex.
Ciao.

 ha scritto nel messaggio 
news:m4dvg2tfq4ik1ndm8...@4ax.com...

E' vero, pero' sono veramente tanti :)
Sto valutando di fregarmene e andare a capo in alcune condizioni. Il package 
listing mi permette di andar a capo in corrispondenza di un certo token, ad 
esempio in:
package.component.MiaClasse
posso dirgli di andare pure a capo subito dopo un "." se proprio vuole.
Non e' il massimo, ma forse accettabile cmq :) 

 scrive:

Il risultato, tipograficamente parlando, è orrido. Probabilmente ti
converrebbe, se il problema si presenta molto spesso, passare al
testo sbandierato a destra (usa il pacchetto ragged2e). Comunque,
se proprio insisti, ecco il comando magico:
\newcommand{\mybox}[1]{\hfil\penalty1000 \mbox{#1}}
Il comando \penalty1000 indica a TeX che quello è un punto da 
considerare per spezzare una riga, senza incoraggiarlo. Se viene 
scelto, entra in azione \hfil, che altrimenti viene scartato.
Dal TeXbook:
When a line break actually does occur, TeX removes all discardable 
items that follow the break, until coming to something non-discardable, 
or until coming to another chosen breakpoint. For example, a sequence of
glue and penalty items will vanish as a unit, if no boxes intervene,
unless the optimum breakpoint sequence includes one or more of the 
penalties.
Ciao
Enrico

 \newcommand{\mybox}[1]{\hfil\penalty1000 \mbox{#1}}
Usando la tua idea ho definito il seguente comando:
\newcommand{\source}[1]{\hfil\penalty1000 \lstinline[language=Java]| #1 |}
come vedi usando lstinline al posto di mbox.
Ma il risultato e' che il testo viene spaziato prima e dopo in maniera 
stranissima, ad esempio cosi:
"this standard component is a JSF form (tag handler: 
h:form)."
oppure
    "onlyForValidation: if                   true, this property tells to 
the framework ..."
(true l'ho messo come \source{true}) 

Enrico, se ne ha tantissimi di overfull hboxes deve esserci qualche
cosa sotto.  O linee molto corte (tipo pagina in due o tre colonne) o
fontenc sbagliato che impedisce di spezzare una parola accentata o
chissa' che altro.
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Dept. of Physics, Univ. of Padova, Italy              ROT13: 
ybe...@cq.vasa.vg



\hfill prima di \mbox? (non testato)
-- 
Giuseppe "Oblomov" Bilotta
"I'm never quite so stupid
 as when I'm being smart" --Linus van Pelt

 scrive:

La tua domanda richiedeva \mbox, la mia risposta con quello funziona. 
Non ho la minima idea di come listings definisca \lstinline o, meglio, 
ho dato un'occhiata e ci sono parecchie cose che lo rendono piuttosto 
complicato, compresi i cambi di codice di categoria.
Stai evidentemente usando un formato di stampa non adeguato o abusando
di listings.
Ciao
Enrico

 di listings.
Voglio solo scrivere il nome delle classi dentro il testo, non mi sembra un 
abuso. 

 scrive:

Mancava una piccola cosa:
\newcommand{\source}[1]{\hfil\penalty1000\hfilneg\mbox{\ttfamily#1}}
Se la penalità è presa come "break point", \hfilneg sparisce e rimane
\hfil; altrimenti i due comandi di spaziatura si cancellano fra loro.
Il comando \tt è obsoleto e non va usato. Ma a questo punto puoi anche
dare
\newcommand{\source}[1]{\hfil\penalty1000\hfilneg\texttt{#1}}
che è ancora più compatto. Può darsi che con listings funzioni; in
ogni caso il risultato è orripilante.
Ciao
Enrico

 Altrimenti mi prendo il word che e' meglio  ;) 
Se la scatola comincia ad inizio linea puoi provare qualcosa come:
\newcommand{\MYBOX}{
\noindent
\parbox{17cm}{}
}
17cm è una misura arbitraria da sostituire con la larghezza del tuo testo. Altri
eventuali aggiustamenti li devi provare tu.
Se la scatola deve essere inserita a linea di testo iniziata, ogni tentativo di
soluzione è un nonsenso tipografico, incomprensibile per LaTeX.
LaTeX non fa miracoli, ma quello che può fare lo fa molto bene. L'uso di LaTeX
richiede un po' d'impegno, ripagato dai risultati. Nominare quella fetenteria di
Word ogni volta che con LaTeX non si riesce ad ottenere l'impossibile è
inopportuno (oltre che `sacrilego').


 inopportuno (oltre che `sacrilego').
Questo e' il solito discorso, probabilmente tu non hai speso piu' di 5' 
dietro a Word, e invece hai speso mesi a studiare latex.
Hanno concezioni e impieghi differenti, ma non credo proprio che sia una 
fetenteria. Spesso e' usato male, questa e' la verita'. 

 fetenteria. Spesso e' usato male, questa e' la verita'. 
Sulla solidità di Word mi rimangono ancora dei dubbi. Sull'uso atroce che se ne
fa comunemente ogni parola è superflua.
In sintesi: LaTeX educa (se preferisci, obbliga) a scrivere correttamente, Word
lascia liberi di commettere qualsiasi `crimine' tipografico.
E ora a te la scelta.
P.S.: Per apprendere praticamente i rudimenti di tipografia basta osservare i
quotidiani, le riviste e i libri.
