summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/fnbreak/fnbreak.sty
blob: 59b1171980cd6e8bfcd8b7097a75e9c3c461968c (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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
%%
%% This is file `fnbreak.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% fnbreak.dtx  (with options: `package')
%% 
%%   fnbreak package
%% 
%%   Copyright 2003, 2004 Harald Harders
%% 
%%   This program can be redistributed and/or modified under the terms
%%   of the LaTeX Project Public License Distributed from CTAN
%%   archives in directory macros/latex/base/lppl.txt; either
%%   version 1.3 of the License, or any later version.
%% 
%%   h.harders@tu-bs.de
%% 
\ProvidesPackage{fnbreak}
  [2004/04/06  v1.10  Warning for pagebreak in footnote (HH)]
\newif\iffnb@showlabel
\fnb@showlabeltrue
\newif\iffnb@verbose
\DeclareOption{nolabel}{\fnb@showlabelfalse}
\DeclareOption{verbose}{\fnb@verbosetrue}
\ProcessOptions\relax
\xdef\fnb@@footnotestartnum{0}
\xdef\fnb@@footnotestartpage{0}
\def\fnb@footnotestart#1#2#3{}
\def\fnb@footnoteend#1#2#3{}
\AtBeginDocument{%
  \def\fnb@footnotestart#1#2#3{%
    \xdef\fnb@@footnotestartnum{#1}%
    \xdef\fnb@@footnotestartpage{#3}%
  }%
  \def\fnb@footnoteend#1#2#3{%
    \xdef\fnb@@footnoteendnum{#1}%
    \xdef\fnb@@footnoteendpage{#3}%
    \ifx\fnb@@footnotestartnum\fnb@@footnoteendnum
      \ifx\fnb@@footnotestartpage\fnb@@footnoteendpage
        \iffnb@verbose
          \message{Package fnbreak: Footnote number #1
            \iffnb@showlabel(label `#2') \fi^^J%
            \space\space\space\space\space\space
            \space\space\space\space\space\space
            \space\space\space\space\space
            completely on page #3.}%
        \fi
      \else
        \PackageWarningNoLine{fnbreak}{Footnote number #1
          \iffnb@showlabel(label `#2')\fi
          \MessageBreak
          has been split over different pages:\MessageBreak
          page \fnb@@footnotestartpage\space to page #3}%
        \def\fnb@globalwarning{%
          \PackageWarningNoLine{fnbreak}{There are footnotes with a
            pagebreak.\MessageBreak
            Check if they are acceptable}%
        }%
      \fi
    \else
      \PackageError{fnbreak}{Internal problem:\MessageBreak
        Start and stop marker of footnote do not fit:\MessageBreak
        start: \fnb@@footnotestartnum, page \fnb@@footnotestartpage,
        end: #1, page #3}{%
        This error may not happen.
        Please try to make a short example which shows this behaviour
        and send a bug report to h.harders@tu-bs.de.}%
    \fi
    }%
  }
  \def\fnb@fnstart{\@bsphack
    \protected@write\@auxout{}{%
      \string\fnb@footnotestart{\the\c@footnote}{\thefootnote}{\thepage}%
    }%
    \@esphack
  }
  \def\fnb@fnend{\@bsphack
    \protected@write\@auxout{}{%
      \string\fnb@footnoteend{\the\c@footnote}{\thefootnote}{\thepage}%
    }%
    \@esphack
  }
\AtBeginDocument{%
  \newcommand\fnb@orig@footnotetext{}%
  \let\fnb@orig@footnotetext\@footnotetext
  \long\def\@footnotetext#1{\fnb@orig@footnotetext{\fnb@fnstart#1\fnb@fnend}}%
  \newcommand\fnb@dofilelist{}%
  \let\fnb@dofilelist\@dofilelist
  \def\@dofilelist{\fnb@dofilelist\fnb@globalwarning}%
}
\newcommand\fnb@globalwarning{}%
\let\fnb@globalwarning\relax
\endinput
%%
%% End of file `fnbreak.sty'.