Risposte nei forum create
-
AutoreRisposte
-
::
Il preambolo è un po’ vecchiotto, ma direi che è completamente funzionante anche ora; quello che è cambiato da quando è stato scritto quel preambolo ad oggi è che pacchetti come graphicx e hyperref sono diventati abbastanza furbi per controllare, automaticamente, se il documento è stato compilato con latex o con pdflatex e quindi caricando il driver corretto (rispettivamente, dvips e pdftex). Quel preambolo,però, fa qualcosa in più di rendere un documento compilabile in due sistemi, perché carica pacchetti specifici per ogni tipo di compilatore.
Non è del tutto corretto. La riga \ifx\pdfoutput\undefined non è capace di distinguere fra latex e pdflatex, come sarebbe l’intenzione, almeno con le più recenti distribuzioni.
`\documentclass[12pt,a4paper]{article}
\usepackage{ifpdf}
\usepackage{graphicx}
\ifpdf
\usepackage[hyperindex]{hyperref}
\usepackage{thumbpdf}
\else
\usepackage[dvipdfm,hyperindex]{hyperref}
\fi`
Anche se dvipdfm mi sembra un progetto quasi defunto. Il distillatore pdf di Ghostscript funziona bene. Il comando \DeclareGraphicsEstensions per pdflatex è del tutto superfluo. Non è bene usare \RequirePackage in documenti, ma solo in pacchetti. Un’eccezione potrebbe essere proprio per il pacchetto ifpdf se vogliamo dare opzioni diverse a \documentclass:`\RequirePackage{ifpdf}
\ifpdf
\documentclass[::Salve sto utilizzando i minipage, ma se volessi indentare il testo in essi non ci riesco, potrei utilizzare qualche escamotage per farlo.
Ho provato ad usare \hspace ma non fa nulla.L’ambiente minipage azzera il rientro. Potresti usare \hspace*, ma non c’è la necessità:
`\newlength{\savedparindent}
\AtBeginDocument{\setlength{\savedparindent}{\parindent}}
\newenvironment{minipageindent}[1]
{\begin{minipage}{#1}\setlength{\parindent}{\savedparindent}}{\end{minipage}}`
Poi usi l’ambiente minipageindent come minipage.Spiegazione: definisci un nuovo parametro di lunghezza; appena dato \begin{document} questo parametro viene definito come la lunghezza \parindent (cioè il rientro usuale); nell’ambiente minipageindent viene aperta una minipage in cui si definisce il rientro uguale a quello usuale.
Ciao
Enrico
::Grazie del consiglio, ma per il momento ho poco tempo per mettermi ad usare un altro ambiente, e questo per adesso mi sembra molto intuitivo. Tornando al discorso, io per adesso ho ovviato al problema separando le parti delle formule, ossia così: $ 1W =1kg $ $m^{2} /s^{2}$.
Spero che qualcuno mi dia la giusta procedura per lasciare spazi all’interno delle formule, perchè non credo sia questa. 😥
La tua “soluzione” non risolve nulla. Ciò che devi fare è ricordare che LaTeX ignora qualsiasi spazio fra i segni di $; inoltre la buona tipografia richiede che i simboli delle unità di misura siano resi in carattere tondo e non in corsivo. Se il pacchetto SIunits ti sembra troppo complicato, un semplice
`$1\,\mathrm{W}=1\,\mathrm{kg}\,\mathrm{m}^2/\mathrm{s}^2$`
va benissimo. Ma, a questo punto, perché non usare SIunits?Come regola “a spanne”, ricorda che entrare e uscire dal modo matematico per scrivere una sola formula è sempre sbagliato.
Ciao
Enrico
::Ciao Enrico. Sfogliando l’Elenco dei peccati degli utenti di LaTeX, ho letto che times è obsoleto: l’autore consiglia di sostituire
`
\usepackage{times}`
con
`\usepackage{mathptmx}
\usepackage[scaled=.90]{helvet}
\usepackage{courier}
`Il risultato è brutto comunque: a volte gli editori impongono scelte tipografiche discutibili… 😉
Ovviamente l’uso di mathptmx è consigliabile rispetto a times. Se però non hai formule da comporre, basta times.
Ciao
Enrico
::Ciao a tutti, sapete dirmi qual è il comando “interno” di LaTeX che definisce il rientro (indentazione) dei vari paragrafi dell’ambiente quotation?
Immagino sia qualcosa come
`\parindent+\itemindent`
o
`\parindent+\listparindent`
ma non ne sono sicuro, il pacchetto layouts è ricchissimo di quantità tipografiche ed è facile sbagliarsi…Visto che ci sono, come faccio a definire una quantità pari alla somma di queste due? Per esempio,
`\hspace{\parindent+\itemindent}`
produce un errore, anche se carico il pacchetto calc. 😥Prima di tutto l’ultimo problema: calc permette di fare calcoli solo nelle assegnazioni, cioè comandi del tipo \setlength e anche altri che sfruttano quel meccanismo. Non funziona con \hspace e \vspace direttamente. Ma
`\newlength{\mylen}
\setlength{\mylen}{\parindent+\itemindent}\hspace{\mylen}`
funziona benissimo.Dove siano definiti i parametri di quotation è facile: in article.cls
`\newenvironment{quotation}
{\list{}{\listparindent 1.5em%
\itemindent \listparindent
\rightmargin \leftmargin
\parsep \z@ \@plus\p@}%
\item\relax}
{\endlist}
`
Quindi \listparindent è 1.5em, \itemindent è uguale a \listparindent, \rightmargin uguale a \leftmargin (che viene preso dal contesto precedente) e \parsep è zero senza possibilità di allungarsi elasticamente. La sintassi è quella abbreviata: se \aaa e \bbb sono parametri di lunghezza, \aaa\bbb è equivalente al comando LaTeX
`\setlength{\aaa}{\bbb}`
Ciao
Enrico
::Ciao a tutti, sono nuovo in questo forum.
Ho iniziato da poco ad usare Latex ed ora mi sto cimentando nello scrivere la mia tesi di laurea.
Vengo subito al dunque. L’IDE che uso è TeXnicCenter versione 1 beta 6.31 ‘Firenze’ (a quanto dice nella finestra About TeXnicCenter), equipaggiato con MiKTeX 2.4.Riporto per intero il preambolo che uso, magari può tornare utile:
`\usepackage{graphicx}
\usepackage[italian,english]{babel}
\usepackage[ansinew]{inputenc}
\usepackage{indentfirst}
\usepackage{fancyhdr}
…`
Il mio problema è che ho necessità di inserire delle parentesi acute del tipo:
`\left\langle … \right\rangle`all’interno di una caption di una figura e che, quando le inserisco, il compilatore mi dà 2 errori, entrambi con lo stesso messaggio, che qui riporto:
Missing number, treated as zero.
\def
l.18 …30A 111\right \delimiter “526930B $.}}{18}Facendo poi doppio click sull’errore, il programma va a puntare su una riga del file LOF che ha creato nella compilazione. La riga è la seguente:
\contentsline {figure}{\numberline {1.14}{\ignorespaces Modello strutturale del centro F$_{4}$ con i centri disposti lungo il piano $\left \delimiter “426830A 111\right \delimiter “526930B $.}}{18}
Credo opportuno chiarire che, usando BiBTeX, ho necessità di compilare una prima volta il file TEX, poi il file BIB e poi altre due volte il file TEX.
Gli errore mi vengono segnalati dopo la prima compilazione del file TEX sucessiva a quella del file BIB.È un problema dovuto, non ci crederai, a babel. Da quello che vedo, la tua didascalia è
`Modello strutturale del centro F$_{4}$ con i centri disposti lungo il piano $\left \langle 111\right\rangle$.`
Quei \left e \right sono del tutto superflui. Toglili e scrivi
`$\protect\langle 111\protect\rangle$`
Quando hai problemi simili, la soluzione è sempre di inserire \protect davanti al comando che causa l’errore. In questo caso sono \langle e \rangle.Ciao
Enrico
::Ciao a tutti.
Sono nuovo nell’ utilizzo di latex.
…
La mia richiesta è se per favore qualcuno mi può spiegare brevemente la sintassi, o mi sa dire dove posso trovare un manuale che la spieghi, perchè sulla guida “una (mica tanto) breve introduzione a latex” non ho trovato nulla.
Vorrei soprattutto sapere quando alcuni comandi vanno messi prima di \begin{document}.Non è facile spiegare quei comandi. Abbi pazienza, leggi le guide, consulta il forum e continua a farti domande (soprattutto guarda sulla guida come si definiscono nuovi comandi). Un po’ alla volta entri nell’ordine di idee su come agire sui comandi stessi.
Che cosa va prima di \begin{document}? Tutto ciò che non comporta composizione di testo: i pacchetti richiamati e le definizioni dei propri comandi.
Ciao
Enrico
6 Agosto 2006 alle 15:02 in risposta a: LaTeX nn è perfetto nella composizione di tabelle con \dfrac #9951::Ciao Lorenzo, Prova questa definizione:
`
\newenvironment{jacobi}{\def\arraystretch{1.5}\begin{pmatrix}}{\end{pmatrix}}`
e al posto di pmatrix usa jacobi. Se vuoi cambiare la distanza verticale agisci sul parametro sotto \arraystretch che a limite puoi mettere anche come argomento, con 1.5 da un buon risultato.Ciao Andrea, grazie per la risposta. Mi permetto di farti notare che anche la soluzione che indichi è “manuale”. In generale, mi sembra che LaTeX annaspi un pochino quando deve comporre formule con \dfrac: bisogna dargli una mano per ottenere un buon risultato.
Il problema sta nel fatto che viene data la preferenza ad avere matrici con righe allineate fra loro. Quando le celle hanno materiale troppo grande è necessario andare a mano. Con \\[
], preferibilmente. Ciao
Enrico
::No beh chiaramente l’idea era di usare renewenvironment per ridefinire quotation stesso (mi son confuso io, da come ho scritto in effetti sembrava che ritenessi equivalenti i due comandi… 😳 ). Cioè, scrivendo tipo:
`\renewenvironment{quotation}{\begin{quotation}\small}{\end{quotation}}`
(giusto?)
l’errore è:
`! TeX capacity exceeded, sorry [save size=32768]
\reserved@a -> \def \@currentvir {quotation}
\edef \@currenvline {\on@line} \cs …`
Boh!
Con \newenvironment, invece, nessun problema. Le indentazioni sono a posto (anch’io son d’accordo sul rientro di primo paragrafo nella citazione!).Non puoi definire un comando in termini di sé stesso. Con la tua definizione, LaTeX cerca di sviluppare il comando \quotation che viene tradotto in \quotation seguito da qualcos’altro, questo a sua volta in \quotation seguito da qualcos’altro …
Ciao
Enrico
::Produco una tabella con il seguente codice:
\begin{table}
\begin{center}
\caption{Coefficienti di aderenza}
\label{tabellaaderenza}
\begin{tabular}{c|c|c}
& $c_1$ & $c_2$ $$\\
\hline
\hline
strada asciutta & 1.1 & $6 \cdot 10^{-3}$\\
\hline
strada bagnata & 0.8 & $8 \cdot 10^{-3}$\\
\hline
\end{tabular}
\end{center}
\end{table}ma il titolo della tabella risulta troppo vicino alla prima riga della stessa. Ho dedotto che questo dipende dal numero di righe della tabella, perchè provando ad allungarla un po torna alla distanza corretta che ha in tutte le altre tabelle. C’è un modo per far si che sia
alla distanza giusta anche in questa piccola tabella?`\begin{table}
\centering
\caption{Coefficienti di aderenza}
\label{tabellaaderenza}
\medskip
\begin{tabular}{lcc}
& $c_1$ & $c_2$ $$\\
\hline
strada asciutta & $1.1$ & $6 \cdot 10^{-3}$\\
strada bagnata & $0.8$ & $8 \cdot 10^{-3}$
\end{tabular}
\end{table}`Guarda bene anche il codice della tabella.Ciao
Enrico
::Grazie mille Enrico! Non conoscevo la funzione del registro \newtoks di TeX! Ho provato il tuo codice ma non mi funziona, nel senso che non da errore (c’e’ un mismatch da correggere tra i nomi delle funzioni e da aggiungere \\) ma non stampa niente. L’unica cosa che fa e’ di inserire un carattere di tabulazione… 🙁
Provo un po’ ad approfondire…
E certo che non va 🙄 Ho incollato il codice sbagliato 🙄
`\newcommand{\duplicate}[2]
{\duptok={#1}%
\count255 = #2
\loop
\advance\count255 by -1
\ifnum\count255 > 0
\duptok=\expandafter{\the\duptok & #1}%
\repeat
\the\duptok}`
Ciao
Enrico
::E’ il mio primo post su questa lista e vi faccio i complimenti per il forum! Ho esperienza di Latex ma quasi nessuna di Tex e vorrei creare una macro da poter richiamare all’interno del tabular environment per ripetere N volte un pattern composto di stringa + caratteri di controllo. Ho studiato un po’ di documentazione su Tex e ho scritto:
`\begin{tabular}{|ccccc|}}
\hline
\multicolumn{5}{|c|}{Titolo}\\
\hline
\duplicate{& str1 & str2}{2}\\ %^
\hline
\end{tabular}`
Quello che vorrei ottenere e’: & str1 & str2 & str1 & str2 \\La macro \duplicate che ho scritto e’:
`\newcommand{\duplicate}[2]
{
\count255 = #2
\loop
#1
\ifnum\count255 > 1
\advance\count255 by -1
\repeat
}`
Ma ovviamente (!) dà errore…Si è parlato di un problema simile tempo fa qui sul forum. Il problema non è tanto nel catcode di &, quanto nel momento dell’espansione di \duplicate.
Puoi fare così:
`\newtoks\duptok
\newcommand{\duplica}[2]{%
\duptok={#1}%
\count255=#2%
\loop
\advance\count255 -1
\ifnum\count255 > 0
\duptok=\expandafter{\the\duptok & #1}%
\repeat}`In questo modo basta fare così:
`\begin{tabular}{cccc}
a & b & c & d\\
\duplicate{aa&bb}
\end{tabular}\begin{tabular}{cccccc}
a & b & \duplicate{cc&dd}{2}
\end{tabular}
`
Attento però che \duplicate deve stare subito dopo \\ o &. Se ci metti qualcosa prima non funzionerà.Si scrive LaTeX e TeX, mi raccomando. 😀
Ciao
Enrico
::Gentilissimi,
mi rivolgo a Voi per tentare di risolvere un problema che sta diventando un’ossessione!In bibliografia, unicamente nei titoli della classe articolo, le lettere maiuscole successive alla prima rimangono minuscole nel pdf e nel ps compilati. Lo so che è assurdo ma se metto ad esempio un \emph tutto va a posto…
Non sono sicuro di capire il tuo problema, soprattutto riguardo al corsivo. È lo stile bibliografico che dice come va composto un titolo. Prova a scrivere
`@ARTICLE{DiScipio:1995,
author = {Di Scipio, A.},
title = {Da \emph{{ConcretPH}} a \emph{{Gendy301}}. {Modelli} compositivi nella
musica elettroacustica di {Xenakis}},
journal = {Sonus: materiali per la musica contemporanea},
year = {1995},
volume = {14},
pages = {pp. 61-92},
number = {1-2-3},
owner = {jkant},
timestamp = {2006.07.15},
}`
È un problema noto; in sostanza, metti fra graffe le parole che vuoi che mantengano le maiuscole.Sul tuo preambolo non c’è molto da dire; ma il pacchetto newlfont non va caricato, è un avanzo di quando la selezione dei caratteri era in fase di revisione.
Noterai che ho cancellato il punto finale nel titolo dell’articolo; BibTeX aggiunge automaticamente la punteggiatura richiesta dallo stile. Non lasciare spazi prima dei segni di interpunzione, nella tipografia italiana non si usa.
Ciao
Enrico
::grazie mille!!!!!! il mio problema era che devo stampare parecchi fogli e se non altro così guadagno un pò di spazio e dimezzo quasi le pagine da stampare.sinceramente non trovo neanche che sia così illeggibile.cmq ancora grazie
ciaoMi fa piacere che questo problema sia stato risolto. Quando affronti quello dell’italiano? 😀
Siccome in questo forum si discute di LaTeX (e TeX) e quindi di composizione tipografica, un po’ di attenzione alla forma è d’obbligo. Per esempio, vedi l’apostrofo invece dell’accento, le virgole e le parole tutte intere. Ti servirà anche in futuro, quando invece dei foglietti per l’esame dovrai preparare la tesi. 😀
Ah, usa anche le maiuscole, mi raccomando. Nel mondo TeX solo Barbara Beeton (barbara beeton :?:) è demaiuscolizzata. E non possiamo certo paragonarci a lei che è direttore editoriale di TUGboat, la rivista ufficiale del TeX Users Group.
Ciao
Enrico
::` \documentclass[12 pt, a4paper,oneside]{book}
\usepackage[italian,english]{babel}
\usepackage[italian]{SIunits}
\usepackage[T1]{fontenc}
\usepackage[dvips]{graphics}
\RequirePackage[hyperindex]{hyperref}
\usepackage{makeindex}
\makeindex`
tu mi chiedi di usare invece \usepackage{hyperref}. Qual è la differenza con \RequirePackage[hyperindex]{hyperref}?Non ci sono molte differenze, per essere sinceri. \RequirePackage è un comando di livello medio che andrebbe usato solo nei file .cls o .sty. Nel tuo documento è meglio usare \usepackage, aggiungendo l’opzione “dvips”, se compili con LaTeX.
Altre piccole faccende: non ci deve essere spazio fra “12” e “pt”. Se scrivi in italiano, l’ordine corretto delle opzioni di babel è [english,italian] (che risolve il problema di “Contents” al posto di “Indice”). Meglio usare “graphicx” che “graphics” e, di solito, non è necessario specificare il driver come opzione.
Il pacchetto “makeindex” non esiste su CTAN, se ce l’hai è un fossile da non usare. Dovresti caricare “makeidx” e comunque prima di hyperref.
Ciao
Enrico
-
AutoreRisposte