%EC%9D%B4%20%EC%B6%9C%EB%A0%A5%EC%97%90%20%ED%91%9C%EC%8B%9C%EB%90%98%EC%A7%80%20%EC%95%8A%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
내 코드:
\documentclass{beamer}
\usepackage[absolute,overlay]{textpos}
\begin{document}
\begin{frame}[fragile,t]
\frametitle{Demo}
\begin{textblock*}{\textwidth}(20mm,20mm)
\vspace{5mm}\hrule height 1mm\vspace{5mm}
\end{textblock*}
\end{frame}
\end{document}
산출:
\hrule
출력에 이 표시되지 않는 이유는 무엇입니까 ? 어떻게 해결할 수 있나요?
답변1
환경 textblock*
에서는 콘텐츠의 속성을 사용하여 상자의 크기를 결정합니다(설명서 textpos
에 너비가 textpos*
절대적이라고 명시되어 있음에도 불구하고). TeX 프리미티브는 \hrule
텍스트를 둘러싸는 수직 상자의 너비를 너비로 사용합니다.\hrule
(참조:\hrule을 그리려면 왜 주위에 텍스트가 필요합니까?), 이 경우에는 비어 있습니다.
\leavevmode
가능한 해결책은 (상자 너비를 로 설정 , 링크된 질문 참조)을 사용 \textwidth
하거나 수동으로 너비를 지정 하거나 지정된 너비로 \hrule
명령을 사용하는 것입니다 .\rule
textpos*
아래 MWE에는 설명 목적으로 다양한 유형의 콘텐츠를 처리하는 방법에 대한 몇 가지 예가 나와 있습니다 ( showboxes
패키지 옵션 사용).
\documentclass{beamer}
\usepackage[absolute,overlay,showboxes]{textpos}
\begin{document}
\begin{frame}[fragile,t]
\frametitle{Demo}
\color{green}\vspace{5mm}\hrule height 1mm\vspace{5mm}
\begin{textblock*}{\textwidth}(10mm,20mm)
\vspace{2mm}\hrule height 1mm\vspace{2mm}% zero width
\end{textblock*}
\begin{textblock*}{\textwidth}(10mm,30mm)
\vspace{2mm}\leavevmode\hrule height 1mm\vspace{2mm}
\end{textblock*}
\begin{textblock*}{\textwidth}(10mm,40mm)
\color{red}\vspace{2mm}\hrule height 1mm width \textwidth\vspace{2mm}
\end{textblock*}
\begin{textblock*}{\textwidth}(10mm,50mm)
\color{blue}\rule{\textwidth}{1mm}
\end{textblock*}
%further examples of textblock*
\begin{textblock*}{\textwidth}(10mm,60mm)% width of the character
\phantom{X}
\end{textblock*}
\begin{textblock*}{\textwidth}(10mm,70mm)% does not show
\end{textblock*}
\begin{textblock*}{\textwidth}(10mm,80mm)% full width
\color{black}X
\end{textblock*}
\end{frame}
\end{document}