Risposte nei forum create
-
AutoreRisposte
-
6 Gennaio 2007 alle 13:19 in risposta a: Algebra relazionale (1 di 2): considerazioni generali #11890::
Le variabili indicate con parole vanno composte in carattere corsivo non matematico.
Molto bene, c’eravamo già arrivati nella seconda discussione dedicata a questo argomento (<http://www.guit.sssup.it/phpBB2/viewtopic.php?t=2188>), ma va sempre bene sentire cosa ne pensa qualcun altro 🙂
I simboli \pi e \sigma ingranditi sono, francamente, orrendi.
Ne prendo atto.
Ti riporto il modo “corretto” di scrivere l’esempio in uno dei documenti pdf che citi
Ma veramente lo faresti con
`\noindent
$ […] $ \\
$ […] $ \\
$ […] $
`
(mi ha colpito soprattutto l’andata a capo esplicita) piuttosto che con il sistema che ho suggerito io («align» o un ambiente basato su di esso costruito appositamente)?Il comando definito \var ha un argomento opzionale perché, a mio parere, i numeri vanno in carattere diritto.
Molto bene. Prendo atto anche di questo.
Quanto all’andare a capo nei pedici, la troverei una soluzione poco adatta, se non c’è altro di meglio.
Già, anche di questo abbiamo parlato nell’altra discussione, e si è concluso di non adottare questa strada.
Con amsmath puoi usare l’ambiente subarray
Ho provato ad usarlo come suggerisci tu, ma non mi piace la resa grafica finale. Penso che il pedice rimarrà su un’unica riga. 🙂
Grazie molte e a presto!
::Non paragoniamo le mele con le pere: HTML e TeX sono concepiti per scopi molto diversi.
Senza ombra di dubbio. Il fatto è che condividono alcune caratteristiche (l’enfasi normale, gli elenchi, le tabelle, ecc.), e, per questa ragione, avevo pensato di «prendere in prestito» dall’uno quello che all’altro «mancava». Anche se in questo caso ho «preso» da HTML per «dare» a LaTeX, questo non vuol dire affatto che, pur essendo stati progettati per scopi diversi, il primo sia più «completo» del secondo, anzi: l’HTML, poverino, è così limitato, e il suo DTD offre così poche cose. Ecco perché per ottenere qualcosa di più lo si fa interagire con tanti linguaggi differenti, e perché, col tempo, ci si sta spostando verso XML ed altri linguaggi ancora…
Ad ogni modo, poi ci ho ripensato, e ho già scritto che forse il mio paragone era un po’ «tirato».
perché [per definire un comando «logico» che (per adesso) emula il grassetto] non basterebbe un «\let\strong\textbf»?
andrebbe benissimo l’ultima soluzione. Ma non è sintassi LaTeX, tutto qui; ciò che non è documentato nel manuale va usato con cautela, soprattutto dagli inesperti.
Benissimo.
Il comando da non usare è \bf. Invece \bfseries e \textbf sono più che leciti, ma servono per scopi diversi. Il primo è una dichiarazione, che vale per tutto il gruppo in cui si trova; se vuoi definire un ambiente dove il testo va stampato in nero, è il comando da usare.
Il secondo comando è invece un comando con argomento. La definizione
`\newcommand{\strong}{\textbf}`
al principio appare strana, perché si sospetta che non si passi l’argomento corretto al comando \textbf. Non è così: il compilatore TeX che si trova il comando \strong sostituisce la sua definizione, cioè \textbf; siccome questo vuole un argomento, TeX lo cerca. Però solo dopo aver eseguito la sostituzione! Ecco spiegato l’arcano.Con una definizione come
`\newcommand{\strong}[1]{{\bfseries#1}}`
fai leggere a TeX l’argomento due volte, invece che una sola.Lezione molto interessante. Non è la prima volta (e non sarà neanche l’ultima) in cui, leggendo una discussione cominciata da qualcun altro in merito ai suoi problemi, finisco per imparare qualcosa che, di mio, non sarei mai andato a cercare (non per disinteresse, ma perché non sapevo della sua esistenza).
Per finire, c’è differenza fra \textbf{…} e {\bfseries…}? Guarda con attenzione il risultato di
`\textbf{f}i {\bfseries f}i`E già, certo che c’è. Un esempio di questo tipo lo avevo già visto sull’Elenco dei “peccati” degli utenti di LaTeX2e
`\textit{Raf}fermo {\it Raf}fermo`
ma mai a poi mai mi sarebbe venuto in mente di provare questa cosa con due comandi non «vietati».Grazie di cuore per l’ottima spiegazione! A presto! 🙂
::
Ciao Enrico, mi dispiace che tu abbia perso del tempo per rispondermi, alla fine sono riuscito a combinare, grazie a questo messaggio: <http://article.gmane.org/gmane.comp.tex.danish/4960> (fortunatamente il linguaggio è «universale», perché il danese proprio non lo capisco).La soluzione cui ero arrivato:
`\newsavebox{\contenitore}\newenvironment{enfasiForte}{%
\par\medskip\centering\begin{lrbox}{\contenitore}%
\begin{minipage}{.95\linewidth}%
\setlength{\parindent}{1.5em}%
}%
{%
\end{minipage}
\end{lrbox}%
{\fboxsep=.5em\fbox{\usebox{\contenitore}}}%
\par\medskip%
}
`
Comunque, ti ringrazio, e domani cercherò di migliorare la mia soluzione integrandola con la tua, che sicuramente presenterà qualche aspetto che non avrò preso in considerazione.Quello che mi fa sorridere è che l’ambiente «lrbox» l’avevo già visto, ma non credevo fosse quello il suo ambito di utilizzo principale; dagli Appunti di informatica libera, <http://na.mirror.garr.it/mirrors/appuntilinux/HTML/a2.htm>, capitolo LaTeX: spazi e scatole, sezione Testo da salvare e da recuperare:
LaTeX ha una capacità limitata di memorizzare del testo in modo da poterlo inserire successivamente nella composizione:
`+———————————————————————+
| Comando | Descrizione |
+———————————————————————+
| \begin{lrbox}{n}testo\end{lrbox} | accumula nel registro n il testo |
| | indicato. |
|———————————————————————|
| | inserisce nella composizione il |
| \usebox{n} | testo corrispondente al registro |
| | n, in una scatola orizzontale. |
+———————————————————————+
`
Esempio (codice):
`\begin{lrbox}{1}
ciao a tutti
\end{lrbox}\begin{lrbox}{2}
ma che bello
\end{lrbox}Bla bla bla \usebox{2} bla bla bla \usebox{1} bla bla bla \usebox{2} bla
bla bla \usebox{1} bla bla bla
`
Esempio (output):
`Bla bla bla ma che bello bla bla bla ciao a tutti bla bla bla ma che bello bla
bla bla ciao a tutti bla bla bla
`non ridete per l’ambiente «center», so che non si dovrebbe usare, ma questa era solo una prova; fossi stato in grado di realizzare l’ambiente finale «enfasiForte» avrei richiamato «\centering»
Non c’è niente di male a usare l’ambiente center. Non va usato all’interno di un ambiente figure o table, ma è un’altra faccenda.
Intendevo dire che lo stavo usavo direttamente nel corpo ver vedere l’effetto finale, ma se fossi riuscito ad arrivare alla definizione di un ambiente apposito lo avrei sicuramente rimosso, in quanto
-
è vero che non lo si usa né in «figure» né in «table», ma secondo me non lo si dovrebbe usare in nessun altro ambiente in cui, comunque, si va a definire manualmente una qualche forma di spaziatura (nel mio caso, «\par» e «\medskip»);
-
più in generale, sempre per la separazione tra logica e presentazione, se possibile, cerco sempre di spostare la seconda nelle classi di documento e nei pacchetti (la centratura, per me, è presentazione, non logica).
l’ambiente «minipage» azzera «\parindent»
[…]
Bel suggerimento, ma quanto vale «\parindent»? un «\the\parindent» esplicito nel corpo mi ritorna 15.0pt, ma dubito seriamente che nei sorgenti di LaTeX (o di TeX) questa grandezza sia stata definita in modo non elastico.Vale quanto vale 🙂 Di sicuro non è una lunghezza elastica, non avrebbe senso.
Non si finisce mai di imparare. Ad ogni modo, sono rimasto colpito dal fatto che l’unità di misura di quella lunghezza non è qualcosa di relativo, come em. Immagino che questo voglia dire che classi di documento diverse (se vogliono) ridefiniranno questa lunghezza secondo le loro esigenze. Me la immaginavo come un qualcosa di «intoccabile».
Non puoi aprire una graffa nella prima parte e chiuderla nella seconda. L’unico modo è di usare l’ambiente lrbox, ideato proprio per questo
Ecco la morale di oggi.
`\setlength{\eFlen}{\parindent}% memorizzo la dimensione del rientro
\centering % prima di dare \centering che la azzera
`Anche questa è una cosa molto utile che mi servirà sicuramente in futuro.
Due ultime osservazioni prima che io pensi a sistemare definitivamente l’ambiente:
-
è indifferente se lo spazio tra il riquadro e il suo contenuto («\fboxsep») viene dichiarato all’interno dell’ambiente «lrbox» (come hai fatto tu) o nel momento in cui questo «registro» viene usato (come ho fatto io)? Sembrerebbe di sì;
-
memore di un’altra conversazione che abbiamo avuto un po’ di tempo fa (<http://www.guit.sssup.it/phpBB2/viewtopic.php?p=7872#7872>), mi sono chiesto se anche nella definizione di questo ambiente ci sarebbe stato bisogno di uno «\ignorespaces», ma sembrerebbe che con una o più andate a capo il risultato (in questo caso) sia identico. Immagino dipenda dal fatto che ci troviamo in un contesto differente.
Grazie e a presto!
::
Ciao Lorenzo, e grazie per l’attenzione anche per questo problema.Tieni comunque presente che è non è una prassi diffusa e che Enrico ti ha consigliato il corsivo.
Non me ne sono mai dimenticato. In pratica, quando ho bisogno di mettere in evidenza qualcosa (e già di mio lo faccio raramente) uso sempre il comando «\emph». A voler essere sincero, non credo che userò mai nient’altro. Penso di essere una d quelle persone che, alla fine, useranno tutto quello che è «predefinito», ma questo non vuol dire che, per uso personale (cioè per «giocare» a casa mia), io non voglia fare delle prove con LaTeX ad un livello più basso. Non credo che ci sia niente di male, in fin dei conti all’Università ci facevano fare un sacco di esercizi con i vari linguaggi (anche se quelli erano linguaggi di programmazione), e anche se tutto questo va un po’ contro alla filosofia del LaTeX, fare un po’ di esercizio a basso livello ogni tanto non credo guasti, potrebbero sempre venir fuori delle cose carine. Pensa a tutti quelli che hanno scritto pacchetti di macro «serie»… saranno dovuti partire da zero anche loro, no?
Quando al “come” realizzare l’ambiente, ti do un consiglio di ordine generale: non andare mai a mano, cerca piuttosto un pacchetto che faccia quello che chiedi. I problemi che possono sorgere “andando a mano” sono spesso subdoli e difficili da individuare e correggere.
Non lo metto in dubbio. Per esempio, prima mi ero posto una domanda sul formato della data restituito da «\today» e, non essendo pienamente soddisfatto da questo, ho cercato un pacchetto che ne gestisse la formattazione, non mi sono certo messo a smanettare di persona per cambiare il tutto. Quel pacchetto l’ho trovato (datetime), e ora stavo leggendo la sua documentazione.
Ma, consentimi di essere franco, dando un’occhiata al forum, mi è capitato di vedere che in più occasioni i problemi degli utenti sono stati risolti creando comandi e ambienti ad hoc, piuttosto che consigliando pacchetti (anche se, hai ragione tu, la maggior parte delle volte si opta per quest’ultima strada). Ho visto che sono stati definiti preamboli, comandi vari, la definizione dei quali è stata molto utile, ambienti numerati con variabili e contatori… in fin dei conti io qui sto cercando solo di mettere un riquadro in un ambiente, e anche se alla fine questo è solo un gioco, credo di avere il diritto di capire perché si può o non si può fare.
Ciò detto, mi pare che il pacchetto fancybox possa essere utile […]
Fancybox lo conosco, ma non mi piace proprio nessuno dei comandi che propone. Fra l’altro, quel pacchetto metteva a disposizione degli utenti diversi comandi per modificare diversi parametri delle scatole, ma non quelli a cui ero interessato io. No, sinceramente, per giocare con le scatole, «\fbox» e «\fcolorbox» mi bastano e avanzano. Di recente ho scoperto il pacchetto «pst-blur» dei PSTricks e il bellissimo comando «\psblurbox», ma sinceramente non credo che cercherò nulla di più complicato.
[…] ma è probabile che ne esistano altri: fa’ una ricerca su CTAN e su Sarovar.
Ti prego di non offenderti, ma stavolta non seguirò il tuo consiglio, proprio perché non voglio fare assolutamente nulla di più complicato. Voglio invece cercare di capire dove ho sbagliato. E non voglio fermarmi solo perché posso trovare qualcosa di più grande di me. Se così sarà, vorrà dire che leggerò un’altra fonte di documentazione e alla fine ne verrò a capo, magari aiutato da quelli che avranno voluto darmi una mano.
Grazie per l’attenzione e a presto!
::Se dovessi immaginare un’enfasi più forte dell’enfasi forte, mi verrebbe da pensare ad un blocco di testo racchiuso in un riquadro
[…]
Ma questa è un’altra storia… ehm, un altro topic.Ci ho provato (Ambiente per enfasi forte: testo in riquadro, <http://www.guit.sssup.it/phpBB2/viewtopic.php?t=2202>), ma ho incontrato un problemino nella definizione dell’ambiente.
Ciao.
::
Riciao a tutti.L’enfasi con il nero è pericolosa: si corre il rischio di appesantire molto la pagina.
[…]
Un corsivo va più che bene.Certamente, la maggior parte del testo del documento dovrebbe essere lineare, e se ogni tanto c’è bisogno di enfatizzare qualcosa, «\emph» va benissimo. Tuttavia, ho sempre creduto che un livello di enfasi superiore all’enfasi «normale» potesse ritornare utile. Come ho scritto prima, ho preso spunto da HTML, che consente questa enfasi superiore mediante l’elemento «STRONG» (la resa grafica prodotta da questo elemento è proprio del testo in grassetto).
Ad ogni modo, non va dimenticato che:
-
come ho detto prima, questo comando lo uso solo quando devo introdurre nuovi concetti in un documento, e forse una pagina contenente una singola parola in grassetto ogni dieci pagine non è proprio impossibile da sopportare;
-
HTML non tiene conto delle regole tipografiche tradizionali in quanto esso non lavora su un «foglio di carta» come LaTeX (documento, biglietto da visita, copertina di un CD, ecc.) ma su una pagina «virtuale» non meglio definita che assume connotazioni differenti a seconda del mezzo con la quale viene visitata (navigatore per computer, navigatore testuale per computer (es. Lynx), navigatore per telefonino, navigatore con interfaccia aurale per non vedenti, ecc.); sotto questo punto di vista, esso si prende molte «libertà» (d’altro canto, se consultiamo una sezione di una pagina web con il telefonino e il capoverso successivo non è indentato, magari non è proprio così fastidioso).
Pertanto, forse il mio paragone era un po’ «tirato».
Una piccola annotazione: per la tua definizione sarebbe molto meglio
`\newcommand{\strong}{\textbf}`
senza lettura di argomenti.Questa annotazione ti chiederei cortesemente di spiegarmela: non metto in dubbio che tu abbia ragione, come sempre, ma non mi è del tutto chiaro perché la mia definizione
`\newcommand{\strong}[1]{{\bfseries#1}}`
non andava bene. Ci sono un po’ di cose che non mi tornano:-
devo aver letto da qualche parte, tempo fa (forse in un esempio sulle marche nella documentazione di «fancyhdr»?), che nella definizione di un comando era prassi comune usare «\bfseries» al posto «\textbf»; da qualche altra parte (può darsi che l’abbia scritto tu in qualche vecchio messaggio), invece, ho letto che era «\bf» il comando che non si doveva usare più per la questione di NFSS; perché quindi non va bene usare «\bfseries»?
-
«\textbf» si aspetta un parametro, il testo che deve evidenziare in grassetto; nella mia definizione, ne ho tenuto conto:
`\newcommand{\strong}[1]{\textbf{#1}} % nuova versione`
tu invece me lo scrivi come:
`\newcommand{\strong}{\textbf}`
questo vorrebbe forse dire che se c’è corrispondenza tra il numero di parametri che si aspettanto due comandi (uno dei quali deve ridefinire l’altro) è prassi comune non specificarli, questi parametri (nella definizione)? -
perché, a questo punto, non basterebbe un:
`\let\strong\textbf`?
L’inesperto si chiederà: perché definire un comando che fa esattamente la stessa cosa di un comando già esistente?
Risposta: è utilissimo farlo se con il nuovo comando si vuole indicare una struttura logica del nostro documento. Se poi il solito supervisore pignolo dice che non gli piace il modo con cui quella struttura viene resa, basta cambiare la definizione del comando definito, invece di cercare nel documento dove appare il comando \textbf.
Esattamente!
A presto!
::
Ciao a tutti.sapete come si fa a sottolineare una parola?
Dai un’occhiata a questi pacchetti: ulem, soul e omoline.
In passato mi sono accontentato di «giocare» direttamente con «\underline» e «\underbar», senza mai scomodare dei pacchetti. «soul» lo usavo per il testo che doveva essere «tagliato» a metà orizzontalmente.
Comunque, samantha, credo che la cosa migliore sia dare ascolto al consiglio di Enrico; inoltre, se provi quei due comandi che ho scritto sopra, ti renderai conto di persona che, oltre ad essere vietato, ottieni anche un risultato poco gradevole esteticamente.
io ho un problema simile. […] vorrei enfatizzare le frasi più importanti. Siccome:
1) il \emph l’ho già usato per enfatizzare le parole chiave;
2) il grassetto \textbf{} mi pare troppo pesante;Non solo, ma quel comando non andrebbe neppure usato nel corpo del documento. Io farei così, prendendo spunto dall’HTML: in quel linguaggio esistono sia un’enfasi «normale» (l’elemento «EM», che corrisponde al comando «\emph» di LaTeX) che un’enfasi «forte» (l’elemento «STRONG»). Siccome quest’ultima in LaTeX non c’è, perché non crearla?
`\newcommand{\strong}[1]{{\bfseries#1}}`
Esempio d’uso:
`Questa cosa è \emph{importante}, e quest'altra \strong{più importante ancora}!`
Attenzione però! Il grassetto in un documento andrebbe usato con molta parsimonia. Io personalmente lo uso solo quando devo introdurre nuovi concetti o termini. Volendo, potresti migliorare il comando che ho suggerito facendo sì che scriva il nome del suo parametro nell’elenco delle voci dell’indice analitico, se ti serve.avevo anch’io pensato al sottolineato, ma sono stato rapidamente smentito dalla risposta di Enrico a Samantha!
Se dovessi immaginare un’enfasi più forte dell’enfasi forte, mi verrebbe da pensare ad un blocco di testo racchiuso in un riquadro (credo di aver visto più testi adottare questa soluzione). Direi che potrebbe essere una soluzione accettabile, e neanche troppo difficile da implementare (un ambiente con «\parbox» o «minipage» dentro ad un riquadro. E se ci piacciono le ombreggiature (a patto di seguire l’approccio LaTeX + Dvips + Ghostscript), perché non caricare anche «pst-blur» e chiamare in causa «\psblurbox»?). Ma questa è un’altra storia… ehm, un altro topic.
A presto!
::
Ciao nutsmuggler.Ti faccio un esempio di un nuovo comando (abbastanza idiota) con un parametro opzionale, sperando che possa aiutarti come spunto per realizzare il comando che ti serve:
`\newcommand{\titolo}[2][dott.]{il #1~#2}`
Questo comando, in condizioni normali, si aspetta come parametro obbligatorio il cognome di una persona e lo stampa dopo averne specificato il titolo («dott.» è il titolo predefinito).Il comando può accettare un parametro opzionale in cui è possibile specificare un titolo diverso, se «dott.» non va bene. Da’ un’occhiata al seguente esempio di utilizzo:
`\documentclass{article}\newcommand{\titolo}[2][dott.]{il #1~#2}
\begin{document}
Viva Fantozzi!
Viva \titolo{Fantozzi}!
Viva \titolo[rag.]{Fantozzi}!
\end{document}
`
Saluti.
::
Ciao ugaciaka.E per specificare la dimensione in pt per esempio si può fare per i caratteri?
Ti consiglio di dare un’occhiata alla parte dedicata a LaTeX all’interno degli Appunti di informatica libera, l’ultima edizione dei quali è attualmente consultabile all’indirizzo <http://na.mirror.garr.it/mirrors/appuntilinux/HTML/a2.htm>. La versione alla quale sto facendo riferimento in questo momento è quella del primo gennaio 2007 (2007.01.01). Per ora, la trattazione su LaTeX inizia nel capitolo 355 (LaTeX: introduzione) e i caratteri sono descritti nel capitolo 358 (LaTeX: caratteri), ma in futuro tutto questo potrebbe cambiare.
Questa parte degli appunti, talvolta, è stata criticata, in quanto si è detto che insegna agli utenti a usare direttamente delle funzionalità «a basso livello» all’interno del documento (mentre oggi si preferisce usare dei pacchetti appositi); ad ogni modo io ho apprezzato quello che sono riuscito ad apprendere da quelle pagine.
Io ti consiglierei di darci una letta, e magari di giocare un po’ con le cose che ci trovi «per uso personale»; tieni presente che può darsi il caso che alcune di quelle cose si possano fare in un altro modo, al giorno d’oggi.
Saluti.
::
Ciao a tutti.La [seguente] domanda andrebbe in un thread separato.
Mi permetto di rispondere qui, così se mi metto a scrivere scemenze almeno non apriamo un thread per niente, altrimenti casomai ci spostiamo 😉
[quote][quote][…] costruendo il main […] quando lo mando in esecuzione mi crea però un solo file. E’ possibile dirgli di creare oltre al file unico, anche file singoli x i vari cap?
È evidente che ti crei un solo documento (dvi o pdf). Ci sono vari programmi per spezzare un pdf.
[…] io non volevo usare altri programmi, ma poterlo far fare direttamente a LaTex in fase di compilazione.
Può essere che non c’è un comando o qualcosa da poter fare?[/quote]
No. Puoi solo, usando \include e \includeonly, compilare in modo che esca un capitolo alla volta. Quattro capitoli: quattro modifiche all’argomento di \includeonly, file pdf da rinominare prima della compilazione del successivo. Forse si può immaginare qualche script.[/quote]
Una possibile soluzione, anche se non tanto pratica, potrebbe essere quella di produrre inizialmente un solo file in output e segnarsi da qualche parte dove vanno a finire dei punti «strategici» (ad esempio, il capitolo 3 «dura» da pag. 11 a pag. 18, il capitolo 4 da pag. 19 a pag. 24 e così via). Se usi LaTeX per comporre i tuoi file
`latex file.tex`
e desideri che l’output dei tuoi lavori sia un[o o più] file PDF, puoi usare l’opzione «-s» di Dvipdfm; alla luce di quanto detto sopra, la riga seguente ti salva il capitolo 3 in un file separato, conservando inoltre la numerazione relativa all’intero lavoro:
`dvipdfm -s 11-18 -o cap3.pdf file`
se invece vuoi produrre sia file PostScript che file PDF, puoi usare l’opzione «-pp» di Dvips; la riga seguente genererà lo stesso effetto descritto sopra, ma stavolta l’output sarà un file PS:
`dvips -o cap3.ps -pp 11-18 file.dvi`
[da’ un’occhiata anche alle opzioni «-i» e «-S» di questo programma.]Successivamente, puoi richiamare Ghostscript in uno script per automatizzare le conversioni dei singoli file PostScript in file PDF.
La mia proposta non è esente da svantaggi; te ne cito solo un paio:
-
è scomoda da usare; se ti ritrovi a dover inserire delle sezioni in mezzo al documento, i numeri di pagina saranno «sballati» (es. il cap. 3, anziché cascare da pag. 11 a pag. 18 come all’inizio, può essere «spostato» di dieci pagine in avanti) e ti toccherebbe «ricalcolare» tutto;
-
non è detto che tu usi Dvips e/o Dvipdfm, e anche se non li conoscevi e te li ho «presentati» oggi, magari non vorrai usarli lo stesso.
Quindi, vedi tu.
Saluti.
30 Dicembre 2006 alle 15:30 in risposta a: tabelle o immagini nel loro paragrafo…no floattanti! #11900::
Ciao ugaciaka.io una serie di tabelle che non stanno tutte in un’unica pagina…
In tal caso sarebbe meglio caricare il pacchetto «longtable» e usare l’ambiente apposito al posto del più semplice «table».
… e fin qui mi sta bene.
Ma che una parte faccia parte del loro parafrafo e altra finiscono alla cavolo in un altro non mi va affatto bene (devono praticamente venire una dopo l’altra all’interno dello stesso paragrafo che decido io!)Non certo con un ambiente mobile, come «table» o «figure», dove è LaTeX a decidere. Se vuoi decidere tu, dovresti trattare questi oggetti come caratteri, collocandoli in un ambiente tipo «center» o una sua ridefinizione, anche se non sarebbe proprio corretto. Ad ogni modo, se la tabella è tanto lunga, non sono sicuro che tutto ciò funzioni. Io userei «longtable» e proverei a vedere come viene fuori.
`\usepackage[a4paper,hmargin={2.5cm,2.5cm},vmargin={2.5cm,2.5cm}]{geometry}
`Carino questo modo di impostare i margini con «geometry», lo terrò a mente (ero rimasto a «top=…, left=… »).
`\begin{tabular}{|p{15.5cm}|c|}`
[…] mi piacerebbe sapere perché ho dovuto specificare la larghezza della tabelle sennò mi sforavano fuori dal foglio …Un piccolo consiglio: invece di scrivere così
`p{15.5cm}
`
ti conviene fare riferimento alla giustezza dell’ambiente immediatamente superiore nel quale ti trovi
`p{.5\linewidth}
`
nell’esempio che ti ho fatto, quella colonna sarà larga il 50% di esso. In molti esempi si usa «\textwidth», ma secondo me «\linewidth» è più corretto in quanto, come detto sopra, fa riferimento non al documento in generale ma al contesto che «contiene» la tabella che stai inserendo.… e perché mettendo quel |c| le scritte all’interno non vengano centrate…su impara latex e (mettilo da parte…) non occorre specificare la larghezza e quel |c| funziona…boh
Ti faccio notare che avendo scritto
`\begin{tabular}{|p{15.5cm}|c|}`
hai definito due colonne nella tua tabella, ma nel tuo esempio ne hai riempita una sola: prova a popolare entrambe le colonne…
`\begin{table}[ht]
\begin{tabular}{|p{15.5cm}|c|}
\hline
Frasi relative ai soci onorari & fff\\
\hline
per i soci onorari rappresentiamo la data di nominazione & ggg\\
\hline
\end{tabular}
\end{table}
`
… a me pare che la seconda sia centrata, come volevi tu.Invece per le immagini ho un problema simile, se io voglio che una immagine stia nel suo paragrafo e non in quello di un’altro …
Come prima, anche se poco carino: «center» o simili, e non ambienti mobili.
… e inoltre che fra il titolo del paragrafo e l’immagine non ci siano interruzione
Questo è già più difficile da evitare. Se l’immagine è vettoriale, prova a scalarla, o a ridefinire il comando di sezionamento (es. «\section», «\subsection», ecc.) in modo che inizi sempre in una pagina nuova, così lo spazio ce l’hai (anche questa, comunque, non è un granché come soluzione).
… ho la necessità che queste tabelle stiano nel loro paragrafo dato che sono le uniche cose ce ci sono in quel paragrafo!
[…]
in un paragrafo sto cercando di mettere SOLO un’immagine…se me la sposta da un’altra parte ho un paragrafo vuoto!Ti prego di non offenderti, ma credo che un paragrafo che contiene solo una tabella o un’immagine non sia proprio il massimo (se te lo dico io che faccio cose che definire tipograficamente orrende sarebbe poco… 😉 forse sarebbe il caso di rivedere (ad un livello logico, di strutturazione) quella parte.
Saluti.
29 Dicembre 2006 alle 0:51 in risposta a: Algebra relazionale (2 di 2): testo del pedice a capo #11896::
Ciao Lorenzo, grazie per il tuo interessamento al mio problema.come si fa a mandare a capo il testo contenuto nel «pedice» di una formula matematica? O meglio ancora: è corretto o no fare quello che propongo di fare sopra?
Secondo me non è corretto. Un esponente o un pedice molto lunghi diventano poco leggibili.
Tra ieri e oggi ho consultato un testo molto autorevole in merito alle basi di dati, ovvero Ramez A. Elmasri, Shamkant B. Navathe, Sistemi di basi di dati. Fondamenti, Pearson Education Italia, 2004, 88-7192-220-4; ci ho riflettuto un po’ su, ho pensato anche a quello che hai scritto tu e sono arrivato alle seguenti conclusioni:
-
probabilmente non è corretto mandare a capo il testo del pedice; se fosse stato tipograficamente accettabile, LaTeX avrebbe già messo a disposizione un sistema per farlo; pertanto, direi che un buon compromesso potrebbe essere suddividere un’interrogazione in più espressioni (un’operazione per espressione), in modo tale da snellire la scrittura; inoltre, il testo sopracitato si comporta esattamente così (non manda mai a capo ciò che compare nel pedice e suddivide un’interrogazione in più espressioni);
-
in merito al fatto che non si dovrebbero avere pedici troppo lunghi per una questione di leggibilità, sono d’accordo solo in parte: non entro in campo nella matematica in generale, dove avrai sicuramente ragione, ma nell’algebra relazionale non è raro trovare una condizione costituita da una sequenza di più condizioni atomiche, concatenate dagli operatori «AND», «OR», eccetera, e le condizioni vanno sempre a finire nel pedice.
Fra l’altro, non credo sia giusto chiamare una variabile “codiceFiscale” e usarla in modo matematico: meglio $\text{CodiceFisicale}$.
Questo problema, per chi non l’avesse letto, era il secondo punto della discussione precedente, <http://guit.sssup.it/phpbb/viewtopic.php?t=2187>:
… può darsi, talvolta, che i nomi delle relazioni e degli attributi coinvolti non siano tipici nomi da insiemi, come «A» o «B», ma nomi comuni, come «GIOCATORE» e «nomeAutore»; pertanto, mi farebbe piacere sapere se qualcuno la pensa come me e quindi li inserirebbe come testi all’interno delle formule (es. «\[ … \text{nomeAutore} … \]») oppure se andrebbero inseriti direttamente all’interno di un ambiente matematico (es. «\[ … nomeAutore … \]») …
La vediamo allo stesso modo. Mi fa piacere 🙂
Premesso che non so niente dell’algebra relazionale e delle sue convenzioni …
Le uniche nozioni necessarie per capire a che cosa mi sto riferendo in queste due discussioni, sono le poche righe che ti scrivo di seguito.
L’algebra relazionale è un linguaggio di interrogazione procedurale e ad alto livello per basi di dati. Esso si basa sui costrutti del modello relazionale, ovvero la relazione (o tabella), gli attributi (le «intestazioni» delle colonne) e le tuple (o righe, o record). «Linguaggio di interrogazione» vuol dire che sulle tabelle che hai a disposizione devi farci qualche lavoretto sopra, in modo da «ritagliare» parte dell’informazione (quella che ti serve), «procedurale» vuol dire che devi specificare la sequenza di passi necessaria per definire tale interrogazione e «ad alto livello» vuol dire che si tratta di qualcosa di formale, di ben definito, e che nessuna applicazione per computer implementa direttamente tale linguaggio; semmai vengono implementati dei linguaggi che hanno qualche cosa in comune con questo ma sono più «concreti», come l’SQL.
In realtà, algebra relazionale e SQL non sono esattamente la stessa cosa (tra il primo e il secondo ci sta in mezzo, come minimo, il calcolo relazionale su tuple con dichiarazioni di range, ma questa è un’altra storia), in quanto l’SQL non è procedurale, ma dichiarativo, cioè non è tanto importante specificare la sequenza di passi necessaria a reperire l’informazione, quanto le caratteristiche che l’informazione stessa deve avere per comparire o meno nel risultato dell’interrogazione.
… me la caverei cambiando notazione:
1. dai alle variabili nomi brevi (Sia $c$ il Codice Fisicale, …) e usa quelli;Questo di norma non si fa per leggibilità; infatti, quando si ha a che fare con uno schema relazionale come LIBRO(Autore, Titolo, Anno, Prezzo), si intende riassumere un insieme di istanze di questo tipo:
`LIBRO <-- nome della relazione attributo ______/\______ / \ +------------------------------------------------------+ | Autore | Titolo | Anno | Prezzo | +------------------------------------------------------+ | Anthony Burgess | Time for a Tiger | 1962 | 19,52 | <-- tupla | Charles Dickens | Oliver Twist | 1838 | 10,00 | | ... | ... | ... | ... | +------------------------------------------------------+ ` se si usassero dei nomi brevi per gli attributi, si potrebbe arrivare a una situazione di questo tipo: in questo caso, non essendoci nomi ben definiti, uno potrebbe cercare di capire a che cosa si riferiscano le abbreviazioni solo guardando il contesto (per esempio, si può «intuire» che «p» rappresenti il prezzo)... `+------------------------------------------------------+ | a1 | t | a2 | p | +------------------------------------------------------+ | Charles Dickens | Oliver Twist | 1838 | 10,00 | +------------------------------------------------------+ ` ... ma non senza ambiguità; se provi ad immaginare la relazione che vedi qui sopra come all'esito di una ricerca fatta presso un sito che vende libri online, se uno non si intende di letteratura, potrebbe non capire quale sia l'autore e quale il titolo («a1» o «t»?). È anche vero che uno potrebbe inserire una legenda, ma questo, di norma, non si fa, in quanto si ritiene che «ad occhio» si legga meglio con i nomi di attributi «estesi». È una convenzione.2. non mettere le variabili come pedici, ma come argomento di una funzione.
In questo linguaggio non compaiono funzioni, in quanto la Prima Forma Normale impone una struttura «piatta»; per quanto concerne le condizioni delle operazioni, queste devono finire nel pedice, si tratta di un’altra convenzione, confermata anche nel libro.
P.S. Hai cercato su sarovar se per caso esistono pacchetti specifici per la tua disciplina?
Sinceramente non sapevo neppure che cosa fosse Sarovar prima di oggi; ho notato che compare in parecchi messaggi del forum e quindi vedrò di capire bene la sua utilità. No, per ora avevo provato solo su Google, con il quale avevo trovato solo quel file di esempio, e visto che dopo quattro pagine non era saltato fuori niente di rilevante, non ho neanche provato presso il CTAN.
Grazie e a presto.
Saluti.
::La questione del paragrafo non l’ho capita del tutto! 😳
Sinceramente sono io che non capisco. il rientro indica l’inizio di un capoverso, tutto qui.
Pardon, mi sono espresso male a causa della non precisa corrispondenza tra i termini inglesi e quelli italiani. La terminologia da me usata non era corretta.
In pratica, ho usato impropriamente il termine «paragrafo», intendendo fare riferimento con questo termine non ad un «insieme di periodi» (come quando a scuola si diceva «studiate il paragrafo 5.1 a pag. 96») ma ad un «singolo periodo», che in LaTeX inizia (e si conclude) con un’andata a capo o con un comando «\par».
La mia frase
Ecco perché l’indentazione, comportamento che LaTeX adotta di default per i nuovi paragrafi.
andrebbe riscritta così: «Ecco perché l’indentazione, comportamento che LaTeX adotta giustamente di default, come suggerisce la tipografia, per i capoversi, che sarebbero gli inizi dei periodi con cui si va a capo».
Diverso è infatti il caso di una lista, numerata o no, che può essere interamente contenuta in un capoverso insieme al testo che segue.
Questo è quello che intendevo dire quando ho scritto (impropriamente):
In questo modo non hai due paragrafi, ma uno solo, brevemente interrotto dall’elenco. Non essendoci un nuovo paragrafo, non c’è neanche l’indentazione che lo contraddistingue.
Saluti.
::Solitamente queli sono i vostri criteri per indentare codice?Personalmente mi sento a disagio a scrivere e a leggere su un unico livello…
Secondo me una cosa molto brutta da vedere è quando, per colpa di qualcosina, si deve «rovinare» un’indentazione che «sta funzionando»: sotto questo punto di vista, il carattere di tabulazione e quello di spaziatura non producano lo stesso risultato.
Senza voler entrare in merito a quale di questi due caratteri sia il più indicato per questo scopo (ammesso che vi possa essere una risposta «universale» per questa domanda), pensa un attimo a questi due esempi, che propongono entrambi un paragrafo, un elenco puntato dentro al paragrafo, un elenco numerato dentro all’elenco puntato e un testo letterale dentro all’elenco numerato (aldilà del fatto che questi esempi siano tipograficamente corretti o meno):
-
se per indentare usi la tabulazione, non hai alcun problema, in quanto questa sembra non avere nessun effetto sull’ambiente letterale:
`Bla, bla, bla
\begin{itemize}
\item bla
\begin{enumerate}
\item bla
\begin{verbatim}
bla
\end{verbatim}
\end{enumerate}
\end{itemize}
`
se provi ad aggiungere o a togliere tabulazioni al «bla» contenuto nell’ambiente «verbatim», il risultato che ottieni nel formato di output (DVI, PostScript, PDF) non cambia; -
al contrario, se usi il carattere di spaziatura, le cose cambiano eccome, dal momento che tale carattere non è affatto irrilevante:
`Bla, bla, bla
\begin{itemize}
\item bla
\begin{enumerate}
\item bla
\begin{verbatim}
bla
\end{verbatim}
\end{enumerate}
\end{itemize}
`
per poter ottenere nel formato di output lo stesso risultato che otterresti usando la tabulazione nel sorgente, dovresti scrivere il codice in questo modo:
`Bla, bla, bla
\begin{itemize}
\item bla
\begin{enumerate}
\item bla
\begin{verbatim}
bla
\end{verbatim}
\end{enumerate}
\end{itemize}
`
questa cosa è molto spiacevole da vedersi; questo è quello che volevo dire quando mi riferivo a qualcosina che stava rovinando un’indentazione funzionante. Qui ho fatto l’esempio con «verbatim», ma può darsi che ci siano anche altri ambienti che si comportano in modo simile.
Pertanto:
-
se usi il carattere di tabulazione per indentare, direi che puoi usarlo tranquillamente senza limitazioni;
-
se invece usi i caratteri di spaziatura, direi che è meglio astenersi dall’indentare e abituarsi all’«unico livello» di cui parlavi tu.
Detto ciò, io personalmente adotto quest’ultima strada. Semmai, al fine di migliorare la leggibilità, direi che varrebbe la pena di preccuparsi più di inserire delle andate a capo (righe bianche) in punti «strategici» (es. tra i comandi di sezionamento, tra i vari paragrafi…) che di badare all’indentazione.
Io non uso mai questo espediente nel testo, ma spesso lo impiego in forma blanda nelle definizioni di comandi.
[…]
Però ho quasi sempre i \begin e gli \end a inizio di una nuova riga, mi servono per marcare con chiarezza i punti importanti del documento.Completamente d’accordo con entrambi i suggerimenti.
Saluti.
-
-
AutoreRisposte