Risposte nei forum create
-
AutoreRisposte
-
24 Novembre 2012 alle 10:47 in risposta a: Rapidità di esecuzione dello scalamento di una lunghezza #80682::
Liverpool” post=80129Ho un’altra domanda (stupida) sugli operatori, perciò la scrivo qui.
[tt]\dimen0=0.25\dimen0[/tt] è la stessa cosa di [tt]\divide\dimen0 by 4[/tt]?
Dove posso trovare un riferimento completo sulle operazioni, per non dare più fastidio sul forum?Grazie
Sessione interattiva con TeX:
`This is TeX, Version 3.1415926 (TeX Live 2012)
**\relax*\dimen0=3cm
*\dimen0=0.25\dimen0
*\message{\number\dimen0}
1398509
*\dimen0=3cm*\divide\dimen0 by 4
*\message{\number\dimen0}
1398509`
Sì, è lo stesso, perché puoi esprimere 1/4 con un decimale finito con meno di cinque cifre decimali. Proseguiamo:
`*\dimen0=3cm*\divide\dimen0 by 3
*\message{\number\dimen0}
1864679
*\dimen0=3cm*\dimen0=.33333\dimen0
*\message{\number\dimen0}
1864651`
Come vedi c’è una differenza di 28sp, per via dell’aritmetica intera (binaria) usata internamente.Devi preoccuparti? No. Tanto non otterrai praticamente mai il “vero” valore: se proseguiamo da dov’eravamo, abbiamo questo:
`*\setbox0=\hbox to 3cm{\hskip\dimen0 \hskip\dimen0 \hskip\dimen0 }Underfull \hbox (badness 10000) detected at line 0
*\dimen0=3cm
*\divide\dimen0 by 3cm
*\setbox0=\hbox to 3cm{\hskip\dimen0 \hskip\dimen0 \hskip\dimen0 }
Underfull \hbox (badness 10000) detected at line 0`
Che ci si può fare? Niente, se non aggiungere qualche [tt]\hfil[/tt]Ciao
Enrico
::Teodoro Studita” post=80116
[quote=”lorenzo.pantieri” post=80113]`\addtocontents{toc}{\protect\enlargethispage{\baselineskip}}
\section{…}`Va dato nel documento prima di un titolo di sezione che nella versione composta comparirà nella seconda pagina del tuo indice. Nell’Arte 2012 c’è scritto.
E qui viene il bello! La vedova è a sua volta il titolo di un indice, perché l’ultimo elemento del mio indice generale è un altro indice, quindi non ho un comando \section o \chapter da qualche parte, ma il tutto viene generato automaticamente da imaxeidx con \printindex.
E ora?[/quote]
Metti [tt]\addtocontents{toc}{\protect\enlargethispage{\baselineskip}}[/tt], o forse, meglio
`\addtocontents{toc}{\protect\enlargethispage*{2\baselineskip}}`
prima del [tt]\printindex[/tt] relativo all’indice che va alla pagina successiva.Ciao
Enrico
::robitex” post=80110L’idea è quella di inserire con la sintassi chiave valore una serie di dati, elaborarne numericamente alcuni e rendere disponibili i risultati con un altrettanto semplice comando \getdata{
}. Per il primo passo ci pensa l3keys, per il secondo l3fp e per il terzo l3prop:
`\documentclass{article}
[…]
`Come vedete dal codice che segue la strategia descritta e che funziona abbastanza bene, ci sono un po’ di guai.
Non riesco ad espandere correttamente il numero nel comando \SI (funziona solo se memorizzo nella proprietà l’intera formattazione con siunitx.
Se per caso digito una chiave dalla sintassi sbagliata la compilazione si blocca indefinitivamente (per esempio un \getdata{nonesisto}).
Ho un po’ troppa ridondanza nei nomi tra funzioni e variabili, come si può notare dal codice delle funzioni \my_process_values: e \my_save_values: (la leggibilità non è il massimo)Ho implementato il tutto anche in LuaTeX incontrando meno problemi. Non ho ancora risolto del tutto l’argomento con LuaTeX perciò non vi riporterò qui il codice.
Grazie per aver seguito fino a qui.
R.Una tirata di orecchie: devi usare un prefisso per le tue funzioni e variabili.
Per inserire il valore espanso, puoi fare così:
`\cs_new:Nn \my_save_values:
{
\prop_gput:NnV \g_salval_prop { numsal } \g_numsal_tl
\prop_gput:Nnx \g_salval_prop { impsal }
{
\fp_use:N \g_impsal_fp
}
\prop_gput:Nnx \g_salval_prop { implav }
{
\exp_not:N \SI[ round-mode = places ,
round-precision = 2 ]
{ \fp_use:N \g_implav_fp }{ \exp_not:N \euro }
}
…
}`
Naturalmente correggerai con il prefisso. Nota [tt]\prop_gput:Nnx[/tt]; le variabili globali vanno sempre modificate globalmente.Per l’ultimo problema:
`\DeclareExpandableDocumentCommand { \getdata } { m }
{
\prop_get:Nn \g_salval_prop { #1 }
}`
oppure, direttamente
`\cs_new:Npn \getdata #1 { \prop_get:Nn \g_salval_prop { #1 } }`Ciao
Enrico
::poxx” post=80102Salve a tutti, problema apparentemente di facile soluzione ma su cui sono bloccato: com’è possibile ampliare di una riga il campo in cui vanno le footnotes in modo che la nota non mi slitti nella pagina successiva? Non c’è bisogno che l’impostazione valga per l’intero documento, anzi sarebbe preferibile che io potessi settarlo solo per la pagina corrente…
Grazie in anticipo
P.S. Preciso anche che, siccome in fondo c’è il numero di pagina, si tratta forse – supposizione mia – di ridurre il margine tra note e numero di pagina più che di ampliare lo spazio per le note…
Metti, tra due capoversi nella pagina con la nota che vorresti allungare
`\enlargethispage{\baselineskip}`
e lo stesso nella pagina a fronte. Ma rimanda questi aggiustamenti a quando il testo è in forma definitiva.Ciao
Enrico
::Turbodede” post=80097Salve a tutti;
Sono David e sono nuovo di questo forum e dei forum in generale, spero quindi che la location per questa domanda sia corretta.
Stó scrivendo la tesi con LaTeX e mi risulta difficile importare questo particolare tipo di immagine:
logotesi.tmp.pdf
il problema é che possiede una grande cornice bianca e non so come eliminarla poiché non posso modificarla con qualche editor.
sarebbe quindi possibile chiedere a LaTeX di scrivere sopra la parte bianca ” tipo effetto filigrana”?
io non ci riesco ho letto molte guide ma senza risultati inoltre non riesco a capire come utilizzare le strighe fornite da Lapo f. Mori nel suo manuale per scrivere una tesi in LaTeX.
se potete darmi una mano la mia tesi ne sarebbe fiera!
posso fornire anche l´intero codice se necessario.
saluti
David`\includegraphics[trim=1cm 2cm 3cm 4cm,clip]{logotesi}`
dove la prima dimensione si riferisce a quanto togliere a sinistra, la seconda in basso, la terza a destra, la quarta in alto.Ti sconsiglio di usare file con “doppia estensione”. Chiamalo [tt]logotesi.pdf[/tt] e non se ne parli più. 🙂
Ciao
Enrico
::Iovem” post=80094Un piccolo refuso: all’inizio del capitolo 10 la documentazione di tikz viene definita “ponderosa”.
Mi associo ai ringraziamenti per questa nuova versione.
Dal dizionario Treccani:
Ponderoso
agg. [dal lat. ponderosus, der. di pondus -dĕris «peso»], letter. –1. Di gran peso, pesante: Portava un baston duro e p. (Pulci); una vasta Sollevò in alto ponderosa pietra (Pindemonte).
2. Più spesso fig., di cosa che costituisce o richiede gran fatica, grande impegno: lavoro, incarico p.; attendere a un’opera p.; Ma chi pensasse il p. tema E l’omero mortal che se ne carca, Nol biasmerebbe se sott’esso trema (Dante, con allusione all’argomento della terza cantica). ◆ Avv. ponderosaménte, non com., in modo pesante, opprimente: ma quanti si sforzano … di spogliare le cose delle vecchie apparenze che ormai per abitudine, per pigrizia di spirito, ponderosamente si sono imposte a tutti? (Pirandello).
Il ranch Ponderosa della serie televisiva Bonanza prende il nome dall’albero Pinus Ponderosa comune nei luoghi dove la serie era ambientata.
Ciao
Enrico
::Dingo” post=80089dalla versione 2010, se non erro, il dvd di texlive non è più distribuito in versione LIVE DVD
sarebbe possibile (e come), creare una installazione su penna usb così da poterla usare su più computer senza effettuare l’installazione classica?
avrei una penna da 8 GB, bastano?
Sì. Nel manuale di TeX Live c’è anche come si fa a installarla su un’unità USB.
Ciao
Enrico
::robitex” post=80088Ciao,
una delle nuove possibilità offerte dal kernel di LaTeX3 è quella delle liste di proprietà, esempio:
`
% nuova lista di proprietà
\prop_new:N \g_val_prop% inserimento valori
\prop_put:Nnn \g_val_prop { numsal } { 3 }
\prop_put:Nnn \g_val_prop { implav } { 12819.01 }
\prop_put:Nnn \g_val_prop { impsic } { 0.00 }
\prop_put:Nnn \g_val_prop { rib } { 25.151 }\NewDocumentCommand{ \getdata }{ m }
{
\prop_get:Nn \g_val_prop { #1 }
}
`Cercando tra le funzioni non ne ho trovato una che a partire da una lista chiave=valore inserisse i dati.
Per capirci un comando tipo questo, per ottenere lo stesso risultato del codice precedente:
`
\setdata{numsal = 3,
implav = 12819.01,
impsic = 0.00,
rib = 25.151,}
`Come si potrebbe fare?
Lo scopo è quello di eseguire calcoli con l3fp con i valori salvati nella proprietà.
Grazie
R.Dipende molto da che tipo di applicazione hai in mente. Se ti serve solo una lista con solo quelle quattro proprietà, meglio usare direttamente quattro token list o addirittura variabili fp:
`\keys_define:nn { robitex }
{
numsal .fp_set:N = \g_robitex_numsal_fp,
implav .fp_set:N = \g_robitex_implav_fp,
impsic .fp_set:N = \g_robitex_impsic_fp,
rib .fp_set:N = \g_robitex_rb_fp,
}
\NewDocumentCommand{\setdata}{ m } { \keys_set:nn { robitex } { #1 } }`Ciao
Enrico
::antonio.macrì” post=80071Ho notato da poco che su Ubuntu 12.10 è stato inserito TeX live 2012 tra i pacchetti disponibili, e aggiungendo a mano un PPA (https://launchpad.net/~texlive-backports) lo si può installare anche nella 12.04.
Qualcuno lo ha installato così? È affidabile?
Viene installato anche tlmgr? Come funziona con gli aggiornamenti?Ho sempre installato versioni a mano con la procedura di Enrico. Quali sono i principali svantaggi della versione pacchettizzata per Debian? Solo che gli aggiornamenti sono più lenti?
Che sia affidabile non c’è dubbio. Come dice Doc, non c’è tlmgr, ma Norbert ha assicurato che aggiornerà i pacchetti ogni mese.
Ciao
Enrico
::robitex” post=80046Ciao.
Ho fatto qualche nuovo esperimento con LaTeX3, provando a memorizzare valori true/false in una variabile sequence.
Il codice seguente funziona, ma vorrei sapere se ci sono cose che possono essere migliorate.
Per prima cosa definisco una nuova variabile sequence che ho chiamato \l_my_bool, poi creo due funzioni una per memorizzare valori booleani a seconda del valore di un numero intero (questo non è importante, è solo un modo per inserire valori veri o valori falsi), ed una per ‘visualizzare’ il contenuto della sequence.Quello che memorizzo realmente nella sequence è una delle due costanti \c_true_bool o \c_false_bool del kernel di LaTeX3.
Esiste un modo più elegante o più efficiente che non usare la funzione \seq_put_right:Nn con queste costanti?Nella funzione di stampa uso la funzione \bool_if:NTF, esiste un alternativa?
`\documentclass{minimal}
\usepackage{expl3}
\usepackage{xparse}\ExplSyntaxOn
% variabili
\seq_new:N \l_my_bool% funzioni
\cs_new:Nn \my_insertbool:n
{
\int_compare:nTF { #1 = 0 }
{ \seq_put_right:Nn \l_my_bool { \c_true_bool } }
{ \seq_put_right:Nn \l_my_bool { \c_false_bool } }
}\cs_new:Nn \my_printseq:
{
\seq_map_inline:Nn \l_my_bool
{
\bool_if:NTF ##1
{ Vero\par }
{ Falso\par }
}
}% comandi interfaccia utente
\NewDocumentCommand \bval { m }
{
\my_insertbool:n { #1 }
}\NewDocumentCommand \printval { }
{
\my_printseq:
}
\ExplSyntaxOff\begin{document}
\bval{1} % false
\bval{1-1} % true
\bval{0} % true
\bval{-1} % false
\bval{ 2 } % false\printval
\end{document}`
Grazie mille.
Ciao.
R.Non userei affatto variabili boolean.
`\documentclass{article}
\usepackage{xparse}
\ExplSyntaxOn
\NewDocumentCommand{\bval}{ m }
{
\robitex_bval:n { #1 }
}
\cs_new_protected:Npn \robitex_bval:n #1
{
\int_compare:nTF{ #1 = 0 }
{ \seq_gput_right:Nn \g_robitex_values_seq { 1 } } % true
{ \seq_gput_right:Nn \g_robitex_values_seq { 0 } } % false
}
\seq_new:N \g_robitex_values_seq\NewDocumentCommand{\printval} { +m +m }
{
\robitex_printval: { #1 } { #2 }
}
\cs_new:Npn \robitex_printval: #1 #2
{
\seq_map_inline:Nn \g_robitex_values_seq
{ \int_compare:nTF { ##1 = 1 } { #1 } { #2 } }
}
\ExplSyntaxOff
\begin{document}
\bval{1} % false
\bval{1-1} % true
\bval{0} % true
\bval{-1} % false
\bval{ 2 } % false\printval{Vero\par}{Falso\par}
\end{document}`
In sostanza, normalizzo vero con 1 e falso con 0 (come si conviene a un matematico). 🙂Ciao
Enrico
-
AutoreRisposte