\-를 재정의했지만 캡션에서는 작동하지 않습니다.

\-를 재정의했지만 캡션에서는 작동하지 않습니다.

\+표기법을 편리하게 입력할 수 있도록 매크로 를 정의했습니다 \-. 놀랍게도 표와 그림 캡션이 작동하는 \-동안 작동하지 않는 것을 발견했습니다 \+. (TikZ로 만든 피규어의 내용에도 같은 문제가 나타납니다.) 이 이상한 동작에 대한 설명이 있습니까? 아마도 이는 \-일반적으로 하이픈을 사용하는 것과 관련이 있을 것입니다 . 하지만 내가 그것을 재정의한 후에 그것이 왜 중요할까요?

다음은 최소한의 작업 예입니다.

\documentclass{article}

\usepackage{amssymb}
\newcommand{\+}{\boxplus}
\renewcommand{\-}{\boxminus}

\begin{document}
  Plus $\+$ and minus $\-$ work here.
  \begin{figure}
    \caption{Why does $\-$ not work in a caption while $\+$ works?}
  \end{figure}
  \begin{table}
    \caption{Why does $\-$ not work in a caption while $\+$ works?}
  \end{table}
\end{document}

PDF 스크린샷

답변1

매크로가 \caption실행되고 \@parboxrestore, 그 결과가 실행됩니다.

\let\-\@dischyph

이는 캡션에서 \-원래 LaTeX 의미인 \discretionary{-}{}{}. 실제로 파일을 보면 .aux알겠지만

Why does $\discretionary {-}{}{}$ not work in a caption while $\boxplus $ works?

일반적으로 이러한 중요한 명령을 재정의하는 것은 좋지 않습니다.

관련 정보