1

I am trying to recreate this hand drawn diagram of a wooden stand: Here is the .tex: (it is a bit longer than a MWE).

\documentclass[12pt]{article}
\usepackage[paper=a2paper,margin=1cm,landscape]{geometry}
\pagestyle{empty}
\usepackage{blindtext}
\usepackage{tikz}
\usetikzlibrary{backgrounds}
\usetikzlibrary{positioning}
\usetikzlibrary{shapes.geometric}
\usetikzlibrary{shapes.misc}
\usetikzlibrary{shapes.multipart}
\usetikzlibrary{patterns}
\usetikzlibrary{arrows.meta}

\begin{document}
\begin{tikzpicture}

\node[minimum width=30cm, minimum height=30cm,draw,thick,rectangle](TopSquare){};
\node [below=10mm of TopSquare] {Top View}; 
\node [below=0mm of TopSquare] {30cm};
\node [rotate=90, left=5mm of TopSquare] {30cm};

\node[minimum width=2cm, minimum height=30cm,draw,thick,rectangle, right=25mm of TopSquare](SideView){};
\node[minimum width=14cm, minimum height=30cm,draw=none, right=25mm of TopSquare](Side){};
\node[below=10mm of Side]{Side View};
%\node [below=10mm of SideView] {Side View}; 
\node [below=0mm of SideView] {2cm};
%\node [rotate=90, left=5mm of SideView] {30cm};

\node[minimum width=12cm,minimum height=2cm,draw,thick,rectangle,below right=-20mm and 0mm of SideView](Sup1){};
\node[below=0mm of Sup1] {12cm};


\node[minimum width=12cm,minimum height=2cm,draw,thick,rectangle, right= 0mm of SideView](Sup2){};
%\node[below=0mm of Sup2] {12cm};

\node[minimum width=12cm,minimum height=2cm,draw,thick,rectangle,above right=-20mm and 0mm of SideView](Sup3){};
%\node[below=0mm of Sup3] {12cm};

\end{tikzpicture}
\section*{Instructions}
\begin{itemize}
\item\blindtext
\item\blindtext
\item\blindtext
\end{itemize}
\end{document}

which leads to this pdf: (Screenshot, I added the red elements to show the issues.)

  • I want to scale the picture to an A3, but keep the font size. (Printing a scaled A2 on an A4 leads to difficult-to-read text. I am using [a2paper]{geometry} so that I can see the whole tikzpicture.
  • I could make the figure smaller, i.e. \node[minimum width=5cm, minimum height=5cm,draw,thick,rectangle](TopSquare){};. But then I'd have to readjust all rectangles, etc.

  • I'd like to add the red elements. The box in the long, vertical box of the side view is at the same height as the red circles in the smaller squares.

  • Where the 12cm box meets the 2cm x 30 cm bar, there isn't a nice overlap.
  • I'd like to add the dashed lines to show the smaller squares in the 30x30.
  • The \section*{Instructions} will be filled with bullet items for my woodworker friend who will make this stand.
  • I'll look into the dimline package to add lines. – Max R Mar 2 at 12:16
2

Here are the some answers to your some questions.

I could make the figure smaller, i.e. \nodeminimum width=5cm, minimum height=5cm,draw,thick,rectangle{};. But then I'd have to readjust all rectangles, etc.

You can use some scaling options given in this answer.

I'd like to add the red elements. The box in the long, vertical box of the side view is at the same height as the red circles in the smaller squares.

The height and width of desired box was given by hand according to the circle and other dimensions.

Where the 12cm box meets the 2cm x 30 cm bar, there isn't a nice overlap.

To obtain a nice overlap, I have used the xshift and yshift options in draw command. (Adjusted by hand to best result).

CODE:

\documentclass[12pt]{article}
\usepackage[paper=a3paper,margin=1cm,landscape]{geometry} %<---- A3 landscape.
\pagestyle{empty}
\usepackage{blindtext}
\usepackage{tikz}
\usetikzlibrary{backgrounds}
\usetikzlibrary{positioning}
\usetikzlibrary{shapes.geometric}
\usetikzlibrary{shapes.misc}
\usetikzlibrary{shapes.multipart}
\usetikzlibrary{patterns,calc}
\usetikzlibrary{arrows.meta}

\begin{document}
\begin{tikzpicture}[thick,scale=0.6, every node/.style={transform shape}]% Scaling

\node[minimum width=30cm, minimum height=30cm,draw,thick,rectangle](TopSquare){};
\node [below=10mm of TopSquare] {Top View}; 
\node [below=0mm of TopSquare] {30cm};
\node [rotate=90, left=5mm of TopSquare] {30cm};

\draw[dotted] (TopSquare.north)--(TopSquare.south);
\draw[dotted] (TopSquare.west)--(TopSquare.east);
\path (TopSquare.center)coordinate(O)--(TopSquare.north east)coordinate(C);
\node [draw,circle,minimum size=4cm] at  ($(O)!0.5!(C)$)(D3) {} ;
\path (TopSquare.center)coordinate(O)--(TopSquare.north west)coordinate(D);
\node [draw,circle,minimum size=4cm] at  ($(O)!0.5!(D)$)(D4) {} ;
\path (TopSquare.center)coordinate(O)--(TopSquare.south west)coordinate(A);
\node [draw,circle,minimum size=4cm] at  ($(O)!0.5!(A)$)(D1) {} ;
\path (TopSquare.center)coordinate(O)--(TopSquare.south east)coordinate(B);
\node [draw,circle,minimum size=4cm] at  ($(O)!0.5!(B)$)(D2) {} ;

\node[minimum width=2cm, minimum height=30cm,draw,thick,rectangle, right=25mm of TopSquare](SideView){};
\node[minimum width=14cm, minimum height=30cm,draw=none, right=25mm of TopSquare](Side){};
\node[below=10mm of Side]{Side View};
%\node [below=10mm of SideView] {Side View}; 
\node [below=0mm of SideView] {2cm};
%\node [rotate=90, left=5mm of SideView] {30cm};

\path[dotted,draw] (SideView.east)coordinate(SL)--(SideView.west);
\path (SL)--(SideView.north west)coordinate(SVR);
\node [draw,rectangle,minimum height=4cm,minimum width=1cm] at ($(SL)!0.5!(SVR)$){};
\path (SL)--(SideView.south west)coordinate(SVRR);
\node [draw,rectangle,minimum height=4cm,minimum width=1cm] at ($(SL)!0.5!(SVRR)$){};

\node (Sup1) at (SideView.south east)[minimum width=12cm,minimum height=2cm,draw,thick,rectangle,xshift=5.99cm,yshift=1.01cm]{};
\node (Sup2) at (SideView.east)[minimum width=12cm,minimum height=2cm,draw,thick,rectangle,xshift=5.99cm,yshift=0cm]{};
\node (Sup3) at (SideView.north east)[minimum width=12cm,minimum height=2cm,draw,thick,rectangle,xshift=5.99cm,yshift=-1.015cm]{};

\draw[dashed](D3.90)--++(0:11cm);
\draw[dashed](D3.-90)--++(0:11cm);
\draw[dashed](D2.90)--++(0:11cm);
\draw[dashed](D2.-90)--++(0:11cm);
\end{tikzpicture}
\section*{Instructions}
\begin{itemize}
\item\blindtext
\item\blindtext
\item\blindtext
\end{itemize}
\end{document}

OUTPUT: enter image description here

  • @MaxR, Your welcome. Sorry for last claim that related to the \section*{Instructions}. I did not understand it. – ferahfeza Mar 2 at 13:25
  • Is there a way to only scale the image, not the text? – Max R Mar 2 at 13:30
  • I think \resizebox{<horizontal size>}{<vertical size>}{% \begin{tikzpicture} \end{tikzpicture} } is works. – ferahfeza Mar 2 at 13:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.