Risposte nei forum create
-
AutoreRisposte
-
::
Buongiorno a tutti,
stono in fase di stesura della tesi. Avrei una domanda sugli acronimi.
Ne “l’arte” trovo scritto questo: “Gli acronimi dovrebbero essere composti tutti da maiuscole, senza spazi né puntini fra di esse, anche se spesso si trovano forme differenti.”
Ne “l’arte di scrivere gli acronimi con latex” trovo questo: “gli acronimi in corpo più piccolo rispetto al resto del testo (seguendo una diffusa convenzione tipografica”.
Per gli acronimi non uso il pacchetto acronym, ho definito un comando \sc che mi fa gli small caps, ad esempio \sc{acs}. La mia domanda è questa: il testo all’interno del comando va messo in maiuscolo o minuscolo? \sc{ACS} o \sc{acs}. Dal punto di vista tipografico, secondo me, e dal punto di vista pratico sarei propenso per il tutto minuscolo.
Grazie dei pareri che verranno.
ps. acs sta per Archivio Centrale dello Stato
Visto che sei in fase di stesura, ti consiglio prima di tutto di cambiare il nome al comando, perché \sc è un comando (obsoleto) che in certi pacchetti può essere ancora trovato. Ti suggerisco
`\DeclareRobustCommand*{\asc}[1]{%
\mbox{\scshape\MakeLowercase{#1}}}`
con il quale hai un paio di vantaggi: che l’acronimo non partecipa alla sillabazione e che non importa come lo scrivi: \asc{ACS} e \asc{acs} danno lo stesso risultato.Ciao
Enrico
2 Febbraio 2010 alle 20:40 in risposta a: Inserire elenco puntato in tabella e centrare verticalmente #41585::Buongiorno Antonio, ti ringrazio molto sia del benvenuto che della risposta.
Devo chiedere scusa perché davvero quel topic non l’avevo trovato… ho provato a fare quello che veniva proposto. Quello che posso dire (premetto che in questo periodo sto utilizzando ClassicThesis) è che il caricare o meno i pacchetti citati (tabularx e array) a me non cambia nulla. Se uso il codice:
\begin{tabular}{|m{5cm}|m{2cm}|}
\hline
\begin{itemize}
\item 1
\item 2
\item 3
\end{itemize}
& testo \\
\hline
\end{tabular}tutto ok, ma se scrivo (come ho sempre fatto finora):
\begin{tabular}{|c|c|}
\hline
\begin{itemize}
\item 1
\item 2
\item 3
\end{itemize}
& testo \\
\hline
\end{tabular}non funziona è da questo messaggio d’errore:
! LaTeX Error: Something’s wrong–perhaps a missing \item.
See the LaTeX manual or LaTeX Companion for explanation.
Type Hfor immediate help.
…
1.460 \item 1Quello che cambia è che sostituisco |c|c| con |m{5cm}|m{2cm}|…
Il problema dell’INSERIMENTO è quindi risolto, ma per farlo è stato necessario fare questa sostituzione, la quale impone soltanto una centratura verticale senza curarsi di quella orizzontale. Basterà quindi usare \centering, \begin{center}, … a seconda del caso per CENTRARE orizzontalmente.Grazie mille!
Non ha molto senso cercare di centrare qualcosa che di per sé non è centrato come una lista. Puoi fare (con alcune limitazioni) quello che desideri inserendo la lista “itemize” dentro un ambiente “minipage”, ovviamente impostando esplicitamente una larghezza. Non puoi, per caso, fare un esempio reale di ciò che desideri?
Ciao
Enrico
::Ciao,
non so se può esserti utile… se hai un testo su due colonne per fare in modo che la figura occupi tutte e due le colonne devi usare `\begin{figure*}
\end{figure*}`Ciao, Gg
Ok ma per avere il testo su 3 colonne ??? qualcuno lo ha mai fatto ?
È possibile scrivere in tre colonne, con il pacchetto multicol. Ma quel tipo di impaginazione è un lavoro per il quale TeX non è stato pensato: ci sono programmi più adatti (con buoni e a volte ottimi risultati tipografici) sia commerciali (Adobe InDesign, Quark Xpress) sia liberi (Scribus) per questo tipo di lavori.
Ciao
Enrico
::Che distribuzione e sistema operativo usi?
Ciao
EnricoUbuntu 9.04 a 64 bit in università
Ubuntu 9.10 a 32 bit sul portatile
Ubuntu 9.10 a 64 bit sul mio fissoLo sospettavo; il problema è che Ubuntu usa la TeX Live 2007. Speriamo che la prossima versione abbia la 2009 (che è in “squeeze”, attualmente; quindi penso che qualche eroico sperimentatore possa provare a installarla anche sulla 9.10).
Ciao
Enrico
::Grazie a tutti per le risposte, sto cercando di capire le cose una per una, a cominciare da questa:
Quanto a
`\thispagestyle{empty}
\textcolor{white}{.}\\
\pagebreak `
per avere una pagina vuota, non credi che sarebbe più semplice \cleardoublepage dopo aver caricato il pacchetto “emptypage”?Ciao
EnricoTemo che emptypage non sia installato, oppure lo devo scaricare a parte?
Puoi mettere questo nel preambolo:
`\def\cleardoublepage{%
\clearpage
\if@twoside
\ifodd\c@page
% do nothing
\else
\emptypage@emptypage
\fi
\fi
}
\def\emptypage@emptypage{%
\hbox{}
\thispagestyle{empty}
\newpage
\if@twocolumn
\hbox{}
\newpage
\fi
}
\makeatother`
Non avrai più bisogno dei trucchi con \thispagestyle{empty} prima dei capitoli e \cleardoublepage lascia eventualmente una pagina completamente bianca.Che distribuzione e sistema operativo usi?
Ciao
Enrico
::Oppure bash! ;)`cat lista_disordinata.txt | sort -n > lista_ordinata.txt`
Non è detto che l’ordinamento sia rispetto alla prima colonna, dal momento che si tratta di una lista di persone. Con filtri di vario tipo si ottiene tutto ciò che si vuole. Anche con Calc di OpenOffice, però. Non è difficile importare ed esportare liste in un foglio di calcolo.
Ciao
Enrico
::Devo preparare una tabella contenente l’elenco degli iscritti ad un convegno. Ho pensato di usare il pacchetto longtable perché gli iscritti sono più di un centinaio.
E’ possibile, una volta scritta la tabella in un ordine qualsiasi (in ordine di iscrizione, per esempio), fare in modo che la compilazione la produca in ordine alfabetico rispetto ad una delle colonne (per esempio per cognome) ovviamente per tutta la tabella e non pagina per pagina oppure devo rassegnarmi e introdurre i nomi già in ordine alfabetico?La seconda che hai detto. 🙂
Ma un buon editor di testi può farlo per te. Oppure perl.
Ciao
Enrico
::Grazie. Adesso sto tentando di modificare per avere autore sulla stessa riga del titolo ma tutto a destra, ma ottengo errori a nastro. Come fare?
`\makeatletter
\renewcommand{\@maketitle}{%
\begin{flushleft}\Large\@title\hfill\@author\end{flushleft}}
\makeatother`
Mancava un \end{flushleft} anche prima. 🙁 Lo aggiungo.Ciao
Enrico
::Salve a tutti, devo fare un (milione di) homework. Al momento, dando \maketitle Mi viene il classico titolo centrato con l’argomento in grande, sotto il nome e la data. Io avrei bisogno di qualcosa di meno ingombrante per quanto riguarda il nome e la possibilità di inserire numero di matricola (sulla stessa riga del nome magari) e non al centro insomma qualcosa di più compatto. Qualcuno conosce qualche template semplice semplice o un pacchetto con cui si controlla la disposizione degli elementi del titolo ecc? Grazia in anticipo
`\makeatletter
\renewcommand{\@maketitle}{%
\begin{flushleft}\Large\@title\par\vspace{3ex}
\large\@author\par\vspace{4ex}
\end{flushleft}}
\makeatother
…
\begin{document}
\title{Compito dell'1 febbraio 2010}
\author{Pinco Pallino, XY123456}
\maketitle`
Modifica a piacere.Ciao
Enrico
::Le piccole cose sono:
-
la rilegatura, che nel PDF da consultare non ha senso
-
%\usepackage[nottoc]{tocbibind} nella stampa e %\usepackage{tocbibind} nel PDF da consultare
-
eventualmente twoside nella stampa e oneside nel PDF da consultare
Questo è il mio file principale
Il cambiamento del margine per la rilegatura non ha molto senso nemmeno nella stampa; chissà perché tutti si preoccupano tanto. Ma ognuno può avere le proprie idee. 🙂
L’opzione nottoc serve per evitare che l’indice vada nell’indice stesso. Non ho mai capito perché non sia di default per il pacchetto, visto che l’indice non va nell’indice.
Posso capire oneside o twoside; anche se sono dell’opinione di Ivan che la tesi è quella e non un altro testo. Il consiglio su crearsi un condizionale è ottimo. Il problema è come passare l’opzione “oneside” nel caso si faccia questa scelta. Ti consiglio comunque di usare geometry per impostare le dimensioni e puoi usare la strategia con il condizionale:
`\ifthenelse{\boolean{stampa}}
{\geometry{…}}% Per la stampa
{\geometry{…}}% Per la tesi on-line`L’inizio del documento sarà
`\newif\ifstampa
%\stampatrue
\ifstampa
\documentclass[12pt,a4paper,twoside,openright,titlepage,fleqn,italian]{book} % stampa
\else
\documentclass[12pt,a4paper,oneside,openright,titlepage,fleqn,italian]{book} % consultazione
\fi
\usepackage{ifthenelse}`
e poi potrai usare la strategia con \ifthenelse quando ti pare. Quando vuoi la stampa togli il % davanti a \stampatrue.Riguardo al codice che hai presentato, oltre al consiglio su geometry, ti prego di ricontrollare la parte relativa a fancyhdr, che è confusa e fa un paio di volte le stesse cose. Quanto a
`\thispagestyle{empty}
\textcolor{white}{.}\\
\pagebreak `
per avere una pagina vuota, non credi che sarebbe più semplice \cleardoublepage dopo aver caricato il pacchetto “emptypage”?Ciao
Enrico
::Ciao a tutti!
In LaTeX c’è modo di ottenere quello che in C si ottiene con #define #ifdef #ifndef ecc?
In particolare sto lavorando sulla mia tesi di laurea e devo produrre due versioni del PDF, una per la consultazione ed una per la stampa, cambiando alcuni parametri come l’interlinea ed altre piccole cose.
Dipende da molti fattori: per esempio come pensi di cambiare l’interlinea (ma sei proprio obbligato?); da come compili (da un front-end come Kile o TeXnic Center oppure da linea di comando); da quali siano le “piccole cose”.
Ciao
Enrico
::Con amsmath esiste l’ambiente \bmatrix che crea matrici le cui colonne sono sempre centrate. Però, per esempio una matrice come questa`\begin{bmatrix}
1&0&-1\\2&1&3\\0&-1&1\end{bmatrix}` viene bruttina per gli allinementi a serpentina delle colonne.
Se uso `
\left[\begin{array} ecc \end{array}\right]
`
posso mettere a posto l’allineamento delle colonne, ma le parentesi risultano decisamente più lontane dalla matrice di quanto risultino con \bmatrix (ed esteticamente è meno bello).
Ho provato a guardare la definizione di \bmatrix nel file amsmath.sty, per vedere se si poteva modificare in modo da dare la possibilità di scegliere l’allineamento delle colonne, ma è troppo complicata.
Quindi l’unica via d’uscita che vedo è quella di usare l’ambiente array ma vorrei riuscire ad avvicinare le parentesi come nelle matrici create con \bmatrix.
Avete consigli?Il primo è di non preoccuparti delle matrici con le celle centrate: si fa quasi sempre così; io trovo meno attraente l’allineamento a destra: prova con numeri di ordini di grandezza diversi e vedrai che serpentine! E se qualche cella contiene lettere, sei fritto.
Ci sono due modi per ottenere ciò che vuoi: il primo è di copiarsi la definizione dell’ambiente matrix di amsmath modificando ciò che serve, il secondo è forse più utile nel caso ti serva qualche matrice con allineamenti di colonne diversi.
Primo modo, potrai usare gli ambienti matrixr e bmatrixr come i soliti (eventualmente puoi definire altri ambienti in modo simile a bmatrixr):
`\makeatletter
\newenvironment{matrixr}
{\env@matrixr}
{\endarray \hskip -\arraycolsep}
\def\env@matrixr{\hskip -\arraycolsep
\let\@ifnextchar\new@ifnextchar
\array{*\c@MaxMatrixCols r}}
\newenvironment{bmatrixr}
{\left[\env@matrixr}
{\endmatrixr\right]}
\makeatother`
Secondo modo:
`\newenvironment{varbmatrix}[1]
{\left[\array{@{}#1@{}}}
{\endarray\right]}`
Per l’ambiente varbmatrix devi specificare le colonne e i loro allineamenti; per esempio la tua matrice di esempio dovrebbe essere
`\begin{varbmatrix}{rrr}
1&0&-1\\2&1&3\\0&-1&1
\end{varbmatrix}`
L’ambiente varbmatrix diventa insostituibile se hai “matrici ripartite”, perché si possono specificare filetti verticali.Ciao
Enrico
::come avevo detto nel precedente topic nel documento, come di prassi nell’editoria, il primo rigo di un paragrafo rientra di 1 cm, mentre i restanti elementi, tipo elenchi puntati e numerati, tabelle, ecc., mantengono l’allineamento con i margini della pagina.
per ottenere quello richiesto ho inserito all’inizio `\usepackage{indentfirst}` che fà quello richiesto, il problema che il rientro inserito è molto poco, quasi ridicolo, di solo 4 mm.
l’esempio che mi hai segnalato fà quello richiesto ma con lo svantaggio di inserire il rientro sempre per tutti i nuovi elementi (elenchi – titoli – titoletti).
l’ideale sarebbe un comando simile a indentfirst con la possibilità di poter scegliere la dimensione del rientro.L’entità del rientro è una questione di gusti. Un centimetro mi pare un’esagerazione. Gli elenchi puntati eccetera hanno rientri che non dipendono necessariamente dal valore di \parindent; la “prassi” di non far rientrare gli elenchi puntati mi risulta nuova. Anzi, che io sappia, tutti i manuali raccomandano di farli rientrare rispetto al margine sinistro per metterli in evidenza rispetto al testo normale.
Come detto, indentfirst si occupa solo di far rientrare anche il capoverso che segue un titolo di sezione; questione di gusti se farlo o no. Io preferisco no, ma non è qualcosa su cui farei la guerra. Sulle liste sì.
Ciao
EnricoPS: per favore, “fa” non vuole l’accento. 🙂
::Salve, con questo codice imposto il rientro dei paragrafi, però il rientro ha effetto anche per gli elenchi puntati o numerati, mentre io vorrei il rientro solo per la prima riga del paragrafo.
`\setlength{\parindent}{xxpt} `
Mi pare di averti già consigliato di non giochicchiare con \parindent. Puoi fare un esempio di quello che non ti pare giusto?
Ciao
EnricoPS: ho modificato il titolo del filone; come già detto altre volte, la parola “indentazione” è un termine tecnico della geografia e non si usa in nessun’altra accezione.
31 Gennaio 2010 alle 16:55 in risposta a: Underfull \hbox (badness) in paragraph: come risolvere? #41526::È molto difficile che giustezze come 2.43 cm permettano una giustificazione corretta. In caso di giustezze ridotte, è meglio comporre a bandiera:
[code]\begin{tabular}{
>{\raggedright}p{2.15cm} l
>{\raggedright}p{2.43cm}
>{\raggedright\arraybackslash}p{3.9cm}}[\code]
Ciao
EnricoGrazie mille. Ora non ho più badboxes! 🙂
C’è solo un particolare: la quarta colonna è giustificata a sinistra. Come la giustifico in pieno spazio? Altrimenti il testo risulta con enormi spazi lasciati vuoti a destra nel riempimento di casella… 😕Giovanotto! Senza un esempio vero, come puoi pensare che ti capiamo? Anche 3.9 cm non sono tutto questo spazio, sai? E anche lì giustificare è un’impresa senza speranza.
Le tabelle con celle di quel tipo vanno raffinate a “prove ed errori”, studiando caso per caso le ampiezze più adatte. Ma è assai probabile che tu stia usando male gli attrezzi. Perciò, se non si tratta di un segreto militare o industriale, prova a dare un esempio.
Ciao
Enrico
-
-
AutoreRisposte