Hola a todos y feliz año nuevo!
Es la primera vez que publico aquí y solo tenía una pregunta rápida que tengo problemas para resolver. Publiqué un MWE del código básico del proyector LaTeX usando el tema Metropolis.* Me gustaría que (globalmente) la barra de progreso tenga un borde alrededor, especificando el color y el grosor del borde (digamos un borde azul de 0,25 puntos). grueso). ¿Cómo se puede lograr esto?
Por favor, avíseme si hay algo que pueda aclarar. Muchas gracias de antemano a cualquiera que tenga la amabilidad de considerar mi pregunta.
¡Espero que todos tengáis un feliz y saludable 2024!
*Específicamente, elPlantilla al dorso, con marcos reemplazados y con modificaciones menores en la primera línea del código MWE y en la sección "Mis Mods" del preámbulo.
Ejemplo de trabajo mínimo (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}
Respuesta1
El estilo de la barra de progreso se define usando TikZ en las plantillas del proyector progress bar in section page
y progress bar in head/foot
. Las definiciones de estas plantillas están disponibles en elmetropolis
documentación. Al copiar y pegar esas definiciones en su MWE y modificar el código TikZ, pude obtener un borde muy simple alrededor de la barra de progreso (grosor de 2 puntos para facilitar la visibilidad):
\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}