
Ich habe eine tile.tex (eine separate Datei), die ich in meinem Hauptdokument aufrufe.
Ich möchte zwei Dinge tun
- Erstellen Sie ein Muster von 3x5, indem Sie tile.tex zusammenfügen. Das bedeutet, dass ich tile.tex 15 Mal aufrufen werde.
- Ich muss die Drehung jeder Kachel steuern. Da meine Kachel quadratisch ist, kann ich sie nur in vier Winkeln drehen: 0,90,180,270.
was muss ich im folgenden Code tun
\begin{document} %----------------------------- \begin{frame} \frametitle{\color{blue}{Tile}} \begin{figure} \input{tile} \end{figure} \end{frame} %----------------------------- \end{document}
Antwort1
Deklarieren Sie Ihre Kachel in einem standalone.cls
Dokument:
\documentclass[tikz]{standalone}
\begin{document}
\tikz \node[draw=red, thick, minimum size=2cm] {A};
\end{document}
Dadurch wird eine angepasste/beschnittene Abbildung erstellt:
Und fügen Sie diese graphic
Datei als Bild ein, wo immer Sie sie benötigen. Mit A tabular
können Sie sie in einem Raster mit oder ohne Trennung zwischen Spalten und Zeilen anordnen.
\documentclass{beamer}
\begin{document}
\begin{frame}{My title}
{\renewcommand{\arraystretch}{0}
\begin{tabular}{*{5}{@{}c}}
\includegraphics[origin=c,angle=0]{mytile} &
\includegraphics[origin=c,angle=90]{mytile} &
\includegraphics[origin=c,angle=180]{mytile} &
\includegraphics[origin=c,angle=270]{mytile} &
\includegraphics[origin=c,angle=0]{mytile} \\
\includegraphics[origin=c,angle=0]{mytile} &
\includegraphics[origin=c,angle=90]{mytile} &
\includegraphics[origin=c,angle=180]{mytile} &
\includegraphics[origin=c,angle=270]{mytile} &
\includegraphics[origin=c,angle=0]{mytile} \\
\includegraphics[origin=c,angle=0]{mytile} &
\includegraphics[origin=c,angle=90]{mytile} &
\includegraphics[origin=c,angle=180]{mytile} &
\includegraphics[origin=c,angle=270]{mytile} &
\includegraphics[origin=c,angle=0]{mytile} \\
\end{tabular}}
\end{frame}
\end{document}
Wenn Sie TikZ
zur Definition Ihrer Abbildung verwenden, können Sie auch andere Lösungen verwenden, um ein Array von gedrehten Bildern zu erstellen. Eine davon könnte sein, das Hauptbild als zu definieren pic
und es innerhalb eines matrix
ohne Spalten- und Zeilentrennung zu wiederholen. Es folgen einige Beispiele. Die Originalabbildung stammt ausSuche nach einer effizienten Alternative zu meinem Tikzpic-Code.
\documentclass[tikz, border=2mm]{standalone}
\usetikzlibrary{positioning}
\tikzset{
myfigure/.pic={
\fill[black] (0,0) rectangle ++(-1,-1);
\fill[blue] (-1,0) rectangle ++(-3,-1);
\fill[green] (-4,0)-- ++(-1,0)--++(1,-1)--cycle;
\fill[blue] (0,-1) rectangle ++(-1,-3);
\fill[green] (0,-4)-- ++(-1,0)--++(1,-1)--cycle;
\fill[red] (-4,-1)-- ++(0,-3)--++(3,0)--cycle;
}
}
\begin{document}
\begin{tikzpicture}
\matrix[column sep=0pt, row sep=0pt] (A) {
\pic[rotate around={-90:(-2.5,-2.5)}]{myfigure}; &
\pic[rotate around={180:(-2.5,-2.5)}]{myfigure}; \\
\pic{myfigure}; &
\pic[rotate around={90:(-2.5,-2.5)}]{myfigure}; \\};
\matrix[column sep=0pt, row sep=0pt, right=of A] (B){
\pic[rotate around={90:(-2.5,-2.5)}]{myfigure}; &
\pic{myfigure}; \\
\pic[rotate around={180:(-2.5,-2.5)}]{myfigure}; &
\pic[rotate around={-90:(-2.5,-2.5)}]{myfigure}; \\};
\matrix[column sep=0pt, row sep=0pt, below=of A]{
\pic[rotate around={180:(-2.5,-2.5)}]{myfigure}; &
\pic[rotate around={90:(-2.5,-2.5)}]{myfigure}; \\
\pic[rotate around={270:(-2.5,-2.5)}]{myfigure}; &
\pic[rotate around={0:(-2.5,-2.5)}]{myfigure}; \\};
\begin{scope}[shift={(10.5cm,-10.5cm)}]
\pic at (0,0) {myfigure};
\pic[rotate=90] at (0,-1) {myfigure};
\pic[rotate=180] at (1,-1) {myfigure};
\pic[rotate=270] at (1,0) {myfigure};
\end{scope}
\end{tikzpicture}
\end{document}