문서에 있는 모든 그림의 동작을 변경하려면 하나의 옵션만 조정하면 되도록 그림의 기본 부동 옵션을 변경하고 싶습니다. 이전 컴퓨터(Ubuntu 14.04)에서는 다음과 같은 작업을 수행했습니다.
\documentclass{article}
\newcommand{\defaultplacement}{htb}
\begin{document}
\begin{figure}[\defaultplacement]
\caption{Example}
\end{figure}
\end{document}
이제 Ubuntu 16.04에서 빌드하려고 하는데 다음 오류가 발생합니다.
./figures/ch1/coordinate_system.tex:1: LaTeX Error: Unknown float option `\'.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.1 \begin{figure}[\defaultplacement]
예전에는 LaTeX가 처리 전 해당 값으로 대체하고 있었던 것 같은데 \defaultplacement
, 지금은 매크로를 그 자리에서 처리하고 있는 것 같습니다. 내 생각에는 내 원래 솔루션이 약간 해킹된 것이었고 방금 찾을 수 없었던 기본 figure
(및 ?) 배치를 재설정하는 더 좋은 방법이 있다는 것입니다.table
답변1
LaTeX는 매크로 내용을 \fps@<float>
float 유형의 기본 매개변수로 사용합니다 <float>
. 예를 들어 다음과 같이 재정의될 수 있습니다 figure
.
\makeatletter
\renewcommand*{\fps@figure}{htb}
\makeatother
그런 다음 선택적 인수 없이 float를 사용하면 매크로 옵션이 적용됩니다.
\begin{figure}
...
\end{figure}
답변2
Heiko는 이미 올바른 선언을 표시했지만 대답하려면
예전에는 LaTeX가 처리 전 해당 값으로 대체하고 있었던 것 같은데
\defaultplacement
, 지금은 매크로를 그 자리에서 처리하고 있는 것 같습니다.
아니요. 이전에는 알 수 없는 문자가 자동으로 무시되었으므로
[\defaultplacement]
와 같았다
[\ d e f a u l
t p
l a c e m e n t]
알 수 없는 옵션과 중복된 옵션을 무시한 후
[tp]
그런데 기본값을 로 설정하시겠습니까 htb
?
(부동 페이지)을 허용하지 않으면 p
모든 부동 페이지가 문서 끝으로 이동할 가능성이 크게 늘어납니다.