首页 > 解决方案 > 使用乳胶模板时,R markdown beamer 中未显示页码

问题描述

我正在使用乳胶模板在 R markdown 中创建投影仪演示文稿。一切正常,除了页码没有显示在脚线中。我浏览了乳胶模板代码,但仍然无法弄清楚那里有什么问题。欢迎任何贡献。

你应该可以从我的github克隆。在模板代码中,我怀疑问题可能出在\defbeamertemplate*{footline}{my footline}代码块周围。我们可能会直接导航到该代码块并找出故障。

根据评论部分的一位贡献者的要求,我在.tex下面上传了生成的文件。

\documentclass[10pt,ignorenonframetext,,aspectratio=149]{beamer}
\setbeamertemplate{caption}[numbered]
\setbeamertemplate{caption label separator}{: }
\setbeamercolor{caption name}{fg=normal text.fg}
\usepackage{lmodern}
\usepackage{amssymb,amsmath}
\usepackage{ifxetex,ifluatex}
\usepackage{fixltx2e} % provides \textsubscript
\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex
  \usepackage[T1]{fontenc}
  \usepackage[utf8]{inputenc}
\else % if luatex or xelatex
  \ifxetex
    \usepackage{mathspec}
  \else
    \usepackage{fontspec}
  \fi
  \defaultfontfeatures{Ligatures=TeX,Scale=MatchLowercase}
  \newcommand{\euro}{€}
\fi
% use upquote if available, for straight quotes in verbatim environments
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
% use microtype if available
\IfFileExists{microtype.sty}{%
\usepackage{microtype}
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
}{}

% Comment these out if you don't want a slide with just the
% part/section/subsection/subsubsection title:
\AtBeginPart{
  \let\insertpartnumber\relax
  \let\partname\relax
  \frame{\partpage}
}
\AtBeginSection{
  \let\insertsectionnumber\relax
  \let\sectionname\relax
  \frame{\sectionpage}
}
\AtBeginSubsection{
  \let\insertsubsectionnumber\relax
  \let\subsectionname\relax
  \frame{\subsectionpage}
}

\setlength{\emergencystretch}{3em}  % prevent overfull lines
\providecommand{\tightlist}{%
  \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
\setcounter{secnumdepth}{0}

\title{Weekly GAMS Meeting}
\author{Yabin Da}
\date{2020-10-15}
\usepackage{booktabs}
\usepackage{caption}
\usepackage{longtable}
\usepackage{threeparttable}
\usepackage{xcolor}
\usepackage{amsmath}

%% Here's everything I added.
%%--------------------------

\usepackage{graphicx}
\usepackage{rotating}
%\setbeamertemplate{caption}[numbered]
\usepackage{hyperref}
\usepackage{caption}
\usepackage[normalem]{ulem}
%\mode<presentation>
\usepackage{wasysym}
%\usepackage{amsmath}


% Get rid of navigation symbols.
%-------------------------------
\setbeamertemplate{navigation symbols}{}

% Optional institute tags and titlegraphic.
% Do feel free to change the titlegraphic if you don't want it as a Markdown field.
%----------------------------------------------------------------------------------
\institute{Department of Agricultural Economics}


% <-- Somehow, the if sentence below did not work for me. I, therefore, placed the absolute path below and it worked. 
\titlegraphic{\includegraphics[width=0.4\paperwidth]{C:/work/Study/Y 2020/Ozone in China/report/tamu/tamu.png}} 
% -----------------------------------------------------------------------------------------------------
%

% Some additional title page adjustments.
%----------------------------------------
\setbeamertemplate{title page}[empty]
%\date{}
\setbeamerfont{subtitle}{size=\small}

\setbeamercovered{transparent}

% Some optional colors. Change or add as you see fit.
%---------------------------------------------------
\definecolor{tamumaroon}{HTML}{500000}
\definecolor{tamuwhite}{HTML}{FFFFFF}
\definecolor{uiucblue}{HTML}{003C7D}
\definecolor{uiucorange}{HTML}{F47F24}


% Some optional color adjustments to Beamer. Change as you see fit.
%------------------------------------------------------------------
\setbeamercolor{frametitle}{fg=tamuwhite,bg=tamumaroon}
\setbeamercolor{title}{fg=tamuwhite,bg=tamumaroon}
\setbeamercolor{local structure}{fg=tamumaroon}
\setbeamercolor{section in toc}{fg=tamuwhite,bg=tamumaroon}
\setbeamercolor{subsection in toc}{fg=tamuwhite,bg=tamumaroon}
\setbeamercolor{footline}{fg=tamuwhite, bg=tamumaroon}
\setbeamercolor{block title}{fg=tamuwhite, bg=tamumaroon}


\let\Tiny=\tiny


% Sections and subsections should not get their own damn slide.
%--------------------------------------------------------------
\AtBeginPart{}
\AtBeginSection{}
\AtBeginSubsection{}
\AtBeginSubsubsection{}

% Suppress some of Markdown's weird default vertical spacing.
%------------------------------------------------------------
\setlength{\emergencystretch}{0em}  % prevent overfull lines
\setlength{\parskip}{0pt}


% Allow for those simple two-tone footlines I like. 
% Edit the colors as you see fit.
%--------------------------------------------------
\defbeamertemplate*{footline}{my footline}{%
    \ifnum\insertpagenumber=1
    \hbox{%
        \begin{beamercolorbox}[wd=\paperwidth,ht=.8ex,dp=1ex,center]{}%
      % empty environment to raise height
        \end{beamercolorbox}%
    }%
    \vskip0pt%
    \else%
        \Tiny{%
            \hfill%
        \vspace*{1pt}%
            \insertframenumber/\inserttotalframenumber \hspace*{0.1cm}%
            \newline%
            \color{tamumaroon}{\rule{\paperwidth}{0.4mm}}\newline%
            \color{tamumaroon}{\rule{\paperwidth}{.4mm}}%
        }%
    \fi%
}

% Various cosmetic things, though I must confess I forget what exactly these do and why I included them.
%-------------------------------------------------------------------------------------------------------
\setbeamercolor{structure}{fg=blue}
\setbeamercolor{local structure}{parent=structure}
\setbeamercolor{item projected}{parent=item,use=item,fg=tamumaroon,bg=white}
\setbeamercolor{enumerate item}{parent=item}

% Adjust some item elements. More cosmetic things.
%-------------------------------------------------
\setbeamertemplate{itemize item}{\color{tamumaroon}$\bullet$}
\setbeamertemplate{itemize subitem}{\color{tamumaroon}\scriptsize{$\bullet$}}
\setbeamertemplate{itemize/enumerate body end}{\vspace{.6\baselineskip}} % So I'm less inclined to use \medskip and \bigskip in Markdown.

% Automatically center images
% ---------------------------
% Note: this is for ![](image.png) images
% Use "fig.align = "center" for R chunks

% \usepackage{etoolbox}
% 
% \AtBeginDocument{%
%   \letcs\oig{@orig\string\includegraphics}%
%   \renewcommand<>\includegraphics[2][]{%
%     \only#3{%
%       {\centering\oig[{#1}]{#2}\par}%
%     }%
%   }%
% }

% I think I've moved to xelatex now. Here's some stuff for that.
% --------------------------------------------------------------
% I could customize/generalize this more but the truth is it works for my circumstances.

\ifxetex
\setbeamerfont{title}{family=\fontspec{serif}}
\setbeamerfont{frametitle}{family=\fontspec{serif}}
\usepackage[font=small,skip=0pt]{caption}
 \else
 \fi

% Okay, and begin the actual document...

\begin{document}
\frame{\titlepage}

\hypertarget{meeting-on-october-15}{%
\section{Meeting on October 15}\label{meeting-on-october-15}}

\begin{frame}{Potential problems}
\protect\hypertarget{potential-problems}{}

\begin{itemize}
\item
  The current optimization model is not easy to maximum over a set of
  objectives. That is because we only have one single objective
  function.
\item
  Even though we include multiple envrionmental benefits into the
  objective function, since the units are different, we cannot simply
  sum over those benefits and then maximize the benefit.
\item
  I guess the unit is pounds per acre for environmental losses and
  dollars per acre for cost. The scale factor for unit is 1000.
\end{itemize}

\end{frame}


\section[]{}
\frame{\small \frametitle{Table of Contents}
\tableofcontents}
\end{document}

标签: rlatexr-markdown

解决方案


如果您将它们设置为白色以外的任何其他颜色,则帧编号将变得可见:

\documentclass[10pt,ignorenonframetext,,aspectratio=149]{beamer}
\setbeamertemplate{caption}[numbered]
\setbeamertemplate{caption label separator}{: }
\setbeamercolor{caption name}{fg=normal text.fg}
\usepackage{lmodern}
\usepackage{amssymb,amsmath}
\usepackage{ifxetex,ifluatex}
\usepackage{fixltx2e} % provides \textsubscript
\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex
  \usepackage[T1]{fontenc}
  \usepackage[utf8]{inputenc}
\else % if luatex or xelatex
  \ifxetex
    \usepackage{mathspec}
  \else
    \usepackage{fontspec}
  \fi
  \defaultfontfeatures{Ligatures=TeX,Scale=MatchLowercase}
  \newcommand{\euro}{€}
\fi
% use upquote if available, for straight quotes in verbatim environments
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
% use microtype if available
\IfFileExists{microtype.sty}{%
\usepackage{microtype}
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
}{}

% Comment these out if you don't want a slide with just the
% part/section/subsection/subsubsection title:
\AtBeginPart{
  \let\insertpartnumber\relax
  \let\partname\relax
  \frame{\partpage}
}
\AtBeginSection{
  \let\insertsectionnumber\relax
  \let\sectionname\relax
  \frame{\sectionpage}
}
\AtBeginSubsection{
  \let\insertsubsectionnumber\relax
  \let\subsectionname\relax
  \frame{\subsectionpage}
}

\setlength{\emergencystretch}{3em}  % prevent overfull lines
\providecommand{\tightlist}{%
  \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
\setcounter{secnumdepth}{0}

\title{Weekly GAMS Meeting}
\author{Yabin Da}
\date{2020-10-15}
\usepackage{booktabs}
\usepackage{caption}
\usepackage{longtable}
\usepackage{threeparttable}
\usepackage{xcolor}
\usepackage{amsmath}

%% Here's everything I added.
%%--------------------------

\usepackage{graphicx}
\usepackage{rotating}
%\setbeamertemplate{caption}[numbered]
\usepackage{hyperref}
\usepackage{caption}
\usepackage[normalem]{ulem}
%\mode<presentation>
\usepackage{wasysym}
%\usepackage{amsmath}


% Get rid of navigation symbols.
%-------------------------------
\setbeamertemplate{navigation symbols}{}

% Optional institute tags and titlegraphic.
% Do feel free to change the titlegraphic if you don't want it as a Markdown field.
%----------------------------------------------------------------------------------
\institute{Department of Agricultural Economics}


% <-- Somehow, the if sentence below did not work for me. I, therefore, placed the absolute path below and it worked. 
\titlegraphic{\includegraphics[width=0.4\paperwidth]{example-image}} 
% -----------------------------------------------------------------------------------------------------
%

% Some additional title page adjustments.
%----------------------------------------
\setbeamertemplate{title page}[empty]
%\date{}
\setbeamerfont{subtitle}{size=\small}

\setbeamercovered{transparent}

% Some optional colors. Change or add as you see fit.
%---------------------------------------------------
\definecolor{tamumaroon}{HTML}{500000}
\definecolor{tamuwhite}{HTML}{FFFFFF}
\definecolor{uiucblue}{HTML}{003C7D}
\definecolor{uiucorange}{HTML}{F47F24}


% Some optional color adjustments to Beamer. Change as you see fit.
%------------------------------------------------------------------
\setbeamercolor{frametitle}{fg=tamuwhite,bg=tamumaroon}
\setbeamercolor{title}{fg=tamuwhite,bg=tamumaroon}
\setbeamercolor{local structure}{fg=tamumaroon}
\setbeamercolor{section in toc}{fg=tamuwhite,bg=tamumaroon}
\setbeamercolor{subsection in toc}{fg=tamuwhite,bg=tamumaroon}
\setbeamercolor{footline}{fg=tamuwhite, bg=tamumaroon}
\setbeamercolor{block title}{fg=tamuwhite, bg=tamumaroon}


\let\Tiny=\tiny


% Sections and subsections should not get their own damn slide.
%--------------------------------------------------------------
\AtBeginPart{}
\AtBeginSection{}
\AtBeginSubsection{}
\AtBeginSubsubsection{}

% Suppress some of Markdown's weird default vertical spacing.
%------------------------------------------------------------
\setlength{\emergencystretch}{0em}  % prevent overfull lines
\setlength{\parskip}{0pt}


% Allow for those simple two-tone footlines I like. 
% Edit the colors as you see fit.
%--------------------------------------------------
\defbeamertemplate*{footline}{my footline}{%
    \ifnum\insertpagenumber=1
    \hbox{%
        \begin{beamercolorbox}[wd=\paperwidth,ht=.8ex,dp=1ex,center]{}%
      % empty environment to raise height
        \end{beamercolorbox}%
    }%
    \vskip0pt%
    \else%
        \color{tamumaroon}%
        \Tiny{%
            \hfill%
        \vspace*{1pt}%
            \insertframenumber/\inserttotalframenumber \hspace*{0.1cm}%
            \newline%
            \color{tamumaroon}{\rule{\paperwidth}{0.4mm}}\newline%
            \color{tamumaroon}{\rule{\paperwidth}{.4mm}}%
        }%
    \fi%
}

% Various cosmetic things, though I must confess I forget what exactly these do and why I included them.
%-------------------------------------------------------------------------------------------------------
\setbeamercolor{structure}{fg=blue}
\setbeamercolor{local structure}{parent=structure}
\setbeamercolor{item projected}{parent=item,use=item,fg=tamumaroon,bg=white}
\setbeamercolor{enumerate item}{parent=item}

% Adjust some item elements. More cosmetic things.
%-------------------------------------------------
\setbeamertemplate{itemize item}{\color{tamumaroon}$\bullet$}
\setbeamertemplate{itemize subitem}{\color{tamumaroon}\scriptsize{$\bullet$}}
\setbeamertemplate{itemize/enumerate body end}{\vspace{.6\baselineskip}} % So I'm less inclined to use \medskip and \bigskip in Markdown.

% Automatically center images
% ---------------------------
% Note: this is for ![](image.png) images
% Use "fig.align = "center" for R chunks

% \usepackage{etoolbox}
% 
% \AtBeginDocument{%
%   \letcs\oig{@orig\string\includegraphics}%
%   \renewcommand<>\includegraphics[2][]{%
%     \only#3{%
%       {\centering\oig[{#1}]{#2}\par}%
%     }%
%   }%
% }

% I think I've moved to xelatex now. Here's some stuff for that.
% --------------------------------------------------------------
% I could customize/generalize this more but the truth is it works for my circumstances.

\ifxetex
\setbeamerfont{title}{family=\fontspec{serif}}
\setbeamerfont{frametitle}{family=\fontspec{serif}}
\usepackage[font=small,skip=0pt]{caption}
 \else
 \fi

% Okay, and begin the actual document...

\begin{document}
\frame{\titlepage}

\hypertarget{meeting-on-october-15}{%
\section{Meeting on October 15}\label{meeting-on-october-15}}

\begin{frame}{Potential problems}
\protect\hypertarget{potential-problems}{}

\begin{itemize}
\item
  The current optimization model is not easy to maximum over a set of
  objectives. That is because we only have one single objective
  function.
\item
  Even though we include multiple envrionmental benefits into the
  objective function, since the units are different, we cannot simply
  sum over those benefits and then maximize the benefit.
\item
  I guess the unit is pounds per acre for environmental losses and
  dollars per acre for cost. The scale factor for unit is 1000.
\end{itemize}

\end{frame}


\section[]{}
\frame{\small \frametitle{Table of Contents}
\tableofcontents}
\end{document}

在此处输入图像描述


一些无关的评论:

  • \usepackage{amssymb,amsmath}是不必要的,投影仪加载这个

  • \usepackage{fixltx2e},如果您的 tex 分布是合理的新的,则不必要\usepackage{microtype}\usepackage[utf8]{inputenc}现在默认了

  • 你不需要\usepackage{caption}使用投影仪,投影仪有自己的机制来处理字幕

  • xcolorhyperref并且graphicx不是必需的,beamer 加载它

  • 多个包被多次加载

  • 首先设置\AtBeginPart等并稍后清除它没有多大意义

  • \frame{}仅适用于遗留原因,请\begin{frame}...\end{frame}改用


推荐阅读