TransWikia.com

SWOT Table - how to convert to an article?

TeX - LaTeX Asked by A. F. on April 14, 2021

I need a SWOT analyse in color, and I found this one at http://www.mostlycolor.ch/2013/10/colored-blocks-in-beamer.html
:

enter image description here

Can someone help me by converting the beamer, so I can use it in an article? My preamble and document look like this:

documentclass[a4paper,12pt,oneside]{article}
usepackage[english]{babel}
usepackage{tikz}
usepackage{pgf}
usetikzlibrary{shapes,arrows,positioning,calc,threeparttable} 
usepackage{tabu}
usepackage{hyperref}
usepackage{longtable}
usepackage{array}
usepackage{multirow,tabularx,booktabs}

newenvironment<>{problock}[1]{

begin{actionenv}#2
definsertblocktitle{#1}
par
mode<presentation>{
setbeamercolor{block title}{fg=white,bg=green!50!black}
setbeamercolor{block body}{fg=black,bg=green!10}
setbeamercolor{itemize item}{fg=red!20!black}
setbeamertemplate{itemize item}[triangle]
}
usebeamertemplate{block begin}}
{parusebeamertemplate{block end}end{actionenv}}
newenvironment<>{conblock}[1]{

begin{actionenv}#2
definsertblocktitle{#1}
par
mode<presentation>{
setbeamercolor{block title}{fg=white,bg=red!50!black}
setbeamercolor{block body}{fg=black,bg=red!10}
setbeamercolor{itemize item}{fg=green!20!black}
setbeamertemplate{itemize item}[triangle]
}
usebeamertemplate{block begin}}
{parusebeamertemplate{block end}end{actionenv}}

begin{document}

section{SWOT}
begin{frame}{SWOT Matrix}
begin{columns}[t]
begin{column}{.5textwidth}
begin{problock}{textsc{strengths}}
begin{itemize}
item Business
begin{itemize}
item revenue: $10 B
item market share: 70%
end{itemize}
item Product
begin{itemize}
item 32-bit color
item written in OpenCL
end{itemize}
end{itemize}
end{conblock}
end{column}
begin{column}{.5textwidth}
begin{conblock}{textsc{weaknesses}}
begin{itemize}
item Business
begin{itemize}
item very expensive
item gold plating issues
end{itemize}
item Product
begin{itemize}
item requires at least 128 cores
item no gamut mapping
end{itemize}
end{itemize}
end{problock}
end{column}
end{columns}
begin{columns}[t]
begin{column}{.5textwidth}
begin{problock}{textsc{opportunities}}
begin{itemize}
item Business
begin{itemize}
item everybody wants color
item clouds love rainbows
end{itemize}
item Product
begin{itemize}
item cameras deliver 14 bits per pixel
item big data is pervasive
end{itemize}
end{itemize}
end{conblock}
end{column}
begin{column}{.5textwidth}
begin{conblock}{textsc{threats}}
begin{itemize}
item Business
begin{itemize}
item pursue low hanging fruit
item people do not care about color quality
end{itemize}
item Product
begin{itemize}
item competitors use CIELAB
item spectral is a new trend
end{itemize}
end{itemize}
end{problock}
end{column}
end{columns}
end{frame}

end{document}

4 Answers

Change font, text and colors according your needs.

This code was adapted from my answer to SWOT Matrix using TikZ

documentclass[10pt,tikz,border=2mm]{standalone}
usepackage{times}

usepackage{tikz}
usetikzlibrary{matrix}

colorlet{helpful}{lime!70}
colorlet{harmful}{red!30}
colorlet{internal}{yellow!20}
colorlet{external}{cyan!30}
colorlet{S}{helpful!50!internal}
colorlet{W}{harmful!50!internal}
colorlet{O}{helpful!50!external}
colorlet{T}{harmful!50!external}

newcommand{texta}{Helpful tiny (to achieve the objective)par}
newcommand{textb}{Harmful tiny (to achieve the objective)par}
newcommand{textcn}{Internal origin tiny (productslash company attributes)par}
newcommand{textdn}{External origin tiny (environmentslash market attributes)par}

newcommand{back}[1]{fontsize{60}{70}selectfont #1}

begin{document}
begin{tikzpicture}[
    any/.style={minimum width=3cm,minimum height=3cm,%
                 text width=2.5cm,align=center,outer sep=0pt},
    header/.style={any,minimum height=1cm,fill=black!10},
    leftcol/.style={header,rotate=90},
    mycolor/.style={fill=#1, text=#1!60!black}
]

matrix (SWOT) [matrix of nodes,nodes={any,anchor=center},%
                column sep=-pgflinewidth,%
                row sep=-pgflinewidth,%
                row 1/.style={nodes=header},%
                column 1/.style={nodes=leftcol},
                inner sep=0pt]
{
          &|[fill=helpful]| {texta} & |[fill=harmful]| {textb} 
|[fill=internal]| {textcn} & |[mycolor=S]| back{S} & |[mycolor=W]| back{W} 
|[fill=external]| {textdn} & |[mycolor=O]| back{O} & |[mycolor=T]| back{T} 
};

node[any, anchor=center] at (SWOT-2-2) {strength 1 strength 2};
node[any, anchor=center] at (SWOT-2-3) {weakness 1 weakness 2};
node[any, anchor=center] at (SWOT-3-2) {opportunity 1 opportunity 2};
node[any, anchor=center] at (SWOT-3-3) {threat 1 threat 2};

end{tikzpicture}
end{document}

enter image description here

Correct answer by Ignasi on April 14, 2021

With a table:

documentclass[10pt,table]{article}
usepackage{times}

usepackage{array}
usepackage{graphicx}
usepackage{tikz}

colorlet{helpful}{lime!70}
colorlet{harmful}{red!30}
colorlet{internal}{yellow!20}
colorlet{external}{cyan!30}
colorlet{S}{helpful!50!internal}
colorlet{W}{harmful!50!internal}
colorlet{O}{helpful!50!external}
colorlet{T}{harmful!50!external}

newcommand{texta}{Helpfulpar tiny (to achieve the objective)}
newcommand{textb}{Harmfulpar tiny (to achieve the objective)}
newcommand{textcn}{rotatebox[origin=c]{90}{parbox[t]{3cm}{centering Internal origin tiny (productslash company attributes)par}}}
newcommand{textdn}{rotatebox[origin=c]{90}{parbox[b]{3cm}{centering External origin tiny (environmentslash market attributes)par}}}

newcommand{texts}{makebox[0pt][c]{parbox[t]{0.2textwidth}{centering strength 1par strength 2}}}
newcommand{textw}{makebox[0pt][c]{parbox[t]{0.2textwidth}{centering weakness 1par weakness 2}}}
newcommand{texto}{makebox[0pt][c]{parbox[t]{0.2textwidth}{centering opportunity 1par opportunity 2}}}
newcommand{textt}{makebox[0pt][c]{parbox[t]{0.2textwidth}{centering threat 1par threat 2}}}


newcommand{back}[1]{tikznode[overlay,text=#1!60!black,font=fontsize{60}{70}selectfont](char) at (0,-0.1) {#1};}
newcommandmycolor[1]{cellcolor{#1}}
newcolumntype{C}[1]{>{centeringarraybackslash}m{#1}}

begin{document}
begin{tabular}{c*{2}{C{0.2textwidth}}}
                            &cellcolor{helpful} texta  & cellcolor{harmful} textb 
cellcolor{internal}textcn & mycolor{S}back{S} texts & mycolor{W}back{W} textw 
cellcolor{external}textdn & mycolor{O}back{O} texto & mycolor{T}back{T} textt
end{tabular}

end{document}

enter image description here

Answered by user11232 on April 14, 2021

My previous answer needs to know size of largest box to fix the correct minimum height. Harish Kumar offers an alternative solution based in tabular which solves the problem with paragraph dimensions.

Here I offer another solution based in tcbraster (from tcolorbox). It uses raster equal height=rows option to automatically adjust (two compilations) all boxes in same row to its correct size. It also uses watermark text option to draw background marks. And although it has not been used in this case, fitting tcolorbox library could adjust inner text to fit into its corresponding rectangle.

documentclass[10pt]{article}
usepackage{times}
usepackage[most]{tcolorbox}
usepackage{lipsum}

colorlet{helpful}{lime!70}
colorlet{harmful}{red!30}
colorlet{internal}{yellow!20}
colorlet{external}{cyan!30}
colorlet{S}{helpful!50!internal}
colorlet{W}{harmful!50!internal}
colorlet{O}{helpful!50!external}
colorlet{T}{harmful!50!external}

newcommand{texta}{Helpfulpar tiny (to achieve the objective)}
newcommand{textb}{Harmfulpar tiny (to achieve the objective)}
newcommand{textcn}{rotatebox[origin=c]{90}{parbox[t]{3cm}{centering Internal origin tiny (productslash company attributes)par}}}
newcommand{textdn}{rotatebox[origin=c]{90}{parbox[b]{3cm}{centering External origin tiny (environmentslash market attributes)par}}}

newcommand{texts}{strength 1par strength 2}
newcommand{textw}{weakness 1par weakness 2}
newcommand{texto}{opportunity 1par opportunity 2}
newcommand{textt}{threat 1par threat 2}

tcbset{swotbox/.style={size=normal, boxrule=0pt,
            colback=#1, watermark text=#1, width=.5linewidth-5mm},
        header/.style={size=small, boxrule=0pt, width=.5linewidth-5mm, colback=#1, valign=center, halign=center},
        firstcol/.style={header=#1, width=1cm}
        }


begin{document}

begin{tcbitemize}[raster columns=3, raster rows=3, enhanced, sharp corners, raster equal height=rows, raster force size=false, raster column skip=0pt, raster row skip = 0pt]

%Empty corner and two headers
tcbitem[blankest, width=1cm]
tcbitem[header = helpful]
texta
tcbitem[header = harmful]
textb

%First row
tcbitem[firstcol = internal]
textcn
tcbitem[swotbox = S]
lipsum[2]
tcbitem[swotbox = W]
lipsum[2]

%Second row
tcbitem[firstcol = external]
textcn
tcbitem[swotbox=O]
lipsum[2]
tcbitem[swotbox=T]
lipsum[2]
end{tcbitemize}

end{document}

enter image description here

Answered by Ignasi on April 14, 2021

Here I would like to add another format to complete this topic.

    documentclass[11pt]{scrartcl}
usepackage{selinput}
usepackage[margin=2cm]{geometry}
usepackage{enumitem,varwidth}
usepackage[svgnames]{xcolor}
usepackage{tikz}
usetikzlibrary{shapes.geometric}
usepackage{lmodern}
parindent0em
begin{document}
section{SWOT Matrix - emph{(Strengths, Weaknesses, Opportunities, Threats)}}
begin{tikzpicture}[
    pentagon/.style={%
        shape=regular polygon, regular polygon sides=5, minimum size=7.3cm, inner
        sep=-1mm, draw, fill=DarkSeaGreen!75!yellow
    }, font=scriptsizesffamily, thick
]
% draw[help lines] (-16,-16) grid (16,16);
filldraw[thin,gray,fill=gray!25] (-8,-8) rectangle (8,8);
filldraw[thin,gray,fill=white] (-7.15,-7.15) rectangle (7.15,7.15);
draw[thin,gray] (7.15,7.15)--(8,8) (-7.15,7.15)--(-8,8) (-7.15,-7.15)--(-8,-8)
(7.15,-7.15)--(8,-8);
% Strengths
draw[thin,gray] (-0.025,0.025)--(-7.05,0.025)--(-0.025,7.05)--cycle;
node[pentagon,rotate=45] at (-3.75,3.75) {
begin{varwidth}{linewidth}
begin{itemize}[leftmargin=*,noitemsep]
item Technical and business expertise
item Stable management team
item Economies of scale
item Financial stability
item Acquisition capabilities
item Domestic market orientation
item Training programs
item Loyalty and retention
end{itemize}
end{varwidth}
};
draw (-2,2) node[rotate=45] {largetextbf{Strengths}};
% Weaknesses
draw[thin,gray] (0.025,0.025)--(7.05,0.025)--(0.025,7.05)--cycle;
node[pentagon,rotate=-45] at (3.75,3.75) {
begin{varwidth}{linewidth}
begin{itemize}[leftmargin=*,noitemsep]
item Centralized decisions
item Marketing capabilities
item Accounts cross-selling
item Win on price image
item BPO market
item No differentiation
end{itemize}
end{varwidth}
};
draw (2,2) node[rotate=-45] {largetextbf{Weaknesses}};
% Opportunities
draw[thin,gray] (-0.025,-0.025)--(-7.05,-0.025)--(-0.025,-7.05)--cycle;
node[pentagon,rotate=135] at (-3.75,-3.75) {
begin{varwidth}{linewidth}
begin{itemize}[leftmargin=*,noitemsep]
item Marketing push
item Adding BPO capabilities
item Pricing structure
item Business process approach
item Annuity engagement
end{itemize}
end{varwidth}
};
draw (-2,-2) node[rotate=135] {largetextbf{Opportunities}};
% Threats
draw[thin,gray] (0.025,-0.025)--(7.05,-0.025)--(0.025,-7.05)--cycle;
node[pentagon,rotate=-135] at (3.75,-3.75) {
begin{varwidth}{linewidth}
begin{itemize}[leftmargin=*,noitemsep]
item High-risk deals
item Image change inability
item Degree of automation
item Profitability losses
end{itemize}
end{varwidth}
};
draw (2,-2) node[rotate=-135] {largetextbf{Threats}};
draw(0,-7.55) node {Large EXTERNAL};
draw(0,7.55) node {Large INTERNAL};
draw(-7.55,0) node[rotate=90] {Large POSITIVE};
draw(7.55,0) node[rotate=270] {Large NEGATIVE};
draw(-0.6,0.6) node {Hugetextbf{S}}; 
draw(0.6,0.6) node {Hugetextbf{W}};
draw(-0.6,-0.6) node {Hugetextbf{O}};
draw(0.6,-0.6) node {Hugetextbf{T}};
end{tikzpicture}
end{document}

enter image description here

Answered by Dr Neo on April 14, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP