我为演示文稿定义了一个自定义部分框架。我想加载一个与部分标题同名的图像。问题是,如果图像名称包含空格,LaTeX 通常无法加载图像。因此,我正在寻找一种解决方案,在将图像\insertsection
作为参数传递给时替换空格(以及其他特殊字符) \includegraphics
。
这是一个(不)有效的最小示例:
\documentclass{beamer}
\usetheme{default}
\usepackage{inputenc}
\setbeamertemplate{section page}{{
\begin{frame}{\insertsectionhead}
\begin{columns}
\begin{column}{0.65\textwidth}
this should load an image with name
\texttt{some-section-with-spaces.png}
in the on the right of this text (if that exists...)
\end{column}
\begin{column}{0.45\textwidth}%
\includegraphics[width=0.7\linewidth]{%
%% how to replace spaces with minus or underscore here
\insertsection%
}
\end{column}
\end{columns}
\end{frame}
}}
\AtBeginSection{
\sectionpage
}
\begin{document}
\section{some section with spaces in name}
\end{document}
答案1
方法 1
一个简单的解决方法是使用部分编号来命名图像:
\documentclass{beamer}
%\usetheme{default}
\usepackage{inputenc}
\setbeamertemplate{section page}{
\begin{frame}{\insertsectionhead}
\begin{columns}
\begin{column}{0.65\textwidth}
this should load an image with name
\texttt{some-section-with-spaces.png}
in the on the right of this text (if that exists...)
\end{column}
\begin{column}{0.45\textwidth}%
\includegraphics[width=0.7\linewidth]{\thesection}
\end{column}
\end{columns}
\end{frame}
}
\AtBeginSection{
\sectionpage
}
\begin{document}
\section{some section with spaces in name}
\section{title}
\end{document}
方法 2
如果您想坚持原来的计划并在文件名中使用空格,那么该grffile
软件包可能会有所帮助。