Risposte nei forum create
-
AutoreRisposte
-
::
Il tuo riassunto non fa una grinza.Come sai, però, io non sono un appassionato di nessuna versione di siunits/x; preferisco fare da me, e a conti fatti preferisco allineare i numeri a modo mio, piuttosto che usare comandi più o meno criptici, che riesci a ricordare solo usando spesso un dato pacchetto.
Nota che per allineare a mano basta (dentro all’ambiente table) ridefinire il comando attivo affinché inserisca uno zero fantasma; dopo di che riempi i campi numerici che avessero un numero diverso di decimali o di cifre intere con un numero sufficiente di tildi a destra o a sinistra; ti assicuro che la cosa è forse più lunga, forse più lunga da dire che da fare, ma assicura il centraggio e l’incolonnamento senza bisogno di ricorrere a pacchetti “strani”.
Mi dirai: ma perché siunits/x dovrebbe essere un pacchetto strano? Secondo me, e solo secondo me — e potrei avere torto marcio –, ognuno che scriva di grandezze misurabili dovrebbe sapere come scriverle (cifre significative) e come scriverne le unità di misura, Di conseguenza non necessita del pacchetto per il suo core-businness di scrivere correttamente le unità di misura; perché allora usarlo solo per i suoi fringing benefits, cioè le colonne S e la decifrazione di esponenti da programma di calcolo?
Capisco che questa mia posizione non incontri il gusto di moltissime persone e so che non incontra i tuoi gusti, ma se uno non disponesse di siunts e la colonna S ma solo della colonna D di dcolumn, o anche di niente del tutto, ma solo dell’ambiente tabular standard di LaTeX, non comporrebbe mai una tabella come quella che (volutamente, per esagerarne i difetti) hai usato per l’esempio di questo filone; egli avrebbe usato i prefissi decimali in modo da togliere dai dati numerici tutti i leading zeros (spostato la virgola a destra) e avrebbe caso mai fatto un replace della parte selezionata (la parte numerica della tabella) di tutti i punti con altrettante virgole. Forse 30 secondi in più rispetto a siunits, senza contare il tempo per riandare a rileggere la documentazione perché non ci si ricorda più che cosa bisogna fare. Se uno avesse fatto come delineato sopra gli spazi abnormi fra le colonne si sarebbero ridotti, e, anzi, con la colonna c (invece che S) e il padding con le tildi gli sarebbe venuta perfetta.
`
\begin{table}
\def~{\phantom{0}}
\centering
\begin{tabular}{*5c}
\toprule
$D$ & $P$ & $u$ & $\beta$ & $G$ \\
m & kg & mm & & mPa \\
\midrule
~0,500 & 269,8 & 0,674 & 1,79 & 40,89 \\
~1,50~ & 421,0 & 1,035 & 3,59 & 40,89 \\
10,0~~ & 640,2 & 1,565 & 7,18 & 40,89 \\
\bottomrule
\end{tabular}
\end{table}
`
Nota che nella prima colonna ho lasciato tre possibili decimali; ma mentre non ho problemi a misurare mezzo metro con ‘incertezza di un millimetro, avrei dei problemi a misurare dieci metri con quella incertezza, è giusto che a destra i valori numerici non siano completati con degli zeri, ma solo con degli zeri fantasma 😉
::
Se eliminni le didascalie e i label quel \bigskip agisce sotto (a destra) della seconda tabella e quindi le due tabelle mancano di adeguata spaziatura,Sostituisci quel \bigskip con \vspace*{2\bigskipamount}.
Il messaggio relativo alla riga 280 a me non viene perché il mio file di prova è solo di un centinaio di righe.
Lo so che le due tabelle continuano ad essere un po’ grandine; quel messaggio dice che il float che contiene le due tabelle è troppo alto di 12pt per stare tutto dentro alla pagina, non tanto per la larghezza, che è nascosta dal \makebox, quanto per l’altezza che corrispondenalla larghezza delle tabelle prima della rotazione. Certo puoi ancora inserire un \resizebox dell’intera \parbox cercando una frazione di \textheight come 0.95, per rimpicciolire ancora il tutto di una percentuale minima, ma direi che potresti ignorare il messaggio; 12 punti sono circa 4mm, una quantità che sull’altezza della pagina non si nota.
::
Le graffe non erano a posto, inoltre io non userei \resizebox, anche se la quantità da ridurre non è tremendamente grande, ma è pur sempre del 30% o qualcosa di più.
`
\begin{table}
\makebox[\textwidth]{%
\rotatebox{90}{\parbox{\textheight}{%
\centering\scriptsize\tabcolsep=2pt
%
\begin{tabular}{%
>{\bfseries\RaggedRight}m{21mm}
*{6}{>{\RaggedRight}m{21mm}}
>{\RaggedRight\arraybackslash}m{21mm}
}
\toprule
\multicolumn{8}{c} {\textbf{GRIGLIA DI VALUTAZIONE PER LE PROVE ORALI}} \cr
\midrule
& \textbf{Nulla} & \textbf{Gravemente insufficiente} & \textbf{Insufficiente} &
\textbf{Sufficiente} & \textbf{Discreto} & \textbf{Buono} & \textbf{Ottimo} \cr
\midrule
& \textbf{da 1 a 2} & \textbf{da 3 a 4} & \textbf{5} & \textbf{6} & \textbf{7} &
\textbf{8} & \textbf{da 9 a 10} \cr
\midrule
Conoscenza degli argomenti & Nulla & Notevolmente lacunosa & Incompleta e/o imprecisa &
Accettabile sui dati essenziali & Ampia & Sicura, ampia e articolata & Vasta e ben rielaborata \cr
\midrule
Capacità di analisi, sintesi, collegamento & Assente & Spesso incoerente e contraddittoria &
Scarsa & Complessiva”mente adeguata & Efficace & Ordinata e articolata & Coerente, coesa e con spunti critici \cr
\midrule
Chiarezza e correttezza dell'esposizione & Gravemente difettose e con errori & Scorrette, confuse e non adeguate alla
disciplina & Non omogenee, con alcuni errori & Adeguate, ma non sempre
controllate & Per lo più adeguate & Adeguate e corrette & Perfettamente
corrette, adeguate e ricche \cr
\bottomrule
\end{tabular}%
\caption{Griglia di valutazione degli esami orali}\label{tab:esamiorali}
%
\bigskip
%
\begin{tabular}{%
>{\bfseries\RaggedRight}m{21mm}
*{6}{>{\RaggedRight}m{21mm}}
>{\RaggedRight\arraybackslash}m{21mm}
}
\toprule
\multicolumn{8}{c} {\textbf{GRIGLIA DI VALUTAZIONE PER I TEST SCRITTI}} \cr
\midrule
& \textbf{Nulla} & \textbf{Gravemente insufficiente} & \textbf{Insufficiente} &
\textbf{Sufficiente} & \textbf{Discreto} & \textbf{Buono} & \textbf{Ottimo} \cr
\midrule
& \textbf{da 1 a 2} & \textbf{da 3 a 4} & \textbf{5} & \textbf{6} & \textbf{7} &
\textbf{8} & \textbf{da 9 a 10} \cr
\midrule
Rispondenza alla consegna & Nulla. Svolgimento fuori tema & Scarsa & Modesta &
Accettabile & Discreta & Buona & Ottima \cr
\midrule
Conoscenza degli argomenti & Nulla & Notevolmente lacunosa &
Incompleta e/o imprecisa & Accettabile sui dati essenziali & Ampia e articolata
& Sicura, ampia e articolata & Vasta e ben rielaborata \cr
\midrule
Competenze logico-linguistiche e capacità sintetiche & Gravemente difettose e
con errori & Spesso incoerenti e non adeguate alla disciplica & Scarsamente coerenti
e non prive di errori & Per lo più ordinate & Ordinate e articolate & Adeguate e
corrette & Coerenti, coese e con spunti critici \cr
\bottomrule
\end{tabular}
\caption{Griglia di valutazione degli esami scritti}\label{tab:esamiscritti}}}}\end{table}
`Ci ho messo dentro anche delle didascalie sensate ma probabilmente quelle che tu non useresti; ho marcato anche i \label.
Così com’è questa tabella, grazie all’iniziale \makebox sfora appena dai due margini laterali, ma bisogna prendere il righello per vederlo. Però è scritta in corpo 7 (script size di 10pt); la classe con cui l’ho testata è book.
::
I comandi fragili si rompevano perché in certe situazioni il loro sviluppo cominciava al momento sbagliato e quindi non facevano quello che dovevano producendo spesso degli errori “fatali”.Per rendere robusti i comandi si usava protect, ma ancora talvolta non bastava.
In LaTeX2e a seconda dei comandi che potrebbero avere per argomento un comando da eseguire al momento giusto (potenzialmente fragile) si definiscono diversi livelli di protezione, non solo uno, al punto che talvolta anche lo stesso \protect viene protetto. È diffcile dare esempi senza scendere nei dettagli, ma se apri latex.ltx e cerchi la stringa protect (senza backslash) troverai molti “sinonimi’ tipo \write@protect, \edef@protect (cito a memoria) ognuno di quali protegge quel che deve proteggere in un modo diverso.
Il LaTeX3 Team sta facendo il possibile per eliminare i comandi fragili; dicono che ce ne è ancora qualcuno quindi anche loro non li hanno trovati tutti; tuttavia se ti scrivi delle macro può succedere facilmente che non proteggi abbastanza le tue macro subalterne o che la tua macro bella e comodissima alla fine risulti fragile.
Ecco perché una quantità di comandi in latex.ltx sono definiti con \DeclareRobustCommand invece che con \def come succedeva nelle prime versioni nel 1994 e come succedeva sempre con il nucleo di LaTeX209, quello che è stato sostituito da LaTeX2e.
Nota che \def in LaTeX2e è sostituito da \newcommand, che non fa molto di più di \def, salvo, importantissimo, controllare che il nuovo comando sia effettivamente non ancora definito e la sua struttura (il suo nome) non possa andare in conflitto con i comandi del nucleo di LaTeX. Quindi i comandi definiti con \newcommand potrebbero risultare fragili a seconda di che cosa sono chiamati a fare e, specialmente, quando.
::
Certo che potresti definirti \mysection, ma sarebbe molto più complicato che non ricorrere alla riformattazione di un comando di sezionamento che abitualmente non si usa. Dovresti copiarti al definizione di \section da latex.ltx, cambiare nome alla macro, passare i parametri giusti alle macro subalterne, eccetera.prova ad aprire latex.ltx e andare a leggere la definizione di \section; siccome ricorre ad macro subalterne, vai a leggerti le definizioni di quelle macro. Dopo capisci perché è molto più semplice ricorrere a titleformat come hai fatto.
::
Lascia perdere sidewaystable.metti le due tabelle, ecentualmente anche con le didascalie e i relativi label, dentro una \parbox larga \textheight e metti la \parbox dentro a \rotatebox con una rotazione di 90º. Eventualmente se le due tabelle fossero più larghe di \textheight dentro la \parbox dichiara una corpo small o footnotesize con un ambiente o semplicemente con una dichiarazione.
Ora nota anche un punto: sidewaystable è un pacchetto preconfezionato che ruota il suo contenuto di +90º o -90º a seconda che la tabella cada in una pagina dispari o in una pari.
Per il lettore girare il libro ora a destra ora a sinistra a seconda della parità della pagina è un fastidio; in alcuni libri di tipografia si dice espressamente di ruotare le illustrazioni o le tabelle sempre nello stesso verso; se non piace che quegli oggetti nelle pagine pari abbaino la didascalia dal lato del margine interno, si può sempre usare un costrutto
`
\ifodd\value{page} …
\else …
\fi
`
in modo da mettere in modo non molto automatico 🙁 l’oggetto nella pagina dispari.Ricorda anche che una tabella non molto profonda ma troppo larga può stare benissimo diritta se si scambiano le righe con le colonne; basta solo pensarci prima, altrimenti bisogna giocare molto di copia e incolla per eseguire quello scambio a mano. I filetti vano poi messi oculatamente per tenere conto che le caselle di intestazione diventano caselle laterali (io non li metterei per niente, se non, forse, un filetto sopra e uno sotto all’intera tabella).
::
Più o meno abbiamo la stessa dotazione; tu hai TeX in practice e io ho il libro che scrisse Karl, TeX for the impatient. Ho anche un bel libro in italiano pubblicato una ventina di anni fa in italiano da Zanichelli, ma non è molto approfondito.Tre mesi? Tre mesi solo per decifrare Plain, credo che bastino; ma come tu sai bene non molto tempo fa ti ho chiesto spiegazioni in merito a \bordermatrix, Eppure ho studiato quella cosa saltuariamente per anni, ma ancora oggi non sono convinto di avere veramente capito ogni dettaglio, anche se l’ho capito a grandi linee. 🙁
::
È o dovrebbe essere chiarissimo che tutti i comandi definiti con uno qualunque dei comandi di definizione (\newcoommand, \def, \edef, \gdef, \xdef, \providecommand, ecc.) quando vengono eseguiti vengono sostituiti con la loro definizione; se questa contiene altri comandi definiti, questi vengono a loro volta sostituiti dalla loro definizione, e via di questo passo fino a che non si arriva ai comandi primitivi; questa è l’espansione. Per conoscere questi bisogna conoscere alla perfezione il TeXbook.Impresa non facile, ma senza raggiungere la perfezione, si arriva spesso a conoscere buona parte del TeXbook; io ne ho tre copie che tengo sulle varie scrivanie alle quali mi capita di lavorare. La mia memori non è più così buona e mi sbaglio spesso, cosicché mi trovo a consultare il TeXbook molto spesso.
Ma apro sovente il file latex.ltx in /texmf-dist/tex/latex/base/ e vado a cercare i vari comandi definiti. Se la definizione è breve e si rifà ad altri comandi definiti brevi, di solito riesco a capire il loro funzionamento alla lettura del codice. Se i comandi definiti occupano diverse pagine, vado sul source2e.pdf e cerco di capire lì.
Talvolta non basta per capire perché la mia macro non fa quello che vorrei che facesse; allora predispongo un file minimale nel quale introduco la definizione della mia macro e di tutte le macro subalterne che non facciano già parte del nucleo di LaTeX, poi carico il pacchetto trace.
Dentro al corpo del documento scrivo il minimo possibile che però usi la macro con tutti i suoi parametri obbligatori e facoltativi. Naturalmente prima della macro inserisco \traceon e dopo la macro e i suoi argomenti inserisco \traceoff; il prio è necessario per attivare la tracciatura delle operazioni che si eseguono, il seocndo seve per evitare che vengano tracciati tutti i comandi fino all’esecuzione di \end{document}
Lancio latex o pdflatex; generalmente il programma si ferma prima di aver completato l’esecuzione della mia macro, ma se anche l’avesse completata, non l’ha fatto come avrei voluto.
Però ora dispongo di un file .log dove compare tutto il lungo iter di sviluppo successivo delle varie macro: principale, sussidiarie, del nucleo di latex.ltx, o non definite mai (ecco l’errore); oppure che danno luogo a insoliti ed erronei passaggi di parametri dall’una all’altra, eccetera.Tutto ciò è trascritto nel file log. Bada bene; la lettura di questo file richiede una pazienza infinita e l’abilità di non leggerlo tutto, ma di saltare i brani ovvi o ripetitivi; il suo studio/lettura può richiedere diverse ore a seconda della complessità delle macro coinvolte. Quindi esso/a rappresenta l’ultima spiaggia, quando uno non sa più a che santo votarsi.
Tuttavia si impara moltissimo. Anzi direi che conviene tracciare l’espansione di macro piccole piccole, magari funzionanti alla perfezione, cosicché nel leggere il file log, non tanto lungo, ci si rende conto della mole di sostituzioni, espansioni ed elaborazioni che il motore di composizione esegue dietro le quinte; si capiscono meglio i meccanismi con cui vengono passati gli argomenti da una macro all’altra; si capisce bene il meccanismo di protezione dei comandi come anche quello di analisi della presenza di eventuali argomenti facoltativi. Insomma si capiscono un mucchio di cose.Ma per diventare dei TeXguru ci vogliono anni di paziente apprendimento 😉
Per ora studiati bene i comandi primitivi e cerca di decifrare non solo le soluzioni degli esercizi del TeXbook, non sempre così lampanti, ma cerca di capire e di decifrare (anche con l’aiuto dei commenti) le definizioni date nel file plain.tex (in una delle appendici) e del file di macro che Knuth ha aggiunto per la composizione del TeXbook. Questo è già un compito che richiede alcuni messi 😯
::
Risposta per Samiel:Aggiornamento: col codice indicatomi ed avendo due tabelle
di breve altezza, è possibile forzare a collocarle entrambe
nella stessa pagina?\mettile entrambe dentro lo steso ambiente table, con il loro \caption ma aggiungi un \bigskip in mezzo (l’esempio che segue prevede la didascalia sotto alla tabella):
\begin{table}
\begin{tabular}{…}
…
\end{tabular}
\caption{…}\label{tab:prima tabella}\bigskip
\begin{tabular}{…}
…
\end{tabular}
\caption{…}\label{tab:seconda tabella}
\end{table}
::
Ognuno si sente di ringraziare chi vuole, ma di solito i ringraziamenti sono pleonastici e retorici.
1) I relatori e co-relatori fanno il loro mestiere non qualcosa di speciale
2) i parenti e gli amici non c’entrano per niente; al massimo sono super contenti che ti laurei, ma un ringraziamento prprio non ce lo vedo; nemmeno per i genitori che magari ti hanno manteuto agli studi, ma dubito che abbiano fatto qualcosa per la tua tesi.
3) non parliamo di fidanzati/e che al massimo hanno tollerato qualche momento di distrazione in momenti in cui la distrazione sarebbe stata fuori luogo 🙂
4) gli unici che bisognerebbe ringraziare sono i tutori aziendali, i quali si sono presi una gatta da pelare a seguire una tesi di laurea in azienda e non l’hanno fatto come loro compito di mansionario 🙄Quanti tutori aziendali hai avuto? Tre pagine di ringraziamenti per uno, al massimo due tutori aziendali?
Guarda, ho avuto per le mani centinaia di tesi e nel vedere la bozza ho chiesto esplicitamente ai miei tesisti di non essere ridicoli a ringraziarmi per aver fatto il mio dovere… sarebbe offensivo per gli altri relatori e co-relatori come a suggerire che li si ringrazia per aver omesso di pensare a fatti propri, invece di fare il loro dovere 8)
L’unica cosa che rimpiango di quando avevo la responsabilità del corso di laurea e delle proclamazioni seguenti alle discussioni delle tesi, è di non aver letto tutti gli sproloqui dei ringraziamenti che gli altri relatori consentivano di inserire; mi sarei accorto di certi ringraziamenti (letti ahimè a proclamazione avvenuta e laurea registrata in segreteria) molto “goliardici” e qui irripetibili. Non avrei omesso di fare il mio dovere, cioè quello di deferire il candidato alla Commissione di Disciplina, che probabilmente lo avrebbe sospeso per almeno un semestre.
Per carità; non credo che questi casi siano diffusi, ma la pagina dei ringraziamenti è meglio che contenga poco, meglio se manca del tutto.
Magari una dedica: “Ai miei genitori” (o simile). se proprio non si può fare a meno di inserire qualche persona cara nella tesi.
Enrico è troppo buono quando dice che mezza paginetta sarebbe sufficiente sia per una triennale sia per una magistrale. Tre righe sono più che sufficienti nell’unico caso in cui i ringraziamenti sono dovuti, altrimenti è meglio non mettere niente.
-
AutoreRisposte