summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/huawei/huawei.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/huawei/huawei.dtx')
-rw-r--r--Master/texmf-dist/source/latex/huawei/huawei.dtx952
1 files changed, 952 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/huawei/huawei.dtx b/Master/texmf-dist/source/latex/huawei/huawei.dtx
new file mode 100644
index 00000000000..68db55e2985
--- /dev/null
+++ b/Master/texmf-dist/source/latex/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