비머 템플릿의 제목/각주 URL 색상 변경

비머 템플릿의 제목/각주 URL 색상 변경

문제:

프레젠테이션에서 \href{}{}를 통한 URL을 파란색 텍스트로 표시해야 합니다. 그러나 \hypersetup{colorlinks=true,linkcolor = blue}를 사용하면 섹션의 텍스트, 헤드라인의 하위 섹션 텍스트, 각주의 제목 텍스트가 변경됩니다. 해당 영역의 배경색이 파란색이라는 점을 고려하면 이러한 변경 사항은 문제가 됩니다.

필요:

\renewcommand\insertshortitle 또는 최소한 내가 가야 할 방향에 대한 포인터를 사용하여 가능한 첫 번째 솔루션의 순서에 따라 섹션 및 하위 섹션을 더 잘 수정해 주시면 정말 감사하겠습니다.

목표는 수정을 사용하여 비머 테마를 만드는 것입니다.


가능한 수정 사항(일종):

저는 몇 가지 아이디어를 찾았고 이를 구현하여 다양한 성공을 거두었습니다. 자동 색상 링크를 비활성화하는 것입니다. 이로 인해 나는 \textcolor{blue}{\href{}{}}를 하게 되었는데 이는 이상적이지 않습니다.

~ 안에비머: 하이퍼링크 및 짧은 제목 색상

짧은 제목으로 제안된 솔루션이 있습니다.

\makeatletter
\renewcommand\insertshorttitle[1][]{%
  \beamer@setupshort{#1}%
  \let\thanks=\@gobble%
  \ifnum\c@page=1%
  \hyperlinkpresentationend{\beamer@insertshort{\usebeamercolor*[fg]{title in head/foot}\beamer@shorttitle}}%
  \else%
  \hyperlinkpresentationstart{\beamer@insertshort{\usebeamercolor*[fg]{title in head/foot}\beamer@shorttitle}}%
  \fi}
\makeatother

\insertsectionhead와 \insertsubsectionhead로는 이 작업을 수행할 수 없습니다. 나는 \href's에 대한 새로운 메소드를 정의하는 것보다 이 대안을 선호합니다.

여기에 연결을 비활성화하는 방법에 대한 또 다른 아이디어가 있습니다.발 제목에서 링크를 제거하는 방법

주요 아이디어는 \let\hyperlink\@secondoftwo링크 생성을 억제하는 것입니다.

헤드라인을 사용하여 표시했습니다.

\setbeamertemplate{headline}
{
  \leavevmode%
  \hbox{%
  \begin{beamercolorbox}[wd=.5\paperwidth,ht=2.25ex,dp=1ex,right,rightskip=1em]{section in head/foot}%
    \usebeamerfont{subsection in head/foot}\hspace*{2ex} \let\hyperlink\@secondoftwo\insertsectionhead
  \end{beamercolorbox}%
  \begin{beamercolorbox}[wd=.5\paperwidth,ht=2.25ex,dp=1ex,left,leftskip=1em]{subsection in head/foot}%
    \usebeamerfont{section in head/foot} \let\hyperlink\@secondoftwo\insertsubsectionhead \hspace*{2ex}
  \end{beamercolorbox}}%
  \vskip0pt%
}

그러나 이 접근 방식은 섹션 및 하위 섹션 문자열에 secondoftwo를 추가합니다.

내가 접하고 구현한 마지막 옵션은 새 패키지(etoolbox)를 포함해야 한다는 유일한 단점이 있는 문제를 해결한 것 같습니다. 아이디어는 다음에서 나왔습니다.

MakeUppercase 및 Beamer의 insertsectionhead 오류

\usepackage{etoolbox}
\makeatletter
\patchcmd{\beamer@section}
  {\def\insertsectionhead{\hyperlink{Navigation\the\c@page}{#1}}}
  {\def\insertsectionhead{\hyperlink{Navigation\the\c@page}{\usebeamercolor*[fg]{section in head/foot}#1}}}
  {}{}
\patchcmd{\beamer@subsection}
  {\def\insertsubsectionhead{\hyperlink{Navigation\the\c@page}{#1}}}
  {\def\insertsubsectionhead{\hyperlink{Navigation\the\c@page}{\usebeamercolor*[fg]{subsection in head/foot}#1}}}
  {}{}
\makeatother

MWE(무엇이 잘못되었는지 시각화)

\documentclass{beamer}

%normal
\usepackage{color}
\usepackage{beamerthemebars}
\usepackage{lmodern}
\usetheme{AnnArbor}
\usecolortheme{wolverine}

\setbeamercolor{palette tertiary}{bg=blue,fg=white}
\setbeamercolor{palette secondary}{bg=gray,fg=white}
\setbeamercolor{palette primary}{bg=pink,fg=white}

\beamertemplatenavigationsymbolsempty %hides navigation.
\usepackage{hyperref}
\usepackage{amssymb,amsmath}

\author[Coatless]{Lack of Coat}
\institute[Uni]{Uni All}
\date[Date]{\today}
\title[Title]{Fake Presentation}
\begin{document}

\section{Section naught}
\subsection{Subsection Ya}

\hypersetup{colorlinks=true,urlcolor=blue,linkcolor = blue}
% link color causes the section, subsection, and title to fg (font color) to be blue
\frame{\titlepage}

\hypersetup{colorlinks=false,urlcolor=blue,linkcolor = white}
% link color causes the section, subsection, and title to fg (font color) to be white
\frame{\titlepage}

\end{document}

시사: MWE

답변1

당신이 사용할 수있는

\hypersetup{colorlinks,urlcolor=blue}
\addtobeamertemplate{headline}{\hypersetup{linkcolor=.}}{}
\addtobeamertemplate{footline}{\hypersetup{linkcolor=.}}{}

템플릿 내부의 linkcolor현재 색상으로 설정 하고 ..headlinefootline

여기에 이미지 설명을 입력하세요

암호:

\documentclass[]{beamer}

\usepackage{beamerthemebars}
\usepackage{lmodern}
\usetheme{AnnArbor}
\usecolortheme{wolverine}

\setbeamercolor{palette tertiary}{bg=blue,fg=white}
\setbeamercolor{palette secondary}{bg=gray,fg=white}
\setbeamercolor{palette primary}{bg=pink,fg=white}

\beamertemplatenavigationsymbolsempty %hides navigation.

\hypersetup{colorlinks,urlcolor=blue}
\addtobeamertemplate{headline}{\hypersetup{linkcolor=.}}{}
\addtobeamertemplate{footline}{\hypersetup{linkcolor=.}}{}

\author[Coatless]{Lack of Coat}
\institute[Uni]{Uni All}
\date[Date]{\today}
\title[Title]{Fake Presentation}


\begin{document}

\section{Section naught}
\subsection{Subsection Ya}

\frame{\titlepage}

\begin{frame}{First Frame}
\href{http://tex.stackexchange.com/}{StackExchange}
\end{frame}
\end{document}

또한 URL에만 색상을 지정해야 하는 경우 가능성이 더 짧습니다.

\hypersetup{colorlinks,allcolors=.,urlcolor=blue}

답변2

비슷한 질문은여기.

\newhref텍스트 색상을 지정하거나 기본 색상(예: 파란색)을 가질 수 있는 새 매크로를 정의합니다.

\newcommand{\newhref}[3][blue]{\href{#2}{\textcolor{#1}{#3}}}

그리고 그것을 다음과 같이 사용하십시오

\newhref{https://tex.stackexchange.com/}{StackExchange} % to get the default (blue) link - 2nd line

\newhref[red]{https://tex.stackexchange.com/}{StackExchange} % to get red link - 1st line

따라서 문서에서:

\documentclass{beamer}

\usepackage{color}
\usepackage{beamerthemebars}
\usepackage{lmodern}
\usetheme{AnnArbor}
\usecolortheme{wolverine}

\setbeamercolor{palette tertiary}{bg=blue,fg=white}
\setbeamercolor{palette secondary}{bg=gray,fg=white}
\setbeamercolor{palette primary}{bg=pink,fg=white}

\beamertemplatenavigationsymbolsempty %hides navigation.
\usepackage{hyperref}
\usepackage{amssymb}
\usepackage{amsmath}

% HERE IS THE DEFINITION
\newcommand{\newhref}[3][blue]{\href{#2}{\textcolor{#1}{#3}}}

\author[Coatless]{Lack of Coat}
\institute[Uni]{Uni All}
\date[Date]{\today}
\title[Title]{Fake Presentation}

\begin{document}

\section{Section naught}
\subsection{Subsection Ya}

% HERE IS THE TEXT
\newhref[red]{https://tex.stackexchange.com/}{StackExchange}

\newhref{https://tex.stackexchange.com/}{StackExchange}

\frame{\titlepage}

\end{document}

여기에 이미지 설명을 입력하세요

관련 정보