Re: bibformat = ibidem: switch off pagebreak test?

Andreas Pattar <[email protected]> Thu, 26 Apr 2007 23:10:23 +0200
Newsgroups gmane.comp.tex.bibtex.jurabib.user
Message-ID <[email protected]>
Hi Tom!

The description of your problem a few days ago seemed to me to be the 
exact opposite to my problem. Didn't it disappear when you had several 
(the manual says up to 4) latex-runs?

I post you the insertion I made to my preamble anyway. The insertion has 
to come in the preamble somewhere after 
\usepackage[bibformat=ibidem]{jurabib}. It definitely isn't elegant, as 
I didn't touch the definitions for options I don't use. I didn't delete 
the page test, I just told jurabib to do the same thing, whatever the 
page test's result is.

Best regards

Andreas


Here's what I inserted (and what works):

%>>>>>BEGINNING OF INSERTION
\makeatletter
\renewcommand*{\jbdoitem}{%
 \ifjb@index\protected@xdef\curr@key{\jb@key}%
            \gdef\jb@authorlist{}\fi
 \ifjb@no@bib\relax\else
  \ifthenelse{\equal{\@nameuse{NOBIB@\jb@key}}{suppress}}{}{%
   \jb@item\hyper@jbanchorstart{\jb@key}\hyper@jbanchorend
   \ifjb@howcited
     \@ifundefined{b@\jb@key @C}{%
         \renewcommand*{\bibhowcited}{%
                 \space\bibnotcited}%
         \renewcommand*{\bibcommenthowcited}{%
                 \space\bibnotcited}%
         \ifjb@allow@howcited@art@period
           \renewcommand*{\bibartperiodhowcited}{%
                    \space\bibnotcited}%
         \fi
     }{%
       \jb@detect@used@cite@commands
       \jb@handle@superscript@ed
       \jb@make@the@howcited
       \let\OpCit\@empty
     }%
   \fi
   \protected@edef\jb@tempcntc{\thebibnamereplace}%
   \stepcounter{bibnamereplace}%
   \label{jbib:\thebibnamereplace}%
   \@tempcnta=\jb@tempcntc
   \advance\@tempcnta\@ne
   \protected@edef\jb@tempcntd{\the\@tempcnta}%
   \ifthenelse{\boolean{jb@bibformat@ibidem}}{%
       \ifthenelse{%
          \equal{\jb@simple@pageref@by@heiko{jbib:\jb@tempcntc}}{%
            \jb@simple@pageref@by@heiko{jbib:\thebibnamereplace}}%
       }{%
           \ifjb@debug SAME PAGE/\fi
           \ifthenelse{\equal{\jb@@test@fullname}{\jb@@testlast@fullname}}{%
                 \ifjb@debug SAME AUTHOR \fi
                 \ifthenelse{\equal{\jb@@fullname}{}}{}{%
                     \ifthenelse{%
                          \boolean{jbaltformat}%
                     }{%
                          \def\jb@@name{}%
                     }{%
                          \def\jb@@name{\bibauthormultiple}%
                     }%
                }%
           }{%
                 \ifjb@debug AUTHOR DIFFERS \fi
                 \ifthenelse{\equal{\jb@@fullname}{}}{%
                     \def\jb@@name{}%
                 }{%
                     \def\jb@@name{\jb@@fullname\bibansep}%
                 }%
           }%
       }{%
           \ifjb@debug SAME PAGE/\fi
           \ifthenelse{\equal{\jb@@test@fullname}{\jb@@testlast@fullname}}{%
                 \ifjb@debug SAME AUTHOR \fi
                 \ifthenelse{\equal{\jb@@fullname}{}}{}{%
                     \ifthenelse{%
                          \boolean{jbaltformat}%
                     }{%
                          \def\jb@@name{}%
                     }{%
                          \def\jb@@name{\bibauthormultiple}%
                     }%
                }%
           }{%
                 \ifjb@debug AUTHOR DIFFERS \fi
                 \ifthenelse{\equal{\jb@@fullname}{}}{%
                     \def\jb@@name{}%
                 }{%
                     \def\jb@@name{\jb@@fullname\bibansep}%
                 }%
           }%
       }%
   }{% bibformat=ibidem false
       \ifthenelse{\equal{\jb@@fullname}{}}{%
           \def\jb@@name{}%
       }{%
           \def\jb@@name{\jb@@fullname\bibansep}%
       }%
   }%
   \ifjb@babel
     \ifthenelse{\equal{\jb@@language}{\@empty}}{%
         \expandafter\jbselectlanguage\expandafter{\bbl@main@language}%
     }{%
         \language=\csname l@\jb@@language\endcsname\relax%
     }%
     \jb@check@language@start%
   \fi
   \ifjbaltformat\else
     \ifjb@numbered@bib
       \renewcommand*{\bibleftcolumn}{.36\linewidth}%
       \renewcommand*{\bibrightcolumn}{%
            \textwidth-\bibleftcolumn-5mm-\jbnumberbibwidth}%
         \begin{minipage}[t]{\jbnumberbibwidth}%
           \stepcounter{jbbibcnta}\bibnumberformat{\thejbbibcnta}%
         \end{minipage}%
     \fi
   \fi
   \ifjb@tabular
            \begin{minipage}[t]{\bibleftcolumn}%
                \renewcommand*{\bibansep}{}%
                \bibleftcolumnadjust\mbox{}%
                \jb@@name%
            
\end{minipage}\ifjb@numbered@bib\hspace{5mm}\else\hspace{10mm}\fi%
            \begin{minipage}[t]{\bibrightcolumn}%
                \bibrightcolumnadjust%
                \let\jblinebreak\@empty
                \jb@@fulltitle%
                \begingroup
                  \jb@check@language@end%
                  \let\hyper@jblinkstart\@gobble
                  \let\hyper@jblinkend\relax
                  \jb@bibarg@howcited%
                \endgroup
                \ifjb@dot\unskip\unskip\unskip.\fi
                \jb@endnote%
                \ifjb@backref~\backref{\csname br@\jb@key\endcsname}\fi
            \end{minipage}%\medskip%
   \else
       \ifjbaltformat
            \ifx\jb@@name\@empty\else\medskip\fi % add some vertical 
space between different authors
            
\let\jblinebreak\@empty\setlength{\tabcolsep}{0pt}\mbox{}\noindent
            
\begin{tabular}{p{\jb@biblaw@item@width}j{\jb@biblaw@entry@width}}
            
\ifx\jb@@name\@empty\else\multicolumn{2}{p{\columnwidth}}{\jb@@name}\\\fi
            \jb@biblaw@item & \jb@@fulltitle%
                              \begingroup
                                 \jb@check@language@end%
                                 \let\hyper@jblinkstart\@gobble
                                 \let\hyper@jblinkend\relax
                                 \jb@bibarg@howcited%
                               \endgroup
                               \ifjb@dot\unskip\unskip\unskip.\fi
                               \jb@endnote%
                               \ifjb@backref
                                 ~\backref{\csname br@\jb@key\endcsname}%
                               \fi
            \end{tabular}
       \else
            \jb@@name\jb@@fulltitle%
            \begingroup
              \jb@check@language@end%
              \let\hyper@jblinkstart\@gobble
              \let\hyper@jblinkend\relax
              \jb@bibarg@howcited%
            \endgroup
            \ifjb@dot\unskip\unskip\unskip.\fi
            \jb@endnote%
            \ifjb@backref~\backref{\csname br@\jb@key\endcsname}\fi
       \fi
   \fi
   \gdef\jb@endnote{}%
   \ifjb@index\ifjb@index@bib\jb@index@as@alias{\jb@key}\fi\fi
   \protected@edef\jb@@testlast@fullname{\jb@@test@fullname}%
   \protected@edef\jb@@testlast@au@or@ed{\jb@@test@au@or@ed}%
  }%
 \fi
 \if@filesw{\let\protect\noexpand\immediate\write\@auxout{%
  \string\bibcite{\jb@key}{\jb@tempa}%
  \ifjb@index
    \ifjb@no@bib\else
      ^^J\string\jb@define@alias{\curr@key}{\jb@authorlist}%
    \fi
  \fi}}%
 \fi
 \ignorespaces
}%
\makeatother
%<<<<<END OF INSERTION





-- 

Please remember -- this is an international english speaking mailing list!

If you have a problem, please provide a complete minimal example document (with a small bibliography database), which runs out of he box without any superfluous packages loaded, otherwise we could not help. 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/jurabib/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/jurabib/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:[email protected] 
    mailto:[email protected]

<*> To unsubscribe from this group, send an email to:
    [email protected]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/