Q&A 마당은 텍 관련 질문/답변을 위해 만들었습니다.
- 로그인 없이 자유롭게 글을 읽고 쓸 수 있는 철학은 처음과 같이 계속됩니다.
- 질문 전에 아래를 읽어 보세요. 좋은 질문이 좋은 답을 받을 수 있는 좋은 방법입니다.
- 질문에 맞는 제목을 붙이세요. 질문의 내용과 관련없는 "고수님", "긴급질문", "도와주세요"와 같은 제목은 답이 잘 올라오지 않습니다. 이 게시판에 올라오는 모든 글은 질문입니다. 굳이 [질문], [Q]를 적으실 필요도 없습니다.
- 내용을 충실히 적어 주시고, 같은 상황을 재현할 수 있는 최소한의 예제가 같이 있어야 합니다.
- 최소 예제는 "Minimal working example"을 읽어 보세요.
- 파일을 첨부하실 때에는 가능한 압축하여 파일 크기를 줄여서 올려주시길 바랍니다.
- 개인적으로 사용하신 글꼴이 들어 있는 경우, preparefont.sty에 관한 답변을 참조하세요.
- 스팸 글을 막기 위하여 짧은 시간 내에 다시 글이 등록되는 IP를 막거나, 광고 글을 막기 위하여 금지어로 .com, .net 등을 설정하고 있습니다. 다소간의 불편함이 있으시더라도 양해 바랍니다.
- 금지어에서 stackexchange, stackoverflow, ctan, overleaf, , github, google.com, gmail.com, .org, .io, sil.org, wiki.com, tistory.com등은 해제하였습니다.
- MathJax를 이용한 수식조판을 사용하실 수 있습니다. 여기를 참조하세요.
- 사용하는 편집기는 CKeditor입니다.
- 편집기에서 [enter]를 누르면 <p> 태그가 들어가고, 문단으로 생각하고 한 줄을 비웁니다.
- 글줄만 바꾸려면 [shift-enter]를 누르면 <BR> 태그가 들어가므로 용도에 맞게 나누어 쓸 수 있습니다.
- 수식를 문서내에 삽입하시려면 에디터를 툴바에서 [소스]를 눌러 HTML로 입력할 수 있게 바꾸신 후 <pre> </pre> tag를 사용하셔서 <pre> 여러 줄의 수식 </pre>처럼 입력하시면 좋습니다.
PDF 메타데이터에 LaTeX3 변수 내용 보이기
2018.03.11 17:54
MWE 올려 놨습니다.
목적은 임의의 변수(여기서는 버전)를 PDF 메타데이터의 제목 항목에 보이게 하는 겁니다.
그런데 a) \NewDocumentCommand를 사용해서 LaTeX3 변수를 리턴하는 명령을 쓰면 메타데이터 제목란에 이 변수 내용이 안 보입니다.
b) 대신 LaTeX3 변수 이름을 직접 적어주면 메타데이터에 변수 내용이 보입니다.
a) 방법으로 메타데이터에 변수 내용이 보이게 하려면 어떻게 해야 할까요? expansion과 관계가 있는 건가 의심스럽지만 이쪽 방면으로는 젬병이라...
예상하시는 대로 expansion 문제가 맞을 거라고 봅니다.
xparse의 DocumentCommand는 robust가 기본입니다. 즉 "즉시 확장"되지 않습니다. 확장 가능한 DocumentCommand를 제공하면 해결될 문제이므로,
\NewExpandableDocumentCommand \TheVersion { } { \g_tcr_version_tl }
이것으로 되지 싶습니다. (xparse 문서를 참고하십시오.)
다르게 생각하면, \SetVersion 명령 내부에서 \TheVersion이라는 이름의 tl을 정의하는 것도 가능할 것 같습니다.
\NewDocumentCommand \SetVersion{ m }
{ \tl_set:Nn \g_tcr_version_tl { #1 } \tl_set_eq:NN \TheVersion \g_tcr_version_tl }
이렇게 한다면 \NewExpandableDocumentCommand가 필요없겠지요.
나아가, \g_tcr_version_tl이 뭔가 다른 곳에 쓰이거나 연산의 대상이 될 것 같지 않은 명령이니까 애시당초
\NewDocumentCommand \SetVersion{ m }
{ \tl_set:Nn \TheVersion { #1 } }
이것으로 충분하지 않겠나 생각해봅니다.