Risposte nei forum create
-
AutoreRisposte
-
::
Ho fatto tutto quello che hai scritto. Compilato 4/5 volte, l’effetto grafico è molto pulito e ordinato. L’unico problema è che la terza colonna, l’ultima di destra, esce dai margini della pagina. Il problema sarebbe facilmente risolvibile se latex diminuisse solo un pò lo spazio vuoto (inutile) che lascia tra la seconda e l’ultima colonna.
Per darti un’idea ti lascio il codice della mia tabella definitivo com’è ora (togliendo un po di contenuto inutile), sempre con i relativi pacchetti inclusi a inizio documento.
`…
\begin{longtable}{@{}>{\footnotesize}c@{}>{\footnotesize}c%
@{\extracolsep{10pt}}>{\footnotesize}p{.5\textwidth}@{}}
\caption{Requisiti Funzionali}\\[-\abovecaptionskip]
\bottomrule
\multicolumn{1}{c}{\footnotesize\textbf{ID Requisito}}&
\multicolumn{1}{c}{\footnotesize\textbf{Funzione}}&
\multicolumn{1}{c}{\footnotesize\textbf{Descrizione}} \\
\midrule
\endhead
Req\_f\_01 & Differenziazione Accessi &
Esistono 4 diverse tipologie di utenti:
amministratore, docente, studente, utente non registrato.
Ognuno di essi possiede diversi permessi sul Wiki. \\
…`Sarebbe molto meglio così:
`\begin{longtable}{@{}>{\footnotesize}c>{\footnotesize}c
>{\footnotesize}p{.45\textwidth}@{}}
\caption{Requisiti Funzionali}\\
\toprule
\textbf{ID Requisito}&
\textbf{Funzione}&
\hspace*{\fill}\textbf{Descrizione}\hspace*{\fill} \\
\midrule
\endhead
Req\_f\_01 & Differenziazione Accessi &
Esistono 4 diverse tipologie di utenti:
amministratore, docente, studente, utente non registrato.
Ognuno di essi possiede diversi permessi sul Wiki. \\
…`
Quello spazio che ritieni inutile è invece molto importante.Se hai bisogno di più spazio per la terza colonna, potresti considerare di usare
`>{\footnotesize\centering}p{\colwd}`
per lo specificatore della seconda colonna. Nel preambolo scriverai la seguente magia:
`\newlength{\colwd}
\settowidth{\colwd}{\footnotesize Differenziazione}`
(usando la parola più lunga della tua seconda colonna, naturalmente, al posto di Differenziazione).Con questo puoi arrivare anche a .59\textwidth per la terza colonna.
Ciao
Enrico
::Diciamo che la prova è più accademica visto che per il momento non mi serve. Mi rendo conto che è necessario compilare due volte e cancellare il file ogni volta, ma questo è un problema che volevo pormi successivamente.
Tableofcontents non lo posso usare perché si occupa già di creare l’indice globale di tutti gli articoli presenti. L’uso di queste macro mi servirebbe teoricamente per creare un sommario ad esempio in una review molto lunga, che compare insieme ad altri articoli che invece non necessitano di questo minisommario.
La prova con \newwrite funziona, ma il risultato è sempre lo stesso come se ci fosse qualcosa che inibisce la scrittura e l’uso di lipsum sblocchi la cosa…Se spulcio il file log ritrovo le prime tre righe nel log file, come se il valore passato a \write fosse maggiore di 15. strano perché il log riporta \@uscita=\write3
[edit]
Ho risolto. Tutto è imposto da \immediate che costringe il comando a essere svolto immediatamente. Tranne che su \openout, che viene eseguito al momento dello shipout. Quindi i capitoli che compaiono sulla prima pagina non possono essere scritti perché non si sa dove scriverli…C’era qualcosa che non mi tornava! Devi mettere \immediate prima di \openout; altrimenti l’apertura del file avviene dopo la prima chiamata della routine di output (cioè dopo che è stata composta la prima pagina).
Ciao
Enrico
::Studiandomi un po’ il pacchetto minitoc ho pensato di creare un esempio minimale di come produrre un piccolo sommario, esempio che potrebbe essermi utile in casi molto particolari (come creare un piccolo sommario di un articolo molto lungo in una rivista.
Ho quindi scritto il seguente codice che funziona, ma ha un piccolo difetto, non mi scrive le prime sezioni
`\documentclass[a4paper]{article}
\usepackage{lipsum}
\makeatletter
\newif\@test
\@testfalse
\def\apriscrittura{
\IfFileExists{\jobname2.tex}{\@testtrue}{\@testfalse %\newwrite\@uscita
\openout15=\jobname2.tex
\relax
\immediate\write15{\relax}
}
}
\def\chiudiscrittura{
\immediate\closeout15}
\def\newsection#1{\section{#1}
\if@test %\relax
sono true\par
\else
sono false \par
\immediate\write15{\hskip 7pt \thesection. #1\hfill \thepage\par}
\fi
}\makeatother
\begin{document}
%\leggi
\apriscrittura
\hrule
\vskip 5pt
\textsc{Table of Contents}\par
\InputIfFileExists{\jobname2.tex}{}{}\par
\vskip 7pt
\hrule
%\lipsum
\newsection{Prova}
\newsection{provaci}
\lipsum
\newsection{prova di nuovo Sam}
\lipsum[7]
\newsection{Ancora}
\lipsum
%\chiudiscrittura
\end{document}
`e il risultato nel file \jobname2.tex è
`
\hskip 7pt 3. prova di nuovo Sam\hfill 2\par
\hskip 7pt 4. Ancora\hfill 2\par
`
Se invece decommento il primo \lipsum scrive correttamente i 4 paragrafi ma non il primo relax. Credo che sia un problema sul modo in cui apro il file, ma non ne sono sicuro.
Ho provato a usare \newwrite\uscita, ma poi quando scrivevo \write\uscita mi dava un errore.
Qualche suggerimento? 🙄C’è qualcosa che non va; prima di tutto è meglio se \newif è seguito da un comando che comincia con \if. Prova così:
`\newif\if@test
\@testfalse
\def\apriscrittura{%
\IfFileExists{\jobname2.tex}
{\@testtrue}
{\@testfalse \newwrite\@uscita
\immediate\openout\@uscita=\jobname2.tex
\immediate\write\@uscita{\relax}}
}
\def\chiudiscrittura{\if@test\else\immediate\closeout\@uscita\fi}
\def\newsection#1{\section{#1}
\if@test %\relax
sono true\par
\else
sono false \par
\write\@uscita{\hskip 7pt \thesection. #1\hfill \thepage\par}%
\fi}`
Ma così non funziona proprio: se aggiungi una sezione l’unico modo di compilare correttamente il tutto è di cancellare il file con l’indice.Perché non usare \tableofcontents, opportunamente modificato?
C’è un altro errore, molto importante: il \write in cui usi \thepage non deve essere immediato, perché a quel punto TeX potrebbe non sapere qual è il numero di pagina giusto.
Ciao
Enrico(Corretto secondo quanto scritto nel mio messaggio successivo)
::Ok, riformulo meglio.
Sto scrivendo una presentazione in beamer. Devo far comparire una semplice equazione, seguita da una condizione su quest’equazione. Precisamente, una cosa del tipo
\[
-\Delta u = f, \qquad f>0.
\]
se tolgo la condizione “f>0”, l’equazione viene centrata rispetto alla pagina. Se aggiungo “\qquad f>0”, il “centro” della formula si sposta, e dunque si sposta l’equazione “-\Delta u=f” più a sinistra. Ciò che vorrei fare è mantenere l’equazione “-\Delta u = f” centrata e far comparire sulla destra la condizione $f>0$.La condizione fa parte dell’equazione, questa è la risposta ufficiale. Userei \quad, non \qquad.
Naturalmente c’è la possibilità di fare ciò che chiedi, ma considera quello che ti ho detto; puoi caricare mathtools e scrivere
`\[
-\Delta u = f,\mathrlap{\quad f>0}
\]`
Ciao
Enrico
::Salve a tutti,
vorrei centrare, rispetto alla pagina, una equazione in un ambiente matematico, e farne comparire un’altra alla destra di questa senza che la prima si sposti dal centro. Ho cercato un po’ in giro ma senza risultati. Suggerimenti?
Qual è il motivo della richiesta? Ho il sospetto che sia qualcosa che non si deve fare.
Ciao
Enrico
::Ringrazio anche Lorenzo, di cui non avevo visto la risposta..
Ho provato direttamente sull’esempio minimale propostomi da Enrico. Il problema è in questi termini. Se nell’esempio scrivo \fontsize{10}{7} ottengo il carattere più piccolo rispetto agli 11pt standard del documento ed ho una interlinea, diciamo così, pari a 7 “moltiplicato” per 1.5 di \linespread.
A me questo codice da spazio più ampio sotto alla quotation rispetto a quello sopra; se al posto di 7 scrivo 13 e ricompilo ad occhio sembra centrato.Messa in questi termini posso anche pensare che nel secondo caso le cose vanno bene per pura coincidenza..cosa che non credo..
`\documentclass[a4paper,11pt]{book}
\usepackage{lipsum}
\usepackage{bookman}
\linespread{1.5} %
\frenchspacing
\newenvironment{myquotation}{\begin{quotation}\fontsize{10}{7}\selectfont}{\end{quotation}}
\begin{document}
\lipsum[1]
\begin{myquotation}
\lipsum[2]
\end{myquotation}\lipsum[1]
\end{document} `
Avete anche voi le impaginazioni diverse? purtroppo uno linespread intorno a 1.5 mi servirà e dovrò mantenere carattere 10 nelle quotation con righe “più compresse” per cui non posso evitare questo tipo di condizioni.Avanzamento di riga inferiore al corpo? Direi che non va. Ma puoi annullare l’effetto del \linespread esterno:
`\newenvironment{myquotation}
{\begin{quotation}\linespread{1}\small}
{\end{quotation}\vspace{-6pt}}`
Purtroppo un piccolo aggiustamento manuale ci va. Ma lo dai una volta per tutte nella definizione dell’ambiente.Con Bookman aspettati decine di Overfull \hbox. Chiunque chieda un formato come quello non ha la minima idea di che cosa sia la tipografia e dimostra un gusto artistico prossimo a quello di uno gnu. 🙂
Ciao
Enrico
::In effetti anche a me il tuo esempio non dà problemi, forse la rogna è altrove..e penso di averla risolta (anche se non ho capito il perchè):
vediamo..il mio documento è impostato così
`
\documentclass[a4paper,11pt,twoside, openright,titlepage]{book}
\usepackage{bookman}
\begin{document}
%fontsize{11}{22}\selectfont
…
`
Volevo vedere il risultato di alcuni diversi caratteri (sto provando Bookman, ma vorrei provare Palatino e Times…questo perchè il relatore, che ti ho già presentato in altre occasioni, ritiene il font standard di LaTex troppo “tecnico” e da buon utilizzatore di Word sostiene che c’è una infinità di font più “umanistici”..tralascio commenti) e per rapidità ho utilizzato \fontsize{..}{..}\selectfont per cambiare velocemente la dimensione e l’interlina del font e fare così diversi tentativi; la cosa mi torna utile anche perchè in bibliografia scrivo le voci più “compattate”, un po’ come faccio per le “quotation”, quindi modifico con fontsize l’intelina, lasciando dimensioni del carattere immutate.
Avevo così commentato \lineapsread{1.5}, e modificato l’interlinea con il fontsize nel mio codice sopra (che era non commentato).
Ora ho provato il contrario, è attivo \linespread e, come vedi nel codice, è commentato il fontsize (che al limite uso solo localmente nella mia ridefinizione di quotation e nell’impaginare la biblio).Preferisco tenere \fontsize{10}{13} dentro la definizione di myquotation proprio perchè così controllo e riduco l’interlinea, cosa che con \small non posso fare. In realtà, dopo la riabilitazione di linepsread l’interlinea nelle quotation è aumentata, secondo me perchè linespread ha effetto moltiplicativo anche sul {13} del \fontsize..riducendo il valore tra parentesi graffe dovrei recuperare l’effetto iniziale..
Prima di dare un verdetto definitivo faccio qualche prova..voglio controllare più di qualche quotation..strano però che se nel corpo di un documento definisco con \fontsize una dimensione ed una interlinea per il testo e sempre con \fontsize ne definisco di diversi dentro quotation mi si crea quel problema degli spazi prima e dopo la quotation; se definisco la dimensione base di 11pt in \documentclass e l’interlinea con linespread, per poi fare mofiche solo locali con \fontsize, il problema non sembra verificarsi..
per il momento ti ringrazio per il sempre valido, pronto e professionale aiuto!
Temo che il problema sia proprio nell’interlinea definita in quel modo. Molto meglio usare \linespread oppure il pacchetto setspace.
L’unico uso sensato di Bookman è per allungare il brodo. I Computer Modern sono basati su un font della Monotype e tutt’altro che “tecnici”. Prova con Palatino, Times è abusato, anche se sempre valido. Anche Utopia non è male (pacchetto fourier).
Ciao
Enrico
::Ho un dubbio su come quotation gestisce gli spazi prima e dopo la citazione.
Il problema è che mi aspetto uno spazio tra la riga di testo precedente alla citazione uguale allo spazio che c’è tra la fine della citazione e la riga immediatamente successiva (che inizia un nuovo paragrafo)..in tutto il documento questo spazio verticale tra la fine citazione ed il nuovo paragrafo è più ampio di quello che c’è tra il testo precedente e la citazione stessa…io in pratica vorrei la citazione centrata verticalmente tra i due flussi di testo in cui è inserita.
Per rendere la citazione adeguata al formato desiderato riduco il carattere e l’interlina rispetto al resto del corpo del testo con un \fontsize{…}{…}\selectfont interno.In pratica, ad esempio ho
…mondo degli affari e, più in generale, nella società. Infatti:
% QUI IN OUTPUT LO SPAZIO VERTICALE MINORE
\begin{quotation}\fontsize{10}{13}\selectfont[/b]
Degeneration theory was…e vario altro testo
\end{quotation}
% QUI QUELLO MAGGIORE
Si era per la maggior parte… etc..Esiste un modo per controllare quegli spazi nella definizione di quotation?
Per comodità pensavo anche di definire un
\newenvironment{myquotation}{\begin{quotation}\fontsize{10}{13}\selectfont}{\end{quotation}}..che dovrebbe a sua volta “tirarsi dentro” le eventuali varianti apportate all’ambiente quotation.Qualcuno ha un’idea del perchè del comportamento descritto e di come si può intervenire?
Non mi risulta.
`\documentclass[a4paper,12pt]{article}
\usepackage{lipsum}\begin{document}
\lipsum[1]\begin{quotation}\fontsize{10}{13}\selectfont
\lipsum[2]
\end{quotation}\lipsum[1]
\end{document}`
produce spazi perfettamente uguali sopra e sotto; cerca di produrre un esempio minimale. Ti sconsiglio di usare comandi come quello; meglio dare \small. La definizione dell’ambiente è certamente
`\newenvironment{myquotation}{\begin{quotation}\small}{\end{quotation}}`
Come già spiegato più volte, si può modificare la definizione dell’ambiente quotation direttamente; in questo caso, se usi babel, puoi dare
`\addto\quotation{\small}`
Ma è bene sapere ciò che si fa, quando si prova codice del genere.Ciao
Enrico
::Grazie della risposta tempestive Enrico.
Ho utilizzato un file .bib con i riferimenti. il problema e’ che nel caso di articoli (la cosa non mi suiccede con libri e report) il nome dell’articolo non viene stampato. l’autore e l’anno al contrario si.(parlo dell’elenco di testi alla fine, non delle citazioni durante il testo)
Evidentemente usi uno stile bibliografico che omette i titoli degli articoli. Che cosa usi per \bibstyle?
Ciao
Enrico
::Salve a tutti, questo e’ il mio primo post, e,come era da aspettarsi da un principiante, sono qui per chiedere una cosa.
E’ normale che natbib non mostri i nomi degi articoli citati nella bibliografia finale dicharata con \bibliography{} ?
C’e’ un modo per forzare latex a mostrare i nomi?L’argomento di \bibliography deve essere il nome del database dei riferimenti bibliografici.
(pdf)latex documento
bibtex documento
(pdf)latex documento
(pdf)latex documentoEt voilà.
Ciao
Enrico
::Sì, ho quel pacchetto. Ti dico come si presenta la pagina che mi da problemi:
siccome ho tolto la numerazione al capitolo, non lo inserisce nell’indice, quindi ho aggiunto il comando \addcontentsline{toc}{chapter}{titolo capitolo} e il risultato è:\addcontentsline{toc}{chapter}{titolo capitolo}
\chapter*{titolo capitolo}
\markboth{}{}Ho provato a iserire \cleardoublepage ovunque, ma la prima pagina continua a riportare l’intestazione del capitolo precedente.
Avevo anche pensato di eliminare definitivamente quell’intestazione, ma siccome si tratta dell’elenco figure, la cui compilazione è automatica, non saprei dove inserire il comando.Con questo documento non ho alcuna testatina sulle pagine successive all’inizio del capitolo non numerato:
`\documentclass[a4paper]{book}
\usepackage{fancyhdr}
\pagestyle{fancy}
\usepackage{lipsum}\begin{document}
\mainmatter
\chapter{foo}
\lipsum
\appendix
\chapter{bar}
\section{xyx}
\lipsum\chapter*{fpp}
\markboth{}{}
\addcontentsline{toc}{chapter}{fpp}
\lipsum[1-100]
\end{document}`
Ovviamente \addcontentsline va dopo \chapter*, ma non ha alcuna influenza sulle testatine.Adesso, ti prego: cerca di farci capire che cosa potrebbe non andare. Con la nebbia la sfera di cristallo funziona male.
Ciao
Enrico
::ciao a tutti!!
come faccio ad ottenere la numerazione progressiva delle note per tutto il documento, senza che ricominci ad ogni capitolo?
lo so che può sembrare un’inutilità ma il mio prof me lo richiede… palleeee! :-S`\usepackage{chngcntr}
\counterwithout*{footnote}{chapter}`
Ciao
Enrico
::Ciao a tutti, ho provato a dare un’occhiata ai topics precedenti per vedere se c’era una soluzione al mio problema ma non l’ho trovato.
Ho bisogno di scrivere in lingue in cui viene utilizzato l’umlaut, ma non voglio ricorrere a metodi che rendano ridondante e noioso il testo in winedt. Vorrei scrivere ad esempio queste lettere così come sono: ËÄäë (ma anche la u e la i) e stampandole con pdflatex ovviamente ottenere lo stesso. Esiste un pacchetto? O cosa dovrei fare altrimenti?
Altra domanda: così come c’è il vocabolario in italiano vorrei farlo per una delle lingue in cui voglio scrivere (almeno una versione base da arricchire durante la stesura dei vari testi). Potete indirizzarmi a link o dispense?
Benvenuto, perdona se ti ho spostato nel forum più adatto e se ti do una tiratina di orecchie. 🙂
Un problema un topic: così si può cercare meglio ciò che serve. Ma rispondo a entrambe le domande:
`\usepackage[latin1]{inputenc}`
dove latin1 indica la codifica scelta, che deve coincidere con quella del sistema operativo o dell’editor. Con WinEdt credo che si possa scegliere, ma non ne sono sicuro.
`latin1 = ISO 8859-1
ansinew = nativo Windows
utf8 = unicode multibyte`
Trovi l’argomento trattato sulla (mica tanto) breve introduzione (link in cima alla pagina).La seconda domanda ha una risposta breve: cerca con Google “dizionari WinEdt” o qualcosa del genere.
Ciao
Enrico
::Ciao Enrico,
Ho seguito il tuo consiglio, lavorando un po’ di fantasia..
Ho rimesso a posto il file jurabib.sty (così non ho problemi di compatibilità se dovessi compilare su altri pc). Al comando \bibenf in jurabib.bst (che io ho comunque già rinominato jurabib1.bst) ho sostituito il comando \bibnuovo che ho definito nel preambolo del mio documento (la sostutizione l’ho fatta solo nella sezione dove si formattano gli editors perchè mi interessava intervenire solo su quella). \bibnuovo altro non è che una copia integrale del comando \bibenf definito in jurabib.sty con un DeclareRobustCommand, salvo ovviamente il nome cambiato in \bibnuovo ed il risultato finale dei vari ifthenelse che ho modificato secondo il risultato che desideravo ottenere (avevo pensato anch’io che i vari Von e Jr fossero controlli che a me non servivano ma già che c’ero lo ho cambiati tutti visto che tanto uno solo era il risultato desiderato). Così ora jurabib1.bst mi formatta i vari bibitems con il comando \bibnuovo da me definito (o scopiazzato da \bibenf) e che ovviamente fa quello che desidero.
Funzionava anche prima, con le modifiche dirette a jurabib.sty, ma almeno adesso il risultato lo ottengo senza metterci dentro le mani. Delle modifiche a jurabib.bst (rinominato in jurabib1.bst) mi preoccupo meno, tanto bene o male se si ditribuisce un sorgente o si compila su un altro pc, il foglio di stile per la bibliografia bisogna averlo (ovviamente a meno che non si tratti di un plain o di stili già forniti con la distribuzione di LaTex).Questo mi ha fatto capire una cosa e la riporto come commento, magari serve a qualcuno che si avvicina al package..jurabib come pacchetto lavora su due piani distinti, quello della bibliografia a piè pagina, fortemente controllata dal foglio di stile jurabib.sty, caricato con \usepackage[…]{jurabib}, e quello della biblio finale che, SE SI VUOLE, può essere formattata con un stile coerente (\bibligraphystyle{jurabib} ma che può essere formattata con uno stile qualsiasi, magari prodotto con makebst. Il legame tra jurabib.sty e jurabib.bst sta nel fatto che quest’ultimo usa comandi definiti nel primo per formattare anche la biblio finale, ma come detto non siamo costretti a seguire questa via.
Il mio errore era quindi banale: jurabib.bst non mi andava perchè metteva in un certo ordine publisher e addres ed io l’ho modificato in jurabib1.bst invertendo quell’ordine.
Pensando che tutto andasse rinominato, ho cambiato jurabib.sty in jurabib1.sty nella cartella del sorgente, portando le mie varianti al file jurabib1.sty. In realtà se impongo \bibliographystyle{jurabib1} richiamo certamente il mio file jurabib1.bst, ma in preambolo rimane \usepackage[…]{jurabib} per cui il foglio di stile che LaTex legge e compila è sempre e solo jurabib.sty e mai il jurabib1.sty..Hai voglia a modificare il file jurabib1.sty e a chiederti perchè non vedi effetti!! Il file su cui lavorare era ovviamente un altro..
OT..ho notato in un altro post la tua citazione del “Finissimo Mandorlato di Cologna Veneta”, mio loco natio..mi servirebbe uno smiley con i denti rotti, per accompagnare il tutto, visto che è tanto finissimo quanto duro.
Tutto è bene quel che finisce bene! 🙂
Forse questo?
. Ma se trovi quello buono, vale la pena di correre il rischio! 😀Ciao
Enrico
-
AutoreRisposte