This is quite interesting -- you seem to have stumbled upon a conflict between the memoir
class and biblatex
. Using the book
class correctly yields "ibid." for citations no. 3 and 6 in your first example, but using the memoir
class doesn't.
% Using the "book" class correctly yields "ibid." for citations no. 3 and 6
\documentclass{book}
% But using the "memoir" class doesn't
% \documentclass{memoir}
\usepackage[style=verbose-ibid]{biblatex}
\begin{filecontents}{\jobname.bib}
@misc{Book1,
author = {Author, A.},
year = {2001},
title = {Alpha},
}
@misc{Book2,
author = {Buthor, B.},
year = {2002},
title = {Bravo},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
Check.\footcite{Book1}
Check.\footcite{Book1}
Check.\footnote{\cite{Book1}.}
Check.\footcite{Book1}
Check.\footcite{Book2}
Check.\footnote{\cite{Book2}.}
\end{document}
You can abuse the infrastructure of ucs
; here's a set of tricks that read the files you need in the ucs
distribution, but under utf8
which is compatible with biblatex
.
\documentclass[]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\input{binhex}
\makeatletter
\def\uc@dclc#1#2#3{%
\ifnum\pdfstrcmp{#2}{mathletters}=\z@
\begingroup\edef\x{\endgroup
\noexpand\DeclareUnicodeCharacter{\hex{#1}}}\x{#3}%
\fi
}
\input{uni-3.def}
\def\uc@dclc#1#2#3{%
\ifnum\pdfstrcmp{#2}{default}=\z@
\begingroup\edef\x{\endgroup
\noexpand\DeclareUnicodeCharacter{\hex{#1}}}\x{#3}%
\fi
}
\input{uni-34.def}
\makeatother
\begin{document}
\title{MyTitle}
\author{Me}
\maketitle
\section{MySection about ∞}
Accènt λ lambda ∞
$λ$ lambda $∞$
\end{document}
A different strategy is using unicode-math-table.tex
:
\documentclass[]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\makeatletter
\newcommand\UnicodeMathSymbol[4]{%
\ifnum#1>"9F
\expandafter\DeclareUnicodeCharacter\expandafter{\@gobble#1}{\ensuremath{#2}}%
\fi
}
\input{unicode-math-table}
\@for\next:={% you're probably using text Greek letters
alpha,beta,gamma,delta,epsilon,zeta,eta,theta,%
iota,kappa,lambda,mu,nu,xi,pi,rho,sigma,tau,%
upsilon,phi,chi,psi,omega,Gamma,Delta,Theta,%
Lambda,Xi,Pi,Sigma,Upsilon,Phi,Psi,Omega}\do{%
\expandafter\let\csname up\next\expandafter\endcsname\csname\next\endcsname
}
\makeatother
\begin{document}
\title{MyTitle}
\author{Me}
\maketitle
\section{MySection about ∞}
Accènt
λ lambda ∞
$λ$ lambda $∞$
\end{document}
The entries in unicode-math-table
are of the form
\UnicodeMathSymbol{"0221E}{\infty}{\mathord}{infinity}
so we remap this to
\DeclareUnicodeCharacter{0221E}{\ensuremath{\infty}}
(I used \ensuremath
because you want it, but I'd personally avoid it). For the Greek letters, \upalpha
and so on are used, so I remap also those commands to the usual ones.
Best Answer
biblatex
also supports moving punctuation around, but only with\autocite
. Just to address the title of your question: You cannot makebiblatex
andcite
compatible - they are fundamental incompatible, but most ofcite
's behaviour can be replicated withbiblatex
. So we don't need to.If you use a
numeric
-like style, this is not enabled by default, you need to tellbiblatex
to move punctuation to the left of the citation with\DeclareAutoCiteCommand{inline}[l]{\parencite}{\parencites}
(autocite=inline
is the default setting fornumeric
styles).To my eye that does not look very aesthetically pleasing. You can see that the feature is designed for footnote numbers, where the result is nicer.
Your comment suggests you actually want
\supercite
. In which case we only needto switch the
\autocite
style to\supercite
.