<div dir="ltr">Thanks a lot Heiko. I have got a similar question. Sometimes package X loads package Y at the beginning of the document. Now I have a package that makes changes to package Y but since package X loads package Y at the beginning of the document, my changes to package Y is not applied. Something like the following:<br>
<br>\usepackage{X} %which loads package Y at \begin{document}<br>\usepackage{mypackage}<br><br>If a user manually loads package Y  before mypackage, changes to package Y are applied:<br><br>\usepackage{X}<br>\usepackage{Y}<br>
\usepackage{mypackage}<br><br>However if in my package I add the following, changes to package Y are not applied:<br><br>\@ifpackageloaded{X}{\RequirePackage{Y}}{}<br><br>and the user loads packages as:<br><br>\usepackage{X} %which loads package Y at \begin{document}<br>

\usepackage{mypackage}<br><br>Why my changes are not applied? how can I fix it? Is there a better approach for applying changes to a package eventhough that package is loaded at the beginning of the document?<br><br>Thanks<br>
</div>