egreg9

Risposte nei forum create

Stai visualizzando 15 risposte – dal 10,816 al 10,830 (di 13,205 totali)
  • Autore
    Risposte
  • in risposta a: titoli capitoli nelle liste #20755
    Up
    0
    Down
    ::

    Scusate il ritardo e cmq grazie a egreg9 per la risposta: funziona alla grande! Se è possibile però vi rompo ancora un pò. Una volta apportate le modifiche agli elenchi ( ho mutuato liste dall’inglese! :wink:) come posso modificarne il layout? Vorrei ad esempio aumentare la dimensione dei font dei Titoli dei Capitoli (TdC), aumentare la spaziatura tra la riga del TdC e l’inizio dell’elenco vero e proprio delle figure/tabelle, far “rientrare” l’elenco delle figure/tabelle rispetto al margine sinistro della riga del TdC (come nell’indice).

    Perché vorresti questi aggiustamenti così poco gradevoli?

    Infine un’ultima domanda che credo sia comunque in relazione a quanto detto prima: esiste un modo per cambiare i font ad esempio nell’indice o negli elenchi in modo indipendente dai font usati nel testo? Ve lo chiedo perchè utilizzando il pacchetto titlesec sono riuscito a realizzare i TdC nel testo con font abbastanza particolari, però ovviamente nell’indice vengono mantenuti i font di default, che io vorrei cambiare e rendere diversi sia da quelli di default appunto (troppo “brutti” per il tipo di lavoro) sia da quelli usati nel testo (troppo “particolari” per essere usati nell’indice). Lo so, posso sembrare un pazzo scatenato ma ho scoperto da un pò LaTeX e mi diverto a misurarne le potenzialità! (indipendentemente dall’effettiva resa grafica) 😀

    Su questo non sono disponibile ad aiutarti: non ha alcun senso usare caratteri diversi per gli indici e per il testo normale. Quando poi leggo che i Computer Modern sono “brutti” mi viene l’orticaria. Se in più parli anche di tipi di carattere “particolari” l’allergia esplode perché mi viene subito in mente qualcosa come “Comic Sans”.

    Di che tipo di lavoro si tratta? Solo se ce lo dici possiamo suggerirti qualche scelta opportuna dei caratteri da impiegare.

    Puoi consultare la documentazione del pacchetto tocloft (ma ti assicuro che non è semplice da leggere :))

    Ciao
    Enrico

    in risposta a: titoli capitoli nelle liste #20752
    Up
    0
    Down
    ::

    Prof.,

    il primo codice l’ho capito, non c’è nulla di complicato, hai aggiunto due righe e hai definito un comando seplice..

    Ora però mi devi spiegare questo pezzo.

    `\def\xcontentsline#1#2#3{\@ifnextchar\contentsline{\contentsline{#1}{#2}{#3}}{}}`

    Che fa \@ifnextchar in questo caso?

    Ho solo capito che se il prossimo è \contentsline lo mette altrimenti no.
    Non ho capito una cosa, ma \contentsline viene generato quando si inserisce una figura/tabella oppure la faccenda è diversa?

    \@ifnextchar guarda il token che segue senza “toccarlo”. Di solito lo si usa per vedere se quel token è [ oppure *, ma si può usare per qualsiasi altro token.

    La sintassi è \@ifnextchar{}{}; naturalmente non c’è nella definizione in cui si usa \@ifnextchar, sarà quindi quello che segue. Se = l’espansione sarà , altrimenti sarà .

    Il rimane al suo posto. Per questo esiste \@ifstar{}{} che funziona quasi allo stesso modo, ma rimuove l’asterisco dalla lista di token.

    Ogni figura o tabella genera una riga \contentsline nel rispettivo file per l’elenco. Vediamo che succede. Primo capitolo, il codice modificato scrive sul .lof la riga
    `\xcontentsline{chapter}{\numberline{}1 titolo}{}`
    Se c’è una figura nel capitolo, verrà scritta una riga del tipo
    `\contentsline{figure}{\numberline{1.1}Didascalia}{2}`
    Al momento di compilare l’elenco delle figure, \xcontentsline prima di tutto immagazzina i suoi tre argomenti (l’ultimo è sempre vuoto, ma meglio tenerlo per eventuali estensioni del comando), poi usa \@ifnextchar per vedere ciò che segue. Il fine riga è irrilevante, perché equivale a uno spazio che non viene mai valutato in questi casi. Siccome c’è \contentsline, viene usato il l; una volta esaurita questa fase, si va alla riga successiva e si trova \contentsline che si espande al modo solito.

    Se nel capitolo non ci fosse stata alcuna figura, il token sulla riga successiva sarebbe stato \xcontentsline, con l’effetto che entrerebbe in azione il , che è vuoto.

    E all’ultimo capitolo? Be’, qui ci si ricorda che alla fine di ogni file che viene letto tramite \input (o anche tramite \read) TeX aggiunge un token \par “implicito”.

    Ricapitolando: \@ifnextchar ha quattro argomenti, ma nelle definizioni che lo usano se ne specificano solo tre e questo comando, con questi tre argomenti deve essere alla fine del testo della definizione, in modo che il quarto sia proprio il token (non spazio) immediatamente seguente.

    Ciao
    Enrico

    in risposta a: Problema frontespizio #16180
    Up
    0
    Down
    ::

    È lo stesso orrore di prima. Lascia perdere.

    🙁 ….me ne sapresti indicare qualcuno decente?

    Ovviamente 😉 Scaricati front-th, il pacchetto “definitivo” per il frontespizio. 😉

    😀 Ora, però, mi sono incuriosito; da dove salta fuori quel “titlep”?….è un nuovo comando definito nel file “principale”?…pensi sia il caso di fare una ricerca?

    P.S.:Mi sovviene una domanda; ma perché delle università (naturalmente se sono loro…o se loro ne sanno qualcosa) rilasciano queste “porcherie” di codice?

    Di quel codice non mi interessa nulla. Di solito quelli sono i rimedi consigliati da uno a cui l’ha consigliato un altro “espertissimo”. 🙁

    Ciao
    Enrico

    in risposta a: titoli capitoli nelle liste #20750
    Up
    0
    Down
    ::

    Tuttavia c’è un problema: se per caso in un capitolo non hai figure o tabelle, avresti la riga senza nulla sotto, che sarebbe bruttina. Secondo me non c’è bisogno di aggiungere i titoli dei capitoli.

    E non si puo’ modificare il codice perché controlli se ce ne sono e nel caso in cui non ce ne siano non scriva nemmeno il titolo del capitolo?

    Sostituisci le prime tre righe del codice precedente con questo:
    `\def\addchaptertoloft#1#2{%
    \addtocontents{#1}{%
    \protect\xcontentsline{chapter}{\protect\numberline{}\thechapter\ #2}{}}}
    \def\xcontentsline#1#2#3{\@ifnextchar\contentsline{\contentsline{#1}{#2}{#3}}{}}`
    A ogni inizio di capitolo faccio scrivere sui file lof e lot il titolo del capitolo, ma come argomento a \xcontentsline e non più a \contentsline. Questo nuovo comando equivale a \contentsline solo se è seguito da \contentsline (cioè quando nel capitolo c’è almeno una figura o una tabella, rispettivamente per .lof e .lot).

    Occorre però evitare con cura di inserire altre cose in questi file con \addtocontents.

    Rimango dell’opinione che sia del tutto inutile: già i numeri di figure e tabelle dicono in quale capitolo si trovino. Riportare i titoli dei capitoli è una ripetizione noiosa.

    Ciao
    Enrico

    in risposta a: Revisione finale: \enlargethispage e \looseness #20760
    Up
    0
    Down
    ::

    Ciao a tutti.

    Sul forum è stato detto che i comandi
    `\enlargethispage`e
    `\looseness`
    sono utilii, in sede di revisione finale, per risolvere alcuni inestetismi di impaginazione.

    Qualcuno potrebbe farmi degli esempi significativi di questi inestetismi? Basta un semplice accenno o anche un brevissimo elenco di situazioni potenziali in cui quei comandi sono utili.

    Supponi che l’ultima sezione di un capitolo sfori di due righe su una pagina destra. Avremmo due pagine consecutive praticamente bianche. Qui entrano in gioco \looseness e \enlargethispage. Si può provare a dare \looseness=-1 prima di un capoverso molto lungo per vedere se riesce ad accorciarlo di una riga: vanno scelti quelli che abbiano almeno cinque o sei righe e la cui ultima riga sia breve. Se funziona, è possibile che sistemandone un altro si ottenga l’effetto voluto di riportare indietro quelle due righe.

    Se ciò non è possibile, si può pensare di dare \enlargethispage{\baselineskip} in due pagine affacciate in modo da lasciare spazio per due righe in più. L’aggiustamento non dà troppo nell’occhio, se il margine inferiore è sufficientemente ampio e, soprattutto, se il piedino è vuoto.

    I trucchi si possono usare anche al contrario. A volte problemi di posizionamento di oggetti troppo grandi possono essere curati allungando qualche capoverso. A volte gli oggetti grafici non possono “galleggiare” e nel mio campo di studi ciò accade più di frequente, perché certi diagrammi fanno parte integrante del testo e non possono quasi mai andarsene a spasso. Una lunga serie di diagrammi può portare a impaginazioni scorrette con ampi spazi bianchi e qui allungare i capoversi o stringere le pagine può aiutare.

    Dove vanno dati \enlargethispage e \looseness? Il primo, indubbiamente, tra capoversi. Guardando il risultato preliminare è facile scoprire un punto del testo dove inserire il comando sempre su coppie di pagine (unica eccezione quando la pagina affacciata è bianca :)).

    \looseness è convenientemente messo all’inizio di un capoverso:
    `e qui finisce un capoverso.

    \looseness=-1
    Qui ne comincia un altro …`
    Il valore del parametro \looseness è azzerato a ogni comando \par, quindi la riga vuota che termina il capoverso “accorciato” fa sì che i capoversi successivi siano composti con parametro \looseness=0. Non si deve mettere un % dopo il valore da assegnare a \looseness; TeX infatti ignora un token spazio dopo una costante esplicitamente data come valore a un parametro.

    Ciao
    Enrico

    in risposta a: Problema frontespizio #16178
    Up
    0
    Down
    ::

    …ma non è che, per caso, va definito un nuovo comando di nome proprio titlep?

    È lo stesso orrore di prima. Lascia perdere.

    Ciao
    Enrico

    in risposta a: titoli capitoli nelle liste #20748
    Up
    0
    Down
    ::

    Ciao a tutti.
    Vorrei inserire nella lista delle figure/tabelle il numero ed il titolo del capitolo seguito dalle figure/tabelle presenti nello stesso, del tipo:

    Lista delle figure

    1 Primo capitolo
    Prima figura…………………………………pag. 5
    Seconda figura…………………………………pag. 8

    2 Secondo capitolo
    Terza figura…………………………………pag. 11
    Quarta figura…………………………………pag. 14


    eccetera. Ho cercato sul forum ma nn sono riuscito a trovare niente di utile (sono nuovo quindi eventualmente perdonatemi qualche svista); ho provato anche ad utilizzare pacchetti tipo tocloft ma nn riesco a cavarne nulla. Qualcuno saprebbe aiutarmi?

    PS: Nella mia ignoranza ho provato addirittura a modificare (con il blocco note!) i file .lof e .lot generati da pdfLaTeX ma ovviamente nn è servito a nulla se non a perdere i suddetti files! Tra l’altro pdfLaTeX non me li rigenera sebbene riesca comunque a compilarmi nuove modifiche: dove vengono “scritte” tali modifiche se non vengono rigenerati i files .lof e .lot?

    Non si capisce molto bene l’ultima parte. A ogni compilazione viene scritta una nuova versione dei file .lof e .lot. Prima di cancellarli, LaTeX li legge per comporre gli elenchi.

    Quanto al tuo problema, credo che l’unico modo sia di fare un po’ di chirurgia al comando che crea i capitoli. Suppongo qui che tu usi la classe book.
    `\makeatletter
    \def\addchaptertoloft#1#2{%
    \addtocontents{#1}{%
    \protect\contentsline{chapter}{\protect\numberline{}\thechapter\ #2}{}}}
    \def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
    \if@mainmatter
    \refstepcounter{chapter}%
    \typeout{\@chapapp\space\thechapter.}%
    \addcontentsline{toc}{chapter}%
    {\protect\numberline{\thechapter}#1}%
    \else
    \addcontentsline{toc}{chapter}{#1}%
    \fi
    \else
    \addcontentsline{toc}{chapter}{#1}%
    \fi
    \chaptermark{#1}%
    \addchaptertoloft{lof}{#1}%
    \addchaptertoloft{lot}{#1}%
    \if@twocolumn
    \@topnewpage[\@makechapterhead{#2}]%
    \else
    \@makechapterhead{#2}%
    \@afterheading
    \fi}
    \makeatother`
    Tuttavia c’è un problema: se per caso in un capitolo non hai figure o tabelle, avresti la riga senza nulla sotto, che sarebbe bruttina. Secondo me non c’è bisogno di aggiungere i titoli dei capitoli.

    Non badare se il codice sembra complicato: lo è. 😀 Ma non c’è niente da capire, è il codice della classe book modificato in due righe, più un nuovo comando per fare quelle modifiche. Metti quella roba nel tuo preambolo oppure te la copi in un file “searain.sty” (senza \makeatletter e \makeatother) che terrai nella stessa cartella del documento principale e in questo scriverai \usepackage{searain}.

    Suppongo che il titolo degli elenchi sia “Elenco delle figure (tabelle)”. 🙂

    Ciao
    Enrico

    in risposta a: Problema frontespizio #16174
    Up
    0
    Down
    ::

    Salve a tutti,

    sto provando diversi “layout” per il frontespizio (alla fine cercherò di fare una “media armonica” di quelli provati per trovare il mio frontespizio 8) ) tra i quali c’è il codice del primo post di questo thread (copiato di pari passo – copia&incolla) e nel provare la compilazione esce fuori questo errore (in sostanza sull’ultima riga);

    [LaTeX] concluso con stato di uscita 1
    ./Titlepage.sty:50:Missing \begin{document}. \titlep

    Ho chiamato il file “Titlepage.sty” e lo richiamo dal file Tesi.tex con;

    \usepackage{Titlepage}

    …sto dimenticando qualche cosa?….includere qualche macro, ad esempio….qualcosa (o più di qualcosa) mi sta sfuggendo?

    Lascia perdere quella roba. È una interessante collezione di orrori. Niente di più.

    È un topic che non avevo visto (strano :wink:). Altrimenti avrei dato la stessa risposta, aggiungendo che il problema originale si sarebbe corretto semplicemente scrivendo
    `\begin{center}
    \huge\uppercase\expandafter{\@title}
    \end{center}`
    cioè togliendo quelle parentesi graffe che impedivano al comando \huge di fare il suo mestiere: con la chiusura della graffa ritorna l’interlinea normale.

    Ciao
    Enrico

    in risposta a: [Risolto]Nuovo environment per spaziatura paragrafo #20745
    Up
    0
    Down
    ::

    Come già richiesto in questo post
    vorrei creare un environment per indentare e rendere in grassetto il testo di un paragrafo. Per questo ora ho trovato questa soluzione (che funziona):
    `\newlenght{\defskip}
    \setlength{\defskip}{\leftskip} `
    nel preambolo e nel testo
    `\setlength{\leftskip}{2em}

    \begin{bfseries}
    testo del paragrafo
    \end{bfseries}

    \setlength{\leftskip}{\defskip} `
    E’ possibile creare un ambiente per ripetere queste due operazioni automaticamente?

    Naturalmente è possibile. Ma prometti di leggere la (mica tanto) breve introduzione (trovi il collegamento in cima alla pagina).

    Usare \leftskip in LaTeX può essere pericoloso, se vuoi oltre a quello usare ambienti come enumerate o itemize e simili. Nel tuo caso può andare, se è solo per ottenere quell’effetto. Ma, ti avviso, il risultato non è affatto piacevole: infatti esiste l’ambiente quotation che fa meglio ciò che tenti di fare a mano.

    Il neretto per tratti di testo prolungati è fastidioso. Inoltre dovresti lasciare un po’ di spazio prima e dopo quel testo, per staccarlo meglio dal contesto. Il margine fissato arbitrariamente a 2em è certamente sbagliato: o è come il rientro normale oppure è il doppio, ma deve corrispondere a un analogo rientro a destra (sempre che tu non stia progettando un ambiente per elenchi).

    Ora però ti dico un paio di cose TeXniche su ciò che usi. Immagino che tu abbia trovato da qualche parte \newlength{\defskip}. Bene, sappi che quando poi dici \setlength{\defskip}{\leftskip} stai semplicemente dicendo “la lunghezza \defskip è zero”. Un po’ sprecato un registro per questo, non ti pare?

    Ciò che chiedi si ottiene così:
    `\newenvironment{brutto}{\setlength{\leftskip}{2em}\bfseries}{\par}`
    Ma, a parte le considerazioni di prima, così è troppo poco. Meglio aggiungere un \par, in modo da non essere costretti a lasciare una riga vuota prima dell’ambiente, ai comandi iniziali (il secondo argomento obbligatorio di \newenvironment) e una spaziatura; analoga spaziatura andrà nei comandi finali, dove il \par ci vuole altrimenti l’effetto di \leftskip sparisce.
    `\newenvironment{meglio}
    {\par\addvspace{\medskipamount}\setlength{\leftskip}{2\parindent}\bfseries}
    {\par\addvspace{\medskipamount}}`
    Meglio ancora, ma ti prego, rifletti prima di usare il neretto:
    `\newenvironment{bfquotation}{\begin{quotation}\bfseries}{\end{quotation}}`
    Ciao
    Enrico

    in risposta a: Domande su Beamer #20714
    Up
    0
    Down
    ::

    Veramente il “\\” è sempre stato l’unico modo che ho avuto a disposizione per andare a capo in latex…

    Evidentemente non hai letto le guide giuste. Fidati: a capo si va lasciando una riga vuota.

    Ciao
    Enrico

    in risposta a: Domande su Beamer #20712
    Up
    0
    Down
    ::

    Perché in beamer più di un accapo (\\) non me lo piglia?

    Hai provato in un documento LaTeX qualsiasi? Bene, è lo stesso.

    Il comando per andare a capo è, tranne negli ambienti dove si deve indicare il punto dove spezzare (flushleft, flushright, center, tabular e altri simili), lasciare una riga vuota. Se qualcuno ti ha detto diversamente, sbaglia.

    Se vuoi aumentare lo spazio fra due capoversi (che è sconsigliabile in un documento normale, ma plausibile in beamer), lascia una riga vuota, scrivi \medskip o \bigskip e lasci un’altra riga vuota.

    Ciao
    Enrico

    in risposta a: pfm2afm #20703
    Up
    0
    Down
    ::

    quando gli do in pasto un pfm però non funziona, da un errore.

    Quale errore? Diversamente da quanto sembra di capire dalla man page, sono necessari il pfb/pfa e il pfm.

    Ho fatto una prova, scaricando da CTAN uzdr.pfm e convertendo
    `pf2afm uzdr.pfb`
    ho ottenuto un file uzdr.afm che ha poche differenze da quello presente su TeX Live. A parte che, per motivi molto misteriosi, l’output ha terminazione di riga DOS.

    Ciao
    Enrico

    in risposta a: footnote nel titolo della section #20697
    Up
    0
    Down
    ::

    intanto ti ringrazio per la risposta.
    il fatto è che a me serve mettere proprio il cuoricino che a te fa venire voglia di non rispondere…. 😳
    col renewcommand invece mi pare ti metta solo i simboli classici.
    per la cronaca ho usato ‘sta roba per mettere i simboli che voglio io nelle note:

    `\makeatletter
    \newcommand{\nota}[2]{\begingroup
    \def\@makefnmark{}%
    \addtocounter{footnote}{-1}%
    $^{#1}$ \footnote{\textbf{$#1$} #2}%
    \endgroup}`
    comunque col tuo suggerimento ho risolto e ora ho il mio titolo coi cuoricini…

    Orrore. Sia il cuoricino che quel codice.
    `\makeatletter
    \newcommand\nota[2]{\ifhmode\edef\@x@sf{\the\spacefactor}\nobreak\fi
    \addtocounter{footnote}{-1}%
    \begingroup\def\@makefnmark{$^{#1}$}\footnote{#2}\endgroup
    \ifhmode\spacefactor\@x@sf\fi\relax}
    \makeatother`
    Ma devi spiegarmi se quel cuoricino sarà visto da qualcuno oltre a te. Se lo metti in una tesi, la gente ride di te e non è bello. 🙂

    Ciao
    Enrico

    in risposta a: footnote nel titolo della section #20695
    Up
    0
    Down
    ::

    ho cercato un po’ in giro per il forum ma non ho trovato indicazioni x risolvere il mio problema… dovrei inserire una nota a piè di pagina nel titolo di una sezione. il problema è che ogni comando con la \ all’interno delle {} di \section mi causa un errore. nel forum ho trovato che da qualche parte si utilizza una roba tipo:

    `\section{Finito \texorpdfstring{$\cup$}{U} numerabile}`

    che a me, tra l’altro, neanche funziona… mi dà lo stesso errore…cosa sto sbagliando?
    comunque, io vorrei semplicemente fare così (vi allego un disegno, giusto per capire di cosa sto parlando):

    La nota con il cuoricino mi fa venire voglia di non rispondere. 🙂
    `\section[Titolo]{Titolo\footnote{testo}}`
    Ma ovviamente è meglio non mettere note ai titoli di sezione o di capitolo.

    Per avere note con simboli basta scrivere nel preambolo
    `\renewcommando{\thefootnote}{\fnsymbol{footnote}}`
    Ciao
    Enrico

    in risposta a: Includere il frontespizio nella mia relazione #20691
    Up
    0
    Down
    ::

    Se devi collegare un programma in C a una libreria, che fai? Inserisci nel .c il binario della libreria? Non direi.

    So come funziona l’inclusione delle librerie in c ma in questo caso immaginavo che includendo il sorgente .tex il compilatore andasse a compilare prima il file incluso.

    Una compilazione alla volta. Nemmeno in C o in altri linguaggi puoi chiedere che due pezzi dl codice in un stesso file siano compilati con parametri diversi. O sì? 🙂

    Ciao
    Enrico

Stai visualizzando 15 risposte – dal 10,816 al 10,830 (di 13,205 totali)

Go to top▲