最小限の動作例 (MWE)

最小限の動作例 (MWE)

皆さんこんにちは。明けましておめでとうございます!

初めて投稿しますが、解決に困っている簡単な質問があります。Metropolis テーマを使用して、基本的な LaTeX ビーマー コードの MWE を投稿しました。* 進捗状況バーの周りに境界線を (全体的に) 表示し、境界線の色と太さを指定したいと思います (たとえば、0.25 ポイントの太さの青い境界線)。これはどのように実現できますか?

何かご不明な点がありましたらお知らせください。私の質問にご配慮くださる親切な方には、心より感謝申し上げます。

皆様の2024年が幸せで健康でありますように!


*具体的には、オーバーリーフテンプレートフレームが置き換えられ、MWE コードの最初の行とプリアンブルの「My Mods」セクションに小さな変更が加えられました。


最小限の動作例 (MWE)

\documentclass[12pt,aspectratio=169,xcolor={svgnames, dvipsnames}]{beamer}

\usetheme[progressbar=frametitle]{metropolis}
\usepackage{appendixnumberbeamer}

\usepackage{booktabs}
\usepackage[scale=2]{ccicons}

\usepackage{pgfplots}
\usepgfplotslibrary{dateplot}

\usepackage{xspace}
\newcommand{\themename}{\textbf{\textsc{metropolis}}\xspace}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% My Mods
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\makeatletter
\setlength{\metropolis@titleseparator@linewidth}{2pt}
\setlength{\metropolis@progressonsectionpage@linewidth}{2pt}
\setlength{\metropolis@progressinheadfoot@linewidth}{2pt}
\makeatother
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



\title{Metropolis -- Modified}
\subtitle{A modern beamer theme}
% \date{\today}
\date{}
\author{Matthias Vogelgesang}
\institute{Center for modern beamer themes}
% \titlegraphic{\hfill\includegraphics[height=1.5cm]{logo.pdf}}


\begin{document}

\maketitle

\begin{frame}{First Frame}
    blah blah blah?
    \begin{itemize}
        \item blah blah blah.
        \item blah blah.
        \item yadda yadda yadda.
    \end{itemize}
\end{frame}

\begin{frame}{Second Frame}
    blah blah!
    \begin{enumerate}
        \item blah blah blah.
        \item blah blah.
        \item blah blah bah.
    \end{enumerate}
\end{frame}

\end{document}


答え1

プログレスバーのスタイルは、BeamerテンプレートとでTikZを使用して定義されていますprogress bar in section pageprogress bar in head/footこれらのテンプレートの定義は、metropolisドキュメンテーションこれらの定義を MWE にコピーして貼り付け、TikZ コードを変更することで、進行状況バーの周囲に非常にシンプルな境界線 (見やすいように 2 ポイントの太さ) を表示できました。

\documentclass[12pt,aspectratio=169,xcolor={svgnames, dvipsnames}]{beamer}

\usetheme[progressbar=frametitle]{metropolis}
\usepackage{appendixnumberbeamer}

\usepackage{booktabs}
\usepackage[scale=2]{ccicons}

\usepackage{pgfplots}
\usepgfplotslibrary{dateplot}

\usepackage{xspace}
\newcommand{\themename}{\textbf{\textsc{metropolis}}\xspace}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% My Mods
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\makeatletter
\setlength{\metropolis@titleseparator@linewidth}{2pt}
\setlength{\metropolis@progressonsectionpage@linewidth}{2pt}
\setlength{\metropolis@progressinheadfoot@linewidth}{2pt}

% Redefine `progress bar in head/foot` to add border
\newlength{\metropolis@progressinheadfoot@borderwidth}
\setlength{\metropolis@progressinheadfoot@borderwidth}{2pt}
\setbeamertemplate{progress bar in head/foot}{
  \nointerlineskip
  \setlength{\metropolis@progressinheadfoot}{%
    \paperwidth * \ratio{\insertframenumber pt}{\inserttotalframenumber pt}%
  }%
  \begin{beamercolorbox}[wd=\paperwidth]{progress bar in head/foot}
  \begin{tikzpicture}
    % Add blue progress bar border
    \fill[blue] (0,-\metropolis@progressinheadfoot@borderwidth) rectangle (\paperwidth, \metropolis@progressinheadfoot@linewidth+\metropolis@progressinheadfoot@borderwidth);
    \fill[bg] (\metropolis@progressinheadfoot@borderwidth,0) rectangle (\paperwidth-\metropolis@progressinheadfoot@borderwidth, \metropolis@progressinheadfoot@linewidth);
    \fill[fg] (\metropolis@progressinheadfoot@borderwidth,0) rectangle (\metropolis@progressinheadfoot-\metropolis@progressinheadfoot@borderwidth, \metropolis@progressinheadfoot@linewidth);
  \end{tikzpicture}%
  \end{beamercolorbox}
}

% Redefine `progress bar in section page` to add border
\newlength{\metropolis@progressonsectionpage@borderwidth}
\setlength{\metropolis@progressonsectionpage@borderwidth}{2pt}
\setbeamertemplate{progress bar in section page}{
  \setlength{\metropolis@progressonsectionpage}{%
    \textwidth * \ratio{\insertframenumber pt}{\inserttotalframenumber pt}%
  }%
  \begin{tikzpicture}
    % Add blue progress bar border
    \fill[blue] (0,-\metropolis@progressonsectionpage@borderwidth) rectangle (\textwidth, \metropolis@progressonsectionpage@linewidth+\metropolis@progressonsectionpage@borderwidth);
    \fill[bg] (\metropolis@progressonsectionpage@borderwidth,0) rectangle (\textwidth-\metropolis@progressonsectionpage@borderwidth, \metropolis@progressonsectionpage@linewidth);
    \fill[fg] (\metropolis@progressonsectionpage@borderwidth,0) rectangle (\metropolis@progressonsectionpage-\metropolis@progressonsectionpage@borderwidth, \metropolis@progressonsectionpage@linewidth);
  \end{tikzpicture}%
}

\makeatother
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



\title{Metropolis -- Modified}
\subtitle{A modern beamer theme}
% \date{\today}
\date{}
\author{Matthias Vogelgesang}
\institute{Center for modern beamer themes}
% \titlegraphic{\hfill\includegraphics[height=1.5cm]{logo.pdf}}


\begin{document}

\maketitle

\begin{frame}{First Frame}
    blah blah blah?
    \begin{itemize}
        \item blah blah blah.
        \item blah blah.
        \item yadda yadda yadda.
    \end{itemize}
\end{frame}

\begin{frame}{Second Frame}
    blah blah!
    \begin{enumerate}
        \item blah blah blah.
        \item blah blah.
        \item blah blah bah.
    \end{enumerate}
\end{frame}

\section{Test section}

\begin{frame}{Third Frame}
    blah blah!
    \begin{enumerate}
        \item blah blah blah.
        \item blah blah.
        \item blah blah bah.
    \end{enumerate}
\end{frame}

\end{document}

進捗バーの周囲に 2 ポイントの青い枠線が付いた Metropolis Beamer テーマのコンテンツ フレーム

進捗バーの周囲に 2 ポイントの青い枠線が付いた Metropolis ビーマー テーマのセクション フレーム

関連情報