從 tikzpic 建立圖案

從 tikzpic 建立圖案

我有一個在主文檔中調用的tile.tex(一個單獨的文件)。

我想做兩件事

  1. 透過將tile.tex 拼接在一起來創建3x5 的圖案。這意味著我將調用tile.tex 15 次。
  2. 我需要控制每個圖塊的旋轉。由於我的圖塊是正方形,因此我將僅將其旋轉四個角度 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文件作為圖像包含在您需要的任何地方。 Atabular可用於將它們組織成網格,列和行之間有或沒有分隔。

\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定義圖形,則可以使用其他解決方案來建立旋轉影像陣列。其中之一可能是將主圖像定義為 apic並在 a 內重複它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}

在此輸入影像描述

相關內容