use \protect\textcite{}
in your caption or better
\caption[entry for the lof without (!) \textcite]{... \protect\textcite{...} ...}
and delete the *.lof
file for the next run otherwise you'll get always the same error again.
I managed to solve the "problem" as it turned out not to be problem at all.
As already stated in the question, removing the twoside
option resulted in the MWE functioning again. At first I didn't realise this, but as the book
documentclass has by default the layout set as two-sided! So including it doesn't add anything, but more importantly, removing the statement doesn't change anything either!
In essence, the fix in the question was already the answer, but it is a mystery why the explicit statement of a default setting would result in these error messages.
I then did some further testing with classes that do not as a default have the twoside
option enabled such as the article
class. Without any statement (so default, oneside
) the effect is as desired and doesn't give any error messages. However, when the option twoside
is passed it again results in errors.
In summary, it would seem that the fltpage
and caption
packages are incompatible when used in a documentclass that:
a. has not, by default, a twoside
layout; and a twoside
layout is required and therefore passed as an option; or
b. has by default a twoside
layout but this is also given as a statement when devining the documentclass.
My question related to the second option and is therefore answered, remove the optional mentioning of the twoside
option. The issue remains for people wanting to use it in other documentclasses such as article
, in combination with twoside
layout.
Best Answer
Remove
\restylefloat{figure}
(and\restylefloat{table}
) from your document preamble. In most cases it is simply not needed and it is only in the preamble because it was copied from another LaTeX document given by a friend or colleague (who did not know what\restylefloat
does either).But if you really need it (and really know what's good for and why you need it), you can try the following load order of packages:
This should fix the issue, too.