0

I have a \citebutton command that I often use in the frametitle to link to some sources. Furthermore, I want to force the frametitle to be always in uppercase.

Unfortunately, I am not happy with my current solution which is:

\documentclass{beamer}
\setbeamertemplate{frametitle}{\expandafter\uppercase\expandafter\insertframetitle}
\newcommand{\citebutton}[2]{%
\resizebox{!}{9pt}{\beamergotobutton{\href{#2}{#1}}}%
}

\begin{document}
\begin{frame}
\frametitle{Title should be always uppercase \citebutton{arXiv}{https://arxiv.org/abs/1703.04730}}

\end{frame}
\end{document}

Problem: The URL itself and the text of the link inside the citebutton (here: "arXiv") will be uppercase as well. I want that my \citebutton command is not affected by the uppercase at all, e.g., I am looking for something like a \stopUppercase that I could use before the \resizebox command inside the \citebutton command.

Using \lowercase inside the \citebutton at least makes everything lowercase but does not solve problem as I would like to "deactivate" the uppercase for the \href command

\newcommand{\citebutton}[2]{%
\resizebox{!}{9pt}{\beamergotobutton{\lowercase{\href{#2}{#1}}}}%
}

Any ideas how to modify either the frametitle or \citebutton command so that I get what I want?

1 Answer 1

2

I'm guessing what you need is the \NoCaseChange command from the textcase package:

\documentclass{beamer}
\usepackage{textcase}
\setbeamertemplate{frametitle}{\MakeTextUppercase{\insertframetitle}}
\newcommand{\citebutton}[2]{%
\NoCaseChange{\resizebox{!}{9pt}{\protect\beamergotobutton{\href{#2}{#1}}}}%
}

\begin{document}
\begin{frame}
\frametitle{Title should be always uppercase \citebutton{arXiv}{https://arxiv.org/abs/1703.04730}}

\end{frame}
\end{document}

uppercase title with link

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .