}
-string const stripExtension(string const & file)
+string const stripExtensionIfPossible(string const & file)
{
// Remove the extension so the LaTeX will use whatever
// is appropriate (when there are several versions in
// This works only if the filename contains no dots besides
// the just removed one. We can fool here by replacing all
// dots with a macro whose definition is just a dot ;-)
- return subst(RemoveExtension(file), ".", "\\lyxdot ");
+ // The automatic format selection does not work if the file
+ // name is escaped.
+ string const latex_name = latex_path(file,
+ lyx::support::EXCLUDE_EXTENSION);
+ if (contains(latex_name, '"'))
+ return latex_name;
+ return latex_path(RemoveExtension(file),
+ lyx::support::PROTECT_EXTENSION,
+ lyx::support::ESCAPE_DOTS);
}
if (to_format == file_format ||
(to_format == "eps" && file_format == "ps") ||
(to_format == "ps" && file_format == "eps"))
- return stripExtension(file);
- return file;
+ return stripExtensionIfPossible(file);
+ return latex_path(file, lyx::support::EXCLUDE_EXTENSION);
}
} // namespace anon
source_file, output_file);
// We can't strip the extension, because we don't know
// the unzipped file format
- return output_file;
+ return latex_path(output_file,
+ lyx::support::EXCLUDE_EXTENSION);
}
string const unzipped_temp_file = unzippedFileName(temp_file);
output_to_file);
runparams.exportdata->addExternalFile("dvi", to_file,
output_to_file);
- return stripExtension(output_file);
+ return stripExtensionIfPossible(output_file);
}
lyxerr[Debug::GRAPHICS]
to_file, output_to_file);
}
- return stripExtension(output_file);
+ return stripExtensionIfPossible(output_file);
}
// Convert the file if necessary.
// Remove the extension so LaTeX will use whatever is appropriate
// (when there are several versions in different formats)
- latex_str += latex_path(prepareFile(buf, runparams));
+ latex_str += prepareFile(buf, runparams);
latex_str += '}' + after;
os << latex_str;
return;
features.includeFile(graphic_label,
- RemoveExtension(params().filename.absFilename()));
+ RemoveExtension(params().filename.absFilename()));
features.require("graphicx");