summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/macro/manyfoot.html
blob: 71c63f25049a3621dbe0b869dc68e389de93074d (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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
<html>
<head>
<title> Zastaw ciekawych makroinstrukcji </title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
<LINK REL="stylesheet" TYPE="text/css" HREF="mycss.css">
<meta http-equiv="Content-language" content="pl">
<meta name="Author" content="W³odzimierz Macewicz">
<meta name="Keywords" content="tex, latex, makroinstrukcje, pakiety makroinstrukcji, Wirtualna Akademia">
</head>
<body bgcolor=#a0f0a0>
<h2>manyfoot</h2>
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:
<table border=1>
<tr valign="top">
<td><tt>ruled</tt>
	</td><td>je¿eli na jednej stronie wyst±pi kilka typów
	przypisów, bêd± one oddzielone wynikiem dzia³ania
	polecenia <tt>\extrafootnoterule</tt> (domy¶lnie
	jest mu nadawana warto¶æ <tt>\footnoterule</tt>)</td></tr>
<tr valign="top">
<td><tt>para</tt>
	</td><td>opcja uaktywnia mo¿liwo¶æ
	utworzenia  typu przypisu, który bêdzie sk³adany
	w postaci jednego akapitu (p. te¿ <a href="fnpara.html">fnpara</a> lub
	<a href="footmisc.html">footmisc</a>)
		</td></tr>
<tr valign="top">
<td><tt>para*</tt>
	</td><td>jak wy¿ej, ale
	w akapicie nie bêdzie wcinana pierwsza linia
		</td></tr>
</table>
<p>Wewn±trz pakietu jest wywo³ywany pakiet <tt>nccfoots</tt>, w którym s±
definiowane 
nastêpuj±ce polecenia:<br>
<table border=1>
<tr valign="top"><td>
<tt>Footnotemark{<i>marker</i>}</tt>
	</td><td>
	wstawia odsy³acz do przypisu, je¿eli warto¶æ parametru jest 
	nieokre¶lona (pusta), wstawiana jest ostatnio u¿yta
	(zarówno w poleceniu <tt>footnote</tt>, <tt>footnotemark</tt>
	jak i <tt>\Footnotemark</tt> i <tt>Footnote</tt>)
	</td></tr>
<tr valign="top"><td>
<tt>Footnotetext{<i>marker</i>}{<i>tekst</i></tt>
	</td><td>
	wstawia przypis (bez odsy³acza), je¿eli warto¶æ parametru <i>marker</i>
	jest 
	nieokre¶lona (pusta), wstawiana jest ostatnio u¿yta
	(zarówno w poleceniu <tt>footnote</tt>, <tt>footnotemark</tt>
	jak i <tt>\Footnotemark</tt> i <tt>Footnote</tt>)
	</td></tr>
<tr valign="top"><td>
<tt>Footnote{<i>marker</i>}{<i>tekst</i></tt>
	</td><td>
	wstawia odsy³acz do przypisu (i przypis), je¿eli warto¶æ parametru 
	<i>marker</i> jest 
	nieokre¶lona (pusta), wstawiana jest ostatnio u¿yta
	(zarówno w poleceniu <tt>footnote</tt>, <tt>footnotemark</tt>
	jak i <tt>\Footnotemark</tt> i <tt>Footnote</tt>)
	</td></tr>
</table>

<p>Do tworzenia nowych typów przypisów s³u¿y nastêpuj±ce polecenie:<br
clear="all">
<tt>\newfootnote[<i>parametr</i>]{<i>suffix</i>}</tt><br clear="all">
<i>parametr</i> mo¿e przyjmowaæ warto¶ci: <tt>plain</tt> i <tt>para</tt>
(tylko w przypadku u¿ycia opcji <tt>para</tt> lub <tt>para*</tt>
przy wywo³aniu pakietu).

<p>Powy¿sze polecenie tworzy jedynie obiekt ruchomy typu ,,footnote''
oraz polecenie <tt>\Footnotetext<i>suffix</i></tt> o nastêpuj±cej sk³adni:<br>
<tt>\Footnotetext<i>suffix</i>{<i>marker</i>}{<i>tekst</i>}</tt>; 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:
<pre>
\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}}
</pre>
i ich u¿ycie:
<pre>
to jest tekst
to jest tekst\footnoteA{a to przypis typu A}
to jest tekst\footnoteB{a to przypis typu B}
to jest tekst
</pre>
<p>
Proces tworzenie jest nowego typu przypisu jest nieco uci±¿liwy,
proponujê dopisanie poni¿szego kodu:<br>
<pre>
\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
</pre>
sk³adnia polecenie <tt>\newfootnote</tt> zostaje zachowana, jednak w wyniku jej
dzia³ania zostanie utworzony odpowiedni licznik przypisów danego typu,
oraz samo polecenie wstawiania przypisu.
<tt>\Footnote<i>suffix</i>{<i>tekst przypisu</i>}</tt>, proszê zwróciæ
uwagê, ¿e nie mo¿na w tym poleceniu okre¶liæ parametru opcjonalnego
okre¶laj±cego inny, ni¿ kolejny, numer przypisu.

<p>Teraz utworzenie nowych typów przypisów jest proste:
<pre>
\newfootnote{A}
\newfootnote{B}
\renewcommand{\thefootnoteB}{\roman{footnoteB}}
</pre>
i ich u¿ycie:
<pre>
to jest tekst
to jest tekst\FootnoteA{a to przypis typu A}
to jest tekst\FootnoteB{a to przypis typu B}
to jest tekst
</pre>
<p>oraz efekt:<br clear="all">
<img src=manyfoot1.png> <br clear="all">

<p>Maksymalna wysoko¶æ zajmowana przez przypisy <b>danego typu</b>
(a nie przez wszystkie razem) wynosi
<tt>\dimen\footins</tt>

<hr>
<em>W³odzimierz Macewicz</em>
<hr>
Ostatnie zmiany: 05.05.2014.

</body>
</html>