Risposte nei forum create
-
AutoreRisposte
-
::
Ho seguito il suggerimento di Franceso Biccari e ho risolto il problema.
Si,la tesi è in inglese.Grazie a tutti.
Ciao,
non è da molto che utilizzo il pacchetto siunitx.
Direi che mi trovo bene. Vediamone i motivi:
I comandi si possono utilizzare indifferentemente in modo testo ed in modo matematico, mentre le spaziature sono gestite in automatico, come pure gli spazi insecabili tra valore ed unità, e la gestione del separatore decimale.
Si possono formattare angoli nei sistemi sessagesimale, numeri puri, solo unità di misura (utile nelle intestazioni di tabella), numeri con unità di misura.I comandi principali sono questi:`
\num{456} % formatta numeri puri
\si{daN/cm^2} % formatta l'unità di misura
\SI{78.676}{m/s^2} % formatta un valore di accelerazione`Precedentemente usavo comandi personali, come \mq per \si{m^2}, poi ho convertito tutto per il pacchetto siunitx che risolve bene il problema.
Bye.
::Io uso tex dal qualche anno e scopro sempre qualcosa di nuovo.
Mi dispiacerebbe che Tex o Latex non venissero più sviluppati.
La cosa che mi piace è che ogni volta imparo sempre qualcosa di nuovo.Non penso che LaTeX non venga più sviluppato, anche perché come ha detto Lorenzo, ci sono forti segnali dell’opposto, sia dal punto di vista delle funzionalità (lo sviluppo dei pacchetti d’estensione è sempre più attivo), sia dal punto di vista della sua diffusione (i numeri del forum sono chiari, basta pensare che il 24 marzo 2009 il numero dei messaggi aveva da poco superato i 30.000, mentre come puoi vedere dai contatori ad oggi vi sono 40.692, quindi sono stati postati più di 10.000 messaggi in un anno mentre per giungere ai 30.000 il forum ha impiegato invece ben 7 anni dal 2003).
Quello che volevo condividere invece, era la sensazione che la nascita di LuaTeX, rendendo di fatto obsoleto il motore pdftex, mettesse in condizioni di stallo proprio LaTeX3 basato appunto su pdftex, e ciò spegnerebbe le brillanti conquiste fatte da LaTeX in tutto questo tempo (diciamo pure un periodo di circa 25 anni), con il passaggio di testimone ad un nuovo formato.
Se esistesse un motore più efficiente ed efficace di LaTeX3, non lo abbandoneresti anche tu?
::Curiosità: $a^\frac{1}{2}$ funziona, ma non funziona $a^\cong$. Esercizio per l’incauto lettore. 🙂
Provo a dire qualcosa: \cong è un simbolo di relazione (definito con la primitiva \mathrel), pertanto funziona $a^{\cong}$ perché significa metti in esponente ad a la relazione
\cong . Senza parentesi graffe invece a^ viene interpretato come il primo elemento della relazione ma non è corretto perché manca la definizione stessa dell’esponente.
In effetti $a^{}\cong$ funziona, dove alla relazione manca il termine di destra.Così l’esempio di \frac funziona perché consiste in un solo token.
Tutto chiaro allora…
::
Grazie a tutti!
L’argomento è complesso e difatti le opinioni hanno spaziato dal sistema dei pacchetti, alla diffusione di LaTeX.
Direi quindi che la conclusione è semplice (anche perché finalmente comincio a capire un po’ di più TeX):
usa LaTeX e vivi felice (almeno fino a quando non converrà cambiare)!
e del resto niente dura all’infinito.Saluti
::Dunque,
volendo utilizzare macro con argomenti delimitati, per esempio una coppia di valori separati da un punto e virgola, scriverò:`
\def\test#1;#2{\def\one{#1}\def\two{#2}}`Se poi vado a vedere l’applicazione:`\test pippo;pluto
\one\two`come mai il secondo argomento consiste di un solo carattere?
Naturalmente se metto un delimitatore finale, il secondo argomento viene letto per intero.
Immagino che sia il comportamento stantard di TeX, ma se qualcuno mi può dare qualche spiegazione TeXnica in più gli sarei grato.
ByeLa macro \test ha due argomenti, il primo delimitato (da ;), il secondo non delimitato che quindi obbedisce alle regole usuali: è il primo token trovato o, se questo token è una graffa aperta (più precisamente un carattere di categoria 1), tutto ciò che va dalla graffa aperta alla graffa chiusa che la bilancia.
L’argomento denotato da #k (k è una cifra da 0 a 9) è delimitato quando nel
della definizione è seguito da un token che non è l’indicatore di parametro successivo (se k=1, per esempio, l’indicatore di parametro successivo è #2) o dalla graffa che introduce il . è, più o meno, la sintassi per un comando
, cioè \def, \edef, \gdef o \xdef; è il comando da definire (un token simbolico o un carattere attivo); è una qualsiasi lista di token dove sono ammessi token di tipo speciale, cioè gli indicatori di parametro. Prima di #1 possono esserci altri token, ma questi “delimitano il comando”, non l’argomento. Ciao
EnricoCapito.
Del resto se TeX non si fermasse ad un solo token (salvo parentesi graffe), non saprebbe quando fermarsi a leggere l’argomento.
Capisco anche perché al comando \newcommand è possibile specificare ilsenza parentesi graffe
esempio:`\newcommand\mycmd[1]{something with #1})`
Immagino che se non metto le parentesi graffe a circondare un argomento con un solo token, TeX svolga il suo lavoro più velocemente, anche se la sintassi del linguaggio in questo caso produce qualche tipo di incoerenza (la regola “delimitare un argomento obbligatorio con le graffe” può essere disattesa):
`\newcommand{\mycmd}[1]{something with #1}
\newcommand\mycmd[1]{something with #1}`
Grazie delle informazioni!
::salve
ho appena terminato delle dispense. vorrei chiedere un consiglio: c’è un modo in cui posso scrivere che il documento è stato realizzato in LaTeX, che sono stato io l’autore materiale e che se vogliono copiare il testo possono farlo basta che mi citino?
c’è una maniera contratta ed esaustiva per farlo?
grazie a chi risponderà
saluti
Rilasciare i documenti sotto licenza Creative commons (leggi le prime pagine della rivista del GuIT ArsTeXnica per un esempio).
Bye
::State ancora utilizzando LaTeX? State ancora sviluppando qualche nuovo pacchetto per esso?
Sì e sì.
Quanto al resto, spero che le future versioni di LaTeX permettano di compilare anche i documenti attuali.
Ciao,
L.Be anch’io ma non credi che valga la pena di riflettere sull’argomento?
Bye
26 Febbraio 2010 alle 18:45 in risposta a: Problema visualizzazione immagine eps creata da inkscape #42448::inserendo le immagini in pdf funziona nel senso che compilando in pdf arrivo a visualizzare il file con la figura purtroppo adesso quando compilo in dvi mi da errore, sapete se devo aggiungere qualche pacchetto all inizio?
Lo sai vero che pdflatex non supporta le immagini in formato Postscript e, viceversa, latex non supporta immagini in pdf?
Perché non scegli una volta per tutte di produrre direttamente il pdf compilando con pdflatex?
Dovrai semplicemente produrre immagini in pdf o jpeg o png, ed inserirle come al solito con un \includegraphics (naturalmente il formato pdf è vettoriale e quindi preferibile).Ps. Leggi una guida di base come la Guida del GuIT o L’Arte di Pantieri!
Ciao.
26 Febbraio 2010 alle 17:47 in risposta a: Problema visualizzazione immagine eps creata da inkscape #42445::Buongiorno a tutti,
sono una studentessa alle prime armi con Latex e avrei un paio di domande da porvi (magari vi sembreranno banali, ma nelle guide non ho trovato le informazioni specifiche):
1. come posso inserire tabelle prese da exel? necessito di particolari pacchetti? io uso toptesi..
2. come posso inserire disegni da autocad, necessito di particolari pacchetti?
3. usando subfigure e prendendo il listato da guida non mi fa visualizzare le figure..
4. ho problemi con la costruzione di tabelle, non riesco a capire come dirgli di andare a capo automaticamente affinchè la tabella non mi sbordi dal foglio…
GRAZIE A TUTTI, SCUSATE PER LA BANALITA’ DELLE DOMANDE E SPERO DI PRENDERCI MANO IL PRIMA POSSIBILE PER ESSERE POI DI AIUTO IO STESSA… 🙂Oltre quello che ha consigliato Lorenzo aggiungo qualche ulteriore dettaglio:
1 – le tabelle da fogli elettronici si possono importare in tre modi:
1.1 – per mezzo di script scaricabili da ctan (soluzione che non ho mai provato);
1.2 – copia incolla in un buon editor e sostituzione dei TAB con il carattere & per mezzo delle espressioni regolari: \t -> & (io uso SciTE come editor);
1.3 – “cucinando” la tabella con verbatim (esportazione con formato fisso ed uso di carattere monospaziato vedi un post sul mio blog, il link è sotto).La procedura 1.2 è quella che uso normalmente mentre quella 1.3 la uso per i fascicoli di calcolo, ovvero per tabelle da impaginare multicolonna e su più pagine.
2. per i disegni da autocad ti tico che in LaTeX esiste un procedimento che è il massimo dell’arte: esportazione da autocad a Postscript, conversione in PDF e ritaglio margini con pdfcrop ed inclusione con \includegraphics magari in un ambiente figure (consulta ancora nel mio blog il post dedicato).
Ottieni qualità vettoriale e la garanzia che il disegno sarà perfettamente in scala, quindi niente di meglio.Naturalmente i disegni in autocad è bene prepararli in un layout dello spazio carta.
Ciao e buon lavoro.
::Non sapevo che \numexpr supporta solo gli interi (perché non l’hanno chiamato \intexpr!!!).
Perché
per TeX è sempre e solo intero. Comunque l’alternativa con \dimexpr soffre del solito errore non appena si tenta di lavorare con i contatori:`\documentclass[a4paper]{article}
\usepackage{pstricks}
\makeatletter
\let\strippt\strip@pt
\makeatother\pagestyle{empty}
\psset{unit=1mm}\begin{document}
\newcount\pippo
\pippo=12
\psline(\strippt\dimexpr\pippo*0.5pt\relax,0.5)(65.5,38.5)
\end{document}
`
Provo a consultare la documentazione di etex.Il moltiplicatore intero per una dimensione va dopo:
`\psline(\strippt\dimexpr0.5pt*\pippo\relax,0.5)(65.5,38.5)`→
|Ciao
EnricoD’accordo. Adesso funziona.
Grazie mille.
::Vorrei far calcolare valori dalla funzione \numexpr di pdftex modalità estesa all’interno di comandi pstricks, ma quando il calcolo riguarda valori decimali ricevo l’errore:`! Illegal unit of measure (pt inserted).
` Di seguito riporto il codice di un esempio minimo compilabile che riproduce sul mio sistema (TeX Live 2009) il problema.
`\documentclass[a4paper]{article}
\usepackage{pstricks}\pagestyle{empty}
\psset{unit=1mm}\begin{document}
\psline(\numexpr0.5\relax,0.5)(65.5,38.5)
\end{document}
`Come vedete il calcolo per \numexpr in questo caso è il più semplice possibile, mentre il risultato di:`\number\numexpr0.55555\relax`
è correttamente 0.55555 con il punto decimale.Naturalmente se vengono tolti di mezzo i decimali tutto funziona.
`\documentclass[a4paper]{article}
\usepackage{pstricks}\pagestyle{empty}
\psset{unit=1mm}\begin{document}
\psline(\numexpr5\relax,0.5)(65.5,38.5)
\end{document}`\numexpr gestisce solo numeri interi. Un \relax termina la lista da dare in pasto a \numexpr ed è ignorato. Questo spiega perché il secondo esempio funziona: l’espansione di “\numexpr 5\relax” è “5”; nel primo esempio, invece, il token “.” che non è espandibile e non fa parte di quelli ammessi dalla sintassi di \numexpr, termina l’espressione e l’espansione finale di “\numexpr0.5\relax” è “0.5\relax” che a PSTricks non va bene.
Se vuoi trattare numeri decimali devi usare \dimexpr, magari in congiunzione con \strip@pt:
`\documentclass[a4paper]{article}
\usepackage{pstricks}
\makeatletter
\let\strippt\strip@pt
\makeatother\pagestyle{empty}
\psset{unit=1mm}\begin{document}
\psline(\strippt\dimexpr0.5pt\relax,0.5)(65.5,38.5)
\end{document}`
Adopera i numeri decimali come se fossero numeri puri, ma aggiungendo l’unità di misura “pt”, \strippt si occupa di toglierla.Ciao
EnricoNon sapevo che \numexpr supporta solo gli interi (perché non l’hanno chiamato \intexpr!!!).
Comunque l’alternativa con \dimexpr soffre del solito errore non appena si tenta di lavorare con i contatori:`\documentclass[a4paper]{article}
\usepackage{pstricks}
\makeatletter
\let\strippt\strip@pt
\makeatother\pagestyle{empty}
\psset{unit=1mm}\begin{document}
\newcount\pippo
\pippo=12
\psline(\strippt\dimexpr\pippo*0.5pt\relax,0.5)(65.5,38.5)
\end{document}
`
Provo a consultare la documentazione di etex.
Grazie Enrico.
::Chi ha aggiornato la TeX Live 2009 con la nuova versione (5.0) di geometry si trova di fronte a un problema cercando di compilare documenti per la classe beamer.
La soluzione, temporanea, in attesa di correzioni (si spera di beamer, ma non ci conterei :() è di scrivere
`\makeatletter\let\ifGm@compatii\relax\makeatother`
PRIMA di \documentclass{beamer}; quindi, per togliere ogni dubbio, il documento dovrà cominciare con
`\makeatletter\let\ifGm@compatii\relax\makeatother
\documentclass[]{beamer}`
Ciao
EnricoCiao Enrico, grazie per la dritta.
In effetti mi è sembrato in un recente aggiornamento di TeX Live 2009 che anche beamer sia stato oggetto di un aggiornamento ma il numero di versione è sempre lo stesso, ovvero 3.0.7.
Penso quindi che l’aggiornamento abbia interessato qualche tema.
Ma perché tu pensi che beamer possa essere difficilmente aggiornato per risolvere il problema?
Grazie.
::Nel codice che sto scrivendo elaboro delle liste separate da virgole di lunghezza variabile, per mezzo del pacchetto etextools.
In base alla posizione della singola stringa nella lista occorre chiamare uno specifico comando. Ho pensato di costruire questi comandi inserendo l’indice nel nome:`\DeclareCmdListParser{\myparser}{,}
\def\defitems[#1]#2{%
\expandafter\def\csname cmd#1\endcsname{#2}}\myparser+[\defitems]{Pippo,Pluto,Paperino}
\csname cmd0\endcsname
\csname cmd1\endcsname
\csname cmd2\endcsname`
La domanda è:
potrei avere dei problemi ad utilizzare dei numeri nel nome del comando?Tenete conto che etextools fa partire gli indici di posizione da zero, e che naturalmente i comandi così creati verrebbero utilizzati da altre macro di loop.
Ho preso in considerazione il comando \romannumeral per creare automaticamente comandi tipo \cmdi, \cmdii, \cmdiii, ecc quindi con lettere, ma il numero zero viene espanso nella stringa vuota. Dovrei così ipotizzare che il semplice \cmd sia il comando corrispondente al primo elemento.
Ho scartato \alph perchè limitato a 26 posizioni.
Grazie.Non è un problema, se usi sempre \csname…\endcsname o un involucro più comodo come
`\def\nameuse#1{\csname#1\endcsname}
\nameuse{cmd0}`
Ciao
EnricoBenissimo. Grazie.
11 Febbraio 2010 alle 8:12 in risposta a: Inserimento dinamico del percorso del file *.tex nel header #41850::Buongiorno,
sto cercando di inserire in maniera dinamica e automatica il percorso del file *.tex nell’header del documento, senza doverlo ridigitare nel momento in cui il percorso cambia. Vorrei fosse il sistema durante la compilazione a mettere il percorso corrente.
Per il momento la porzione di codice inserita è la seguente:\pagestyle{fancy}
\lhead{\url{HOME}}dove al posto di HOME vorrei venisse messo un comando tipo \jobname che inserisca autonomamente il percorso del file e non solo il nome.
Qualcuno ha qualche idea?
GrazieGiorgio
`\documentclass[a4paper]{article}
\newread\filepathstream
\def\filepath#1{%
\immediate\write18{echo `pwd`/#1.tex > temp.ttt}%
\immediate\openin\filepathstream=temp.ttt%
\immediate\read\filepathstream to\filepathname
\immediate\closein\filepathstream}\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[R]{\ttfamily\filepathname}\begin{document}
\filepath{\jobname.tex}
abc\end{document}`
Va compilato con l’opzione -shell-escape attiva.Ciao
EnricoNon si potrebbe usare kpathsea?
Grazie
-
AutoreRisposte