<div dir="ltr"><br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
pages are compiled independently by default.  this is the way tex works.<br>
<br>
that information is passed to future runs via the .aux file, so that<br>
later compilations know (on page n) what happened on pages n+1, n+2,<br>
etc.<br>
<font color="#888888"><br>
<br></font></blockquote><div><br>It is true that page breaking is unpredicted in TeX but with some tricks you can overcome this. As an example in bidi package, \autofootnoterule is implemented. If the first footnote in a page is RTL, the footnote rule is on right
hand side, no matter what other footnotes on that specific page are and
if the first footnote in a page is LTR, the footnote rule on that
specfic page is on the left hand side, no matter what other footnotes
on that page are. bidi implements this and  you always get the correct
footnote rule, there is no way that you get the wrong footnote rule.
and this only requires one run of latex. but there are similar packages
which are disappointed of doing this and requires two run of latex and
they use a very bad approach and that is writing to .aux.<br><br>The trick I&#39;ve performed here is to maintain a list the ht+dp of
footnotes inserted and the resolved direction of that footnote.  Then
in the output routine, from the ht+dp of the footins box and this list
of mine, I can figure out what the direction of the first footnote in
this page is, and which footnotes are actually put in this page, and
update my list.<br> </div></div><br><br clear="all"><br>-- <br>Best wishes,<br>Vafa Khalighi<br>
</div>