europecv, inserire la voce homepage

  • Creatore
    Topic
  • #27209
    Up
    0
    Down
    ::


    Si capisce dal titolo?
    Bene, è già presente nel cls la seguente voce:
    `#> grep homepage /usr/share/texmf-site/tex/latex/europecv/europecv.cls
    \newcommand*{\ecvhomepage}[1]{\def\ecv@homepage{#1}}`
    ho impostato la lingua su italian, quindi ho aggiunto:
    `#> grep homepage /usr/share/texmf-site/tex/latex/europecv/ecvit.def
    \def\ecv@homepagekey{\ecv@utf{Homepage}}`
    però se nel mio cv.tex metto la voce:
    `#> grep homepage cv.tex
    \ecvhomepage{http:miosito.it}`
    compilo con pdflatex ma nel pdf non è presente la voce, cosa sbaglio?
    utilizzo texlive-2007.
    ciao e grazie

Visualizzazione 4 filoni di risposte
  • Autore
    Risposte
    • #27210
      Up
      0
      Down
      ::

      Si capisce dal titolo?
      Bene, è già presente nel cls la seguente voce:
      `#> grep homepage /usr/share/texmf-site/tex/latex/europecv/europecv.cls
      \newcommand*{\ecvhomepage}[1]{\def\ecv@homepage{#1}}`
      ho impostato la lingua su italian, quindi ho aggiunto:
      `#> grep homepage /usr/share/texmf-site/tex/latex/europecv/ecvit.def
      \def\ecv@homepagekey{\ecv@utf{Homepage}}`
      però se nel mio cv.tex metto la voce:
      `#> grep homepage cv.tex
      \ecvhomepage{http:miosito.it}`
      compilo con pdflatex ma nel pdf non è presente la voce, cosa sbaglio?
      utilizzo texlive-2007.
      ciao e grazie

      Il comando \ecvhomepage non fa nulla, se non definirne un altro. Probabilmente vuoi inserire il dato nella parte \ecvpersonalinfo; copiati la definizione del comando (nella mia versione è dalla riga 379 alla 410 di europecv.cls) tra \makeatletter e \makeatother nel documento e modificala in modo che compaia il dato al posto più opportuno, prendendo come modello le altre righe.

      Mi guarderei bene dal modificare uno dei file della distribuzione; la definizione del comando ausiliario e la modifica di \ecvpersonalinfo puoi darle anche in un tuo .sty (dove non c’è bisogno di scrivere \makeatletter e \makeatother).

      Visto che usi Gentoo, probabilmente con bash, la riga di comando
      `grep homepage $(kpsewhich europecv.cls)`
      è molto più efficiente. Il programma kpsewhich interroga il database dei file della distribuzione TeX e produce il percorso del file che verrebbe letto se si desse \input (o \usepackage o comando simili che si rifanno a \input). Fa anche altre cose, per la verità.

      Ciao
      Enrico

    • #27211
      Up
      0
      Down
      ::


      Bene, ti ringrazio, dopo aver riportato le modifiche che ho indicato sopra, come da te indicato ho anche aggiunto le righe seguenti:
      `
      \providecommand{\ecvpersonalinfo}[1][0pt]
      …………………………………………….
      \ifx\@empty\ecv@homepage\else
      \ecv@homepagekey &\ecv@homepage \tabularnewline[5pt]
      \fi
      ……………………………………………..
      `

      Saluti, Luca.

    • #27212
      Up
      0
      Down
      ::

      Bene, ti ringrazio, dopo aver riportato le modifiche che ho indicato sopra, come da te indicato ho anche aggiunto le righe seguenti:
      `
      \providecommand{\ecvpersonalinfo}[1][0pt]
      …………………………………………….
      \ifx\@empty\ecv@homepage\else
      \ecv@homepagekey &\ecv@homepage \tabularnewline[5pt]
      \fi
      ……………………………………………..
      `

      Spero che tu non l’abbia fatto nel file originale. Se hai proceduto in questo modo, disfa subito: se per caso il pacchetto fosse aggiornato ti perderesti le modifiche. 😯

      Molto meglio crearsi un .sty, che puoi mettere nell’albero personale (consulta la guida di Lorenzo per sapere di che si tratta.

      Naturalmente il comando modificato dovrà essere introdotto da \renewcommand. Di fatto l’uso di \providecommand in una classe è insensato.

      Ciao
      Enrico

    • #27213
      Up
      0
      Down
      ::


      Allora, nella stessa cartella del mio cv.tex ho rinominato il file europecv.cls in mycv.cls, al quale ho apportato le modifiche
      `\providecommand{\ecvpersonalinfo}[1][0pt]
      …………………………………………….
      \ifx\@empty\ecv@homepage\else
      \ecv@homepagekey &\ecv@homepage \tabularnewline[5pt]
      \fi
      …………………………………………….. `
      poi ho creato, sempre nella stessa directory il seguente file:
      `#> cat personal.sty
      \ProvidesPackage{personal}
      \def\ecv@homepagekey{\ecv@utf{Sito}}`
      quindi nel preambolo ho aggiunto:
      `
      \documentclass[utf8, helvetica, italian, nologo, noflag, notitle, narrow]{mycv}
      \usepackage{personal}

      `
      ottenendo il risultato desiderato.
      Ora posso mettere il tag risolto?

    • #27214
      Up
      0
      Down
      ::

      Allora, nella stessa cartella del mio cv.tex ho rinominato il file europecv.cls in mycv.cls, al quale ho apportato le modifiche
      `\providecommand{\ecvpersonalinfo}[1][0pt]
      …………………………………………….
      \ifx\@empty\ecv@homepage\else
      \ecv@homepagekey &\ecv@homepage \tabularnewline[5pt]
      \fi
      …………………………………………….. `
      poi ho creato, sempre nella stessa directory il seguente file:
      `#> cat personal.sty
      \ProvidesPackage{personal}
      \def\ecv@homepagekey{\ecv@utf{Sito}}`
      quindi nel preambolo ho aggiunto:
      `
      \documentclass[utf8, helvetica, italian, nologo, noflag, notitle, narrow]{mycv}
      \usepackage{personal}

      `
      ottenendo il risultato desiderato.
      Ora posso mettere il tag risolto?

      Perché non mettere la ridefinizione di \ecvpersonalinfo in personal.sty? È molto più pulito e sicuro, sempre per il solito motivo: se viene modificata la classe, dovresti rimodificare il tuo mycv.cls. Chiaro che potrebbero essere introdotte variazioni incompatibili con personal.sty, ma è un evento alquanto improbabile.

      Ciao
      Enrico

Visualizzazione 4 filoni di risposte
  • Devi essere connesso per rispondere a questo topic.

Go to top