%EB%A5%BC%20%EC%82%BD%EC%9E%85%ED%95%98%EB%8A%94%20%EC%A4%91%20%EC%98%A4%EB%A5%98%EA%B0%80%20%EB%B0%9C%EC%83%9D%ED%96%88%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
나는 요리책을 만들고 있는데 단일 매크로 \recipe(아래 최소 예)를 사용하여 레시피 이름, 음식 태그(식이 제한을 나타내는 사용자 정의 기호) 및 간단한 설명을 삽입하고 싶습니다. 다양한 기호가 있는 "foodtags"라는 폴더가 있습니다. 명령(아래, \foodtags)을 통해 텍스트에서 이러한 기호를 호출하면 올바른 기호가 표시됩니다.
그러나 \recipe 명령을 사용할 때 기호가 섹션과 같은 줄과 같은 크기에 오른쪽 정렬되어 나타나는 대신 "정의되지 않은 제어 시퀀스. \foreach ...reach \let \pgffor@sign" 오류가 발생합니다. @이전@코드".
\documentclass[12pt]{memoir}
\usepackage{tikz}
\usepackage{pgffor}
\usepackage{xstring}
\noexpandarg
%Kosher, Vegetarian, Vegan symbols
\newcommand*\foodtag[1]{\includegraphics[width=1em]{foodtags/#1}}
\newcommand*\foodtags[1]{\foreach \x in {#1} {\foodtag{\x}}}
%Recipe
\newcommand{\recipe}[3]{\section{#1 \hfill \foodtags{#2}} #3}
\begin{document}
\recipe{Turkish Style Charoset}{vegan,kosher}{A delicious smooth charoset made with apples, dates, chopped almonds, and wine}
\end{document}
이 문제의 근본 원인이 무엇인지 아시나요? 섹션 환경과 그래픽의 상호 작용에 문제가 있습니까? 이 문제를 어떻게 해결하나요?
답변1
문제의 원인은 다음에서 논의됩니다.섹션 이름 안에 그래픽을 포함하는 방법이는 보조 파일에 기록될 때 \protect
와 같은 명령 확장을 피하기 위해 사용하는 것을 제안합니다. \includegraphics
왜? \section
s는 결국 파일에서 읽혀지는 ToC에 포함되기 때문입니다 .toc
.
특별한 경우에는 섹션 제목에 자동으로 그래픽 순서가 추가됩니다. 이러한 유형의 목록 처리에는 일반적으로 할당이 필요하며 이는 섹션 단위를 처리할 때도 문제가 됩니다. 따라서 귀하의 \recipe
매크로에 대해 다음을 제안합니다.
\newcommand{\recipe}[3]{\section[#1]{#1 \hfill \foodtags{#2}} #3}
이렇게 하면 깨지기 쉬운 콘텐츠가 ToC에 들어가는 것을 방지하는 동시에 상황에 맞는 ToC(필요한 경우)를 허용합니다.