l3prop의 공백

l3prop의 공백

어떻게 하나의 매장이 될 수 있나요?말 그대로LaTeX3 속성 목록에 코드가 있나요?

내 목표는 속성 목록 내의 속성에 사람 이름을 저장하는 것입니다. 이는 악센트와 공백이 모두 키에 저장되어야 함을 의미합니다 name. 내 코드는 다음과 같습니다.

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

출력에는 "Alfréd"와 "Rényi" 사이의 공백이 표시되지 않습니다. 나는 이것이 LaTeX가 공간을 무시하게 만들기 때문이라고 생각합니다 \ExplSyntaxOn. 나는 여기에 갇혀있다. 어떤 아이디어가 있나요?

답변1

또는 을 사용 \space하거나 ~그렇지 않으면 공백이 정권에 먹혀버립니다 expl3.

또한 예 를 들어 명명 규칙에 \prop따라 -list 변수 의 '잘못된' 이름을 변경했습니다 . expl3\l_jaeya_name_prop

\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}

더 좋은 방법은 래퍼를 사용하여 콘텐츠를 저장하고 검색하는 것입니다.

\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}

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

관련 정보