Overblog Suivre ce blog
Editer l'article Administration Créer mon blog

Suite de la bibliographie avec Latex

29 Décembre 2008 , Rédigé par Roger Bunivot Publié dans #Latex

Dans un précédent article Latex mes déboire pour obtenir une jolie bibliographie ,
j'avais décidé d'utiliser biblatex, avec biblatex-chem, tout cela c'est bien beau mais pas tout a fait ce que je voulais:
J'avais bien un numéro dans le texte et une citation formaté correctement, mais quand je citais deux fois le même article, j'avais deux fois la citation formaté dans la note de bas de page.

Pour l'instant j'ai pas encore réussi à faire ce que je veux mais ce que j'ai n'est pas si mal.
Ce que je veux, c'est quand je cite deux fois le même article sur la même page j'ai n'obtienne qu'une note avec le numéro de la première citation.

exemple:

texte d'exemple, ici je cite une première fois une référence1, et la une seconde fois la même référence1.


____
note de bas de page ici:
1 citation formatée avec un format pour les chimistes.



Ce que j'ai réussi a faire pour l'instant:
exemple:
texte d'exemple, ici je cite une première1 et la une seconde2 fois la même référence.

___
note de bas de page
1 citation formatée avec un format pour les chimistes
2 voir référence 1


pour faire cela j'ai créé deux nouveaux fichiers un bbx et un cbx, en copiant le fichier verbose-note.bbx et verbose-note.cbx (nouveauverbose.bbx, et nouveauverbose.cbx).
puis j'ai copié le contenu à partir de la ligne 23,  du fichier chem-asc.bbx, dans la copie du fichier verbose-note.bbx.

mon nouveau fichier se présente comme cela maintenant:

% $Id: nouveauverbose-note.bbx,v 0.7 2007/12/09 14:52:00 lehman beta $

\ProvidesFile{nouveauverbose-note.bbx}
[\blx@bbxid $Id: bv-verbose-note.bbx,v 0.7 2007/12/09 14:52:00 lehman beta $]

\RequireBibliographyStyle{authortitle}
\DeclareFieldFormat{labelnumberwidth}{\mkbibparens{#1}}
\renewcommand*{\newunitpunct}{\addcomma\space}
\DeclareFieldFormat{year}{\textbf{#1}}
\DeclareFieldFormat[article]{volume}{\emph{#1}}
\DeclareFieldFormat[article]{pages}{#1}
\DeclareFieldFormat[article]{title}{#1}
\renewcommand*{\multinamedelim}{\addsemicolon\space}
\renewcommand*{\finalnamedelim}{%
  \multinamedelim}
\DeclareNameAlias{author}{default}
\DeclareNameAlias{editor}{default}
\DeclareNameFormat{default}{%
  \usebibmacro{name:last-first:acs}{#1}{#4}{#5}{#7}%
  \usebibmacro{name:andothers}}
\newbibmacro*{name:last-first:acs}[4]{%
  \ifuseprefix
    {\usebibmacro{name:delim}{#3#1}%
     \usebibmacro{name:hook}{#3#1}%
     \ifblank{#3}{}
       {\mkbibnameprefix{\MakeCapital{#3}\isdot}%
        \ifpunctmark{'}{}{\addhighpenspace}}%
     \mkbibnamelast{#1\isdot}%
     \ifblank{#2}{}
       {\addcomma\addlowpenspace
        \mkbibnamefirst{#2}\isdot}%
     \ifblank{#4}{}
       {\addcomma\addlowpenspace
        \mkbibnameaffix{#4}\isdot}}
    {\usebibmacro{name:delim}{#1}%
     \usebibmacro{name:hook}{#1}%
     \mkbibnamelast{#1}\isdot
     \ifblank{#2#3}{}{\addcomma}%
     \ifblank{#2}{}
       {\addlowpenspace
        \mkbibnamefirst{#2}\isdot}%
     \ifblank{#3}{}
       {\addlowpenspace
        \mkbibnameprefix{#3}\isdot}}%
     \ifblank{#4}{}
       {\addcomma\addlowpenspace
        \mkbibnameaffix{#4}\isdot}}
\newbibmacro*{journal+volume}{%
  \usebibmacro{journal}%
  \setunit*{\addspace}%
  \printfield{year}%
  \newunit
  \printfield{volume}}
\newbibmacro*{pages/doi}{%
  \iffieldundef{pages}
    {\printfield{doi}}
    {\printfield{pages}}}
\DeclareBibliographyDriver{article}{%
  \usebibmacro{bibindex}%
  \usebibmacro{author}%
  \setunit*{\addspace}%
  \newblock
  \usebibmacro{journal+volume}%
  \newunit\newblock
  \printfield{note}%
  \newunit\newblock
  \usebibmacro{pages/doi}%
  \newunit\newblock
  \printfield{addendum}%
  \newunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}
% \endinput
%%
%% End of file `chem-acs.bbx'.


\endinput



Il faut aussi remplacé tout les verboses dans les deux fichiers par nouveauverbose.
Il faut peut être faire un texhash.

l'appelle a biblatex se fait maintenant:

\usepackage[style=nouveauverbose-note,hyperref=true,]{biblatex}

et l'appel se fait comme cela:

ici je veux citer une référence\autocite{clefbibtex}.




Partager cet article

Repost 0

Commenter cet article