문제:
프레젠테이션에서 \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}
시사:
답변1
당신이 사용할 수있는
\hypersetup{colorlinks,urlcolor=blue}
\addtobeamertemplate{headline}{\hypersetup{linkcolor=.}}{}
\addtobeamertemplate{footline}{\hypersetup{linkcolor=.}}{}
템플릿 내부의 linkcolor
현재 색상으로 설정 하고 ..
headline
footline
암호:
\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}