Hyperref pdftitle gestiona los saltos de línea de una forma extraña

Hyperref pdftitle gestiona los saltos de línea de una forma extraña

Utilizo XeLaTeXwith fontspec, polyglossiay paquetes biblatex( hyperrefetc.) para componer mis documentos como \documentclass[11pt,a4paper]{article}. El hyperrefpaquete es simplemente increíble, sin embargo, encontré un error realmente molesto.

Quiero pdftitleusar una combinación de texto estático y una variable previamente definida \thetitle. Hasta ahora, todo bien. El problema surge cuando esta variable contiene saltos de línea ( \\). hyperrefParece simplemente omitirlos automáticamente, pero quiero poder controlar esto manualmente.

Para deshacerme de los saltos de línea utilizo esta macro \replacelinebreaks{}{}:

% A macro to remove line breaks from any text #1 and replace them 
% with #2 (can be void). E.g.: \replacelinebreaks{\thetitle}{\ }. 
\newcommand{\replacelinebreaks}[2]{%
    \begingroup\def\\{#2}#1\endgroup}

(El crédito por esto va principalmente aManera sencilla de eliminar el formato (por ejemplo, saltos de línea).) Esta macro funciona bien en todo el documento, excepto en \hypersetup{pdftitle= ...}.

¿Que me estoy perdiendo aqui? Hay muchas preguntas similares en este sitio, pero ninguna parece resolver mi problema particular:

Aquí está mi MWE:

% !BIB TS-program = biber
% !TeX program = xelatex
% !TeX encoding = UTF-8
% !TeX spellcheck = en_GB

\documentclass[11pt,a4paper]{article}
\usepackage{polyglossia}
\usepackage{hyperref}

\newcommand{\replacelinebreaks}[2]{\begingroup\def\\{#2}#1\endgroup}

\def\thetitle{Type the\\Minimum Working Example\\Title Here\\}      
\def\firstauthor{Abra}      % Only the first author 
\def\theauthor{\firstauthor %  Add all other authors (no spaces! Use "\\" and "%")
\\Ca%                   
\\Dabra%
} 

\begin{document}
\hypersetup{
    pdftitle    = MWE No.1 \space -- \replacelinebreaks{\thetitle}{\ },
    pdfauthor   = \replacelinebreaks{\theauthor}{; },
}

\begin{center}
    {\Huge\thetitle}
\end{center}
\end{document}

En resultado de:

ingrese la descripción de la imagen aquí

Ayúdenme a comprender y corregir este comportamiento para poder usar mi \replacelinebreaksmacro o lograr mi objetivo de alguna otra manera. Su ayuda es muy apreciada.

Respuesta1

Siempre puedes redefinir la forma en que Hyperref maneja dichos tokens:

\documentclass{article}
\usepackage{hyperref}

\newcommand\myvar{abc\\cde}

\pdfstringdefDisableCommands{\def\\{XXX}}
\hypersetup{pdftitle= abc\\ cde\myvar}

\begin{document}
blub

\end{document}

ingrese la descripción de la imagen aquí

O puede definir su variable para que se use en lugares sensibles \texorpdfstring:

\documentclass{article}
\usepackage{hyperref}

\newcommand\myvar{abc\texorpdfstring{\\}{XXX}cde}

\hypersetup{pdftitle= abcXXXcde\myvar}

\begin{document}
\myvar

\end{document}

información relacionada