diff --git a/sphinx/builders/latex/__init__.py b/sphinx/builders/latex/__init__.py index 705a9cca8b3..5ba28862137 100644 --- a/sphinx/builders/latex/__init__.py +++ b/sphinx/builders/latex/__init__.py @@ -411,20 +411,32 @@ def copy_support_files(self) -> None: staticdirname = path.join(package_dir, 'texinputs') for filename in os.listdir(staticdirname): if not filename.startswith('.'): - copy_asset_file(path.join(staticdirname, filename), - self.outdir, context=context) + copy_asset_file( + path.join(staticdirname, filename), + self.outdir, + context=context, + force=True, + ) # use pre-1.6.x Makefile for make latexpdf on Windows if os.name == 'nt': staticdirname = path.join(package_dir, 'texinputs_win') - copy_asset_file(path.join(staticdirname, 'Makefile.jinja'), - self.outdir, context=context) + copy_asset_file( + path.join(staticdirname, 'Makefile.jinja'), + self.outdir, + context=context, + force=True, + ) @progress_message(__('copying additional files')) def copy_latex_additional_files(self) -> None: for filename in self.config.latex_additional_files: logger.info(' ' + filename, nonl=True) - copy_asset_file(path.join(self.confdir, filename), self.outdir) + copy_asset_file( + self.confdir / filename, + self.outdir, + force=True, + ) def copy_image_files(self) -> None: if self.images: @@ -434,15 +446,22 @@ def copy_image_files(self) -> None: stringify_func=stringify_func): dest = self.images[src] try: - copy_asset_file(path.join(self.srcdir, src), - path.join(self.outdir, dest)) + copy_asset_file( + self.srcdir / src, + self.outdir / dest, + force=True, + ) except Exception as err: logger.warning(__('cannot copy image file %r: %s'), path.join(self.srcdir, src), err) if self.config.latex_logo: if not path.isfile(path.join(self.confdir, self.config.latex_logo)): raise SphinxError(__('logo file %r does not exist') % self.config.latex_logo) - copy_asset_file(path.join(self.confdir, self.config.latex_logo), self.outdir) + copy_asset_file( + self.confdir / self.config.latex_logo, + self.outdir, + force=True, + ) def write_message_catalog(self) -> None: formats = self.config.numfig_format @@ -457,7 +476,13 @@ def write_message_catalog(self) -> None: context['addtocaptions'] = r'\addto\captions%s' % self.babel.get_language() filename = path.join(package_dir, 'templates', 'latex', 'sphinxmessages.sty.jinja') - copy_asset_file(filename, self.outdir, context=context, renderer=LaTeXRenderer()) + copy_asset_file( + filename, + self.outdir, + context=context, + renderer=LaTeXRenderer(), + force=True, + ) def validate_config_values(app: Sphinx, config: Config) -> None: