- Questo topic ha 11 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 17 anni, 10 mesi fa da
egreg9.
-
CreatoreTopic
-
21 Ottobre 2008 alle 9:39 #27923::
Qualcuno potrebbe cortesemente spiegarmi le differenze tra i seguenti comandi:
\newline
\par
\@parIl mio problema è il seguente:
se in un comando tipo \textbf{….} metto \newline, LaTeX mi dà errore;
se uso ‘\par’, mi dà lo stesso errore, se uso ‘\@par’ non mi dà errore, il dvi viene bene ma il pdf viene pieno di ‘par’…
Potrei fare una cosa del tipo:
\textbf{….}\newline\textbf{….}
ma vorrei restare su di un campo più ‘semplice’ (il codice LaTeX è prodotto da un convertitore/insaccatore che sto scrivendo).Andrea
-
CreatoreTopic
-
AutoreRisposte
-
-
21 Ottobre 2008 alle 10:37 #27924::
Qualcuno potrebbe cortesemente spiegarmi le differenze tra i seguenti comandi:
\newline
\par
\@parIl mio problema è il seguente:
se in un comando tipo \textbf{….} metto \newline, LaTeX mi dà errore;
se uso ‘\par’, mi dà lo stesso errore, se uso ‘\@par’ non mi dà errore, il dvi viene bene ma il pdf viene pieno di ‘par’…
Potrei fare una cosa del tipo:
\textbf{….}\newline\textbf{….}
ma vorrei restare su di un campo più ‘semplice’ (il codice LaTeX è prodotto da un convertitore/insaccatore che sto scrivendo).Non senza avere esempi di questo codice che dà “errore”.
La macro \newline è una di quelle che cambiano significato a seconda dell’ambiente in cui si trovano. Essenzialmente è equivalente a \\.
Il comando primitivo \par termina un capoverso, ma LaTeX a volte ne cambia il significato per vari motivi. La macro \@par è una macro interna che va usata solo se si sa ciò che si sta facendo (e con questo sto dicendo che non sai ciò che fai :)); la sua azione è: (1) riassegna a \par il significato primitivo; (2) esegui il comando \par primitivo.
Quindi, in situazioni “normali”, dare \@par o \par è equivalente, purché si sia in un ambito in cui @ è trattato come se fosse una lettera dell’alfabeto.
Ho alcuni dubbi sull’affermazione “il dvi viene bene ma il pdf viene pieno di ‘par’”. Hai per caso un esempio?
La tua situazione potrebbe essere risolta usando
`{\bfseries … \par …}`
ma occorrerebbe capire che cosa vuoi ottenere. Se sei in una cella di tabella non specificata con p{…}, né \newline né \par possono funzionare.Ciao
Enrico
-
21 Ottobre 2008 alle 11:35 #27925::
Aggiornamento:
effettivamente adesso anche il dvi viene da schifo… Probabilmente il visualizzatore dvi non ha aggiornato la videata sino a quando non lo ho forzato a mano…
La situazione che sto cercando di risolvere è la seguente:
l’utonto deve riempire un form. I dati di questo form vengono passati ad un mio tritatutto che estrae dati da un database e produce delle sorte di report che tramite LaTeX può scaricare come pdf.
Il committente vuole poter applicare della formattazione ad alcuni dati, pertanto ha a disposizione dei campi text nel form dove può immettere del testo formattato html.
Ad esempio, il tag lo espando come \textbf{…}, ma se l’utonto mi inserisce un , il corrispondente \newline affonda la compilazione LaTeX.
Il problema è che il committente vuole assolutamente questo : cioè vuole terminare la riga ma NON iniziare un nuovo paragrafo (diciamo che l’industria e l’università hanno notevoli divergenze sull’arte della composizione tipografica).
Quindi ho fatto qualche imbroglio per cercare di applicare questa formattazione:
\par, \newline, doppiocon \parskip modificato, ecc.: si equivalgono, ma tutti creano problemi ‘di ritorno’. Ovvero dentro ai textbf non funzionano.
Adesso sto provando a spezzare i \textbf quando trovo un .Andrea
-
21 Ottobre 2008 alle 11:44 #27926::
Aggiornamento:
effettivamente adesso anche il dvi viene da schifo… Probabilmente il visualizzatore dvi non ha aggiornato la videata sino a quando non lo ho forzato a mano…
La situazione che sto cercando di risolvere è la seguente:
l’utonto deve riempire un form. I dati di questo form vengono passati ad un mio tritatutto che estrae dati da un database e produce delle sorte di report che tramite LaTeX può scaricare come pdf.
Il committente vuole poter applicare della formattazione ad alcuni dati, pertanto ha a disposizione dei campi text nel form dove può immettere del testo formattato html.
Ad esempio, il tag lo espando come \textbf{…}, ma se l’utonto mi inserisce un , il corrispondente \newline affonda la compilazione LaTeX.
Il problema è che il committente vuole assolutamente questo : cioè vuole terminare la riga ma NON iniziare un nuovo paragrafo (diciamo che l’industria e l’università hanno notevoli divergenze sull’arte della composizione tipografica).
Quindi ho fatto qualche imbroglio per cercare di applicare questa formattazione:
\par, \newline, doppiocon \parskip modificato, ecc.: si equivalgono, ma tutti creano problemi ‘di ritorno’. Ovvero dentro ai textbf non funzionano.
Adesso sto provando a spezzare i \textbf quando trovo un .Espandi il … in {\bfseries …}
Ciao
Enrico
-
21 Ottobre 2008 alle 12:23 #27927
-
21 Ottobre 2008 alle 12:30 #27928::
Espandi il … in {\bfseries …}
Ciao
EnricoIn effetti funziona, ma mi va in conflitto mortale con wrapfig! Se ho un wrapfloat con testo a fianco in grassetto con bfseries, le immagini finiscono sul margine oppure vagano nella pagina senza meta apparente…
Ti spiacerebbe fare un minimo di esempio REALE di quello che hai fra le mani? O vuoi sempre dare le informazioni un bit alla volta? Prova con
`\leavevmode{\bfseries …}`
Ciao
Enrico
-
21 Ottobre 2008 alle 13:38 #27929::
[quote]Espandi il … in {\bfseries …}
Ciao
EnricoIn effetti funziona, ma mi va in conflitto mortale con wrapfig! Se ho un wrapfloat con testo a fianco in grassetto con bfseries, le immagini finiscono sul margine oppure vagano nella pagina senza meta apparente…
Ti spiacerebbe fare un minimo di esempio REALE di quello che hai fra le mani? O vuoi sempre dare le informazioni un bit alla volta? Prova con
`\leavevmode{\bfseries …}`
Ciao
Enrico[/quote]\leavevmode risolve il problema, grazie!
Non l’ho trovato da nessuna parte, a che serve?Comunque, il codice che risulta è questo:
`\begin{wrapfloat}{figure}{l}{9mm}
\vspace{-10pt}
\includegraphics[angle=0,scale=1.0]{Importante}%
\vspace{-10pt}
\end{wrapfloat}\leavevmode{\bfseries Importante!\newline
In generale, per tutto ciò che riguarda lo smaltimento ed il riciclaggio dei materiali, sarà necessario attenersi alle norme di legge vigenti nel paese di utilizzo.}
\vspace{1.2em}`
Si tratta di paragrafi di testo che vengono inseriti nel documento finale, a seconda dei flag selezionati. Nella versione senza leavevmode le immagini finiscono nel margine.
-
21 Ottobre 2008 alle 13:54 #27930::
[quote][quote]Espandi il … in {\bfseries …}
Ciao
EnricoIn effetti funziona, ma mi va in conflitto mortale con wrapfig! Se ho un wrapfloat con testo a fianco in grassetto con bfseries, le immagini finiscono sul margine oppure vagano nella pagina senza meta apparente…
Ti spiacerebbe fare un minimo di esempio REALE di quello che hai fra le mani? O vuoi sempre dare le informazioni un bit alla volta? Prova con
`\leavevmode{\bfseries …}`
Ciao
Enrico[/quote]\leavevmode risolve il problema, grazie!
Non l’ho trovato da nessuna parte, a che serve?Comunque, il codice che risulta è questo:
`\begin{wrapfloat}{figure}{l}{9mm}
\vspace{-10pt}
\includegraphics[angle=0,scale=1.0]{Importante}%
\vspace{-10pt}
\end{wrapfloat}\leavevmode{\bfseries Importante!\newline
In generale, per tutto ciò che riguarda lo smaltimento ed il riciclaggio dei materiali, sarà necessario attenersi alle norme di legge vigenti nel paese di utilizzo.}
\vspace{1.2em}`
Si tratta di paragrafi di testo che vengono inseriti nel documento finale, a seconda dei flag selezionati. Nella versione senza leavevmode le immagini finiscono nel margine.[/quote]
Sei proprio sicuro di dover usare wrapfig? Che cosa c’è nel tuo file grafico?Ciao
Enrico
-
21 Ottobre 2008 alle 14:01 #27931::
Sei proprio sicuro di dover usare wrapfig? Che cosa c’è nel tuo file grafico?
I file rappresentano icone che dovrebbero evidenziare il paragrafo.
Sono tutti eps 9x9mm.
Un’alternativa a wrapfig sarebbe metterle nel margine (cioè, dovrei rientrare il testo di 1 cm, in modo che le testatine rimangano larghe 18cm, e mettere le ‘icone’ in questo spazio usando l’ambiente picture).
Altra alternativa sarebbe costruire una tabella con l’immagine in una cella ed il testo nell’altra.
Non ho ancora trovato il metodo migliore…Andrea
-
21 Ottobre 2008 alle 14:34 #27932::
Sei proprio sicuro di dover usare wrapfig? Che cosa c’è nel tuo file grafico?
I file rappresentano icone che dovrebbero evidenziare il paragrafo.
Sono tutti eps 9x9mm.
Un’alternativa a wrapfig sarebbe metterle nel margine (cioè, dovrei rientrare il testo di 1 cm, in modo che le testatine rimangano larghe 18cm, e mettere le ‘icone’ in questo spazio usando l’ambiente picture).
Altra alternativa sarebbe costruire una tabella con l’immagine in una cella ed il testo nell’altra.
Non ho ancora trovato il metodo migliore…`\hangindent=12mm \hangafter=-2 \noindent
\llap{\vtop to0pt{
\kern-3mm\hrule height 0pt
\hbox{\includegraphics[height=9mm,width=9mm]{Importante}}
\vss}\kern3mm}%
{\bfseries Importante!\newline
In generale, per tutto ciò che riguarda lo smaltimento ed il riciclaggio dei materiali, sarà
necessario attenersi alle norme di legge vigenti nel paese di utilizzo.}`
Puoi usare il primo \kern nella \vtop per alzare o abbassare l’immagine a piacimento. Ovviamente ti definirai qualche macro opportuna. 🙂Ciao
Enrico
-
21 Ottobre 2008 alle 15:41 #27933::
[quote]Sei proprio sicuro di dover usare wrapfig? Che cosa c’è nel tuo file grafico?
I file rappresentano icone che dovrebbero evidenziare il paragrafo.
Sono tutti eps 9x9mm.
Un’alternativa a wrapfig sarebbe metterle nel margine (cioè, dovrei rientrare il testo di 1 cm, in modo che le testatine rimangano larghe 18cm, e mettere le ‘icone’ in questo spazio usando l’ambiente picture).
Altra alternativa sarebbe costruire una tabella con l’immagine in una cella ed il testo nell’altra.
Non ho ancora trovato il metodo migliore…`\hangindent=12mm \hangafter=-2 \noindent
\llap{\vtop to0pt{
\kern-3mm\hrule height 0pt
\hbox{\includegraphics[height=9mm,width=9mm]{Importante}}
\vss}\kern3mm}%
{\bfseries Importante!\newline
In generale, per tutto ciò che riguarda lo smaltimento ed il riciclaggio dei materiali, sarà
necessario attenersi alle norme di legge vigenti nel paese di utilizzo.}`
Puoi usare il primo \kern nella \vtop per alzare o abbassare l’immagine a piacimento. Ovviamente ti definirai qualche macro opportuna. 🙂Ciao
Enrico[/quote]Ach! Ad una soluzione del genere non ci sarei mai arrivato….
PS: \leavevmode l’ho trovato solo nella tua “Appunti di programmazione…”.Andrea
-
21 Ottobre 2008 alle 15:50 #27934::
Ach! Ad una soluzione del genere non ci sarei mai arrivato….
PS: \leavevmode l’ho trovato solo nella tua “Appunti di programmazione…”.È essenzialmente quella che usa Knuth per le parti con la “curva pericolosa”. 🙂 Devi aspettarti di aver bisogno cose un po’ più complesse, se devi fare cose complicate. Questa non lo era tantissimo, ma di certo wrapfig non era una soluzione: va bene per inserire grafica che non è ancorata a un punto preciso, come invece è la tua.
Capisci adesso perché insisto sul chiederti esempi e intenzioni?
\leavevmode è un trucco del mestiere, non va divulgato troppo. 😀
Ciao
Enrico
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.