letteracdp

Risposte nei forum create

Stai visualizzando 15 risposte – dal 391 al 405 (di 713 totali)
  • Autore
    Risposte
  • in risposta a: Errore – Classe toptesi #106631
    Up
    0
    Down
    ::

    OldClaudio” post=106683Sono contento che Gustavo abbia trovato il baco; la cui correzione mi lascia leggermente perpplesso; tuttavia se funziona la sua correzione, siamo a posto. […]

    Be’, se, dopo aver fatto la correzione, inserisco
    `
    \pagestyle{titlepage}
    \makeatletter
    \show\@oddhead
    \makeatother
    \pagestyle{plain}
    `
    TeX mi risponde
    `
    > \@oddhead=macro:
    ->\vbox to\headheight {\vss \iftopTPTlogos \hbox to\textwidth {\headstrut \hfil
    \raisebox {3\baselineskip }{\usebox \TPT@logobox }\hfil \null }\fi \ifcsvoid {
    @ateneo}{}{\vskip \smallskipamount \hbox to\textwidth {\hss \LARGE \MakeUpperca
    se {\@ateneo }\hss }}\vss }.
    l.48 \show\@oddhead

    ?
    `
    Se faccio la stessa cosa senza aver fatto la correzione, TeX invece risponde
    `
    > \@oddhead=macro:
    -> \vbox to\headheight {\vss \iftopTPTlogos \hbox to\textwidth {\headstrut \hfi
    l \raisebox {3\baselineskip }{\usebox \TPT@logobox }\hfil \null }\fi \ifcsvoid
    {@ateneo}{}{\vskip \smallskipamount \hbox to\textwidth {\hss \LARGE \MakeUpperc
    ase {\@ateneo }\hss }} \vss }.
    l.48 \show\@oddhead

    ?
    `
    e si vede chiaramente che [tt]\vbox to\headheight {…}[/tt] è preceduto da uno space token che, c’è poco da fare, lì non ci dovrebbe stare: infatti il nucleo del LaTeX poi inserirà l’espansione di [tt]\@oddhead[/tt] al posto di [tt]\@thehead[/tt] nel costrutto
    `
    \hb@xt@\textwidth{\@thehead}%
    `
    (quella mostrata è la linea 6843 del file [tt]latex.ltx[/tt] — io ho ancora la versione 2016/02/01, perdonatemi se non è l’ultima — che in questo contesto viene eseguita con [tt]\@thehead[/tt] reso — [tt]\let[/tt] — uguale a [tt]\@oddhead[/tt]); è chiaro che, siccome la [tt]\vbox[/tt] di per sé, contenendo a sua volta due [tt]\hbox to\textwidth{…}[/tt], ha essa stessa larghezza [tt]\textwidth[/tt], se è preceduta da uno spazio sfora la larghezza preimpostata della [tt]\hb@xt@\textwidth{…}[/tt] inviluppante.

    D’altra parte, la faccenda era già abbastanza chiara una volta visto che l’ammontare dello sforamento era dell’ordine di poco più d’un paio di punti tipografici; l’ammontare esatto, chiaramente, può variare da font a font, ma per un corpo dieci si tratta di un “marchio” abbastanza inconfondibile: quello è uno spazio interparola, ridotto di tutta la sua accorciabiltà. Ergo, si deve andare a caccia del solito missing [tt]%[/tt] at end of line. 🙂

    Ciao.


    Gustavo

    in risposta a: Inserire tempo in LaTeX #106651
    Up
    0
    Down
    ::


    Com’è arcinoto, [tt]\today[/tt] restituisce la data della compilazione. Inoltre, lo pseudo-paramentro primtivo [tt]\time[/tt] restituisce l’ora della compilazione secondo l’orologio di sistema del calcolatore ospite, nella forma di un unico numero intero che rappresenta i minuti trascorsi da mezzanotte. Per ottenere l’ora nel formato hh:mm, al momento mi viene in mente il vecchissimo pacchetto [tt]time[/tt]; ma dev’esserci qualcosa di più recente. Tornando al livello degli pseudo-parametri primitivi, ci sono anche [tt]\day[/tt], [tt]\month[/tt] e [tt]\year[/tt], con ovvio significato.

    Ciao.


    Gustavo

    in risposta a: Errore – Classe toptesi #106628
    Up
    0
    Down
    ::


    Trovato.

    Se si guarda la definizione dello stile di pagina [tt]titlepage[/tt] nel file [tt]topfront.sty[/tt], si nota il solito famigerato e temutissimo refuso:
    `
    \def\ps@titlepage{\let\@mkboth\@gobbletwo
    \def\@oddfoot{\vbox to 0.05\paperheight{\vss
    \hbox to\hsize{\hfil{\Large{\@submitdate}}\hfil}}}%
    \let\@evenfoot\@oddfoot
    \def\@oddhead{ % <<< Manca il "%" alla fine di questa riga! \vbox to\headheight{\vss\iftopTPTlogos \hbox to\textwidth{% \headstrut\hfil \raisebox{3\baselineskip}{\usebox\TPT@logobox}\hfil\null% }\fi \ifcsvoid{@ateneo}{}{\vskip\smallskipamount \hbox to\textwidth{\hss\LARGE\MakeUppercase{\@ateneo}\hss}} \vss }% }% \let\@evenhead\@oddhead \def\chaptermark##1{}\def\sectionmark##1{}% } ` Aggiunta: Si noti che, invece, l’assenza del [tt]%[/tt] alla fine della linea` \hbox to\textwidth{\hss\LARGE\MakeUppercase{\@ateneo}\hss}}`è ininfluente, perché TeX è in modo verticale a quel punto. Naturalmente, però, “spreca” spazio di memoria per immagazzinare in ben due definizioni di macro un token inutile (sto scherzando, naturalmente! 😉 ).

    E già che stiamo ripulendo il codice, il [tt]%[/tt] alla fine della linea` \raisebox{3\baselineskip}{\usebox\TPT@logobox}\hfil\null%`può invece tranquillamente essere omesso.

    Ciao.


    Gustavo

    in risposta a: Errore – Classe toptesi #106627
    Up
    0
    Down
    ::

    OldClaudio” post=106675[…] Del resto quel warning appare quando una riga s[f]ora la giustezza di un determinato numero di punti tipografici che di defailt mi pare che siano 1pt., forse 0.5pt, Ma non ha importanza […]

    Il valore di default di [tt]\hfuzz[/tt] è di [tt]0.1pt[/tt].

    Si noti che il messaggio di avvertimento (non di errore, per l’appunto) precisa che la overfull [tt]\hbox[/tt] viene rilevata while [tt]\output[/tt] is active: si tratta quindi, con ogni probabilità, di una testatina o di un piedino.

    OldClaudio” post=106675[…] Se ti dà [f]astidio, metti nel preambolo una tolleranza maggiore tipo [tt]\hfuzz=3pt[/tt] e il messaggio scomparirà. […]

    Mmmh… Non nel preambolo: facendo così, in assenza di altri correttivi si sopprimono gli avvertimenti per l’intero documento. D’altra parte, in questo caso specifico modificare [tt]\hfuzz[/tt] localmente, per esempio dentro a un ambiente, non servirebbe a nulla, proprio perché l’anomalia si verifica durante l’output routine. Suggerirei `\hfuzz = \maxdimen`(perché no, a questo punto?) subito dopo [tt]\begin{document}[/tt], e`\hfuzz = .1pt`a frontespizio concluso. Però, questo è davvero nascondere la polvere sotto il tappeto: bisognerebbe piuttosto scoprire la causa dell’anomalia!

    Ciao.


    Gustavo

    in risposta a: Texlive 2016 #106563
    Up
    0
    Down
    ::

    egreg9″ post=106635TeX Live 2016 è stata resa pubblica Evviva!

    Colgo l’occasione per commentare alcune delle novità.

    1. pdftex ha qualche miglioramento. A parte l’interazione con le variabili ambientali [tt]SOURCE_DATE_EPOCH[/tt] e [tt]SOURCE_DATE_EPOCH_TEX_PRIMITIVES[/tt], mirata a permettere di ottenere file PDF che non hanno dipendenze dalla data di compilazione, sono state introdotte tre nuove primitive

    • se il parametro intero [tt]\pdfinfoomitdate[/tt] è positivo, pdftex non registra nel PDF le informazioni relative a [tt]/CreationDate[/tt] e [tt]/ModDate[/tt]

    • [tt]\pdftrailerid[/tt] prende come argomento (tra graffe) l’informazione da adoperare come [tt]/ID[/tt] nel file PDF; fino a ora era solo il nome del file con data e ora della compilazione

    • [tt]\pdfsuppressptexinfo[/tt] è un parametro intero che permette di sopprimere le informazioni PTEX; il valore deve essere un numero intero a quattro bit; il primo bit positivo sopprime l’informazione PTEX.Fullbanner, normalmente [tt]This is pdfTeX, Version 3.14159265-2.6-1.40.16 (TeX Live 2015) kpathsea version 6.2.1[/tt]; il secondo bit positivo sopprime l’informazione PTEX.FileName; il terzo bit positivo sopprime PTEX.PageNumber e il quarto bit positivo sopprime PTEX.InfoDict. Le ultime tre appaiono solo se un PDF viene incluso. Impostando [tt]\pdfsuppressptexinfo=-1[/tt] tutte queste informazioni vengono soppresse

    Mi sebmbrano tutt’e tre (anzi, quattro) delle ottime pensate. Ci sono anche nuovi pacchetti, o aggiornamenti a pacchetti esistenti (penso a hyperref o pdfx), che forniscano interfacce o “zucchero sintattico” per le nuove primitive?

    Già che ci sono, per caso si sa qualcosa del piccolo bug che segnalai l’anno scorso su TeX.SX?

    egreg9″ post=106635
    […]

    3. gregorioTeX è incorporato in TeX Live, quindi non richiede un’installazione separata. Inoltre [tt]gregorio[/tt] è tra i programmi che possono essere chiamati in regime di “restricted shell escape” e quindi la compilazione esterna con il programma può essere lanciata direttamente con il solito metodo (vedi oltre)

    […]

    Mi ha colpito questo ricorrente parlare che, tutt’a un tratto, sento fare a proposito del canto gregoriano. La domanda è forse peregrina, ma mi è venuto fatto di pensare: non è che, vedi caso, tra gli autori di gregorioTeX c’è Gregorio? 😉

    Ciao.


    Gustavo

    in risposta a: Segni strani all’interno del codice lstlising #106455
    Up
    0
    Down
    ::

    golden_boy” post=106550[…] la sintassi // riguarda più Java se non erro […]

    Il linguaggio Java, così come molti altri, l’ha ripresa, ma credo proprio che il primo linguaggio ad adottarla sia stato il C++; se non erro io…

    golden_boy” post=106550[…] allo stato attuale, mi dispiace dirlo (e spero sia dovuto alla mia “ignoranza” in ambito LaTeX – algoritmi), ma con LaTeX ci sono delle piccole lacune nella scrittura di codici non ufficiali…

    Effettivamente, mi viene da dire che un tale giudizio può nascere solo da un’informazione lacunosa. Tanto per cominciare, c’è sempre la possibilità di includere codice «verbatim»; in tal caso, è meglio caricare quantomeno il pacchetto [tt]verbatim[/tt], perché l’ambiente [tt]verbatim[/tt] messo a disposizione dal nucleo del LaTeX2e non è molto sofisticato; possibilità ancora più interessanti, poi, sono offerte dal pacchetto [tt]fancyvrb[/tt]. Ma nel tuo caso, direi che un’ottima soluzione potrebbe essere quella di rivolgersi al pacchetto [tt]algorithms[/tt], che pure avevi preso in considerazione: prova a leggerne il (breve) manuale. In particolare, alla fine di pagina 13 trovi spiegato come rendere i commenti nello stile che vuoi tu.

    Ciao.


    Gustavo

    in risposta a: Immagine nel punto sbagliato #106475
    Up
    0
    Down
    ::


    Vecchissima storia, e domanda posta letteralmente migliaia di volte. 😉 «‘Sta cosa» succede perché LaTeX è progettato per dare risultati tipografici di alta qualità: quando decide di non onorare uno specificatore [tt]h[/tt] dato nell’argomento opzionale dell’ambiente [tt]figure[/tt], vuol dire che ha un buon motivo per farlo, e di solito è meglio lasciare la figura, o la tabella, là dove LaTeX decide di metterla.

    Se assolutamente si vuole che la tabella rimanga ancorata alla posizione nella quale si trova nel codice sorgente, ci sono essenzialmente due soluzioni, proposte da altrettante “scuole di pensiero”. Nel caso in esame, propenderei per quella che suggerisce di caricare il pacchetto [tt]float[/tt] e poi sostituire`\begin{figure}[htp!]`con`\begin{figure}[H]`(notare la maiuscola). Lo specificatore [tt]H[/tt], introdotto appunto dal pacchetto [tt]float[/tt], va usato sempre da solo e serve proprio a ordinare a LaTeX di piazzare la figura esattamente dove essa compare nel sorgente e in nessun altro posto.

    Ma, ripeto, è meglio non farlo.

    Ciao.


    Gustavo

    in risposta a: Allineamento tabella a sinistra del testo #106468
    Up
    0
    Down
    ::


    Se il problema si presenta eccezionalmente solo per una tabella di dimensioni fuori dall’ordinario, si può anche fare semplicemente ricorso al bieco trucco illustrato nel codice seguente, e buona notte.
    `
    % My standard header for TeX.SX answers:
    \documentclass[a4paper]{article} % To avoid confusion, let us explicitly
    % declare the paper format.

    \usepackage[T1]{fontenc} % Not always necessary, but recommended.

    \usepackage[ascii]{inputenc} % Just to check that the source is still pure,
    % 7-bit-clean ASCII when you execute it, as it
    % was when I wrote it.
    % End of standard header. What follows pertains to the problem at hand.

    \usepackage[italian]{babel} % dato che scriviamo in italiano
    \usepackage{booktabs} % ormai il mio occhio non riesce piu` a farne a meno
    \usepackage{lipsum} % per il testo “Lorem ipsum…''

    \begin{document}

    La tabella~\ref{tab:larga} illustra l'utilizzo di un bieco trucco per farla
    “debordare'' simmetricamente dai margini del testo. Continuo a scrivere
    qualche altra parola per far s\`{\i} che il testo che la precede sia
    sufficientemente lungo per far capire dove si trovano i margini stessi.

    \begin{table}[htbp]
    \centering
    \makebox[0pt][c]{% <-- importante \begin{tabular}{*{12}c} \toprule \strut Cella & Cella & Cella & Cella & Cella & Cella & Cella & Cella & Cella & Cella & Cella & Cella \\ \strut Cella & Cella & Cella & Cella & Cella & Cella & Cella & Cella & Cella & Cella & Cella & Cella \\ \strut Cella & Cella & Cella & Cella & Cella & Cella & Cella & Cella & Cella & Cella & Cella & Cella \\ \bottomrule \end{tabular}% <-- importante } \caption{Tante, tante colonne} \label{tab:larga} \end{table} \lipsum[1] \end{document} ` Ciao. -- Gustavo

    in risposta a: Segni strani all’interno del codice lstlising #106451
    Up
    0
    Down
    ::


    I problemi nascono dal fatto che, benché tu dichiari che il codice è scritto in Pascal, in realtà esso non rispetta la sintassi di tale linguaggio. In particolare, l’apostrofo che precede la parola «elemento» inizia una stringa, che, per fortuna, viene poi terminata da un suo compagno, e questo è ciò che causa i «segni strani».

    Siccome non mi sembra il caso di disattivare l’apostrofo come delimitatore di stringhe, propenderei per una soluzione banale: eliminarlo. Inoltre, i commenti in stile C++ non fanno parte della sintassi Pascal: se li vuoi usare, ti conviene dichiarare la sintassi relativa. In definitiva, io riscriverei il tuo codice così:
    `
    \documentclass[11pt,a4paper,oneside]{book}
    \usepackage[T1]{fontenc} % Io preferisco.
    \usepackage[ascii]{inputenc} % Controlla che il sorgente sia puro ASCII a
    % 7 bit: preferisco fare cosi`, quando spedisco
    % codice a “bulletin boards”.
    \usepackage[italian,english]{babel}
    \usepackage{listings}

    \begin{document}

    \lstset{language=Pascal}

    \lstset{tabsize=3}
    % Noto che specifichi “mathescape”, pero` poi, in realta`, non lo usi, almeno in
    % quel che segue.
    \begin{lstlisting}[mathescape=true,morecomment={[l]{//}}]
    procedure ORDINA_PARI_DISPARI(V,n)
    begin
    // prelevo solo gli elementi pari
    // del vettore ed estraggo il massimo
    parafor(i = 1 … n)
    if(V e pari)
    then R = V
    else R = 0

    // Estraggo il massimo pari
    // 0 se non ci sono pari
    max_even = MAX(R,n)

    // Mappo tutti gli elementi nella coppia
    // se lo elemento e pari
    //
    se lo elemento e dispari
    // sono sicuro che tutti i pari precedono tutti i dispari
    parafor(i = 1 … n)
    if (V e pari)
    then
    R = new Element(value = V, index = 1)
    else
    R = new Element(value = V + max_even.value, index = i)

    // Ordino il vettore ottenuto
    TORNEO(R,n)
    // Modificato solo per tenere conto della prima componente

    // Rispacchetto il vettore in due vettori:
    // in uno metto solo i pari
    // nello altro metto i dispari
    // Conto quanti pari ci sono e riporto i dispari
    // al loro valore di base
    \end{lstlisting}

    \end{document}
    `
    Rimangono un sacco di [tt]Overfull \hbox[/tt]es, però.

    Ciao.


    Gustavo

    in risposta a: comando \times di default #106436
    Up
    0
    Down
    ::


    L’ultima soluzione proposta da @egreg9 può anche essere applicata “localmente”; per esempio:
    `
    % My standard header for TeX.SX answers:
    \documentclass[a4paper]{article} % To avoid confusion, let us explicitly
    % declare the paper format.

    \usepackage[T1]{fontenc} % Not always necessary, but recommended.

    \usepackage[ascii]{inputenc} % Just to check that the source is still pure,
    % 7-bit-clean ASCII when you execute it, as it
    % was when I wrote it.
    % End of standard header. What follows pertains to the problem at hand.

    \usepackage[italian]{babel} % dato che scriviamo in italiano
    \newenvironment*{timesforasterisk}{%
    \mathcode`*=\times
    }{}

    \begin{document}

    All'inizio l'asterisco \`{e} un asterisco: $a*b$.

    \begin{timesforasterisk}
    In tutte le formule che si trovano dentro un ambiente
    \texttt{timesforasterisk}, tuttavia, l'asterisco \`{e} trasformato in
    crocetta: $a*b$, oppure $6.02209*10^{23}$.
    \end{timesforasterisk}

    Finito l'ambiente \texttt{timesforasterisk}, tutto ritorna come prima: $a*b$.

    \end{document}
    `

    Ciao.


    Gustavo

    in risposta a: Cambiare interlinea solo in una parte di documento #106349
    Up
    0
    Down
    ::

    OldClaudio” post=106455Be’, in effetti in LaTeX2e è stato aggiunto il comando [tt]\linespread[/tt] proprio per non toccare \baselinestretch come fissato dei comandi di corpo. Quel comando che citi, [tt]\setstretch[/tt], non l’ho citato apposta, perché quello mi pare un errore del pacchetto che fa una cosa difficile da recuperare se non si conosce a fondo il meccanismo di impostazione dei font di LaTeX.

    La situazione migliore è quella di NON usare il pacchetto setspace.

    Devo scusarmi: il mio precedente messaggio conteneva un infelicissimo errore, dovuto alla fretta, che ora ho provveduto a correggere. Intendevo appunto dire che non capisco tutta la pressione che a volte si sente fare per raccomandare di usare il pacchetto [tt]setspace[/tt] (concepito ancora per il LaTeX 2.09, figuratevi un po’!) invece di usare, appunto, [tt]\linespread[/tt]. Quindi, miei errori a parte, @oldClaudio ed io stiamo dicendo esattamente la stessa cosa.

    Ciao.


    Gustavo

    in risposta a: Cambiare interlinea solo in una parte di documento #106347
    Up
    0
    Down
    ::

    OldClaudio” post=106451[…]

    L’errore più grave del pacchetto setspace è quello di fornire all’utente solo i comandi predefinti di [tt]\onehalfspacing[/tt] e [tt]\doublespacing[/tt] che corrispondono ad scartamenti maggiori di di un 35% il primo, e del 100% il secondo.

    No buono, no buono 🙁

    Be’, per la verità il pacchetto [tt]setspace[/tt] definisce anche il comando [tt]\setstretch[/tt]; ecco come:
    `
    \newcommand{\setstretch}[1]{%
    \def\baselinestretch{#1}%
    \@currsize
    }
    `
    SI può quindi vedere che tale comando fa esattamente quello che suggerisce @OldClaudio. Ripeto: a me il pacchetto [tt]setspace[/tt] non sembra granché, e sinceramente non capisco tutta la pressione che si fa per raccomandare di usare tale pacchetto anziché provvedere da soli ad aggiustare lo scartamento (giusto, perbacco!) con [tt]\baselinestretch[/tt] [tt]\linespread[/tt].

    Ciao.


    Gustavo

    in risposta a: Cambiare interlinea solo in una parte di documento #106345
    Up
    0
    Down
    ::


    La prassi consigliata è caricare il pacchetto [tt]setspace[/tt], e poi usare i comandi che esso definisce:

    • [tt]\doublespacing[/tt] per avere l’interlinea doppia;
    • [tt]\onehalfspacing[/tt] per avere l’interlinea moltiplicata (circa) per tre mezzi;
    • [tt]\singlespacing[/tt] per tornare all’interlinea normale.

    Tuttavia, mi è capitato di recente di occuparmi di tale pacchetto, e devo dire che, secondo me, presenta alcuni difetti che dovrebbero essere corretti.

    Ciao.


    Gustavo

    in risposta a: Labor lima bibliografico #106295
    Up
    0
    Down
    ::


    Perdonate sia la pedanteria che l’off-topic, ma non si dice «labor limae»?

    Ciao.


    Gustavo

    in risposta a: Accento grave #106304
    Up
    0
    Down
    ::


    Scusa, ma come hai fatto a scrivere la a accentata che compare nel tuo messaggio? Fai la stessa identica cosa nel tuo sorgente LaTeX: è proprio per permettersi questo (che venti e passa anni fa era un) lusso che è stato inventato il pacchetto [tt]inputenc[/tt].

    Naturalmente, se scrivi (giustamente)`\usepackage[utf8]{inputenc}`devi poi essere certa che l’editor che usi per preparare il sorgente LaTeX sia effettivamente impostato per salvare i file con la codifica utf8.

    Ciao.


    Gustavo

Stai visualizzando 15 risposte – dal 391 al 405 (di 713 totali)

Go to top