summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/biblatex-contrib/biblatex-true-citepages-omit/biblatex-true-citepages-omit.sty
blob: d4785c6685915d465c2de2d1dd04abdeab823b81 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
%% Copyright 2013 Maïeul Rouquette
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
% The latest version of this license is in
%   http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
% This work has the LPPL maintenance status `maintained'.
% 
% The Current Maintainer of this work is Maïeul Rouquette
%
% This work consists of the file biblatex-real-citepages-omit.sty

\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{biblatex-true-citepages-omit}[2017/06/20 v2.0.0 real run of citepages=omit for biblatex]%
\RequirePackage{xstring}
\ExecuteBibliographyOptions{citepages=omit}
\AtEveryCitekey{%
	\usebibmacro{true-citepages-omit}%
}{}{}

\newbibmacro{true-citepages-omit}{%
	\iffieldundef{postnote}{}{%
		\IfBeginWith{\noexpand\csfield{postnote}}{\pno}%
		  {%
		  \usebibmacro{true-citepages-omit:clear}%
		  }{%
		  \IfBeginWith{\noexpand\csfield{postnote}}{\ppno}%
		    {%
		    \usebibmacro{true-citepages-omit:clear}%
		    }%
		    {%
		    }%
		  }%
	}%
}%

\newbibmacro{true-citepages-omit:clear}{%
 \clearfield{pages}%
 \clearfield{pagetotal}%
}%

%%% Kept for backward compatibility. No more needed.
\newcommand{\realcitepagesomitcmd}[1]{\ifcsdef{#1}{\expandafter\robustify\csname#1\endcsname}{}}

\realcitepagesomitcmd{bibleverse}
\realcitepagesomitcmd{emph}
\realcitepagesomitcmd{textbf}
\realcitepagesomitcmd{xspace}

\endinput