
latex2e
나는 의 사용에 대해 읽고 있었습니다 \protect
. 13.8절에서는 움직이는 논증의 예로 "내부 표현 tabular
과 환경"을 언급합니다. array
나는 이것에 조금 놀랐다. 누군가 여기서 의미하는 바를 명확히 할 수 있습니까? 아니면 왜 그럴까요?
등의 실험을 해보았습니다.
\documentclass{article}
\usepackage{etoolbox}
\makeatletter
\newcommand\ae@suchthat{\mid}
\newcommand\set[1]{%%
\begingroup
\let\suchthat\ae@suchthat
\{\,#1\,\}%%
\endgroup
}
\makeatother
\begin{document}
\begin{tabular}{lc}
This & $\set{x\in X \suchthat x>42}$
\end{tabular}
\end{document}
하지만 여기서는 문제가 없을 것 같습니다. 깨지기 쉬운 것과 견고한 것에 대해 내가 무엇을 오해하고 있습니까?
답변1
매뉴얼에는 Leslie Lamport의 공식 매뉴얼과 일치하도록 " 및 @
의 -표현식 "을 언급해야 합니다. 예는 다음과 같습니다.tabular
array
\documentclass{article}
\usepackage{graphicx}
\begin{document}
\begin{tabular}{l@{ \resizebox{2mm}{!}{$x$} }l}
A & B \\
C & D
\end{tabular}
\end{document}
이동 인수의 취약한 명령으로 인해 일반적인 오류 메시지가 표시됩니다.
! Use of \@array doesn't match its definition.
\@ifnextchar ... \reserved@d =#1\def \reserved@a {
#2}\def \reserved@b {#3}\f...
l.5 ...in{tabular}{l@{ \resizebox{2mm}{!}{$x$} }l}
사용하면 \protect\resizebox
오류가 발생하지 않습니다.
"LaTeX, 문서 준비 시스템", 페이지 168에서 인용:
C.1.3 취약한 명령
명령은 다음 중 하나로 분류됩니다.건장한그리고부서지기 쉬운. [...] 다음은 이동 인수가 있는 모든 명령과 환경입니다.
[...]
또는 환경 .
@
( 명령은 아니지만 -expression의 취약한 명령은 움직이는 인수에 있는 것처럼 'ed 되어야 합니다 .)array
tabular
@
@
\protect