diff options
Diffstat (limited to 'macros/latex/contrib/huawei/huawei.dtx')
-rw-r--r-- | macros/latex/contrib/huawei/huawei.dtx | 952 |
1 files changed, 952 insertions, 0 deletions
diff --git a/macros/latex/contrib/huawei/huawei.dtx b/macros/latex/contrib/huawei/huawei.dtx new file mode 100644 index 0000000000..68db55e298 --- /dev/null +++ b/macros/latex/contrib/huawei/huawei.dtx @@ -0,0 +1,952 @@ +% \iffalse meta-comment +% (The MIT License) +% +% Copyright (c) 2021-2022 Yegor Bugayenko +% +% Permission is hereby granted, free of charge, to any person obtaining a copy +% of this software and associated documentation files (the 'Software'), to deal +% in the Software without restriction, including without limitation the rights +% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +% copies of the Software, and to permit persons to whom the Software is +% furnished to do so, subject to the following conditions: +% +% The above copyright notice and this permission notice shall be included in all +% copies or substantial portions of the Software. +% +% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +% SOFTWARE. +% \fi + +%%% \CheckSum{0} +% +% \CharacterTable +% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} + +% \GetFileInfo{huawei.dtx} +% \DoNotIndex{\endgroup,\begingroup,\let,\else,\fi,\newcommand,\newenvironment} + +% \iffalse +%<*driver> +\ProvidesFile{huawei.dtx} +%</driver> +%<class>\NeedsTeXFormat{LaTeX2e} +%<class>\ProvidesClass{huawei} +%<*class> +[05.10.2022 0.14.1 Template for Huawei Documents] +%</class> +%<*driver> +\documentclass{ltxdoc} +\usepackage[tt=false, type1=true]{libertine} +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage{href-ul} +\PageIndex +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\begin{document} + \DocInput{huawei.dtx} + \PrintChanges + \PrintIndex +\end{document} +%</driver> +% \fi + +% \title{\LaTeX{} Class |huawei|\thanks{The sources are in GitHub at \href{https://github.com/yegor256/huawei.cls}{yegor256/huawei.cls}}} +% \author{Yegor Bugayenko \\ \texttt{yegor256@gmail.com}} +% \date{\filedate, \fileversion} +% +% \maketitle +% +% \section{Introduction} +% +% The provided class |huawei| helps you design your work +% documents and presentations keeping the code short and the +% style elegant enough both for management and technical +% papers. To use the class you simply mention its name +% in the preamble: +% +%\iffalse +%<*verb> +%\fi +\begin{verbatim} +\documentclass{huawei} +\begin{document} +Hello, world! +\end{document} +\end{verbatim} +%\iffalse +%</verb> +%\fi + +% We recommend you to use +% |latexmk| to compile your |.tex| files to |.pdf|. +% The simplest setup will require a few files staying next to your +% |.tex| file, in the same directory (``story'' is the name +% of your project here): + +%\iffalse +%<*verb> +%\fi +\begin{verbatim} +story\ + .latexmkrc + .gitignore + story.tex +\end{verbatim} +%\iffalse +%</verb> +%\fi + +% The content of your |.latexmkrc| file would be this: + +%\iffalse +%<*verb> +%\fi +\begin{verbatim} +$pdflatex = 'pdflatex %O --shell-escape %S'; +\end{verbatim} +%\iffalse +%</verb> +%\fi + +% Make sure the |.gitignore| file lists all the files generated +% by |pdflatex| during the compilation. You don't need to commit +% them to your repository, since they are temporary and will +% be generated again when you compile your document. + +% In order to compile the document, just say |latexmk| on the command line. + +% \section{Class Options} + +% There are a few class options, provided in square brackets after the +% |\documentclass|, which can help you fine-tune +% the layout of your document: + +% \begin{macro}{landscape} +% makes the document in landscape format, also changing the size +% of the paper to 16x9 inches (the default page size is +% \href{https://en.wikipedia.org/wiki/Paper_size}{A4}), +% making it perfect for presentations. +% \end{macro} + +% \begin{macro}{dark} +% Turns on a dark layout, where the page color is black and the text +% is white. +% \end{macro} + +% \begin{macro}{slides} +% makes all headers a bit larger, assuming that the document +% is in the landscape mode and being presented as a slide deck. +% \end{macro} + +% \begin{macro}{nocover} +% avoid printing the cover images on the first page by the +% |\PrintTitlePage| command. +% \end{macro} + +% \begin{macro}{anonymous} +% removes the name of the author everywhere, including the bottom +% of the page, where the author's name stays next to the name of the +% company. +% \end{macro} + +% \begin{macro}{nobrand} +% avoid mentioning the brand of Huawei anywhere +% in the document and removes the logo too. +% \end{macro} + +% \begin{macro}{nosecurity} +% avoids mentioning the level of security at the right top +% corner of the document and also avoids showing the ID of the author +% where it usually is visible. +% \end{macro} + +% \begin{macro}{nodate} +% don't show the date and time at the bottom of each page, +% where they usually are rendered in ISO~8601 format. +% \end{macro} + +% \begin{macro}{nopaging} +% avoids page numbers at the bottom of each page. +% \end{macro} + +% \begin{macro}{authordraft} +% prints a big ``It's a draft'' message across each page. +% \end{macro} + +% \section{Preamble} + +% In the preamble you can specify meta information about the document, +% such as its title or author's name, here is how: + +%\iffalse +%<*verb> +%\fi +\begin{verbatim} +\documentclass{huawei} +\renewcommand*\thetitle{Making Compression 15\% Faster} +\renewcommand*\thesubtitle{Technical Report} +\renewcommand*\theauthor{Yegor Bugayenko} +\begin{document} +\maketitle +Hello, world! +\end{document} +\end{verbatim} +%\iffalse +%</verb> +%\fi + +% It's recommended to use |\renewcommand*| instead of +% |\renewcommand| in order to let \LaTeX{} catch you +% if by mistake a new line gets into the content. + +% The following meta commands are defined: + +% \begin{macro}{\thetitle} +% |\thetitle| is the main title of the document +% to be used in the text and in the properties of the PDF document. +% \end{macro} + +% \begin{macro}{\thesubtitle} +% |\thesubtitle| is the subtitle to be +% printed under the title. +% \end{macro} + +% \begin{macro}{\theauthor} +% |\theauthor| is the author of the document +% in ``first-name last-name'' format. +% \end{macro} + +% \begin{macro}{\theid} +% |\theid| is the internal ID of the author, if +% it's applicable. +% \end{macro} + +% \begin{macro}{\thesecurity} +% It is the level of security of +% the document, which is usually printed at the top right +% corner of it; usual values are ``Internal,'' +% ''Confidential,'' or ``Secret.'' +% \end{macro} + +% Default values of all these commands are empty. If you don't +% renew them in your document, nothing will be printed. + +% \section{Custom Commands} + +% Inside the document body you can use these commands: + +% \begin{macro}{\PrintFirstPage} +% |\PrintFirstPage| +% prints the first page of a project charter or a similar landscape documents, +% placing the image |front-image.pdf| on the front (the file should be present +% in the current dir. If you don't have the front image file, just leave +% the first argument empty. +% \end{macro} + +% \begin{macro}{\PrintLastPage} +% |\PrintLastPage| +% prints the last page of a project charter or a similar landscape document. +% \end{macro} + +% \begin{macro}{\PrintThankYouPage} +% |\PrintThankYouPage| +% prints the last page with a "Thank You" message in the center. +% \end{macro} + +% \begin{macro}{\PrintDisclaimer} +% |\PrintDisclaimer| +% prints a paragraph at the bottom of the page with a standard disclaimer. +% \end{macro} + +% \section{Best Practices} + +% You are free to design your documents any way you want. However, +% it would be convenient for yourself and for your readers, if you follow +% the convention we have for business and technical documents. + +% The rule of thumb is simple: try \emph{not} to format your documents. +% Instead, let the class designed by us do this work for you. Just type +% the content without changing the layout, adding colors, changing fonts, +% etc. The less you modify the look-and-feel, the better your documents +% will be perceived by your readers. + +% \subsection{Two Columns} + +% In the landscape format it's recommended to use two columns, for better +% readability of the text. Here is how: + +%\iffalse +%<*verb> +%\fi +\begin{verbatim} +\documentclass{huawei} +\begin{document} +\newpage +\begin{multicols}{2} +\section*{First} +Here goes the first column content. +\columnbreak +\section*{Second} +Here goes the second column content. +\end{multicols} +\end{document} +\end{verbatim} +%\iffalse +%</verb> +%\fi + +% \subsection{Crumbs} + +% When you need to put many small information pieces into one page, +% we recommend you to use ``crumbs'': + +%\iffalse +%<*verb> +%\fi +\begin{verbatim} +\documentclass{huawei} +\begin{document} +\newpage +\section*{Project Details} +\begin{multicols}{2} +\raggedright +\PrintCrumb{Budget}{\$100K} + +\PrintCrumb{Duration}{5 months} +\end{multicols} +\end{document} +\end{verbatim} +%\iffalse +%</verb> +%\fi + +% \StopEventually{} + +% \section{Implementation} + +% \changes{v0.1.0}{2021/04/18}{Initial version} + +% First, we load the parent class: +% \begin{macrocode} +\LoadClass[12pt]{article} +% \end{macrocode} + +% Then, we parse package options: +% \begin{macrocode} +\makeatletter +\newif\ifhuawei@dark +\DeclareOption{dark}{\huawei@darktrue} +\newif\ifhuawei@slides +\DeclareOption{slides}{\huawei@slidestrue} +\newif\ifhuawei@nosecurity +\DeclareOption{nosecurity}{\huawei@nosecuritytrue} +\newif\ifhuawei@authordraft +\DeclareOption{authordraft}{\huawei@authordrafttrue} +\newif\ifhuawei@nobrand +\DeclareOption{nobrand}{\huawei@nobrandtrue} +\newif\ifhuawei@nodate +\DeclareOption{nodate}{\huawei@nodatetrue} +\newif\ifhuawei@nocover +\DeclareOption{nocover}{\huawei@nocovertrue} +\newif\ifhuawei@nopaging +\DeclareOption{nopaging}{\huawei@nopagingtrue} +\newif\ifhuawei@landscape +\DeclareOption{landscape}{\huawei@landscapetrue} +\newif\ifhuawei@anonymous +\DeclareOption{anonymous}{\huawei@anonymoustrue} +\ProcessOptions\relax +\makeatother +% \end{macrocode} + +% Then, we set the size of the page: +% \begin{macrocode} +\RequirePackage{geometry} +\makeatletter\ifhuawei@landscape + \geometry{paperwidth=16in, paperheight=9in, + left=4in, right=2in, top=1.5in, bottom=1.5in} +\else + \geometry{a4paper, left=1.5in, right=1in, + top=1.2in, bottom=1.2in} +\fi\makeatother +% \end{macrocode} + +% Then, we set the size of the font: +% \begin{macrocode} +\makeatletter\ifhuawei@slides + \usepackage[fontsize=24pt]{fontsize} +\fi\makeatother +% \end{macrocode} + +% Then, we include a important packages: +% \begin{macrocode} +\RequirePackage[T1]{fontenc} +\RequirePackage[utf8]{inputenc} +\RequirePackage{tabularx} +\RequirePackage{anyfontsize} +\RequirePackage{multicol} +\RequirePackage{ragged2e} +\RequirePackage{multicol} +\RequirePackage[mmddyyyy,iso]{datetime} + \newtimeformat{daytime}{\twodigit{\THEHOUR}:\twodigit{\THEMINUTE}} +\RequirePackage[tt=false,type1=true]{libertine} +\RequirePackage{paralist} + \setdefaultenum{a)}{a)}{a)}{a)} +\RequirePackage{makecell} +\RequirePackage[para]{footmisc} + \setlength{\footnotemargin}{2pt} + \setlength{\footnotesep}{2pt} +\RequirePackage{graphicx} +\RequirePackage{array} +\RequirePackage[hidelinks]{hyperref} % to enable \pageref* command +\RequirePackage[abspath]{currfile} +\RequirePackage{enumitem} + \setlist{nosep} +\RequirePackage{microtype} +\RequirePackage{wrapfig} +\RequirePackage{lastpage} +\RequirePackage{tikz} +\RequirePackage{tabularx} +\RequirePackage{titling} +\RequirePackage{svg} +\RequirePackage[absolute]{textpos} + \TPGrid{16}{16} +% \end{macrocode} + +% Then, we configure |biblatex|: +% \begin{macrocode} +\RequirePackage[maxnames=1,minnames=1,natbib=true, + citestyle=numeric,bibstyle=numeric,doi=false, + url=false,isbn=false,isbn=false]{biblatex} +% \end{macrocode} + +% Then, we set spacing between lines: +% \begin{macrocode} +\RequirePackage{setspace} +\setstretch{1.08} +% \end{macrocode} + +% Then, we define branded colors: +% \begin{macrocode} +\PassOptionsToPackage{table}{xcolor} +\RequirePackage{xcolor} +\definecolor{red}{HTML}{CF0A2C} +\definecolor{black}{HTML}{232527} +\definecolor{gray}{HTML}{878C8F} +\definecolor{yellow}{HTML}{F2DC5D} +\definecolor{blue}{HTML}{2274A5} +\definecolor{green}{HTML}{499167} +\definecolor{orange}{HTML}{F06543} +% \end{macrocode} + +% \begin{macro}{\huawei@header} +% Then, we define |\huawei@header|: +% \begin{macrocode} +\makeatletter\newcommand\huawei@header[1]{{% + \ifhuawei@slides% + \setstretch{0.8}% + \fontsize{19pt}{24pt}\selectfont% + \else% + \setstretch{0.8}% + \fontsize{11pt}{13pt}\selectfont% + \fi% + \sffamily\color{gray}#1\par% +}}\makeatother +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\huawei@bar} +% Then, we define |\huawei@bar|: +% \begin{macrocode} +\makeatletter\newcommand\huawei@bar{% + \begin{textblock}{1}[0,0](0,0)% + \tikz \node[fill=red,minimum width=\TPHorizModule, + minimum height=16\TPVertModule] {};% + \end{textblock}% +}\makeatother +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\huawei@logo} +% Then, we define |\huawei@logo|: +% \begin{macrocode} +\makeatletter\newcommand\huawei@logo{ +\def\BLACK{\ifhuawei@dark white\else black\fi} +\def\BLANK{\ifhuawei@dark black\else white\fi} +\def\SCALE{\ifhuawei@slides 1.8\else 1\fi} +\begin{tikzpicture}[y=0.80pt, x=0.80pt, yscale=-\SCALE, +xscale=\SCALE, inner sep=0pt, outer sep=0pt] +\begin{scope}[even odd rule,line width=0.800pt] +\begin{scope}[shift={(0,-0.00024)}] +\path[fill=\BLACK] (10.9375,30.2240) -- (10.9375,33.6097) +.. controls (10.9375,34.5713) and (10.4603,35.0845) .. + (9.5932,35.0845) .. controls (8.7212,35.0845) and + (8.2411,34.5565) +.. (8.2411,33.5686) -- (8.2411,30.2278) -- (7.0415,30.2278) +-- (7.0415,33.6097) .. controls (7.0415,35.2737) and + (7.9658,36.2272) .. (9.5774,36.2272) .. controls + (11.2041,36.2272) and (12.1371,35.2554) .. (12.1371,33.5609) -- + (12.1371,30.2240) +-- (10.9375,30.2240) -- cycle; +\path[fill=\BLACK] (15.3511,30.2240) -- (12.7456,36.1351) -- + (13.9702,36.1351) -- (14.4731,34.9903) -- (14.5091,34.9045) -- + (17.2158,34.9045) -- (17.7467,36.1351) -- (19.0045,36.1351) -- + (16.4233,30.2590) -- (16.4001,30.2240) -- cycle; +\path[fill=\BLACK] (22.4840,30.2240) -- (21.1414,34.2912) -- + (19.8344,30.2271) -- (18.5578,30.2271) -- (20.6186,36.1388) -- + (21.6120,36.1388) -- (22.9573,32.2553) -- (24.3016,36.1388) -- + (25.3034,36.1388) -- (27.3592,30.2271) -- (26.1152,30.2271) -- + (24.8055,34.2912) -- (23.4626,30.2240) -- cycle; +\path[fill=\BLACK] (34.2236,30.2240) -- (34.2236,36.1300) -- + (35.4074,36.1300) -- (35.4074,30.2240) -- cycle; +\path[fill=\BLACK] (0.2686,30.2244) -- (0.2686,36.1384) -- + (1.4686,36.1384) -- (1.4686,33.7365) -- (4.1780,33.7365) -- + (4.1780,36.1384) -- (5.3783,36.1384) -- (5.3783,30.2244) -- + (4.1780,30.2244) -- (4.1780,32.6102) -- (1.4686,32.6102) -- + (1.4686,30.2244) -- cycle; +\path[fill=\BLACK] (28.3267,30.2284) -- (28.3267,36.1344) -- + (32.7928,36.1344) -- (32.7928,35.0575) -- (29.5105,35.0575) -- + (29.5105,33.5931) -- (31.6931,33.5931) -- (31.6931,32.5160) -- + (29.5105,32.5160) -- (29.5105,31.3052) -- (32.6785,31.3052) -- + (32.6785,30.2284) -- cycle; +\path[fill=\BLANK] (15.8594,31.7207) -- (16.7149,33.7008) -- + (16.7119,33.7008) -- (16.7701,33.8374) -- (14.9552,33.8374) -- + (15.0127,33.7008) -- (15.0117,33.7008) -- cycle; +\path[fill=red] (15.2113,0.0001) .. controls (14.7353,0.0422) and + (13.4491,0.3349) .. (13.4491,0.3349) -- (13.4486,0.3349) .. controls + (10.5495,1.0843) and (9.8643,3.7151) .. (9.8643,3.7151) .. controls + (9.7227,4.1575) and (9.6584,4.6109) .. (9.6395,5.0380) -- + (9.6395,5.6194) .. controls (9.6780,6.5176) and (9.8777,7.1883) .. + (9.8777,7.1883) .. controls (10.8461,11.4823) and + (15.6075,18.5379) ..(16.6308,20.0200) .. controls + (16.7034,20.0920) and(16.7615,20.0660) .. + (16.7615,20.0660) .. controls(16.8720,20.0355) and + (16.8633,19.9296) .. (16.8633,19.9296) -- + (16.8654,19.9301) .. controls (18.4416,4.1760) and + (15.2113,0.0001) .. (15.2113,0.0001) -- (15.2113,0.0001) -- cycle; +\path[fill=red] (20.4192,0.0000) .. controls (20.4192,0.0000) and + (17.1748,4.1782) .. (18.7521,19.9415) -- + (18.7542,19.9415) .. controls (18.7664,20.0416) and + (18.8374,20.0624) ..(18.8374,20.0624) .. controls + (18.9430,20.1033) and(18.9971,20.0019) .. (18.9971,20.0019) -- + (18.9976,20.0029) .. controls (20.0472,18.4829) and + (24.7814,11.4657) ..(25.7455,7.1882) .. controls(25.7455,7.1882) and + (26.2683,5.1179) .. (25.7636,3.7150) .. controls + (25.7636,3.7150) and (25.0470,1.0434) ..(22.1442,0.3375) .. controls + (22.1442,0.3375) and (21.3077,0.1251) .. (20.4193,0.0000) -- + (20.4192,0.0000) -- cycle; +\path[fill=red] (5.4542,4.7294) .. controls (5.4542,4.7294) and + (2.6920,7.3513) .. (2.5547,10.1307) -- (2.5558,10.1307) -- + (2.5558,10.5519) .. controls (2.5579,10.5836) and + (2.5595,10.6157) .. (2.5615,10.6480) .. controls + (2.6804,12.8893) and (4.3665,14.2157) .. + (4.3665,14.2157) .. controls (7.0831,16.8634) and + (13.6611,20.2062) .. (15.1896,20.9647) .. controls + (15.2110,20.9727) and (15.2900,20.9985) .. + (15.3364,20.9399) .. controls (15.3364,20.9399) and + (15.3605,20.9216) .. (15.3715,20.8887) -- + (15.3715,20.8189) .. controls (15.3704,20.8149) and + (15.3683,20.8109) .. (15.3663,20.8065) -- + (15.3669,20.8065) .. controls (11.1809,11.6620) and + (5.4543,4.7294) .. (5.4543,4.7294) -- (5.4542,4.7294) -- cycle; +\path[fill=red] (30.1695,4.7294) .. controls (30.1695,4.7294) and + (24.4602,11.6403) .. (20.2761,20.7662) -- + (20.2777,20.7657) .. controls (20.2777,20.7657) and + (20.2283,20.8715) .. (20.3082,20.9399) .. controls + (20.3082,20.9399) and (20.3320,20.9579) .. (20.3650,20.9652) -- + (20.4229,20.9652) .. controls (20.4333,20.9622) and + (20.4444,20.9582) .. (20.4554,20.9507) -- + (20.4554,20.9517) .. controls (22.0255,20.1724) and + (28.5525,16.8516) .. (31.2563,14.2162) .. controls + (31.2563,14.2162) and (32.9686,12.8412) .. + (33.0583,10.6334) .. controls (33.2560,7.5672) and + (30.1696,4.7294) .. (30.1696,4.7294) -- (30.1695,4.7294) -- cycle; +\path[fill=red] (35.3082,13.8080) .. controls (35.3082,13.8080) and + (26.0003,18.8031) .. (21.1876,22.0494) -- (21.1882,22.0499) -- + (21.1893,22.0509) .. controls (21.1893,22.0509) and + (21.1019,22.1081) .. (21.1324,22.2106) .. controls + (21.1324,22.2106) and (21.1781,22.2933) .. (21.2446,22.2933) -- + (21.2446,22.2938) .. controls (22.9684,22.2968) and + (29.4914,22.3041) .. (29.6549,22.2736) .. controls + (29.6549,22.2736) and (30.4983,22.2399) .. + (31.5406,21.8395) .. controls (31.5406,21.8395) and + (33.8608,21.1019) .. (35.0659,18.4677) .. controls + (35.0659,18.4677) and (35.6166,17.3662) .. (35.6246,15.8187) -- + (35.6246,15.7531) .. controls (35.6206,15.1563) and + (35.5365,14.4957) .. (35.3083,13.8080) -- + (35.3082,13.8080) -- cycle; +\path[fill=red] (0.3129,13.8313) .. controls (-0.5339,16.4531) and + (0.6062,18.5656) .. (0.6080,18.5690) .. controls + (1.7962,21.0795) and (4.0641,21.8401) .. + (4.0641,21.8401) .. controls (5.1112,22.2703) and + (6.1586,22.3000) .. (6.1586,22.3000) .. controls + (6.3221,22.3300) and (12.6713,22.3030) .. + (14.3725,22.2950) .. controls (14.4445,22.2945) and + (14.4842,22.2221) .. (14.4842,22.2221) .. controls + (14.4892,22.2142) and (14.4936,22.2062) .. (14.4955,22.1989) -- + (14.4955,22.1333) .. controls (14.4814,22.0893) and + (14.4439,22.0584) .. (14.4439,22.0584) -- + (14.4450,22.0578) .. controls (9.6347,18.8126) and + (0.3130,13.8315) .. (0.3130,13.8315) -- (0.3129,13.8313) -- cycle; +\path[fill=red] (14.1782,23.1010) -- (3.2285,23.4850) .. controls + (4.4160,25.6018) and (6.4158,27.2469) .. + (8.4990,26.7416) .. controls (9.9366,26.3822) and + (13.1935,24.1105) .. (14.2687,23.3429) -- + (14.2651,23.3399) .. controls (14.3487,23.2648) and + (14.3188,23.2045) .. (14.3188,23.2045) .. controls + (14.2913,23.1062) and (14.1783,23.1063) .. (14.1783,23.1063) -- + (14.1782,23.1010) -- cycle; +\path[fill=red] (21.4305,23.1090) -- (21.4294,23.1130) .. controls + (21.4294,23.1130) and (21.3333,23.1252) .. + (21.3064,23.1972) .. controls (21.3064,23.1972) and + (21.2831,23.2956) .. (21.3478,23.3445) -- + (21.3467,23.3455) .. controls (22.3950,24.0973) and + (25.5729,26.3191) .. (27.1039,26.7505) .. controls + (27.1039,26.7505) and (27.3359,26.8294) .. (27.7246,26.8435) -- + (27.9581,26.8435) .. controls (28.9839,26.8075) and + (30.7708,26.2805) .. (32.3946,23.4907) -- + (21.4305,23.1090) -- cycle; +\end{scope}% +\end{scope}% +\end{tikzpicture}% +}\makeatother +% \end{macrocode} +% \end{macro} + +% Then, we configure headers using |fancyhdr|: +% \begin{macrocode} +\RequirePackage{fancyhdr} +\pagestyle{fancy} +\renewcommand{\headrulewidth}{0pt} +\fancyhf{} +\makeatletter\fancyfoot[L]{ + \huawei@bar + \ifhuawei@authordraft% + \begin{textblock}{14}[0.5,0.5](8,8)% + \tikz \node[minimum width=14\TPHorizModule] {% + \fontsize{64}{64}\selectfont\sffamily\scshape% + \color{gray!20}\rotatebox{30}{it is a draft} + };% + \end{textblock}% + \else\fi% +}\makeatother +\makeatletter\fancyhead[L]{ + \ifnum\value{page}=1\else% + \ifhuawei@nobrand\else% + \begin{textblock}{8}[0,0](1.2,0.2)% + \huawei@logo% + \end{textblock}% + \fi% + \fi% +}\makeatother +\makeatletter\fancyhead[R]{ + \begin{textblock}{8}[1,0](15.8,0.2)% + \raggedleft\huawei@header{% + \ifhuawei@nosecurity\else% + \thesecurity + \fi% + }% + \end{textblock}% +}\makeatother +\makeatletter\fancyfoot[R]{ + \begin{textblock}{8}[0,1](1.2,15.8)% + \ifnum\value{page}=1\else% + \huawei@header{\raggedright% + \ifhuawei@anonymous\else% + \theauthor% + \ifhuawei@nosecurity\else% + \ifx\theid\empty\else, \theid\fi + \fi% + \ifhuawei@nobrand\else% + \newline + \fi% + \fi% + \ifhuawei@nobrand\else% + \thecompany{} + \fi% + }% + \fi% + \end{textblock}% + \begin{textblock}{8}[1,1](15.8,15.8)% + \raggedleft\huawei@header{% + \ifnum\value{page}=1\else% + \ifhuawei@nopaging\else% + Page \#\thepage{} of \pageref*{LastPage}% + \ifhuawei@nodate\else% + \\ + \fi% + \fi% + \fi% + \ifhuawei@nodate\else% + \today{} \settimeformat{daytime}\currenttime{}% + \fi% + }% + \end{textblock}% +}\makeatother +% \end{macrocode} + +% \begin{macro}{abstract} +% Then, we redefine |abstract| environment: +% \begin{macrocode} +\RequirePackage{changepage} +\renewenvironment{abstract} + {\begin{adjustwidth}{0pt}{1in}{\scshape Abstract:}\newline\small} + {\end{adjustwidth}} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\maketitle} +% Then, we redefine |\maketitle|: +% \begin{macrocode} +\makeatletter\renewcommand\maketitle{% + \vspace*{18pt} + {\bfseries{\Huge\thetitle}} + \ifx\thesubtitle\empty\else% + \\[6pt] + {\color{gray!50!black}\large\thesubtitle} + \fi + \\[18pt] + \ifhuawei@nobrand\else% + \ifhuawei@anonymous\else% + \ifx\thecompany\empty\else% + \thecompany\newline + \fi + \fi + \fi + \ifx\theauthor\empty\else% + {\scshape\ifhuawei@anonymous + Anonymous Authors + \else% + \theauthor + \fi}% + \fi% + \ifhuawei@anonymous\else% + \ifx\theauthor\empty\else + \ifhuawei@nobrand\else% + \ifx\theid\empty\else + $\;$/ {\theid} + \fi + \fi + \fi + \fi + \vspace{2em} +}\makeatother +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\PrintCrumb} +% Then, we define |\PrintCrumb|: +% \begin{macrocode} +\newcommand\PrintCrumb[2]{% + \begin{minipage}{\columnwidth}% + \raggedright\textsc{#1}:\\#2% + \end{minipage}\vspace{4pt}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\PrintThankYouPage} +% Then, we define |\PrintThankYouPage|: +% \begin{macrocode} +\newcommand\PrintThankYouPage{ + \newpage + \vspace*{\fill} + \begin{center} + \normalsize + {\Huge\color{red}\textbf{Thank you!}} + \end{center} + \vspace*{\fill} +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\PrintDisclaimer} +% Then, we define |\PrintDisclaimer|: +% \begin{macrocode} +\makeatletter\newcommand\PrintDisclaimer{% + \justify\vspace*{\fill}% + \begingroup% + \setstretch{0.55}% + \sffamily\scriptsize\color{gray!50!black}% + \textbf{Disclaimer}: The opinions expressed in + this document are in good faith and + while every care has been taken in preparing it, + \ifhuawei@nobrand% + the author% + \else% + \thecompany{}% + \fi + makes no representations and gives no warranties + of whatever nature in respect of these documents, + including but not limited to the accuracy or completeness + of any information, facts and/or opinions contained therein. + \ifhuawei@nobrand% + The author% + \else% + \thecompany{}% + \fi, + its subsidiaries, the directors, employees and agents + cannot be held liable for the use of and reliance of + the opinions, estimates, forecasts and findings in + these documents. + \par + \endgroup% +}\makeatother +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\PrintFirstPage} +% Then, we define |\PrintFirstPage|: +% \begin{macrocode} +\makeatletter\newcommand\PrintFirstPage[1]{ + \ifhuawei@landscape\else + \PackageError{huawei}{It's allowed to use + PrintFirstPage only in landscape mode}{Read huawei.pdf + for more information} + \fi + \huawei@bar + \def\param{#1}% + \ifx\param\empty\else + \includegraphics[height=2in]{#1} + \newline + \fi + \vspace*{0.5in} + \maketitle + \ifhuawei@nocover\else + \begin{textblock}{14}[1,1](14,14) + \raggedleft\includegraphics[height=3.6in]{huawei-cover-picture.pdf} + \end{textblock} + \fi +}\makeatother +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\PrintLastPage} +% Then, we define |\PrintLastPage|: +% \begin{macrocode} +\makeatletter\newcommand\PrintLastPage{ + \ifhuawei@landscape\else + \PackageError{huawei}{It's allowed to use + PrintLastPage only in landscape mode}{Read huawei.pdf + for more information} + \fi + \newpage + \vspace*{1in} + \begin{center} + \begin{minipage}{0.6\columnwidth}\raggedright + \normalsize + \setlength{\parskip}{6pt} + {\Huge\color{red}\textbf{Thank you!}} + + \vspace{0.5in} + + Bring digital to every person, home and organization + \newline + for a fully connected, intelligent world. + + \textbf{% + Copyright \copyright{} \the\year{} \thecompany{} + \newline + All Rights Reserved.% + } + + The information in this document may contain predictive + statements including, without limitation, statements regarding + the future financial and operating results, future product + portfolio, new technology, etc. There are a number of factors that + could cause actual results and developments to differ materially + from those expressed or implied in the predictive statements. + Therefore, such information is provided for reference purpose + only and constitutes neither an offer nor an acceptance. + \ifhuawei@nobrand% + The author% + \else% + \thecompany{}% + \fi + may change the information at any time without notice. + \end{minipage} + \end{center}% +}\makeatother +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\PrintBibliography} +% Then, we define |\PrintBibliography|: +% \begin{macrocode} +\makeatletter\newcommand\PrintBibliography{ + \setlength\bibitemsep{3pt} + \AtNextBibliography{\small} + \newpage + \raggedright + \ifhuawei@landscape + \begin{multicols}{3}\setstretch{0.95}\printbibliography\end{multicols} + \else + \begin{multicols}{2}\setstretch{0.95}\printbibliography\end{multicols} + \fi +}\makeatother +% \end{macrocode} +% \end{macro} + +% Then, we set the background color of the document: +% \begin{macrocode} +\makeatletter\ifhuawei@dark + \RequirePackage{pagecolor} + \pagecolor{black} + \color{white} +\fi +% \end{macrocode} + +% Then, we configure layout: +% \begin{macrocode} +\AtBeginDocument{% +\raggedbottom% +\raggedcolumns% +\setlength\headheight{32pt}% +\setlength\footskip{32pt}% +\setlength\topskip{0mm}% +\setlength\parindent{0pt}% +\setlength\parskip{6pt}% +\setlength\columnsep{32pt}% +\def\arraystretch{1.5}% +} +% \end{macrocode} + +% Then, we renew a few commands: +% \begin{macrocode} +\renewcommand\title[1]{\renewcommand\thetitle{#1}} +\newcommand\thetitle{\textbackslash{}thetitle} +\newcommand*\thecompany{Huawei Technologies Co., Ltd.} +\newcommand\thesubtitle{} +\renewcommand\author[1]{\renewcommand\theauthor{#1}} +\newcommand\theauthor{\textbackslash{}theauthor} +\newcommand*\thesecurity{Confidential} +\newcommand*\theid{} +\ifcsname nospell\endcsname\else\newcommand\nospell[1]{#1}\fi +% \end{macrocode} + +% \Finale + +%\clearpage +% +%\PrintChanges +%\clearpage +%\PrintIndex |