manyfoot

Pakiet definiuje polecenia umożliwiające definiowanie nowych obiektów typu przypis; będą one numerowane niezależnie (w ramach danego typu), o kolejności pojawiania się przypisów decyduje kolejność ich definicji. Pakiet posiada następujące opcje:
ruled jeżeli na jednej stronie wystąpi kilka typów przypisów, będą one oddzielone wynikiem działania polecenia \extrafootnoterule (domyślnie jest mu nadawana wartość \footnoterule)
para opcja uaktywnia możliwość utworzenia typu przypisu, który będzie składany w postaci jednego akapitu (p. też fnpara lub footmisc)
para* jak wyżej, ale w akapicie nie będzie wcinana pierwsza linia

Wewnątrz pakietu jest wywoływany pakiet nccfoots, w którym są definiowane następujące polecenia:

Footnotemark{marker} wstawia odsyłacz do przypisu, jeżeli wartość parametru jest nieokreślona (pusta), wstawiana jest ostatnio użyta (zarówno w poleceniu footnote, footnotemark jak i \Footnotemark i Footnote)
Footnotetext{marker}{tekst wstawia przypis (bez odsyłacza), jeżeli wartość parametru marker jest nieokreślona (pusta), wstawiana jest ostatnio użyta (zarówno w poleceniu footnote, footnotemark jak i \Footnotemark i Footnote)
Footnote{marker}{tekst wstawia odsyłacz do przypisu (i przypis), jeżeli wartość parametru marker jest nieokreślona (pusta), wstawiana jest ostatnio użyta (zarówno w poleceniu footnote, footnotemark jak i \Footnotemark i Footnote)

Do tworzenia nowych typów przypisów służy następujące polecenie:
\newfootnote[parametr]{suffix}
parametr może przyjmować wartości: plain i para (tylko w przypadku użycia opcji para lub para* przy wywołaniu pakietu).

Powyższe polecenie tworzy jedynie obiekt ruchomy typu ,,footnote'' oraz polecenie \Footnotetextsuffix o następującej składni:
\Footnotetextsuffix{marker}{tekst}; to niestety nie wszystko, oprócz tego należy zdefiniować licznik i podstawową makroinstrukcję służącą do wstawienia przypisu -- poniżej przykład utworzenia dwu nowych typów przypisów:

\newfootnote{A}
\newfootnote{B}
\newcounter{footnoteA}
\newcommand{\footnoteA}{%
   \stepcounter{footnoteA}%
   \Footnotemark\thefootnoteA \FootnotetextA{}}
\newcounter{footnoteB}
\newcommand{\footnoteB}{%
   \stepcounter{footnoteB}%
   \Footnotemark\thefootnoteB \FootnotetextB\thefootnoteB}
\renewcommand{\thefootnoteB}{\roman{footnoteB}}
i ich użycie:
to jest tekst
to jest tekst\footnoteA{a to przypis typu A}
to jest tekst\footnoteB{a to przypis typu B}
to jest tekst

Proces tworzenie jest nowego typu przypisu jest nieco uciążliwy, proponuję dopisanie poniższego kodu:

\makeatletter
\let\xxx=\newfootnote
\let\newfootnote\relax
\def\newfootnote{%
    \@ifnextchar[{\@xnewfootnote}{\@ynewfootnote}}
\def\@xnewfootnote[#1]#2{%
\@newfootnote[#1]{#2}%
}
\def\@ynewfootnote#1{%
\@newfootnote[plain]{#1}%
}
\def\@newfootnote[#1]#2{%
  \xxx[#1]{#2}
  \expandafter\newcounter{footnote#2}
  \edef\@tempa{\noexpand\newcommand
    \expandafter\noexpand\csname Footnote#2\endcsname
     {%
      \noexpand\stepcounter{footnote#2}%
        \noexpand\Footnotemark{\noexpand\csname thefootnote#2\endcsname}%
	\expandafter\noexpand\csname Footnotetext#2\endcsname{}}}%
  \@tempa
}
\makeatother
składnia polecenie \newfootnote zostaje zachowana, jednak w wyniku jej działania zostanie utworzony odpowiedni licznik przypisów danego typu, oraz samo polecenie wstawiania przypisu. \Footnotesuffix{tekst przypisu}, proszę zwrócić uwagę, że nie można w tym poleceniu określić parametru opcjonalnego określającego inny, niż kolejny, numer przypisu.

Teraz utworzenie nowych typów przypisów jest proste:

\newfootnote{A}
\newfootnote{B}
\renewcommand{\thefootnoteB}{\roman{footnoteB}}
i ich użycie:
to jest tekst
to jest tekst\FootnoteA{a to przypis typu A}
to jest tekst\FootnoteB{a to przypis typu B}
to jest tekst

oraz efekt:

Maksymalna wysokość zajmowana przez przypisy danego typu (a nie przez wszystkie razem) wynosi \dimen\footins


Włodzimierz Macewicz
Ostatnie zmiany: 05.05.2014.

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.