egreg9

Risposte nei forum create

Stai visualizzando 15 risposte – dal 2,836 al 2,850 (di 13,205 totali)
  • Autore
    Risposte
  • Up
    0
    Down
    ::

    Sam Qasbah” post=64469Per maggiore chiarezza riporto un pezzo un pò più ampio del codice e il messaggio di errore che restituisce:

    `
    \chardef\atcatcode=\the\catcode`@%
    \catcode`@=11\relax%
    % …
    % a me i messaggi servono sempre su una nuova riga
    \def\@errmessage#1{\immediate\write16{!! ERR !! >>>\space#1}}
    % …
    \expandafter\ifx\csname XeTeXrevision\endcsname\relax%
    \@errmessage{Why are you here again?}%
    \let\@@endinput\endinput\fi
    \csname @@endinput\endcsname%
    %
    \XeTeXinputencoding bytes%
    % …
    `

    Mi pare poco efficiente.
    `\chardef\atcatcode=\the\catcode`@
    \catcode`@=11
    \expandafter\ifx\csname XeTeXrevision\endcsname\relax
    \@errmessage{Why are you here again?}%
    \endinput\fi`
    Il “%” dopo “`@” è ridondante; lo stesso è ridondante il “\relax%” dopo 11. Naturalmente è ridondante anche dopo “\endcsname\relax”. Non serve a nulla definire \@@endinput.

    Ciao
    Enrico

    Up
    0
    Down
    ::

    Sam Qasbah” post=64466Salve a tutti.

    Invece di accapigliarvi in dispute teoriche sulla classe memoir, dedicate qualche minuto a risolvere un problema con l’uso dell’antico linguaggio di Knuth.

    All’inizio di un pacchetto si stile, che necessita di essere usato con XeTeX, ho inserito il seguente controllo sul motore in uso:

    `
    \expandafter\ifx\csname XeTeXrevision\endcsname\relax%
    \let\@@endinput\endinput%
    \errmessage{Ahi ahi, nothing to do.}\fi%
    \csname @@endinput\endcsname%
    …
    `

    Il meccanismo sembra non fare una grinza, eppure non funziona. Provato su TeXworks con pdfTeX il motore continua bellamente a leggere le istruzioni successive, naturalmente sollevando errori e bloccando la compilazione invece di fermarsi al \csname @@endinput\endcsname e interrompere la lettura del pacchetto.

    Dove cavolo sbaglio?

    Se prima non dichiari “\catcode`@=11”, stai semplicemende dicendo “\let\@=@”, che non è molto utile; e “\@@endinput” non è definito. Infatti pdftex stampa “endinput”, trova “\endinput” ed esce dal file; ti trovi un condizionale non finito.

    Il metodo corretto è
    `\expandafter\ifx\csname XeTeXrevision\endcsname\relax
    \errmessage{Ahi ahi, nothing to do.}%
    \expandafter\endinput
    \fi`
    Puoi evitare \expandafter se metti \fi subito dopo \endinput, perché TeX comunque legge tutta la riga prima di eseguire \endinput.

    Oppure con il tuo metodo, ma con la riga
    `\expandafter\let\csname @@endinput\endcsname\endinput`
    perché dentro \csname…\endcsname i codici di categoria sono ignorati (a parte 0, 9, 13, 14 e 15 per motivi che puoi immaginare).

    Ciao
    Enrico

    in risposta a: Consigliare memoir ai principianti (lettori dell’Arte)? #65391
    Up
    0
    Down
    ::

    lorenzo.pantieri” post=64445Le classi standard hanno anche dei difetti e dei limiti, che però sono tutti noti, come la loro cura.

    Vediamo.

    a) La testatina fantasma sulle pagine bianche con lo stile di pagina headings . Si cura con emptypage.
    b) I filetti \hline non sono adeguati, per spessore e spaziatura: basta usare i comandi di booktabs.
    c) Le didascalie predefinite non sono composte in maniera ottimale, e non sono flessibili: caption risolve.
    d) Qualche problemino con le note a margine: mparhack.
    e) Non c’è modo di ottenere un frontespizio degno di questo nome: c’è frontespizio.
    f) Non si può avere una tabella di larghezza predefinita: tabularx.
    g) Non si possono avere tabelle con colonne personalizzate: array.
    h) Non si può scrivere al meglio la matematica: ci sono amsmath, amssymb, amsthm.
    i) Non si possono includere figure: graphicx.
    l) Sono classi impostate per l’inglese: fontenc, babel e inputenc risolvono alla grande.
    m) I margini sono inadeguati per l’A4: ecco layaureo e geometry.
    n) Non si possono inserire codici personalizzati: c’è listings.
    o) Manca un modo per gestire finemente la bibliografia: biblatex.
    p) La microtipografia non è supportata: microtype.

    Direi che che cose principali sono queste.

    Se compri l’auto nuova pretendi anche che abbia già le valigie pronte per quando vai al mare? 🙂

    I “difetti” e, f, g, h, i, l, n, o sono attrezzatura specializzata che nessun concessionario ti fornirà con l’auto.

    Ci sono altri difetti veri nelle classi standard che non menzioni: le testatine normali nella classe book fanno schifo, per esempio. Ma c’è fancyhdr.

    L’ultimo, microtype, è un accessorio non indispensabile ma assai utile che però riguarda la fase finale della produzione di un documento. Anche l’impostazione della gabbia e della pagina ricadono nella stessa categoria.

    Che cosa fornisce memoir rispetto alla tua lista di “difetti”? Le funzionalità di array, tabularx, caption e geometry. Cambia davvero tanto?

    Sì e no. È così importante poter modificare l’impostazione dell’indice senza caricare tocloft? O quella dei titoli correnti senza caricare titlesec?

    Ciao
    Enrico

    in risposta a: Un difetto di LaTeX: lo spazio tra didascalia e tabella #65214
    Up
    0
    Down
    ::


    Lascerei perdere la menzione di una vaga “tipografia anglosassone”: “Le classi standard di LaTeX sono impostate per la didascalia sotto a tabelle e figure; nella tipografia italiana di solito si preferisce …”

    Ciao
    Enrico

    in risposta a: Un difetto di LaTeX: lo spazio tra didascalia e tabella #65212
    Up
    0
    Down
    ::


    Mi pare meglio che affermare una falsità. 🙂

    Ciao
    Enrico

    in risposta a: Un difetto di LaTeX: lo spazio tra didascalia e tabella #65210
    Up
    0
    Down
    ::

    lorenzo.pantieri” post=64429Scusate se insisto, ma vorrei il vostro parere. Oggi ho visto che anche la doc. di memoir (in inglese, va da sé) ha le dida sopra le tabelle e non sotto. Insomma, cari guru, vorrei capire, in base alla vostra esperienza (enormemente superiore alla mia), fino a che punto è vera questa cosa secondo cui “la tipografia anglosassone vuole le dida sotto le tabelle e non sopra”…

    Non è vera per niente.

    Ciao
    Enrico

    in risposta a: Problema installazione MiKTeX #65372
    Up
    0
    Down
    ::


    Perché la 2.8 quando c’è la 2.9?

    Ciao
    Enrico

    in risposta a: Elenco ed altro #65352
    Up
    0
    Down
    ::

    Danilatex” post=64398Buonasera a tutti, sono un nuovo utente Latex ed anche un nuovo utente di questo forum. Mi scuso in anticipo se la mia domanda ha già ricevuto in risposta in qualche altro post, ma ho cercato senza successo.
    Mi trovo alle prese con la scrittura della tesi ed ho un problema: come posso fare a creare un elenco numerico con numeri romani o, ad esempio, con lettere.
    Grazie

    Benvenuto!

    Il modo più semplice è di usare il pacchetto enumitem
    `\usepackage{enumitem}
    …
    \begin{document}
    …

    \begin{enumerate}[label=(\Roman*)]
    \item …
    …
    \end{enumerate}

    …

    \begin{enumerate}[label=(\alph*)]
    \item …
    …
    \end{enumerate}`
    La prima lista sarà numerata con numeri romani, la seconda con lettere. Maggiori informazioni su enumitem e su altri pacchetti sulla Breve guida.

    Ciao
    Enrico

    in risposta a: Uso di \catcode #65343
    Up
    0
    Down
    ::

    OldClaudio” post=64372`{\catcode`\$=12\obeylines
    \input{file esterno}}`

    Una piccola precisazione: la differenza fra
    `{\catcode`\$=12\obeylines%
    \input{file esterno}}`
    e
    `{\catcode`\$=12\obeylines
    \input{file esterno}}`
    è che nel secondo caso viene eseguito un \par in più, precisamente il fine riga che segue \obeylines. In questa situazione probabilmente è irrilevante, ma non è detto che lo sia sempre.

    Quando si toccano i codici di categoria bisogna stare molto attenti! TeX si mette a fare cose contrarie alle nostre abitudini. 🙂

    Ciao
    Enrico

    in risposta a: Problema frazione con parole #65313
    Up
    0
    Down
    ::

    Damon Salvatore” post=64337Salve a tutti, ho un ennesimo problema!

    Voglio scrivere la seguente cosa:

    Efficienza spettrale = Capacità del canale / Lunghezza di banda del canale

    ho usato il codice `Efficienza spettrale = \frac{Capacità del canale}{Lunghezza di banda del canale}`
    usando sia il $$ prima e dopo, sia il begin equation.

    Risultato: pessimo! caratteri vicini, poco spazio tra le parole e la barra del diviso…

    Come ottenere un risultato ottimale?? (non mi serve la numerazione a questa formula)

    “Risultato ottimale” è un ossimoro, in questo caso. Puoi ottenere qualcosa che non sia orrido:
    `\begin{center}
    Efficienza spettrale${}={}$
    \begin{tabular}{@{}c@{}}
    Capacità del canale \\
    \hline
    Lunghezza di banda del canale
    \end{tabular}
    \end{center}`
    oppure, caricando amsmath
    `\[
    \text{Efficienza spettrale}=
    \dfrac{\text{Capacit\`a del canale}}{\text{Lunghezza di banda del canale}}
    \]`
    La differenza è piccola. Sinceramente, questa pseudomatematica mi urta un pochino.

    Ciao
    Enrico

    in risposta a: patchcmd e spazi spuri #65331
    Up
    0
    Down
    ::

    antonio.macrì” post=64355Stavo cercando di definire un comando che mi consenta di riferirmi alle etichette usando numeri ordinali, anziché i cardinali. Ho pensato di “patchare” i comandi definiti da hyperref:
    `
    \documentclass[12pt]{article}
    \usepackage[T1]{fontenc}
    \usepackage[italian]{babel}
    \usepackage{etoolbox}
    \usepackage[colorlinks,linkcolor=blue]{hyperref}
    \usepackage{itnumpar}

    \makeatletter
    \def\@ordref#1#2{%
    \begingroup
    $\rightarrow$\patchcmd{\T@ref}{\@firstoffive}{{\expandafter#1\@firstoffive}}\relax\relax$\leftarrow$%
    \ref{#2}%
    \endgroup}
    \newcommand\ordreff{%
    \@ordref\printordinalef}
    \newcommand\ordrefm{%
    \@ordref\printordinalem}
    \makeatletter

    \begin{document}
    \section{Primo paragrafo}
    \label{cap:primo}
    \centering

    \fboxsep=0pt
    \fbox{\ordreff{cap:primo}} \quad \fbox{\ordrefm{cap:primo}}
    \end{document}`

    Il problema è che vengono inseriti degli spazi spuri:

    Il comando \T@ref è definito in questo modo:
    `
    \def\T@ref#1{%
    \Hy@safe@activestrue
    \expandafter\@setref\csname r@#1\endcsname\@firstoffive{#1}%
    \Hy@safe@activesfalse
    }%`

    A chi sono dovuti gli spazi spuri? Come si risolve?
    Esiste un modo migliore per fare quello che sto cercando di fare?

    Non mi pare una buona idea quella di eseguire \patchcmd a ogni esecuzione. E poi
    `{\expandafter#1\@firstoffive}`
    non ha molto senso.

    Carica refcount e definisci
    `\def\@ordref#1#2{#1{\getrefnumber{#2}}}`
    Ciao
    Enrico

    in risposta a: fontspec e geometry: ordine di caricamento #65335
    Up
    0
    Down
    ::

    ivan” post=64357Ciao a tutti!

    Il seguente codice

    `% !TEX TS-program = XeLaTeX
    \documentclass[a4paper]{book}

    \usepackage[lines=5]{geometry}
    \usepackage{fontspec}

    \usepackage{lipsum}

    \begin{document}
    \lipsum

    \end{document}`

    produce pagine in formato a4 con 5 righe per pagina.
    Se però fontspec viene caricato prima di geometry, le righe diventano 4.
    Sembra che questo strano comportamento non sia documentato. Almeno io non ho trovato niente.
    Da cosa può dipendere? Routine di output di XeTeX?

    Ciao
    Ivan

    Il problema è che fontspec, per motivi suoi, imposta \baselineskip a 10pt invece che a 12 come trova geometry se caricato prima di fontspec. Questo falsa i calcoli di geometry che da \textheight=58pt passa a \textheight=50pt. Solo dopo \begin{document} fontspec reimposta \baselineskip=12pt

    Ciao
    Enrico

    in risposta a: \hspace in ambiente enumerate #65325
    Up
    0
    Down
    ::

    santico” post=64353Salve ,

    vorrei creare un elenco con l’ambiente enumerate, ma per alcuni item ho la necessità di lasciare un margine all’inizio. Ho provato con \hspace, ma non riesco ad ottenere il riultato voluto.
    Vi sarei grato se poteste aiutarmi a risolvere questo piccolo intoppo.

    Sarebbe meglio un esempio; intanto prova con \hspace*

    Ciao
    Enrico

    in risposta a: Un difetto di LaTeX: lo spazio tra didascalia e tabella #65204
    Up
    0
    Down
    ::

    illinguista1972″ post=64335PS: prevengo la risposta del noto autore dicendo che, pur essendomi impegnato a leggere i suoi Appunti mi sono dovuto arrendere. Non ci capisco un granché. Almeno hanno il pregio di un frontespizio senza colori aberranti 😆

    Non ti applichi. Sto già studiando il colore per il frontespizio della prossima edizione. 🙂

    Ciao
    Enrico

    in risposta a: Considerare $ come se fosse \$ #65318
    Up
    0
    Down
    ::

    nsturaro” post=64342Ciao a tutti.

    Pensavo che la mia domanda fosse una FAQ ma non ho trovato risposte sui manuali o sul forum.

    Un software genera dei file di testo che poi io includo in R. In alcuni di questi file c’è il carattere $.

    Esiste un modo per dire a Latex di considerare da un certo punto in poi del documento, il carattere $ come se fosse \$?

    In questo modo eviterei di andare a lavorare sui file di testo, modificandone il contenuto.

    `\begingroup
    \catcode`\$=12
    \input{filegeneratodaR}
    \endgroup`
    Ciao
    Enrico

Stai visualizzando 15 risposte – dal 2,836 al 2,850 (di 13,205 totali)

Go to top▲