\NeedsTeXFormat{LaTeX2e} \ProvidesPackage{awesomebox}[2018/11/26 v0.4] % Awesome Box has been written by Étienne Deparis and is released under % the WTFPL (http://www.wtfpl.net/txt/copying/). % A copy of this license is distributed in this package. % % Contributors: % v0.2: Vincent Goulet https://github.com/vigou3 % v0.3: Gilbert Fuerer https://github.com/foreachthing % * Remove xelatex/luatex requirement and add pdflatex compatibility % v0.4: Marcel Krüger https://github.com/zauguin % * Fontawesome5 compatibility % Gilbert Fuerer % * Custom rule color % Try to just depend on fontawesome5 package % https://ctan.org/pkg/fontawesome5 \RequirePackage{fontawesome5} % Compatibility with old version of this package \def\abIconCheck{\faCheck} \def\abIconInfoCircle{\faInfoCircle} \def\abIconFire{\faFire} \def\abIconExclamationCircle{\faExclamationCircle} \def\abIconExclamationTriangle{\faExclamationTriangle} \def\abIconCogs{\faCogs} \def\abIconThumbsUp{\faThumbsUp} \def\abIconThumbsDown{\faThumbsDown} \def\abIconCertificate{\faCertificate} \def\abIconLightBulb{\faLightbulb[regular]} \def\abIconTwitter{\faTwitter} \def\abIconGithub{\faGithub} % https://ctan.org/pkg/xcolor \RequirePackage{xcolor} % Some basic colors \definecolor{abnote}{RGB}{25,64,122} \definecolor{abcaution}{RGB}{188,50,0} \definecolor{abwarning}{RGB}{188,103,0} \definecolor{abimportant}{RGB}{188,0,0} \definecolor{abvrulecolor}{RGB}{221,221,216} \newlength{\aweboxleftmargin} \setlength{\aweboxleftmargin}{9mm} \newlength{\aweboxvskip} \setlength{\aweboxvskip}{5mm} \newlength{\aweboxsignraise} \setlength{\aweboxsignraise}{-5mm} \newlength{\aweboxrulewidth} \setlength{\aweboxrulewidth}{2pt} % https://ctan.org/pkg/tabu \RequirePackage{tabu} % Commands API % \awesomebox[rulecolor]{rulewidth}{icon}{iconcolor}{content} \newcommand{\awesomebox}[5][abvrulecolor]{% \vspace{\aweboxvskip} \noindent \begin{tabu} to \linewidth {m{\aweboxleftmargin}!{\color{#1}\vrule width #2}X} \raisebox{\aweboxsignraise}{\textcolor{#4}{\Huge#3}} & #5 \\ \end{tabu} \vspace{\aweboxvskip}} \newcommand{\notebox}[1]{% \awesomebox[abnote]{\aweboxrulewidth}{\abIconInfoCircle}{abnote}{#1}} \newcommand{\tipbox}[1]{% \awesomebox{\aweboxrulewidth}{\abIconLightBulb}{black}{#1}} \newcommand{\warningbox}[1]{% \awesomebox[abwarning]{\aweboxrulewidth}{\abIconExclamationTriangle}{abwarning}{#1}} \newcommand{\cautionbox}[1]{% \awesomebox[abcaution]{\aweboxrulewidth}{\abIconFire}{abcaution}{#1}} \newcommand{\importantbox}[1]{% \awesomebox[abimportant]{\aweboxrulewidth}{\abIconExclamationCircle}{abimportant}{#1}} % Environments API % \begin{awesomeblock}[rulecolor]{rulewidth}{icon}{iconcolor} % content % \end{awesomeblock} \newenvironment{awesomeblock}[4][abvrulecolor]% {\vspace{\aweboxvskip}\noindent \begin{tabu} to \linewidth % {m{\aweboxleftmargin}!{\color{#1}\vrule width #2}X}% \raisebox{\aweboxsignraise}{\textcolor{#4}{\Huge#3}} & } {\\\end{tabu}\vspace{\aweboxvskip}} \newenvironment{noteblock}% {\begin{awesomeblock}[abnote]{\aweboxrulewidth}{\abIconInfoCircle}{abnote}} {\end{awesomeblock}} \newenvironment{tipblock}% {\begin{awesomeblock}{\aweboxrulewidth}{\abIconLightBulb}{black}} {\end{awesomeblock}} \newenvironment{warningblock}% {\begin{awesomeblock}[abwarning]{\aweboxrulewidth}{\abIconExclamationTriangle}{abwarning}} {\end{awesomeblock}} \newenvironment{cautionblock}% {\begin{awesomeblock}[abcaution]{\aweboxrulewidth}{\abIconFire}{abcaution}} {\end{awesomeblock}} \newenvironment{importantblock}% {\begin{awesomeblock}[abimportant]{\aweboxrulewidth}{\abIconExclamationCircle}{abimportant}} {\end{awesomeblock}} \endinput