Trying to use MakePerPage{footnote} kills the build of my LaTeX doc












1















The standard LaTeX footnote behavior is to mark footnotes using superscript numbers. I can't use that, since all of my citations are superscript numbers. What I'd like is for my footnotes to be marked with symbols, and for the set of symbols to reset on each page (eg the first footnote on a page should always be marked with *). To make this happen I added the following to one of my .sty files:



renewcommand*{thefootnote}{fnsymbol{footnote}}
usepackage{perpage}
MakePerPage{footnote}


However, these lines break my build. When I run the make command and my makefile gets to the pdflatex step, every footnote after the 7th one now raises an error of the form:



! LaTeX Error: Counter too large.

See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...

l.502 ... the topic of enhanced samplingfootnote{
Technically, Kahn et al., ...


If I comment out those lines, everything builds just fine, though of course then the footnotes are wrong. If I comment out just the MakePerPage{footnote}, then errors don't begin until after the 8th footnote. Either way, it seems like the MakePerPage{footnote} directive is being ignored, and that LaTeX is running out of footnote symbols.



I've used the above approach to get symbol footnotes in previous projects. The difference seems to be that before I was writing/building my docs using Texpad, whereas now I have a manual makefile build. So obviously there's something wrong with/missing from my makefile. Here's what the contents of the makefile look like:



fname=main
${fname}.pdf: ${fname}.tex
thesis_header.tex
abstract/abstract.tex
committee/committee.tex
acknowledgments/acknowledgments.tex
thesis_intro/thesis_intro.tex
bib/thesis_intro.bib
eces_chapter/error_control_of_enhanced_sampling.tex
bib/error_control_of_enhanced_sampling.bib
conclusion_chapter/conclusion_chapter.tex
if [ -e ${fname}.aux ];
then
rm ${fname}.aux;
fi;
pdflatex ${fname}
bibtex ${fname}
bibtex ${fname}1-blx
bibtex ${fname}2-blx
# Add more if you have more chapters
pdflatex ${fname}
pdflatex ${fname}
cp ${fname}.pdf PhD_Thesis.pdf
open PhD_Thesis.pdf
clean:
...
open:
open ${fname}.pdf
edit:
open ${fname}.tex


All of the footnote errors occur during the first call to pdflatex. At the end of that first call to pdflatex, an (incomplete) pdf is produced, and the build halts with another error message:



make: *** [main.pdf] Error 1


This project is a PhD thesis, so I'm working off a template (written by another student a few years ago) that meets my school/library's formatting requirements (basically, some weird wide margins + the output has to be PDF/A). I didn't write the makefile, nor do I particularly understand it, I just substituted the .tex/.bib filenames with my own. The makefile doesn't resemble other example LaTeX makefile's that I was able to find on the internet, so I'm at a loss as how to fix it. Anyone familiar enough with the perpage package and/or similar footnote issues who can point me in the right direction?



If you want more details, the entire set of sources for my thesis are in a public repo here.










share|improve this question

























  • Odd that you get an error for 7th I'd expect it to be 9th, the standard fnsymbol counter style only has 9 symbols, although you can easily extend it.

    – David Carlisle
    9 hours ago











  • it would be simpler to answer if you had posted a small but complete document with 7 footnotes on a page that gave the error (none of the makefile is related to the error message)

    – David Carlisle
    9 hours ago











  • The 7th one works, while the 8th one has the error. Looking through the incomplete pdf output it seems like somehow the * is getting skipped, and the first footnote is using the symbol.

    – tel
    9 hours ago













  • @DavidCarlisle I know the problem has something to do with the makefile, at least. All of the info I've found on MakePerPage{footnote} suggest that it requires two passes of pdflatex to work correctly. Is there some way to just make the makefile power through and do the second pass instead of halting on error? Also, I'll see if I can create the same error with just a single .tex file alongside a makefile.

    – tel
    8 hours ago













  • you shouldn't get an error

    – David Carlisle
    8 hours ago
















1















The standard LaTeX footnote behavior is to mark footnotes using superscript numbers. I can't use that, since all of my citations are superscript numbers. What I'd like is for my footnotes to be marked with symbols, and for the set of symbols to reset on each page (eg the first footnote on a page should always be marked with *). To make this happen I added the following to one of my .sty files:



renewcommand*{thefootnote}{fnsymbol{footnote}}
usepackage{perpage}
MakePerPage{footnote}


However, these lines break my build. When I run the make command and my makefile gets to the pdflatex step, every footnote after the 7th one now raises an error of the form:



! LaTeX Error: Counter too large.

See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...

l.502 ... the topic of enhanced samplingfootnote{
Technically, Kahn et al., ...


If I comment out those lines, everything builds just fine, though of course then the footnotes are wrong. If I comment out just the MakePerPage{footnote}, then errors don't begin until after the 8th footnote. Either way, it seems like the MakePerPage{footnote} directive is being ignored, and that LaTeX is running out of footnote symbols.



I've used the above approach to get symbol footnotes in previous projects. The difference seems to be that before I was writing/building my docs using Texpad, whereas now I have a manual makefile build. So obviously there's something wrong with/missing from my makefile. Here's what the contents of the makefile look like:



fname=main
${fname}.pdf: ${fname}.tex
thesis_header.tex
abstract/abstract.tex
committee/committee.tex
acknowledgments/acknowledgments.tex
thesis_intro/thesis_intro.tex
bib/thesis_intro.bib
eces_chapter/error_control_of_enhanced_sampling.tex
bib/error_control_of_enhanced_sampling.bib
conclusion_chapter/conclusion_chapter.tex
if [ -e ${fname}.aux ];
then
rm ${fname}.aux;
fi;
pdflatex ${fname}
bibtex ${fname}
bibtex ${fname}1-blx
bibtex ${fname}2-blx
# Add more if you have more chapters
pdflatex ${fname}
pdflatex ${fname}
cp ${fname}.pdf PhD_Thesis.pdf
open PhD_Thesis.pdf
clean:
...
open:
open ${fname}.pdf
edit:
open ${fname}.tex


All of the footnote errors occur during the first call to pdflatex. At the end of that first call to pdflatex, an (incomplete) pdf is produced, and the build halts with another error message:



make: *** [main.pdf] Error 1


This project is a PhD thesis, so I'm working off a template (written by another student a few years ago) that meets my school/library's formatting requirements (basically, some weird wide margins + the output has to be PDF/A). I didn't write the makefile, nor do I particularly understand it, I just substituted the .tex/.bib filenames with my own. The makefile doesn't resemble other example LaTeX makefile's that I was able to find on the internet, so I'm at a loss as how to fix it. Anyone familiar enough with the perpage package and/or similar footnote issues who can point me in the right direction?



If you want more details, the entire set of sources for my thesis are in a public repo here.










share|improve this question

























  • Odd that you get an error for 7th I'd expect it to be 9th, the standard fnsymbol counter style only has 9 symbols, although you can easily extend it.

    – David Carlisle
    9 hours ago











  • it would be simpler to answer if you had posted a small but complete document with 7 footnotes on a page that gave the error (none of the makefile is related to the error message)

    – David Carlisle
    9 hours ago











  • The 7th one works, while the 8th one has the error. Looking through the incomplete pdf output it seems like somehow the * is getting skipped, and the first footnote is using the symbol.

    – tel
    9 hours ago













  • @DavidCarlisle I know the problem has something to do with the makefile, at least. All of the info I've found on MakePerPage{footnote} suggest that it requires two passes of pdflatex to work correctly. Is there some way to just make the makefile power through and do the second pass instead of halting on error? Also, I'll see if I can create the same error with just a single .tex file alongside a makefile.

    – tel
    8 hours ago













  • you shouldn't get an error

    – David Carlisle
    8 hours ago














1












1








1








The standard LaTeX footnote behavior is to mark footnotes using superscript numbers. I can't use that, since all of my citations are superscript numbers. What I'd like is for my footnotes to be marked with symbols, and for the set of symbols to reset on each page (eg the first footnote on a page should always be marked with *). To make this happen I added the following to one of my .sty files:



renewcommand*{thefootnote}{fnsymbol{footnote}}
usepackage{perpage}
MakePerPage{footnote}


However, these lines break my build. When I run the make command and my makefile gets to the pdflatex step, every footnote after the 7th one now raises an error of the form:



! LaTeX Error: Counter too large.

See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...

l.502 ... the topic of enhanced samplingfootnote{
Technically, Kahn et al., ...


If I comment out those lines, everything builds just fine, though of course then the footnotes are wrong. If I comment out just the MakePerPage{footnote}, then errors don't begin until after the 8th footnote. Either way, it seems like the MakePerPage{footnote} directive is being ignored, and that LaTeX is running out of footnote symbols.



I've used the above approach to get symbol footnotes in previous projects. The difference seems to be that before I was writing/building my docs using Texpad, whereas now I have a manual makefile build. So obviously there's something wrong with/missing from my makefile. Here's what the contents of the makefile look like:



fname=main
${fname}.pdf: ${fname}.tex
thesis_header.tex
abstract/abstract.tex
committee/committee.tex
acknowledgments/acknowledgments.tex
thesis_intro/thesis_intro.tex
bib/thesis_intro.bib
eces_chapter/error_control_of_enhanced_sampling.tex
bib/error_control_of_enhanced_sampling.bib
conclusion_chapter/conclusion_chapter.tex
if [ -e ${fname}.aux ];
then
rm ${fname}.aux;
fi;
pdflatex ${fname}
bibtex ${fname}
bibtex ${fname}1-blx
bibtex ${fname}2-blx
# Add more if you have more chapters
pdflatex ${fname}
pdflatex ${fname}
cp ${fname}.pdf PhD_Thesis.pdf
open PhD_Thesis.pdf
clean:
...
open:
open ${fname}.pdf
edit:
open ${fname}.tex


All of the footnote errors occur during the first call to pdflatex. At the end of that first call to pdflatex, an (incomplete) pdf is produced, and the build halts with another error message:



make: *** [main.pdf] Error 1


This project is a PhD thesis, so I'm working off a template (written by another student a few years ago) that meets my school/library's formatting requirements (basically, some weird wide margins + the output has to be PDF/A). I didn't write the makefile, nor do I particularly understand it, I just substituted the .tex/.bib filenames with my own. The makefile doesn't resemble other example LaTeX makefile's that I was able to find on the internet, so I'm at a loss as how to fix it. Anyone familiar enough with the perpage package and/or similar footnote issues who can point me in the right direction?



If you want more details, the entire set of sources for my thesis are in a public repo here.










share|improve this question
















The standard LaTeX footnote behavior is to mark footnotes using superscript numbers. I can't use that, since all of my citations are superscript numbers. What I'd like is for my footnotes to be marked with symbols, and for the set of symbols to reset on each page (eg the first footnote on a page should always be marked with *). To make this happen I added the following to one of my .sty files:



renewcommand*{thefootnote}{fnsymbol{footnote}}
usepackage{perpage}
MakePerPage{footnote}


However, these lines break my build. When I run the make command and my makefile gets to the pdflatex step, every footnote after the 7th one now raises an error of the form:



! LaTeX Error: Counter too large.

See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...

l.502 ... the topic of enhanced samplingfootnote{
Technically, Kahn et al., ...


If I comment out those lines, everything builds just fine, though of course then the footnotes are wrong. If I comment out just the MakePerPage{footnote}, then errors don't begin until after the 8th footnote. Either way, it seems like the MakePerPage{footnote} directive is being ignored, and that LaTeX is running out of footnote symbols.



I've used the above approach to get symbol footnotes in previous projects. The difference seems to be that before I was writing/building my docs using Texpad, whereas now I have a manual makefile build. So obviously there's something wrong with/missing from my makefile. Here's what the contents of the makefile look like:



fname=main
${fname}.pdf: ${fname}.tex
thesis_header.tex
abstract/abstract.tex
committee/committee.tex
acknowledgments/acknowledgments.tex
thesis_intro/thesis_intro.tex
bib/thesis_intro.bib
eces_chapter/error_control_of_enhanced_sampling.tex
bib/error_control_of_enhanced_sampling.bib
conclusion_chapter/conclusion_chapter.tex
if [ -e ${fname}.aux ];
then
rm ${fname}.aux;
fi;
pdflatex ${fname}
bibtex ${fname}
bibtex ${fname}1-blx
bibtex ${fname}2-blx
# Add more if you have more chapters
pdflatex ${fname}
pdflatex ${fname}
cp ${fname}.pdf PhD_Thesis.pdf
open PhD_Thesis.pdf
clean:
...
open:
open ${fname}.pdf
edit:
open ${fname}.tex


All of the footnote errors occur during the first call to pdflatex. At the end of that first call to pdflatex, an (incomplete) pdf is produced, and the build halts with another error message:



make: *** [main.pdf] Error 1


This project is a PhD thesis, so I'm working off a template (written by another student a few years ago) that meets my school/library's formatting requirements (basically, some weird wide margins + the output has to be PDF/A). I didn't write the makefile, nor do I particularly understand it, I just substituted the .tex/.bib filenames with my own. The makefile doesn't resemble other example LaTeX makefile's that I was able to find on the internet, so I'm at a loss as how to fix it. Anyone familiar enough with the perpage package and/or similar footnote issues who can point me in the right direction?



If you want more details, the entire set of sources for my thesis are in a public repo here.







footnotes labels makefile






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 9 hours ago







tel

















asked 9 hours ago









teltel

208126




208126













  • Odd that you get an error for 7th I'd expect it to be 9th, the standard fnsymbol counter style only has 9 symbols, although you can easily extend it.

    – David Carlisle
    9 hours ago











  • it would be simpler to answer if you had posted a small but complete document with 7 footnotes on a page that gave the error (none of the makefile is related to the error message)

    – David Carlisle
    9 hours ago











  • The 7th one works, while the 8th one has the error. Looking through the incomplete pdf output it seems like somehow the * is getting skipped, and the first footnote is using the symbol.

    – tel
    9 hours ago













  • @DavidCarlisle I know the problem has something to do with the makefile, at least. All of the info I've found on MakePerPage{footnote} suggest that it requires two passes of pdflatex to work correctly. Is there some way to just make the makefile power through and do the second pass instead of halting on error? Also, I'll see if I can create the same error with just a single .tex file alongside a makefile.

    – tel
    8 hours ago













  • you shouldn't get an error

    – David Carlisle
    8 hours ago



















  • Odd that you get an error for 7th I'd expect it to be 9th, the standard fnsymbol counter style only has 9 symbols, although you can easily extend it.

    – David Carlisle
    9 hours ago











  • it would be simpler to answer if you had posted a small but complete document with 7 footnotes on a page that gave the error (none of the makefile is related to the error message)

    – David Carlisle
    9 hours ago











  • The 7th one works, while the 8th one has the error. Looking through the incomplete pdf output it seems like somehow the * is getting skipped, and the first footnote is using the symbol.

    – tel
    9 hours ago













  • @DavidCarlisle I know the problem has something to do with the makefile, at least. All of the info I've found on MakePerPage{footnote} suggest that it requires two passes of pdflatex to work correctly. Is there some way to just make the makefile power through and do the second pass instead of halting on error? Also, I'll see if I can create the same error with just a single .tex file alongside a makefile.

    – tel
    8 hours ago













  • you shouldn't get an error

    – David Carlisle
    8 hours ago

















Odd that you get an error for 7th I'd expect it to be 9th, the standard fnsymbol counter style only has 9 symbols, although you can easily extend it.

– David Carlisle
9 hours ago





Odd that you get an error for 7th I'd expect it to be 9th, the standard fnsymbol counter style only has 9 symbols, although you can easily extend it.

– David Carlisle
9 hours ago













it would be simpler to answer if you had posted a small but complete document with 7 footnotes on a page that gave the error (none of the makefile is related to the error message)

– David Carlisle
9 hours ago





it would be simpler to answer if you had posted a small but complete document with 7 footnotes on a page that gave the error (none of the makefile is related to the error message)

– David Carlisle
9 hours ago













The 7th one works, while the 8th one has the error. Looking through the incomplete pdf output it seems like somehow the * is getting skipped, and the first footnote is using the symbol.

– tel
9 hours ago







The 7th one works, while the 8th one has the error. Looking through the incomplete pdf output it seems like somehow the * is getting skipped, and the first footnote is using the symbol.

– tel
9 hours ago















@DavidCarlisle I know the problem has something to do with the makefile, at least. All of the info I've found on MakePerPage{footnote} suggest that it requires two passes of pdflatex to work correctly. Is there some way to just make the makefile power through and do the second pass instead of halting on error? Also, I'll see if I can create the same error with just a single .tex file alongside a makefile.

– tel
8 hours ago







@DavidCarlisle I know the problem has something to do with the makefile, at least. All of the info I've found on MakePerPage{footnote} suggest that it requires two passes of pdflatex to work correctly. Is there some way to just make the makefile power through and do the second pass instead of halting on error? Also, I'll see if I can create the same error with just a single .tex file alongside a makefile.

– tel
8 hours ago















you shouldn't get an error

– David Carlisle
8 hours ago





you shouldn't get an error

– David Carlisle
8 hours ago










2 Answers
2






active

oldest

votes


















1














The problem has nothing to do with the make file. It is caused by the fact that LaTeX processes the input past the end of a page (for example, up to the end of the current paragraph) before it knows there is a page full of text, so the on the first pass through the document you have already processed some footnotes that will eventually end up on page 2 before makeperpage "knows" they are not all on page 1.



makeperpage works fine with numbered footnotes, because it is very unlikely to run out of numbers during the first pass through the document!



During the first pass, makeperpage remembers where the page breaks actually were, and uses that information to produce the correct footnote symbols on the second pass.



A brute force way to fix this is just to turn the error message into a warning. Insert the following into the preamble of your .tex input file, before begin{document}:



makeatletter
gdef@ctrerr{%
@latex@warning{Counter too large}}
makeatother


The "standard" version of LaTeX uses @latex@error not @latex@warning here.






share|improve this answer
























  • Haha, awesome. Thank you. Latex: so much spaghetti that for the first time silencing an error message was the actually correct fix for an error.

    – tel
    8 hours ago



















2














the expected behaviour is to get an error on the 10th, some code you have not shown is presumably using two footnotes somewhere.



documentclass{article}

renewcommand*{thefootnote}{fnsymbol{footnote}}
usepackage{perpage}
MakePerPage{footnote}

begin{document}

1footnote{zz}
2footnote{zz}
3footnote{zz}
4footnote{zz}
5footnote{zz}
6footnote{zz}
7footnote{zz}
8footnote{zz}
9footnote{zz}
10footnote{zz}
11footnote{zz}

end{document}


produces



! LaTeX Error: Counter too large.

See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...

l.18 10footnote{
zz}
?


However fnsymbol is a trivial macro that can easily be extended, the default definition is



def@fnsymbol#1{%
ifcase#1or TextOrMathtextasteriskcentered *or
TextOrMath textdagger daggeror
TextOrMath textdaggerdbl ddagger or
TextOrMath textsection mathsectionor
TextOrMath textparagraph mathparagraphor
TextOrMath textbardbl |or
TextOrMath {textasteriskcenteredtextasteriskcentered}{**}or
TextOrMath {textdaggertextdagger}{daggerdagger}or
TextOrMath {textdaggerdbltextdaggerdbl}{ddaggerddagger}else
@ctrerr fi
}%


so you could use



documentclass{article}

renewcommand*{thefootnote}{fnsymbol{footnote}}
usepackage{perpage}
MakePerPage{footnote}

makeatletter
def@fnsymbol#1{%
ifcase#1or
TextOrMathtextasteriskcentered *or
TextOrMath textdagger daggeror
TextOrMath textdaggerdbl ddagger or
TextOrMath textsection mathsectionor
TextOrMath textparagraph mathparagraphor
TextOrMath textbardbl |or
TextOrMath {textasteriskcenteredtextasteriskcentered}{**}or
TextOrMath {textdaggertextdagger}{daggerdagger}or
TextOrMath {textdaggerdbltextdaggerdbl}{ddaggerddagger}or
TextOrMath {textsectiontextsection}{mathsectionmathsection}or
TextOrMath {textbardbltextbardbl}{||}else
@ctrerr fi
}%
makeatother

begin{document}

1footnote{zz}
2footnote{zz}
3footnote{zz}
4footnote{zz}
5footnote{zz}
6footnote{zz}
7footnote{zz}
8footnote{zz}
9footnote{zz}
10footnote{zz}
11footnote{zz}

end{document}





share|improve this answer
























  • I just doubled up characters here but of course you can use any symbols that you have available.

    – David Carlisle
    8 hours ago











  • Thanks for the info. I was wondering how to extend the set of symbols. However, alephzero directly addresses the issue of making perpage correctly reset the symbols on each page, so I had to go with his answer.

    – tel
    8 hours ago











  • @tel I can probably survive without the points:-)

    – David Carlisle
    8 hours ago











  • if you change the final @ctrerr by arabic{#1} then it will use numbers when it runs out of symbols and never give an error. @tel

    – David Carlisle
    7 hours ago













Your Answer








StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "85"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f469875%2ftrying-to-use-makeperpagefootnote-kills-the-build-of-my-latex-doc%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























2 Answers
2






active

oldest

votes








2 Answers
2






active

oldest

votes









active

oldest

votes






active

oldest

votes









1














The problem has nothing to do with the make file. It is caused by the fact that LaTeX processes the input past the end of a page (for example, up to the end of the current paragraph) before it knows there is a page full of text, so the on the first pass through the document you have already processed some footnotes that will eventually end up on page 2 before makeperpage "knows" they are not all on page 1.



makeperpage works fine with numbered footnotes, because it is very unlikely to run out of numbers during the first pass through the document!



During the first pass, makeperpage remembers where the page breaks actually were, and uses that information to produce the correct footnote symbols on the second pass.



A brute force way to fix this is just to turn the error message into a warning. Insert the following into the preamble of your .tex input file, before begin{document}:



makeatletter
gdef@ctrerr{%
@latex@warning{Counter too large}}
makeatother


The "standard" version of LaTeX uses @latex@error not @latex@warning here.






share|improve this answer
























  • Haha, awesome. Thank you. Latex: so much spaghetti that for the first time silencing an error message was the actually correct fix for an error.

    – tel
    8 hours ago
















1














The problem has nothing to do with the make file. It is caused by the fact that LaTeX processes the input past the end of a page (for example, up to the end of the current paragraph) before it knows there is a page full of text, so the on the first pass through the document you have already processed some footnotes that will eventually end up on page 2 before makeperpage "knows" they are not all on page 1.



makeperpage works fine with numbered footnotes, because it is very unlikely to run out of numbers during the first pass through the document!



During the first pass, makeperpage remembers where the page breaks actually were, and uses that information to produce the correct footnote symbols on the second pass.



A brute force way to fix this is just to turn the error message into a warning. Insert the following into the preamble of your .tex input file, before begin{document}:



makeatletter
gdef@ctrerr{%
@latex@warning{Counter too large}}
makeatother


The "standard" version of LaTeX uses @latex@error not @latex@warning here.






share|improve this answer
























  • Haha, awesome. Thank you. Latex: so much spaghetti that for the first time silencing an error message was the actually correct fix for an error.

    – tel
    8 hours ago














1












1








1







The problem has nothing to do with the make file. It is caused by the fact that LaTeX processes the input past the end of a page (for example, up to the end of the current paragraph) before it knows there is a page full of text, so the on the first pass through the document you have already processed some footnotes that will eventually end up on page 2 before makeperpage "knows" they are not all on page 1.



makeperpage works fine with numbered footnotes, because it is very unlikely to run out of numbers during the first pass through the document!



During the first pass, makeperpage remembers where the page breaks actually were, and uses that information to produce the correct footnote symbols on the second pass.



A brute force way to fix this is just to turn the error message into a warning. Insert the following into the preamble of your .tex input file, before begin{document}:



makeatletter
gdef@ctrerr{%
@latex@warning{Counter too large}}
makeatother


The "standard" version of LaTeX uses @latex@error not @latex@warning here.






share|improve this answer













The problem has nothing to do with the make file. It is caused by the fact that LaTeX processes the input past the end of a page (for example, up to the end of the current paragraph) before it knows there is a page full of text, so the on the first pass through the document you have already processed some footnotes that will eventually end up on page 2 before makeperpage "knows" they are not all on page 1.



makeperpage works fine with numbered footnotes, because it is very unlikely to run out of numbers during the first pass through the document!



During the first pass, makeperpage remembers where the page breaks actually were, and uses that information to produce the correct footnote symbols on the second pass.



A brute force way to fix this is just to turn the error message into a warning. Insert the following into the preamble of your .tex input file, before begin{document}:



makeatletter
gdef@ctrerr{%
@latex@warning{Counter too large}}
makeatother


The "standard" version of LaTeX uses @latex@error not @latex@warning here.







share|improve this answer












share|improve this answer



share|improve this answer










answered 8 hours ago









alephzeroalephzero

1,4141412




1,4141412













  • Haha, awesome. Thank you. Latex: so much spaghetti that for the first time silencing an error message was the actually correct fix for an error.

    – tel
    8 hours ago



















  • Haha, awesome. Thank you. Latex: so much spaghetti that for the first time silencing an error message was the actually correct fix for an error.

    – tel
    8 hours ago

















Haha, awesome. Thank you. Latex: so much spaghetti that for the first time silencing an error message was the actually correct fix for an error.

– tel
8 hours ago





Haha, awesome. Thank you. Latex: so much spaghetti that for the first time silencing an error message was the actually correct fix for an error.

– tel
8 hours ago











2














the expected behaviour is to get an error on the 10th, some code you have not shown is presumably using two footnotes somewhere.



documentclass{article}

renewcommand*{thefootnote}{fnsymbol{footnote}}
usepackage{perpage}
MakePerPage{footnote}

begin{document}

1footnote{zz}
2footnote{zz}
3footnote{zz}
4footnote{zz}
5footnote{zz}
6footnote{zz}
7footnote{zz}
8footnote{zz}
9footnote{zz}
10footnote{zz}
11footnote{zz}

end{document}


produces



! LaTeX Error: Counter too large.

See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...

l.18 10footnote{
zz}
?


However fnsymbol is a trivial macro that can easily be extended, the default definition is



def@fnsymbol#1{%
ifcase#1or TextOrMathtextasteriskcentered *or
TextOrMath textdagger daggeror
TextOrMath textdaggerdbl ddagger or
TextOrMath textsection mathsectionor
TextOrMath textparagraph mathparagraphor
TextOrMath textbardbl |or
TextOrMath {textasteriskcenteredtextasteriskcentered}{**}or
TextOrMath {textdaggertextdagger}{daggerdagger}or
TextOrMath {textdaggerdbltextdaggerdbl}{ddaggerddagger}else
@ctrerr fi
}%


so you could use



documentclass{article}

renewcommand*{thefootnote}{fnsymbol{footnote}}
usepackage{perpage}
MakePerPage{footnote}

makeatletter
def@fnsymbol#1{%
ifcase#1or
TextOrMathtextasteriskcentered *or
TextOrMath textdagger daggeror
TextOrMath textdaggerdbl ddagger or
TextOrMath textsection mathsectionor
TextOrMath textparagraph mathparagraphor
TextOrMath textbardbl |or
TextOrMath {textasteriskcenteredtextasteriskcentered}{**}or
TextOrMath {textdaggertextdagger}{daggerdagger}or
TextOrMath {textdaggerdbltextdaggerdbl}{ddaggerddagger}or
TextOrMath {textsectiontextsection}{mathsectionmathsection}or
TextOrMath {textbardbltextbardbl}{||}else
@ctrerr fi
}%
makeatother

begin{document}

1footnote{zz}
2footnote{zz}
3footnote{zz}
4footnote{zz}
5footnote{zz}
6footnote{zz}
7footnote{zz}
8footnote{zz}
9footnote{zz}
10footnote{zz}
11footnote{zz}

end{document}





share|improve this answer
























  • I just doubled up characters here but of course you can use any symbols that you have available.

    – David Carlisle
    8 hours ago











  • Thanks for the info. I was wondering how to extend the set of symbols. However, alephzero directly addresses the issue of making perpage correctly reset the symbols on each page, so I had to go with his answer.

    – tel
    8 hours ago











  • @tel I can probably survive without the points:-)

    – David Carlisle
    8 hours ago











  • if you change the final @ctrerr by arabic{#1} then it will use numbers when it runs out of symbols and never give an error. @tel

    – David Carlisle
    7 hours ago


















2














the expected behaviour is to get an error on the 10th, some code you have not shown is presumably using two footnotes somewhere.



documentclass{article}

renewcommand*{thefootnote}{fnsymbol{footnote}}
usepackage{perpage}
MakePerPage{footnote}

begin{document}

1footnote{zz}
2footnote{zz}
3footnote{zz}
4footnote{zz}
5footnote{zz}
6footnote{zz}
7footnote{zz}
8footnote{zz}
9footnote{zz}
10footnote{zz}
11footnote{zz}

end{document}


produces



! LaTeX Error: Counter too large.

See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...

l.18 10footnote{
zz}
?


However fnsymbol is a trivial macro that can easily be extended, the default definition is



def@fnsymbol#1{%
ifcase#1or TextOrMathtextasteriskcentered *or
TextOrMath textdagger daggeror
TextOrMath textdaggerdbl ddagger or
TextOrMath textsection mathsectionor
TextOrMath textparagraph mathparagraphor
TextOrMath textbardbl |or
TextOrMath {textasteriskcenteredtextasteriskcentered}{**}or
TextOrMath {textdaggertextdagger}{daggerdagger}or
TextOrMath {textdaggerdbltextdaggerdbl}{ddaggerddagger}else
@ctrerr fi
}%


so you could use



documentclass{article}

renewcommand*{thefootnote}{fnsymbol{footnote}}
usepackage{perpage}
MakePerPage{footnote}

makeatletter
def@fnsymbol#1{%
ifcase#1or
TextOrMathtextasteriskcentered *or
TextOrMath textdagger daggeror
TextOrMath textdaggerdbl ddagger or
TextOrMath textsection mathsectionor
TextOrMath textparagraph mathparagraphor
TextOrMath textbardbl |or
TextOrMath {textasteriskcenteredtextasteriskcentered}{**}or
TextOrMath {textdaggertextdagger}{daggerdagger}or
TextOrMath {textdaggerdbltextdaggerdbl}{ddaggerddagger}or
TextOrMath {textsectiontextsection}{mathsectionmathsection}or
TextOrMath {textbardbltextbardbl}{||}else
@ctrerr fi
}%
makeatother

begin{document}

1footnote{zz}
2footnote{zz}
3footnote{zz}
4footnote{zz}
5footnote{zz}
6footnote{zz}
7footnote{zz}
8footnote{zz}
9footnote{zz}
10footnote{zz}
11footnote{zz}

end{document}





share|improve this answer
























  • I just doubled up characters here but of course you can use any symbols that you have available.

    – David Carlisle
    8 hours ago











  • Thanks for the info. I was wondering how to extend the set of symbols. However, alephzero directly addresses the issue of making perpage correctly reset the symbols on each page, so I had to go with his answer.

    – tel
    8 hours ago











  • @tel I can probably survive without the points:-)

    – David Carlisle
    8 hours ago











  • if you change the final @ctrerr by arabic{#1} then it will use numbers when it runs out of symbols and never give an error. @tel

    – David Carlisle
    7 hours ago
















2












2








2







the expected behaviour is to get an error on the 10th, some code you have not shown is presumably using two footnotes somewhere.



documentclass{article}

renewcommand*{thefootnote}{fnsymbol{footnote}}
usepackage{perpage}
MakePerPage{footnote}

begin{document}

1footnote{zz}
2footnote{zz}
3footnote{zz}
4footnote{zz}
5footnote{zz}
6footnote{zz}
7footnote{zz}
8footnote{zz}
9footnote{zz}
10footnote{zz}
11footnote{zz}

end{document}


produces



! LaTeX Error: Counter too large.

See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...

l.18 10footnote{
zz}
?


However fnsymbol is a trivial macro that can easily be extended, the default definition is



def@fnsymbol#1{%
ifcase#1or TextOrMathtextasteriskcentered *or
TextOrMath textdagger daggeror
TextOrMath textdaggerdbl ddagger or
TextOrMath textsection mathsectionor
TextOrMath textparagraph mathparagraphor
TextOrMath textbardbl |or
TextOrMath {textasteriskcenteredtextasteriskcentered}{**}or
TextOrMath {textdaggertextdagger}{daggerdagger}or
TextOrMath {textdaggerdbltextdaggerdbl}{ddaggerddagger}else
@ctrerr fi
}%


so you could use



documentclass{article}

renewcommand*{thefootnote}{fnsymbol{footnote}}
usepackage{perpage}
MakePerPage{footnote}

makeatletter
def@fnsymbol#1{%
ifcase#1or
TextOrMathtextasteriskcentered *or
TextOrMath textdagger daggeror
TextOrMath textdaggerdbl ddagger or
TextOrMath textsection mathsectionor
TextOrMath textparagraph mathparagraphor
TextOrMath textbardbl |or
TextOrMath {textasteriskcenteredtextasteriskcentered}{**}or
TextOrMath {textdaggertextdagger}{daggerdagger}or
TextOrMath {textdaggerdbltextdaggerdbl}{ddaggerddagger}or
TextOrMath {textsectiontextsection}{mathsectionmathsection}or
TextOrMath {textbardbltextbardbl}{||}else
@ctrerr fi
}%
makeatother

begin{document}

1footnote{zz}
2footnote{zz}
3footnote{zz}
4footnote{zz}
5footnote{zz}
6footnote{zz}
7footnote{zz}
8footnote{zz}
9footnote{zz}
10footnote{zz}
11footnote{zz}

end{document}





share|improve this answer













the expected behaviour is to get an error on the 10th, some code you have not shown is presumably using two footnotes somewhere.



documentclass{article}

renewcommand*{thefootnote}{fnsymbol{footnote}}
usepackage{perpage}
MakePerPage{footnote}

begin{document}

1footnote{zz}
2footnote{zz}
3footnote{zz}
4footnote{zz}
5footnote{zz}
6footnote{zz}
7footnote{zz}
8footnote{zz}
9footnote{zz}
10footnote{zz}
11footnote{zz}

end{document}


produces



! LaTeX Error: Counter too large.

See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...

l.18 10footnote{
zz}
?


However fnsymbol is a trivial macro that can easily be extended, the default definition is



def@fnsymbol#1{%
ifcase#1or TextOrMathtextasteriskcentered *or
TextOrMath textdagger daggeror
TextOrMath textdaggerdbl ddagger or
TextOrMath textsection mathsectionor
TextOrMath textparagraph mathparagraphor
TextOrMath textbardbl |or
TextOrMath {textasteriskcenteredtextasteriskcentered}{**}or
TextOrMath {textdaggertextdagger}{daggerdagger}or
TextOrMath {textdaggerdbltextdaggerdbl}{ddaggerddagger}else
@ctrerr fi
}%


so you could use



documentclass{article}

renewcommand*{thefootnote}{fnsymbol{footnote}}
usepackage{perpage}
MakePerPage{footnote}

makeatletter
def@fnsymbol#1{%
ifcase#1or
TextOrMathtextasteriskcentered *or
TextOrMath textdagger daggeror
TextOrMath textdaggerdbl ddagger or
TextOrMath textsection mathsectionor
TextOrMath textparagraph mathparagraphor
TextOrMath textbardbl |or
TextOrMath {textasteriskcenteredtextasteriskcentered}{**}or
TextOrMath {textdaggertextdagger}{daggerdagger}or
TextOrMath {textdaggerdbltextdaggerdbl}{ddaggerddagger}or
TextOrMath {textsectiontextsection}{mathsectionmathsection}or
TextOrMath {textbardbltextbardbl}{||}else
@ctrerr fi
}%
makeatother

begin{document}

1footnote{zz}
2footnote{zz}
3footnote{zz}
4footnote{zz}
5footnote{zz}
6footnote{zz}
7footnote{zz}
8footnote{zz}
9footnote{zz}
10footnote{zz}
11footnote{zz}

end{document}






share|improve this answer












share|improve this answer



share|improve this answer










answered 8 hours ago









David CarlisleDavid Carlisle

485k4111181860




485k4111181860













  • I just doubled up characters here but of course you can use any symbols that you have available.

    – David Carlisle
    8 hours ago











  • Thanks for the info. I was wondering how to extend the set of symbols. However, alephzero directly addresses the issue of making perpage correctly reset the symbols on each page, so I had to go with his answer.

    – tel
    8 hours ago











  • @tel I can probably survive without the points:-)

    – David Carlisle
    8 hours ago











  • if you change the final @ctrerr by arabic{#1} then it will use numbers when it runs out of symbols and never give an error. @tel

    – David Carlisle
    7 hours ago





















  • I just doubled up characters here but of course you can use any symbols that you have available.

    – David Carlisle
    8 hours ago











  • Thanks for the info. I was wondering how to extend the set of symbols. However, alephzero directly addresses the issue of making perpage correctly reset the symbols on each page, so I had to go with his answer.

    – tel
    8 hours ago











  • @tel I can probably survive without the points:-)

    – David Carlisle
    8 hours ago











  • if you change the final @ctrerr by arabic{#1} then it will use numbers when it runs out of symbols and never give an error. @tel

    – David Carlisle
    7 hours ago



















I just doubled up characters here but of course you can use any symbols that you have available.

– David Carlisle
8 hours ago





I just doubled up characters here but of course you can use any symbols that you have available.

– David Carlisle
8 hours ago













Thanks for the info. I was wondering how to extend the set of symbols. However, alephzero directly addresses the issue of making perpage correctly reset the symbols on each page, so I had to go with his answer.

– tel
8 hours ago





Thanks for the info. I was wondering how to extend the set of symbols. However, alephzero directly addresses the issue of making perpage correctly reset the symbols on each page, so I had to go with his answer.

– tel
8 hours ago













@tel I can probably survive without the points:-)

– David Carlisle
8 hours ago





@tel I can probably survive without the points:-)

– David Carlisle
8 hours ago













if you change the final @ctrerr by arabic{#1} then it will use numbers when it runs out of symbols and never give an error. @tel

– David Carlisle
7 hours ago







if you change the final @ctrerr by arabic{#1} then it will use numbers when it runs out of symbols and never give an error. @tel

– David Carlisle
7 hours ago




















draft saved

draft discarded




















































Thanks for contributing an answer to TeX - LaTeX Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f469875%2ftrying-to-use-makeperpagefootnote-kills-the-build-of-my-latex-doc%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

How to make a Squid Proxy server?

Is this a new Fibonacci Identity?

Touch on Surface Book