GuidoSette

Risposte nei forum create

Stai visualizzando 7 risposte – dal 16 al 22 (di 22 totali)
  • Autore
    Risposte
  • in risposta a: Composizione di dizionario: indice secondario #50365
    Up
    0
    Down
    ::


    Non mancherò di approfittare, sperando che un giorno potrò offrire qualcosa anch’io ai frequentatori del forum.

    Grazie ancora.
    Guido Sette

    in risposta a: Composizione di dizionario: indice secondario #50363
    Up
    0
    Down
    ::


    Grazie infinite per la spiegazione.

    Se me lo permetti, vorrei esprimere la mia gratitudine nel colophon dei libri che mi permetteranno di comporre con *TeX.

    Il nome, che ho visto in altri scritti qui sul Forum, è Enrico Gregorio, vero? Da quello che ho capito, il volume dovrebbe uscire agli inizi dell’anno prossimo, prima nel testo inglese, poi in quello italiano (se si metteranno d’accordo con il traduttore per finire la traduzione). Se andrà tutto bene, ti manderò una copia.

    Grazie di nuovo, per tutto!

    Guido Sette

    in risposta a: Composizione di dizionario: indice secondario #50361
    Up
    0
    Down
    ::

    Mancava una modifica alla modifica! Siccome ho pensato che fosse meglio creare fin da subito un indice “secondario”, cioè con un nome proprio, ho cambiato il codice in modo che desse \index[opere]{…}, ma ho scordato di cambiare \printindex in \printindex[opere].

    La questione delle codifiche è una di quelle che non fanno dormire! Più semplicemente, ricordati che TeXShop è, di default, con UTF-8 e quindi, quando ci incolli sopra, usa quella codifica. Nel testo originale sarebbe bastato cambiare \usepackage[latin1]{inputenc} in \usepackage[utf8]{inputenc}

    Ma per la tua impresa è probabile che XeLaTeX sia nettamente più indicato.

    Correggo anche nel messaggio precedente. Ah, non preoccuparti: le 23:30 per me sono quasi sera. 🙂 Era solo un riferimento alla scommessa di Luigi.

    Adesso il codice produce esattamente l’elenco che serviva. Sono senza parole, per quella macro che hai scritto, e anche per il tempo che ti ci è voluto (è vero che l’hai scritta come un fulmine, ma in fondo è pur sempre il tuo tempo personale che hai usato!), e per la tua gentilezza. Altro che Gandalf! 🙂

    Da buon studente cercherò adesso di capire come funziona la macro, senza subissarti di domande (anche se una cosa so già che non la capirò, come mai XeLaTeX generi l’indice a pagina 3, quando, a quanto capisco, dovrebbe essere a pagina 2. Andrò a leggere il manuale di imakeidx, probabilmente è un default in quel pacchetto, di generare la prima pagina dell’indice su pagina dispari.)

    Ero molto ispirato da TeX, adesso lo sono ancora di più.

    Grazie di cuore, per l’aiuto e per l’ispirazione.

    Guido Sette

    in risposta a: Composizione di dizionario: indice secondario #50359
    Up
    0
    Down
    ::

    In questo forum è usanza darsi del tu: fra cultori di TeX si è tutti amici. 🙂

    Grazie di cuore!

    Se la struttura del tuo dizionario è sempre la stessa, dovrebbe funzionare molto bene. L’idea è che teniamo a mente il personaggio e poi specifichiamo i libri in cui compare. Siccome i libri vanno comunque scritti, uso una macro per fare sia il lavoro di composizione del testo sia il lavoro di indicizzazione.

    Occorre nella cartella di lavoro anche un file che va chiamato “balzac.ist”:
    `group_skip “”
    item_0 “\n\n\\indexspace\n”
    delim_0 “”
    delim_1 “”`
    Sono quasi le 23, scusa per il ritardo. 🙂

    Grazie infinite per il codice, e la spiegazione.

    Non hai idea del senso di meraviglia che mi ha dato il tuo uso di codice TeX dentro LaTeX. Come se avessi di fronte Gandalf…

    Ho provato ad eseguirlo, e ho incontrato due intoppi. Il primo era un problema di gestione di caratteri accentati, probabilmente dipendente dal mio sistema: uso TeX Live 2010 (su OS X 10.6).

    L’ho risolto usando XeLaTeX (anche se dopo aver capito la tua soluzione, vorrei scoprire come mai avevo quel problema.)

    Il secondo è che il codice, così modificato:
    `

    %!TEX TS-program = xelatex
    %!TEX encoding = UTF-8 Unicode

    \documentclass[a4paper]{book}

    \usepackage{fontspec}
    \usepackage{xunicode}
    \usepackage{xltxtra}

    \usepackage{polyglossia}
    \setdefaultlanguage{italian}

    \usepackage{imakeidx}
    \makeindex[name=opere,title=Repertorio delle opere con i personaggi che vi
    compaiono,columns=1,options=-s balzac]
    \indexsetup{headers={\shortindexname}{\shortindexname}}
    \newcommand{\shortindexname}{\indexname}
    \newcommand{\ignore}[1]{}

    \makeatletter
    \let\@indexspace\indexspace
    \def\indexspace{\let\indexspace\@indexspace}
    \def\@preserve#1{\unexpanded\expandafter{\detokenize{#1}}}
    \newcommand{\person}[1]{%
    \xdef\@person{\@preserve{#1}}%
    \textsc{#1}}
    \newcommand{\book}[1]{%
    #1.%
    \edef\temp{\noexpand\index[opere]{\@preserve{#1}|ignore}}\temp
    \edef\temp{\noexpand\index[opere]{\@preserve{#1}!\@person|ignore}}%
    \temp}
    \makeatother

    \frenchspacing

    \begin{document}

    \chapter{Dizionario dei personaggi della Commedia Umana}

    [\ldots]

    \person{Albertine}, cameriera di Madame de Bargeton, dal 1821 al 1824.
    [\book{Illusioni perdute}
    \book{Massimilla Doni}
    \book{Beatrix}]

    \person{Althor} (Jacob), banchiere di Amburgo. Apre una filiale a Havre nel 1815. Ha un
    figlio che, nel 1829, M. e Mme. Mignon desiderano come genero.
    [\book{Modeste Mignon}]

    \person{Amaury} (Madame), proprietaria, nel 1829, di un padiglione a Sauvic, vicino a Ingouville, che Canalis affittò quando andò a Havre per incontrare Mlle. Mignon
    [\book{Modeste Mignon}]

    \renewcommand{\shortindexname}{Repertorio delle opere}

    \printindex

    \end{document}

    `

    mi dà questo errore:

    `
    ./balzac.tex:57: Package imakeidx Error: Misplaced \printindex.
    `

    Non riesco a capire cosa ci sia di sbagliato.

    Digitando “r” alla consolle ottengo la pagina con il testo, ma niente indice.

    Ho creato il file bazac.ist con il contenuto indicato, che risiede nella stessa directory del codice sopra (che ho chiamato balzac.tex).

    Guido Sette

    PS: Mi scuso per averti tenuto in piedi così tardi! Non so come ringraziarti. Spero un giorno di poter contraccambiare in qualche modo.

    in risposta a: Composizione di dizionario: indice secondario #50357
    Up
    0
    Down
    ::


    Grazie Sig. Luigi e grazie Sig. Enrico!

    Puoi fare un esempio, non troppo prolisso, di una situazione reale? Probabilmente si riesce a trovare un insieme di macro che possano alleviare il problema di come inserire i dati. Ti domanderai a che serve |xx alla fine. Be’, è il trucco che permette di eliminare i numeri di pagina.

    Il codice che segue proviene dal documento reale che sto preparando, con i suggerimenti da lei fatti (lasciando perdere la formattazione dei singoli lemmi, qui per semplicità li ho messi in maiuscoletto). Adesso che me lo ha detto, userò imakeidx per gestire due indici, uno generale, e uno dei titoli. Siccome l’opera è un dizionario dei nomi (della Commedia Umana), non penso ci dovrebbe essere bisogno di un indice delle persone.

    Ho inserito i suggerimenti da lei fatti, sostituendo per adesso allo stile “|xx” di cui parlava, il codice “|texit”, giusto per avere un’idea.

    Eccolo:

    `
    \documentclass{book}
    \usepackage{imakeidx}
    \makeindex[title=Repertorio delle opere con i personaggi che vi compaiono,columns=1]
    \begin{document}

    \chapter{Dizionario dei personaggi della Commedia Umana}
    [\ldots]
    \textsc{Albertine}, cameriera di Madame de Bargeton, dal 1821 al 1824.
    [Illusioni perdute.\index{Illusioni perdute}\index{Illusioni perdute!Albertine|textit} Massimilla Doni.\index{Massimilla Doni}\index{Massimilla Doni!Albertine|textit} Beatrix.\index{Beatrix}\index{Beatrix!Albertine|textit}]

    \textsc{Althor} (Jacob), banchiere di Amburgo. Apre una filiale a Havre nel 1815. Ha un figlio che, nel 1829, M. e Mme. Mignon desiderano come genero.
    [Modeste Mignon.\index{Modeste Mignon}\index{Modeste Mignon!Althor|textit}]

    \textsc{Amaury} (Madame), proprietaria, nel 1829, di un padiglione a Sauvic, vicino a Ingouville, che Canalis affittò quando andò a Havre per incontrare Mlle. Mignon
    [Modeste Mignon.\index{Modeste Mignon}\index{Modeste Mignon!Amaury|textit}]

    \printindex
    \end{document}
    `

    Il risultato di cui avrei bisogno partendo dai tre lemmi del codice, nell’indice dei nomi sarebbe:

    `
    Repertorio delle opere con i personaggi che vi compaiono

    Beatrix
    Albertine

    Illusioni perdute
    Albertine

    Massimilla Doni
    Albertine

    Modeste Mignon
    Althor
    Amaury
    `

    Un secondo problema sarebbe anche l’inserire tutti quei codici per gli indici (occhio e croce, alcune migliaia!)

    Come lei ha detto, sarebbe splendido avere una macro che allievi il problema di inserire i dati.

    Pensavo di usare le RegEx per iniettare i codici dell’indice, ma il riuscire ad estrarre il nome del personaggio, e quello dei titoli connessi, è al di fuori della mia portata.

    Vi molto grato per l’aiuto, ed anche per l’opportunità di imparare di più su questo linguaggio tipografico superlativo.

    in risposta a: Composizione di dizionario: indice secondario #50354
    Up
    0
    Down
    ::

    Mica vero:
    http://www.boekplan.com

    Grazie per quel riferimento. Intendevo che le case editrici per cui io personalmente lavoro, se sono “illuminate” abbastanza da accettare un impaginato non in InDesign o Quark, accettano comunque solo codice LaTeX/XeLaTex. Spero un giorno di poter lavorare per editori in sintonia con ConTeXt.

    Per adesso, quel problema del dizionario mi assilla. Per caso avrebbe dei suggerimenti, da implementare in LaTeX?

    Grazie di nuovo

    in risposta a: Composizione di dizionario: indice secondario #50352
    Up
    0
    Down
    ::

    Dovresti anche vedere ConTeXt, allora.

    Purtroppo ConTeXt non è per me un’opzione possibile in questo momento. Le case editrici (quelle disponibili ad accettare impaginati non in InDesign o Quark) non accetterebbero altro che LaTeX/XeTeX. Inoltre, diversi package che uso non sono ancora disponibili per ConTeXt.

Stai visualizzando 7 risposte – dal 16 al 22 (di 22 totali)

Go to top