Risposte nei forum create
-
AutoreRisposte
-
::
Salve a tutti, anche io ho lo stesso problema. Ossia vorrei non numerare le pagine dell’indice (o al più numerarle con caratteri romani). Ho provato a seguire il consiglio di chi dice di usare la classe book, ma francamente l’indice che viene generato non è bello come quello generato usando la classe report. E tra l’altro non ho ben capito dove mettere i vari comandi mai back e così via…
Cmq, ora sono abbastanza soddisfatto di come sta venendo la mia tesi… l’unica cosa è questa piccolezza del numero…
possibile che non esista qualche opzione o qualche comando di una sola riga da utilizzare??? O un qualche pacchetto che lo faccia fare con un paio di comandi…
Magari, visto che è passato un anno dall’ultima risposta è stata trovata qualche soluzione alternativa ^__^`\clearpage
\begingroup
\pagestyle{empty}
\makeatletter
\let\ps@plain\ps@empty
\makeatother
\tableofcontents
\clearpage
\endgroup`
Prova a vedere se funziona scrivendo tutta la faccenda al posto del semplice \tableofcontents. Perché poi non le volete numerare, queste pagine, non lo so proprio.Ciao
Enrico
::Infatti, è estremamente scomodo usare sempre le graffe, per questo mi chiedevo se ci fosse una soluzione alternativa. Quella che proponi tu in tal senso è perfetta. Devo solo capire come funziona! 🙂
Per quanto riguarda la formattazione grafica, in diversi romanzi gialli l’ho incontrata, però senza il rientro delle linee che seguono la prima. Quella era solo una domanda “didattica”, per capire come funzionano le cose.`\newcommand{\startdia}{—\kern3pt}
\settowidth{\parindent}{\startdia}
\newcommand{\dia}{\par\noindent\startdia\hangindent\parindent\hangafter1\relax}`Il primo comando dice come vogliamo sia la lineetta di introduzione dei dialoghi; siccome devo usare la stessa cosa in due punti distinti (secondo e terzo comando), ne definisco uno per essere sicuro di non introdurre differenze
Il secondo comando assicura che il rientro è esattamente uguale alla dimensione della lineetta seguita dalla spaziatura, in modo che tutto sia allineato.
Il terzo comando esegue una “fine paragrafo” (\par) con paragrafo successivo senza rientro (\noindent). Compone la lineetta del dialogo seguita da uno spazio; uso \kern e non \hskip (o \hspace in sintassi LaTeX) per evitare che questo spazio partecipi al possibile allargamento o restringimento degli spazi per la giustificazione.
A questo punto viene la magia. A questo paragrafo viene applicata la seguente “forma”: ogni riga dopo la prima (\hangafter=1) viene rientrata di una dimensione pari al rientro usuale (\hangindent=\parindent). In queste istruzioni (primitive di TeX) il segno di uguale è opzionale, ma è bene far seguire il numero (1, in questo caso) con uno spazio o con \relax.
Questa forma di paragrafo vale solo per il paragrafo in cui compaiono le istruzioni. Credo che esista qualche pacchetto LaTeX che fornisce lo stesso risultato in sintassi più aderente agli standard, ma non ho voglia di cercarlo.
Ciao
Enrico
::Un’altra cosa: dove trovo documentazione su tutti gli ambienti definiti dal pacchetto?
Ho cercato in doc\latex, ma non c’è nessuna cartella verbatim dentro.Esiste anche un pacchetto chiamato, guarda caso, comment, la cui funzionalità è compresa anche nella classe memoir e che permette di definire vari ambienti per commenti da attivare in modo selettivo. La documentazione di verbatim si trova nella cartella doc/latex/tools, dal momento che verbatim.sty risiede nella cartella /tex/latex/tools.
Ciao
Enrico
::Ciao a tutti,
E permettetevi di ringraziarvi sin d’ora per il grandissimo servizio che rendete a tutti i neofiti di Latex. 🙂
Veniamo al mio problema: sto cercando un modo per definire a livello logico l’elemento di testo “dialogo”; ossia vorrei creare un’ambiente, un comando o un qualsiasi altro tipo di marker che mi permetta di specificare quando una riga dell’elaborato è un dialogo fra personaggi in un testo di narrativa. Per ottenere il mio scopo per ora ho definito un comando siffatto:
`\newcommand{\dia}[1]{\setlength{\origpar}{\parindent}\setlength{\parindent}{0cm}— #1
\setlength{\parindent}{\origpar}}`
Così facendo ottengo un risultato (soddisfacente) di questo tipo (non sapendo come altro fare, ho forzato il parindent inserendo dei puntini nel testo che segue):…Era una notte buia e tempestosa, proprio come da tradizione, quel mercoledì 4 Novembre. Il commissario Ulivi era di ritorno da una scena del crimine decisamente macabra, quando incontrò il suo vicino.
— Cosa ci fa in giro a quest’ora?
— Nulla.
E poi non credo di doverle dare spiegazioni.
…Il solito antipatico carattere di Ulivi.(Si, lo so: non si va a capo in questa maniera. E’ strumentale, per far capire il layout)
Questa soluzione è per il momento accettabile, e sono in grado, se dovessi decidere di voler formattare i dialoghi in altra maniera, di cambiare la definizione di \dia.
Ho però due domande; la prima: c’è una maniera più rapida per marcare i dialoghi, in modo che sia meno laboriosa la scrittura in Latex?
La seconda: supponiamo che io voglia ottenere una formattazione simile a quella che ho qui descritto, ma facendo in modo che le righe di dialogo successive alla prima rientrino dove inizia il testo (e non sotto alla lineetta), così:— E tu, come hai detto che ti chiami? Asmodeus? Buffo nome, direi. Non era
…forse il nome di un demone?In pratica, lasciando una colonna vuota sotto alla lineetta che indica il dialogo… Come potrei ottenere un effetto del genere?
Grazie mille
MarcoSe nel tuo testo ci sono molti dialoghi, una sintassi del tipo
`\dia{Frase}
\dia{Frase]
Testo
\dia{Frase}
…`
è pesante e difficile da maneggiare per le troppe graffe di cui tenere conto. Non mi ricordo di alcun testo che adotti un formato come quello che desideri. Quelli che ho consultato e che usano la lineetta per introdurre i dialoghi, la piazzano subito dopo il rientro. Chi legge capisce che è una battuta di dialogo.In genere, preferisco le virgolette, alte o basse non importa. Ti do una soluzione, vedi tu se ti piace. Ogni battuta viene introdotta da \dia, senza alcun argomento.
`\newcommand{\startdia}{—\kern3pt}
\settowidth{\parindent}{\startdia}
\newcommand{\dia}{\par\noindent\startdia\hangindent\parindent\hangafter1\relax}`
Ricordati di separare sempre i paragrafi con righe vuote.Se volessi poi tornare al formato usuale, basterebbe commentare la riga in cui si modifica il rientro e definire
`\newcommand{\dia}{\startdia}`
Ciao
Enrico
::Continuo il thread poichè non sono riuscito a sistemare il fatto che nei segnalibri del file pdf e anche nel toc le appendici mi finiscono sotto all’ultima parte della tesi.
Inconveniente a usare le parti. Puoi introdurre una spaziatura nell’indice usando
`\addtocontents{toc}{\protect\addvspace{10pt}}`
prima di \appendix. Probabilmente sarà il caso di fare lo stesso prima della bibliografia.Quanto ai segnalibri, direi che il problema sta proprio nel fatto che usi le parti e che hyperref considera tutto ciò che viene dopo una parte come appartenente a essa. Studiati la documentazione o rinuncia alle parti (che è meglio).
Ciao
Enrico
::Ti posso suggerire una soluzione efficace ma non elegante.
1)Fai calcolare a Ghostview il bounding box (visto che farlo ad occhio e’ scocciante :shock:)
2)Edita il pdf e modifica i valori del MediaBox, settandoli uguali ai valori ritornati da GhostviewPer il primo punto da prompt usa un comando del genere
`gswin32c.exe -q -dBATCH -sDEVICE=bbox -dFirstPage=1 -dLastPage=1 “il_mio_file.pdf”`Il device ‘bbox’ serve per ricavare il Bounding Box e l’HiResBoundingBox. Che a loro volta sono l’esatto ingombro della grafica dentro la pagina del tuo pdf.
Una volta che hai l’HiResBoundingBox, lo trascrivi manualmente rispettando l’ordine, dentro MediaBox. Usa un editor spartano che non introduce formattazione e cerca qualcosa del tipo /MediaBox [x1 x2 x3 x4].
Suppongo che se hai file pdf protetti, questo trucco non funziona perche’ non puoi editare il pdf a meno di corromperlo irremediabilmente. Dovresti prima sproteggerlo.Tuttavia questo trucco non e’ elegante, perche’ se apporti le modifiche come detto e ripeti il comando ghostscript sul pdf modificato, quest’ultimo ti da’ un warning dicendo che il file in questione e’ danneggiato. Ritengo che da qualche parte c’e’ un check (tipo un CRC o simili) anche se il pdf non e’ protetto/criptato. Ma qui mi avventuro in cose che non so. Nonostante tutto sia Ghosview che Adobe Reader 7 visualizzano perfettamente i pdf modificati.
Occorrerebbe scrivere uno script che automatizzi il tutto…O meglio cercare in rete perche’ sono sicuro che qualcuno avra’ gia’ creato un utility affidabile.
Funziona anche su Mac OS X, ovviamente si deve usare gs dal Terminale e non gswin32c.exe. Dando poi il comando “nano -w nomefile.pdf” la procedura funziona ottimamente.
Ma c’è un modo meno invasivo: sotto alla riga con “/MediaBox [x1 x2 x3 x4]” si può aggiungere una riga
`/CropBox [y1 y2 y3 y4]`
e poi aprire il file con Acrobat che lo ripara; salvi e dovresti avere ciò che ti serve.Ciao
Enrico
::Innanzitutto grazie per le risposte.
A dire il vero anche al prof non piace molto al divisione in parti….però mi era venuta naturale subito….
Per l’organizzazione, nei vari file parteX c’è tutta la parte, nel senso che un file contiene anche i capitoli relativi a quella parte, in media due x parte. Avevo diviso in subdirectory perchè mi sembrava più pulito….Ho usato
`\documentclass[12pt,a4paper,twoside,dvipdfm]{book}`
Ad ogni modo il problema persiste, l’intro è il capitolo 0, cioè la scritta Capitolo 0 non appare ma i paragrafi sono 0.1, 0.2 ecc….
inoltre ora dopo il backmatter le appendici non hanno più la dicitura Appendice ATogli le parti. È una divisione che ha senso solo in pochi casi.
Il problema del “Capitolo 0” dipende sicuramente da qualche cosa che non ci hai detto. Ma se un capitolo è diviso in sezioni, allora deve avere il suo bel numerello. Nulla vieta che l’introduzione sia il capitolo 1.
Le appendici non vanno dopo \backmatter. Dimenticanza mia.
Dimenticati pure di dvipdfm, è un programma ormai obsoleto. Usa pdflatex. Ci sono solo pochi pacchetti non compatibili, ne usi?
Ciao
Enrico
::Ho usato forse male i comandi e nell’intro mi da capitolo 0.
Vi posto il codice, se qualcuno ha voglia di aiutarmi sarebbe un grande favore….
`
\begin{document}
% Capitoli
%\cleardoublepage
\pagenumbering{arabic} \tableofcontents \cleardoublepage
\listoffigures \cleardoublepage
%Elenco delle tabelle
\listoftables
\cleardoublepage
\include{./intro/intro}
\cleardoublepage
\mainmatter
\include{./parte1/parte1}
\cleardoublepage
\include{./parte2/parte2}
\cleardoublepage
\include{./parte2/sicurezza_soa}
\cleardoublepage
\include{./parte3/parte3}
\cleardoublepage
\include{./parte4/parte4}%Conclusioni e future work
%\include{./conclusioni/conclusioni}
\cleardoublepage
\backmatter
%Appendice
\appendix
\cleardoublepage
\include{./appendici}
\cleardoublepage
%Ringraziamenti
%\include{./ringraziamenti}%\bibliographystyle{IEEEtran}
\input{./biblio/bibliografia.tex}
\end{document}
`Usare una sottodirectory per ogni file mi pare veramente un’esagerazione. Usare \cleardoublepage dopo ogni \include è certamente di troppo. Usare \include è inutile.
Ti sei dimenticato di dare \frontmatter.
`\begin{document}
\frontmatter
\tableofcontents
\listoffigures
\listoftables\input{intro}
\mainmatter
\input{parte1}\input{parte2}
\input{sicurezza_soa}\input{parte3}
\input{parte4}
%Conclusioni e future work
%\input{conclusioni}\backmatter
%Appendice
\appendix
\input{appendici}%Ringraziamenti
%\input{ringraziamenti}%\bibliographystyle{IEEEtran}
\input{bibliografia.tex}
\end{document}`
Prova. Naturalmente sei libero di organizzare il tuo spazio di lavoro come credi. Se le directory delle parti contengono a loro volta i file dei capitoli, può anche andare come fai tu. Ma non arriverei a spezzare un input in un file per capitolo; dopo tutto una tesi, anche grossa, quante pagine può avere?Sul fatto di scrivere quattro parti avrei serissime obiezioni, ma la roba è tua. Secondo me la bibliografia va prima delle appendici.
Ciao
Enrico
::Ciao,
oggi ho fatto l’aggiornamento di Adobe reader daal 7 alla 8 (appena uscita)…
Finora mi leggeva gli hyperref all’interno del documento e potevo vedere anche l’indice ai lati del doc. Ora non vedo più l’indice e non posso nemmeno cliccare sui collegamenti all’interno del documento, generati dal pacchetto hyperref.A voi va tutto bene??
A me sì. Si lancia in un istante, apre i bookmarks e va ai posti giusti (MacBook Pro, quindi versione Intel).
Ciao
Enrico
::ciao a tutti. ho il seguente problema, per mettere due figure sulla stesa riga uso l’ambiente minipage (v. codice sotto) purtroppo non riesco ad allineare verticalmente le due didascalie (in quanto le due immagini non hanno la stessa altezza). come posso fare?
`\begin{figure}
\begin{minipage}{8cm}
\centering
\includegraphics[width=6.8cm]{B1.jpg}
\label{fig:structurePF}
\caption{\small{\emph{didascaliaB1}}}
\end{minipage}
\begin{minipage}{8cm}
\centering
\includegraphics[width=6cm]{B2.jpg}
\caption{\small{\emph{didascaliaB2}}}
\label{fig:selective}
\end{minipage}
\end{figure}`
domanda “bonus”: è possibile regolare manualmente ela distanza tra tabella/foto/ecc e didascalia?Sbagli in più punti. Trovo perfettamente lecito affiancare due figure con la rispettiva didascalia, anche se le distanzierei abbastanza proprio per distinguerle. Non darei però dimensioni esplicite alle due minipage.
Errore grave: \caption va prima di \label in entrambe le figure.
Errore grave: \small dentro a \caption diminuisce solo il corpo usato per la didascalia e non quello per l’etichetta “Figura
” Il secondo errore si risolve caricando il pacchetto caption e dando l’istruzione
`\captionsetup{font=small,textfont=it,aboveskip=12pt}`
nel preambolo. Aumentando i 12pt puoi ottenere una maggiore spaziatura fra figura e didascalia. Vediamo allora come fare.
`\begin{figure}[htp]
\centering
\begin{minipage}{.4\linewidth}
\centering
\includegraphics[width=.85\linewidth]{B1}
\caption{Didascalia per B1}\label{fig:structurePF}
\end{minipage}
\hspace{4em}% aumenta o diminuisci secondo come ti sembra meglio
\begin{minipage}{.4\linewidth}
\centering
\includegraphics[width=.75\linewidth]{B2}
\caption{Didascalia per B2}\label{fig:selective}
\end{minipage}
\end{figure}`
Come vedi ho usato l’argomento opzionale a minipage per ottenere l’allineamento sul margine inferiore delle due minipage. Ho scalato le due figure secondo la tua proporzione originale, ma in termini dell’ampiezza delle due minipage. Così puoi stare certo che cambiando la giustezza (larghezza di riga), non ti va tutto a pallino.Ciao
EnricoPS per Emiliano: il pacchetto subfigure è obsoleto, il suo stesso autore consiglia di usare subfloat. Il primo viene mantenuto perché il secondo usa il comando \subfloat invece che \subfigure e \subtable. Ma i documenti nuovi dovrebbero usare il più recente.
::tornando alla funzione che devo scrivere ogni caso ha tutto spiegato nella definizione stessa della funzione tramite codice java, mi pare ripetitivo ripetere cose gia dette con altri termini, se vuoi e se hai tempo ti fo dare un’occhiata e mi sai dare maggiori consigli ad hoc.
Mandami pure un estratto, magari come messaggio privato. Non tutto il malloppone, ti prego.
Ciao
EnricoPS Ti sbagli, il calcolo proposizionale è decidibile.
::tornando a noi, viene molto bene con quel comando, cosa fa di preciso?
comunque trattasi di una funzione definita per casi ed e’ molto lunga perche ad ogni caso devo dare una decina di righe di codice java 😀
Ho semplicemente detto di rendere “flessibile” l’interlinea, in modo che TeX possa allargare le spaziature fra una riga e l’altra. Puoi anche, per maggiore sicurezza, aggiungere
`\setlength{\lineskip}{1\lineskip plus .2\baselineskip}`
Non pensi che sarebbe meglio aggiungere alla lunga lista di casi anche qualche paragrafo per spiegare al lettore dove si trova?Ciao
EnricoPS Esistono sistemi formali che ammettono una prova di coerenza con metodi formalizzabili all’interno del sistema. Per esempio il calcolo proposizionale.
::ok, questo mi fa la spezzettatura corretta dell’align, c’e’ anche un comando per fargli allineare il tutto correttamente (in verticale) sulla pagina? giusto per evitare gli undefull che urtano il sistema nervoso 😀
`\begingroup
\setlength{\baselineskip}{1\baselineskip plus .2\baselineskip}%
\begin{align*}
…
\end{align*}
\endgroup`
Viene certamente una schifezza, ma quando hai un input orrendo non se ne cava niente, di solito. Secondo te, qualcuno è capace di leggere cinque pagine di equazioni una dietro l’altra?Ciao
EnricoPS Insisto: la tua signature dice una cosa falsa 🙂
::Io sto usando l’ambiente description e devo scrivere
f_f = forza bla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla bla
Vorrei che i bla bla della seconda riga andassero sotto a “forza” e non sotto l’uguale
No, sbagli nel modo di procedere. Se fai così non puoi pretendere che tutto vada allineato dopo il segno di uguale, perché probabilmente diverse intestazioni hanno ampiezze diverse. L’ambiente description è non può fare ciò che chiedi. E come, allora?
Il mio suggerimento è: (1) align*, (2) tabularx (nell’ordine)
Con align* (pacchetto amsmath) puoi fare così:
`\begin{align*}
f_f &= \parbox[t]{.7\columnwidth}{forza bla …}\\
f_a &=\parbox[t]{.7\columnwidth}{forza bla …}\\
…
\end{align*}`
Con tabularx (pacchetto tabularx) puoi fare così:
`\begin{center}
\begin{tabularx}{\columnwidth}{@{}>{$}r<{{}$}@{}X@{}} f_f = & forza bla ...\\ f_a = & forza bla ... \end{tabularx} \end{center}` Il migliore, secondo me, è il primo modo, perché aiuta a separare visivamente la descrizione dal resto del testo. Puoi aggiustare il valore .7, ma lascerei un certo margine laterale proprio per compensare il fatto che i primi membri possono avere ampiezze diverse. Il preambolo un po' criptico di tabularx richiede una spiegazione [ul]@{} annulla la spaziatura prima della colonna iniziale[/ul][ul]>{$}r<{{}$} dice di comporre la prima colonna con allineamento a destra in modo matematico; se la cella contiene f_f=, il risultato sarà come $f_f={}$ e il gruppo vuoto serve a spaziare correttamente il segno di uguaglianza[/ul][ul]@{} annulla la spaziatura fra le colonne[/ul][ul]X compone una \parbox dell'ampiezza giusta per arrivare a riempire, fra prima e seconda colonna a \columnwidth (che nel nostro caso è la giustezza, cioè la larghezza delle righe di testo)[/ul][ul]@{} annulla lo spazio dopo la colonna finale, in modo che il risultato arrivi al margine destro[/ul] Il tutto è in un ambiente center per evitare problemi con il rientro e lasciare un po' di spazio verticale prima e dopo. Ciao Enrico -
AutoreRisposte