
У меня есть tile.tex (отдельный файл), который я вызываю в своем основном документе.
Я хочу сделать две вещи
- Создайте узор 3x5, сшивая вместе tile.tex. Это значит, что я вызову tile.tex 15 раз.
- Мне нужно контролировать вращение каждой плитки. Поскольку моя плитка квадратная, я буду вращать ее только на четыре угла 0,90,180,270.
что мне нужно сделать в следующем коде
\begin{document} %----------------------------- \begin{frame} \frametitle{\color{blue}{Tile}} \begin{figure} \input{tile} \end{figure} \end{frame} %----------------------------- \end{document}
решение1
Объявите свою плитку в standalone.cls
документе:
\documentclass[tikz]{standalone}
\begin{document}
\tikz \node[draw=red, thick, minimum size=2cm] {A};
\end{document}
Что дает и скорректированную/обрезанную цифру:
И включите этот graphic
файл как изображение везде, где вам нужно. tabular
Можно использовать для организации их в сетку с разделением или без разделения между столбцами и строками.
\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}
В случае, если вы используете TikZ
для определения фигуры, можно использовать другие решения для построения массива повернутых изображений. Одним из них может быть определение основного изображения как pic
и повторение его внутри matrix
без разделения столбцов и строк. Ниже приведены некоторые примеры. Исходная фигура взята изищу эффективную альтернативу моему коду tikzpic.
\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}