Espacios en l3prop

Espacios en l3prop

¿Cómo se puede almacenarliteral¿Código en una lista de propiedades de LaTeX3?

Mi objetivo es almacenar nombres de personas en una propiedad dentro de una lista de propiedades. Esto significa que tanto los acentos como los espacios deben almacenarse en la clave name. Aquí está mi código:

\ExplSyntaxOn
\prop_new:N \aaa
\prop_put:Nnn \aaa {name} {Alfr\'ed R\'enyi}
\prop_item:Nn \aaa {name}
\ExplSyntaxOff

El resultado no muestra el espacio entre "Alfréd" y "Rényi". Sospecho que esto se debe a \ExplSyntaxOnque LaTeX ignora el espacio. Estoy atrapado aquí. ¿Algunas ideas?

Respuesta1

O se usa \spaceo ~, de lo contrario, los espacios son devorados en expl3régimen.

También cambié el nombre "incorrecto" de la \propvariable -list de acuerdo con la expl3convención de nomenclatura, es decir \l_jaeya_name_prop, por ejemplo.

\documentclass{article}

\usepackage{expl3}

\begin{document}
\ExplSyntaxOn
\prop_new:N \l_jaeya_name_prop
\prop_put:Nnn \l_jaeya_name_prop {name} {Alfr\'ed\space R\'enyi}
\prop_put:Nnn \l_jaeya_name_prop {othername} {Arthur~Gumby}
\prop_item:Nn \l_jaeya_name_prop {name}~and~\prop_item:Nn \l_jaeya_name_prop {othername}
\ExplSyntaxOff
\end{document}

Una mejor manera es almacenar y recuperar el contenido con un contenedor:

\documentclass{article}

\usepackage{expl3}


\ExplSyntaxOn
\prop_new:N \l_jaeya_name_prop

\cs_new:Npn \storename #1#2{% The % isn't necessary, just for convenience for more complicated macros to remember where which bracket starts. 
  \prop_put:Nnn \l_jaeya_name_prop {#1} {#2}
}

\cs_new:Npn \retrievename #1{%
  \prop_item:Nn \l_jaeya_name_prop {#1}
}

\ExplSyntaxOff

\begin{document}

\storename{name}{Alfr\'ed R\'enyi}
\storename{othername}{Arthur Gumby}

\retrievename{name} and \retrievename{othername}
\end{document}

ingrese la descripción de la imagen aquí

información relacionada