%20erscheint%20nicht%20in%20der%20Ausgabe.png)
Mein Code:
\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}
Ausgabe:
Warum erscheint das \hrule
nicht in der Ausgabe? Wie kann ich das Problem beheben?
Antwort1
Die textblock*
Umgebung verwendet die Eigenschaften des Inhalts, um die Größe der Box zu bestimmen (obwohl im textpos
Handbuch steht, dass die Breite textpos*
absolut ist). Das TeX-Primitiv \hrule
nimmt als Breite die Breite der vertikalen Box an, die die \hrule
Anweisung umschließt (sieheWarum muss eine \hrule von Text umgeben sein, damit sie gezeichnet werden kann?), das in diesem Fall leer ist.
Mögliche Lösungen sind die Verwendung von \leavevmode
(dadurch wird die Breite des Felds auf festgelegt \textwidth
, siehe die verknüpfte Frage), die manuelle Angabe der Breite \hrule
oder die Verwendung des Befehls \rule
mit einer angegebenen Breite.
MWE unten mit einigen Beispielen zur textpos*
Handhabung unterschiedlicher Inhaltstypen zu Illustrationszwecken (unter Verwendung der showboxes
Paketoption).
\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}