<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">% \iffalse meta-comment
%
% Copyright (C) 2021 - 2022
% by Nanjing University Linux User Group
% &lt;git+nju-lug-email-3104-issue-@yaoge123.cn&gt;
%
% It may be distributed and/or modified under the conditions of the
% LaTeX Project Public License (LPPL), either version 1.3c of this
% license or (at your option) any later version. The latest version
% of this license is in the file
%
%    https://www.latex-project.org/lppl.txt
%
% This work has the LPPL maintenance status `maintained'.
%
% The Current Maintainer of this work is Yu Xiong.
%
% This work consists of the files njuvisual.dtx,
%                                 njuvisual-emblem.dtx,
%                                 njuvisual-name.dtx,
%                                 njuvisual-motto.dtx,
%                                 njuvisual-spirit.dtx,
%                                 njuvisual-ai.dtx,
%                                 njuvisual-chem.dtx,
%                                 njuvisual-cs.dtx,
%                                 njuvisual-dii.dtx,
%                                 njuvisual-eng.dtx,
%                                 njuvisual-physics.dtx,
%                                 njuvisual-software.dtx,
%                                 njuvisual-end.dtx,
%           and the derived files njuvisual.ins,
%                                 njuvisual.sty,
%                                 njuvisual.pdf,
%                                 njuvisual-emblem-nju.def,
%                                 njuvisual-emblem-ai.def,
%                                 njuvisual-emblem-chem.def,
%                                 njuvisual-emblem-cs.def,
%                                 njuvisual-emblem-dii.def,
%                                 njuvisual-emblem-eng.def,
%                                 njuvisual-emblem-eng.def,
%                                 njuvisual-emblem-software.def,
%                                 njuvisual-motto-nju.def,
%                                 njuvisual-name-zh-nju.def,
%                                 njuvisual-name-en-nju.def,
%                                 njuvisual-spirit-nju.def,
%                                 njuvisual-example.tex.
%
% -----------------------------------------------------------------------
%
% The development version of the template can be found at
%
%    https://github.com/nju-lug/NJUVisual
%
% for those people who are interested.
%
%&lt;*internal&gt;
\begingroup
  \def\NameOfLaTeXe{LaTeX2e}
\expandafter\endgroup\ifx\NameOfLaTeXe\fmtname\else
\csname fi\endcsname
%&lt;/internal&gt;
%
%&lt;*install&gt;
\input docstrip.tex
\keepsilent
\askforoverwritefalse

\preamble

Copyright (C) 2021 - 2022
by Nanjing University Linux User Group
% &lt;git+nju-lug-email-3104-issue-@yaoge123.cn&gt;

This file may be distributed and/or modified under the conditions of
the LaTeX Project Public License, either version 1.3c of this license
or (at your option) any later version.  The latest version of this
license is in:

   http://www.latex-project.org/lppl.txt

and version 1.3 or later is part of all distributions of LaTeX version
2005/12/01 or later.

To produce the documentation run the original source files ending with `.dtx'
through XeTeX.

\endpreamble

\generate{
  \usedir{tex/latex/njuvisual}
    \file{\jobname-example.tex}  {\from{\jobname.dtx}{example}
                                  \from{\jobname-emblem.dtx}{example}
                                  \from{\jobname-name.dtx}{example}
                                  \from{\jobname-motto.dtx}{example}
                                  \from{\jobname-spirit.dtx}{example}
                                  \from{\jobname-ai.dtx}{example}
                                  \from{\jobname-chem.dtx}{example}
                                  \from{\jobname-cs.dtx}{example}
                                  \from{\jobname-dii.dtx}{example}
                                  \from{\jobname-eng.dtx}{example}
                                  \from{\jobname-physics.dtx}{example}
                                  \from{\jobname-software.dtx}{example}
                                  \from{\jobname-end.dtx}{example}}
    \file{\jobname.sty}  {\from{\jobname.dtx}{package}
                          \from{\jobname-emblem.dtx}{color}
                          \from{\jobname-ai.dtx}{color}
                          \from{\jobname-chem.dtx}{color}
                          \from{\jobname-cs.dtx}{color}
                          \from{\jobname-dii.dtx}{color}
                          \from{\jobname-eng.dtx}{color}
                          \from{\jobname-physics.dtx}{color}
                          \from{\jobname-software.dtx}{color}}
    \nopreamble\nopostamble
    \file{\jobname-emblem-nju.def}       {\from{\jobname-emblem.dtx}{emblem-nju}}
    \file{\jobname-name-zh-nju.def}      {\from{\jobname-name.dtx}{name-zh-nju}}
    \file{\jobname-name-en-nju.def}      {\from{\jobname-name.dtx}{name-en-nju}}
    \file{\jobname-motto-nju.def}        {\from{\jobname-motto.dtx}{motto-nju}}
    \file{\jobname-spirit-nju.def}       {\from{\jobname-spirit.dtx}{spirit-nju}}
    \file{\jobname-emblem-ai.def}        {\from{\jobname-ai.dtx}{emblem-ai}}
    \file{\jobname-emblem-chem.def}      {\from{\jobname-chem.dtx}{emblem-chem}}
    \file{\jobname-emblem-cs.def}        {\from{\jobname-cs.dtx}{emblem-cs}}
    \file{\jobname-emblem-dii.def}       {\from{\jobname-dii.dtx}{emblem-dii}}
    \file{\jobname-emblem-eng.def}       {\from{\jobname-eng.dtx}{emblem-eng}}
    \file{\jobname-emblem-physics.def}   {\from{\jobname-physics.dtx}{emblem-physics}}
    \file{\jobname-emblem-software.def}  {\from{\jobname-software.dtx}{emblem-software}}
%&lt;*internal&gt;
  \usedir{source/latex/njuvisual}
    \file{\jobname.ins} {\from{\jobname.dtx}{install}}
%&lt;/internal&gt;
}

\obeyspaces
\Msg{*************************************************************}
\Msg{*                                                           *}
\Msg{* To finish the installation you have to move the following *}
\Msg{* files into a directory searched by TeX:                   *}
\Msg{*                                                           *}
\Msg{* The recommended directory is TDS:tex/latex/njuvisual      *}
\Msg{*                                                           *}
\Msg{*     njuvisual.ins                                         *}
\Msg{*     njuvisual.sty                                         *}
\Msg{*     njuvisual-emblem-nju.def,                             *}
\Msg{*     njuvisual-emblem-ai.def,                              *}
\Msg{*     njuvisual-emblem-chem.def,                            *}
\Msg{*     njuvisual-emblem-cs.def,                              *}
\Msg{*     njuvisual-emblem-dii.def,                             *}
\Msg{*     njuvisual-emblem-eng.def,                             *}
\Msg{*     njuvisual-emblem-eng.def,                             *}
\Msg{*     njuvisual-emblem-software.def,                        *}
\Msg{*     njuvisual-motto-nju.def,                              *}
\Msg{*     njuvisual-name-zh-nju.def,                            *}
\Msg{*     njuvisual-name-en-nju.def,                            *}
\Msg{*     njuvisual-spirit-nju.def,                             *}
\Msg{*                                                           *}
\Msg{* To produce the documentation, run the file njuvisual.dtx  *}
\Msg{* through XeLaTeX.                                          *}
\Msg{*                                                           *}
\Msg{* Happy TeXing!                                             *}
\Msg{*                                                           *}
\Msg{*************************************************************}

\endbatchfile
%&lt;/install&gt;
%
%&lt;*internal&gt;
\fi
%&lt;/internal&gt;
%
%&lt;package&gt;\NeedsTeXFormat{LaTeX2e}
%&lt;!(driver|example)&gt;\GetIdInfo $Id: njuvisual.dtx 0.3.0 2022-12-13 18:00:00
%&lt;!(driver|example)&gt;  +0800 NJU LUG &lt;git+nju-lug-email-3104-issue-@yaoge123.cn&gt;$
%&lt;package&gt;  {Nanjing University Visual Identity}
%&lt;package&gt;\ProvidesExplPackage{njuvisual}
%&lt;package&gt;  {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
%
%&lt;*driver&gt;
\documentclass[fontset=fandol]{ctxdoc}
\usepackage{listings,njuvisual,tabularray,zhlineskip}
\usepackage[firstpage=true]{background}
\backgroundsetup{contents={\njuemblem[white!85!gray]{22cm}{!}},scale=1,angle=0,hshift=-4cm}
\DeclareGraphicsExtensions{.pdf}
\UseTblrLibrary{booktabs,siunitx,diagbox}
\DefTblrTemplate{caption-tag}{default}{è¡¨\hspace{0.25em}\thetable}
\SetTblrStyle{caption-tag}{font=\bfseries}
\DefTblrTemplate{caption-sep}{default}{\quad}
\setlist[1]{labelindent=0.5em}
\hypersetup{
  pdftitle={
    The njuvisual package -
    Display logos related to Nanjing University
  },
  citecolor = njublue,
  linkcolor = njuviolet,
  urlcolor  = njumagenta
}
\SetTextEnvironmentSinglespace{1.112}
\SetMathEnvironmentSinglespace{1.112}
\setsansfont{LexendDeca}
\setmonofont{Iosevka}[
  UprightFont = Iosevka Light,
  ItalicFont  = Iosevka Light Italic,
  BoldFont    = Iosevka Semibold
]
\setCJKmainfont{Source Han Serif SC}[
  UprightFont = Source Han Serif SC SemiBold,
  ItalicFont  = Source Han Serif SC Bold,
  BoldFont    = Source Han Serif SC Heavy,
  Language    = Chinese Simplified
]
\setmathfont{XITSMath-Regular}[
  BoldFont = XITSMath-Bold,
  Extension = .otf]
\lstdefinestyle{style@base}
  {
    basewidth       = 0.5 em,
    gobble          = 3,
    lineskip        = 3 pt,
    frame           = l,
    framerule       = 1 pt,
    framesep        = 0 pt,
    xleftmargin     = 2 em,
    xrightmargin    = 3 em,
    escapeinside    = {(*}{*)},
    breaklines      = true,
    basicstyle      = \small\ttfamily,
    keywordstyle    = \bfseries\color{njuviolet},
    commentstyle    = \itshape\color{white!50!gray},
    stringstyle     = \color{nju-chem-red},
    backgroundcolor = \color{white!95!gray}
  }
\lstdefinestyle{style@shell}
  {
    style      = style@base,
    rulecolor  = \color{njumagenta},
    language   = bash,
    alsoletter = {-},
    emphstyle  = \color{green}
  }
\lstdefinestyle{style@latex}
  {
    style      = style@base,
    rulecolor  = \color{njublue},
    language   = [LaTeX]TeX,
    alsoletter = {*, -},
    texcsstyle = *\color{njuviolet},
    emphstyle  = [1]\color{nju-ai-orange},
    emphstyle  = [2]\color{nju-cs-green},
  }
\lstnewenvironment{shellexample}[1][]{%
  \lstset{style=style@shell, #1}}{}
\lstnewenvironment{latexexample}[1][]{%
  \lstset{style=style@latex, #1}}{}
\ExplSyntaxOn
\cs_new_protected:Npn \__njudoc_module_angle:Nn #1#2
  {
    \group_begin: \color { gray }    \ttfamily \textlangle \group_end:
    \group_begin: \sffamily #2 \group_end:
    \group_begin: \color { gray } #1 \ttfamily \textrangle \group_end:
  }
\cs_set_protected:Npn \__ctxdoc_module_angle:n #1
  { \__njudoc_module_angle:Nn \c_empty_tl {#1} }
\ExplSyntaxOff
\begin{document}
  \DocInput{njuvisual.dtx}
  \DocInput{njuvisual-emblem.dtx}
  \DocInput{njuvisual-name.dtx}
  \DocInput{njuvisual-motto.dtx}
  \DocInput{njuvisual-spirit.dtx}
  \DocInput{njuvisual-ai.dtx}
  \DocInput{njuvisual-chem.dtx}
  \DocInput{njuvisual-cs.dtx}
  \DocInput{njuvisual-dii.dtx}
  \DocInput{njuvisual-eng.dtx}
  \DocInput{njuvisual-physics.dtx}
  \DocInput{njuvisual-software.dtx}
  \DocInput{njuvisual-end.dtx}
  \PrintChanges
  \PrintIndex
\end{document}
%&lt;/driver&gt;
%
% \fi
%
% \title{\color{njuviolet}{^^A
% The \pkg{njuvisual} package \\ \textbf{å—äº¬å¤§å­¦è§†è§‰å½¢è±¡è§„èŒƒåŒ–æ&nbsp;‡å‡†}}}
%
% \author{^^A
% å—äº¬å¤§å­¦ Linux ç”¨æˆ·ç»„
% \thanks{E-mail: \href{mailto:git+nju-lug-email-3104-issue-@yaoge123.cn}{git+nju-lug-email-3104-issue-@yaoge123.cn}}}
%
% \date{v0.3.0 \quad 2022-12-13}
%
% \changes{v0.1}{2021/11/21}{å°† \pkg{njuvisual} åˆ†ç¦»ä¸ºç‹¬ç«‹å®åŒ…ã€‚}
% \changes{v0.1}{2021/11/27}{å®Œæˆæ–‡æ¡£ç¼–å†™å¹¶å‘å¸ƒè‡³ CTANã€‚}
% \changes{v0.1}{2021/11/28}{ä½¿ç”¨ GitHub Action è¿›è¡Œè‡ªåŠ¨æ‰“åŒ…å‘å¸ƒã€‚}
% \changes{v0.3}{2022/12/08}{å°†è´å¡žå°”æ›²çº¿å­˜å‚¨åˆ°å•ç‹¬æ–‡ä»¶ã€‚}
%
% \maketitle
%
% \let\abstractname\relax
% \begin{abstract}
% å—äº¬å¤§å­¦è§†è§‰å½¢è±¡è§„èŒƒåŒ–æ&nbsp;‡å‡†ï¼ˆ\pkg{njuvisual}ï¼‰å®åŒ…è´Ÿè´£æ”¶é›†å—äº¬å¤§å­¦å®˜æ–¹ä»¥åŠä¸‹å±ž
% å„é™¢ç³»åˆ¶å®šçš„é…è‰²æ–¹æ¡ˆå’Œæ&nbsp;‡è¯†ï¼Œå°†è¿™äº›çŸ¢é‡å›¾æ&nbsp;‡é€šè¿‡ \pkg{tikz} æ›²çº¿è¿›è¡Œå­˜å‚¨ï¼Œå¹¶æ
% ä¾›ç®€æ˜Žçš„æŽ¥å£ä»¥ä¾¿åœ¨æ–‡æ¡£å’Œå¹»ç¯ç‰‡ä¸­ä½¿ç”¨ã€‚
% \end{abstract}
%
% \begin{abstract}
% The \pkg{njuvisual} package collects standard colors and logos related to
% Nanjing University, saves the vector logos as \pkg{tikz} pictures and
% provides a user-friendly interface to display them in documents and beamers.
% \end{abstract}
%
% \clearpage
%
% \tableofcontents
%
%
% \begin{documentation}
%
% \section{å®åŒ…ä»‹ç»}
%
% \pkg{njuvisual} ç”¨äºŽæ”¶å½•å—äº¬å¤§å­¦åŠå…¶å„é™¢ç³»åˆ¶å®šçš„æ&nbsp;‡å‡†è‰²å½©åŠå›¾æ&nbsp;‡ï¼Œå¹¶æä¾›ç®€æ´çš„ç»˜åˆ¶æŒ‡ä»¤ã€‚
%
% æœ¬å®åŒ…è¡ç”Ÿè‡ª \cls{njuthesis}ï¼Œä¾èµ– \hologo{LaTeX3} é¡¹ç›®
% ä¸­çš„ \pkg{expl3}ã€\pkg{xparse} å’Œ \pkg{l3keys2e} å®åŒ…ã€‚
% ç‰¹åˆ«æ„Ÿè°¢ \cls{fduthesis} ä¸Ž \pkg{zhlipsum} æä¾›çš„å¤„ç†æ€è·¯ã€‚
%
% æ¬²ä½¿ç”¨æœ¬å®åŒ…ï¼Œåœ¨ç»ˆç«¯é”®å…¥ä¸‹è¿° \pkg{tlmgr} çš„å‘½ä»¤ï¼ˆå¾ˆå¯èƒ½éœ€è¦ç®¡ç†å‘˜æƒé™ï¼‰ï¼š
% \begin{shellexample}[morekeywords={tlmgr,install}]
%   tlmgr install njuvisual
% \end{shellexample}
% å³å¯å®Œæˆå®‰è£…ã€‚
%
%
% \section{å®åŒ…é€‰é¡¹}
%
% \begin{function}{force}
% ä½¿ç”¨å¼ºåˆ¶æ¨¡å¼è½½å…¥å®åŒ…ã€‚
% \end{function}
%
% åœ¨å¼ºåˆ¶æ¨¡å¼ä¸‹ï¼Œ\pkg{njuvisual} å°†è¦†ç›–å·²æœ‰çš„ \cs{njuemblem}ã€
% \cs{njuname}ã€\cs{njuspirit}ã€\cs{njumotto} å‘½ä»¤å®šä¹‰ã€‚
%
%
% \section{ä½¿ç”¨æ–¹æ³•}
%
% æœ¬èŠ‚æä¾›å‘½ä»¤çš„ä½¿ç”¨æ–¹æ³•ã€‚å…³äºŽç»˜åˆ¶çš„å†…å®¹ï¼Œè¯·å‚é˜…åŽæ–‡çš„ \ref{subsec:colors-and-curves}ã€‚
%
% \subsection{æ&nbsp;‡å‡†è‰²å½©}
%
% \begin{function}{\color}
%   \begin{syntax}
%     \tn{color}\Arg{é¢œè‰²}
%   \end{syntax}
% ä½¿ç”¨æ&nbsp;‡å‡†è‰²å½©ã€‚
% \end{function}
%
% æœ¬å®åŒ…å®šä¹‰çš„æ‰€æœ‰æ&nbsp;‡å‡†è‰²å½©è§è¡¨~\ref{tab:pre-defined-colors}ã€‚
% \begingroup
% \def\B#1{\color{#1}$\blacksquare\blacksquare\blacksquare\blacksquare\blacksquare$}
% \begin{table}[htb]
%   \caption{é¢„å®šä¹‰æ&nbsp;‡å‡†è‰²} \label{tab:pre-defined-colors}
%   \centering
%   \begin{tblr}[expand=\B]{cccc}
%     \toprule
%       åç§° &amp; é¢œè‰²åç§°        &amp; CMYK æ•°å€¼                &amp; ç¤ºä¾‹                \\
%     \midrule
%       \SetCell[r=5]{c} å—äº¬å¤§å­¦
%         &amp; |njuviolet|        &amp; \SetCell[r=2]{c}
%                             $0.50, 1   , 0   , 0.40$ &amp;
%                                       \SetCell[r=2]{c} \B{njuviolet}       \\
%         &amp; |njupurple|        &amp;                          &amp;                     \\
%         &amp; |njumagenta|       &amp; $0.05, 1   , 0.55, 0   $ &amp; \B{njumagenta}      \\
%         &amp; |njublue|          &amp; $0.80, 0.50, 0   , 0   $ &amp; \B{njublue}         \\
%         &amp; |njuyellow|        &amp; $0   , 0.30, 1   , 0   $ &amp; \B{njuyellow}       \\
%       \SetCell[r=2]{c} äººå·¥æ™ºèƒ½å­¦é™¢
%         &amp; |nju-ai-blue|      &amp; $0.75, 0.65, 0   , 0   $ &amp; \B{nju-ai-blue}     \\
%         &amp; |nju-ai-orange|    &amp; $0   , 0.75, 1   , 0   $ &amp; \B{nju-ai-orange}   \\
%       \SetCell[r=2]{c} è®¡ç®—æœºç§‘å­¦ä¸ŽæŠ€æœ¯ç³»
%         &amp; |nju-cs-blue|      &amp; $0.89, 0.66, 0.13, 0   $ &amp; \B{nju-cs-blue}     \\
%         &amp; |nju-cs-green|     &amp; $0.60, 0.23, 1   , 0   $ &amp; \B{nju-cs-green}    \\
%       \SetCell[r=2]{c} åŒ–å­¦åŒ–å·¥å­¦é™¢
%         &amp; |nju-chem-red|     &amp; $0.28, 0.95, 0.84, 0   $ &amp; \B{nju-chem-red}    \\
%         &amp; |nju-chem-gold|    &amp; $0.40, 0.42, 0.60, 0   $ &amp; \B{nju-chem-gold}   \\
%       ç‰©ç†å­¦é™¢
%         &amp; |nju-physics-blue| &amp; $0.86, 0.57, 0   , 0   $ &amp; \B{nju-physics-blue} \\
%     \bottomrule
%   \end{tblr}
% \end{table}
% \endgroup
%
%
% \subsection{æ&nbsp;‡å‡†å›¾æ&nbsp;‡}
%
% \begin{function}[added=2021-09-24,updated=2021-11-27]{\njuemblem}
%   \begin{syntax}
%     \tn{njuemblem}\oarg{é€‰é¡¹}\Arg{å®½åº¦}\Arg{é«˜åº¦}
%   \end{syntax}
%   ç”Ÿæˆå¾½æ&nbsp;‡ï¼Œé»˜è®¤ç”Ÿæˆæ&nbsp;¡å¾½ã€‚å‚æ•° \oarg{é€‰é¡¹} æ˜¯å¯é€‰çš„ï¼Œè¯¦è§ä¸‹æ–‡è¯´æ˜Žã€‚æ³¨æ„å„
%   å‚æ•°ä¹‹é—´ä¸å¯ä»¥æœ‰ç©ºæ&nbsp;¼ã€‚
% \end{function}
%
% \begin{function}[added=2021-09-24,updated=2021-11-27]{\njuname,\njuname*}
%   \begin{syntax}
%     \tn{njuname}\oarg{é€‰é¡¹}\Arg{å®½åº¦}\Arg{é«˜åº¦}
%     \tn{njuname*}\oarg{é€‰é¡¹}\Arg{å®½åº¦}\Arg{é«˜åº¦}
%   \end{syntax}
%   ç”Ÿæˆåç§°ï¼Œå¸¦æœ‰å¯é€‰æ˜Ÿå·çš„å‘½ä»¤ä¼šç”Ÿæˆè‹±æ–‡åç§°ï¼Œé»˜è®¤ç”Ÿæˆæ&nbsp;¡åã€‚è¦æ±‚åŒä¸Šã€‚
% \end{function}
%
% å¯é€‰å‚æ•° \meta{é€‰é¡¹} å¯ä½¿ç”¨ä¸¤ç§æ–¹å¼ç»™å‡ºï¼š
% \begin{itemize}
%   \item é¢œè‰²åç§°ï¼Œä½¿ç”¨é¢œè‰²åç§°å³é»˜è®¤ç”Ÿæˆæ&nbsp;¡å¾½ã€æ&nbsp;¡å
%   \item ä½¿ç”¨è‹±æ–‡åŠè§’é€—å·åˆ†éš”çš„é”®å€¼åˆ—è¡¨
% \end{itemize}
%
% å…¶ä¸­ï¼Œé”®å€¼åˆ—è¡¨æ”¯æŒçš„é€‰é¡¹è§ä¸‹ã€‚
%
% \begin{function}[added=2021-11-27]{color,color*}
%   \begin{syntax}
%     color  = \meta{ä¸»è¦é¢œè‰²}
%     color* = \meta{è¾…åŠ©é¢œè‰²}
%   \end{syntax}
%   å®šåˆ¶å›¾æ&nbsp;‡é¢œè‰²ã€‚
% \end{function}
%
% å¯¹äºŽç»å¤§å¤šæ•°å—äº¬å¤§å­¦é™¢ç³»ï¼Œå…¶å›¾æ&nbsp;‡ä»…ä½¿ç”¨ä¸¤ç§ä»¥å†…çš„é¢œè‰²ï¼Œå›&nbsp;æ­¤æœ¬å®åŒ…ä»…æä¾›ä¸¤ç§é¢œè‰²é€‰é¡¹ã€‚
% å…¶ä¸­çš„ |color*| é€‰é¡¹ä¸€èˆ¬æ—&nbsp;éœ€ä¿®æ”¹ï¼ŒåŽŸå›&nbsp;åœ¨äºŽçŽ°æœ‰çš„å›¾æ&nbsp;‡å¯è¢«æ€»ç»“ä¸ºä¸‹åˆ—è‹¥å¹²ç§æƒ…å†µï¼š
% \begin{description}
%   \item[çº¯è‰²ã€é€æ˜Žåº•è‰²] å¦‚å—å¤§æ&nbsp;¡åï¼Œæ—&nbsp;è¾…åŠ©é¢œè‰²ï¼Œ|color*| é€‰é¡¹æ—&nbsp;æ•ˆ
%   \item[çº¯è‰²ã€ç™½è‰²åº•è‰²] å¦‚çŽ°å·¥å¾½æ&nbsp;‡ï¼Œè¾…åŠ©é¢œè‰²é»˜è®¤ä¸ºç™½è‰²ï¼Œæ—&nbsp;éœ€è¿›è¡Œä¿®æ”¹
%   \item[åŒè‰²] å¦‚è®¡ç§‘å¾½æ&nbsp;‡ï¼Œä¸»è¦é¢œè‰²ã€è¾…åŠ©é¢œè‰²å·²é¢„å…ˆè¿›è¡Œå®šä¹‰ï¼Œä¸ºç¾Žè§‚è€ƒè™‘ï¼Œä¿®æ”¹ä¸»è¦é¢œè‰²æ—¶ä¼šå°†å›¾æ&nbsp;‡é¢œè‰²ç»Ÿä¸€ä¸ºä¸€ç§
% \end{description}
% å¯¹äºŽä¸­ç©ºçš„å›¾æ&nbsp;‡ï¼Œæœ¬å®åŒ…é»˜è®¤åœ¨å†…éƒ¨ç©ºé—´å¡«å……ç™½è‰²ï¼ˆå³ä¸Šè¿°ç¬¬äºŒç§æƒ…å†µï¼‰ï¼Œä»¥åœ¨å¤æ‚èƒŒæ™¯ä¸‹ä¿è¯å›¾æ&nbsp;‡çš„è¾¨è¯†åº¦ã€‚é—æ†¾çš„æ˜¯ï¼Œ\pkg{xcolor} å¹¶ä¸èƒ½å°†æŸç§é¢œè‰²è®¾ç½®ä¸ºé€æ˜Žã€‚å›&nbsp;æ­¤ï¼Œå¦‚æžœå¸Œæœ›å®žçŽ°ç±»ä¼¼äºŽä¸­ç©ºçš„æ•ˆæžœï¼Œå¯ä»¥ä»ŽèƒŒæ™¯ä¸­é€‰å–ä¸€ç§çªå‡ºçš„é¢œè‰²è®¾ä¸º |color*|ã€‚
%
% \begin{function}[added=2021-11-27]{department}
%   \begin{syntax}
%     department = \meta{é™¢ç³»åç§°}
%   \end{syntax}
%   é™¢ç³»åç§°ã€‚
% \end{function}
%
% ä¸ºä¿è¯æ—&nbsp;æ­§ä¹‰ï¼Œ|department| é€‰é¡¹ä½¿ç”¨çš„åç§°æ¥è‡ªäºŽé™¢ç³»å®˜ç½‘åŸŸåã€‚å¦‚åŒ–å­¦åŒ–å·¥å­¦é™¢åŸŸåä¸º \url{https://chem.nju.edu.cn/}ï¼Œå…¶é€‰é¡¹åç§°å³ä¸º |chem|ã€‚
%
% ç›®å‰çš„æ”¯æŒæƒ…å†µå¦‚è¡¨~\ref{tab:supported-departments-list}æ‰€ç¤ºã€‚å¯¹äºŽä¸æ”¯æŒçš„é™¢ç³»ï¼Œæœ¬å®åŒ…ä¼šæŠ›å‡ºå¼‚å¸¸ã€‚
% \begingroup
% \def\B{\bullet}
% \begin{table}[htb]
%   \caption{æ”¶å½•é™¢ç³»åˆ—è¡¨} \label{tab:supported-departments-list}
%   \centering\small
%   \begin{tblr}[expand=\B]{cccccccc}
%     \toprule
%       åç§° &amp; é€‰é¡¹åç§° &amp; emblem &amp; name &amp; name* \\
%     \midrule
%       äººå·¥æ™ºèƒ½å­¦é™¢           &amp; |ai|       &amp; \B &amp; &amp; \\
%       è®¡ç®—æœºç§‘å­¦ä¸ŽæŠ€æœ¯ç³»     &amp; |cs|       &amp; \B &amp; &amp; \\
%       åŒ¡äºšæ˜Žå­¦é™¢             &amp; |dii|      &amp; \B &amp; &amp; \\
%       çŽ°ä»£å·¥ç¨‹ä¸Žåº”ç”¨ç§‘å­¦å­¦é™¢ &amp; |eng|      &amp; \B &amp; &amp; \\
%       ç‰©ç†å­¦é™¢               &amp; |physics|  &amp; \B &amp; &amp; \\
%       è½¯ä»¶å­¦é™¢               &amp; |software| &amp; \B &amp; &amp; \\
%     \bottomrule
%   \end{tblr}
% \end{table}
% \endgroup
%
% å¯¹è¿™ä¸¤ä¸ªå‘½ä»¤çš„ä¸¾ä¾‹å¦‚ä¸‹ï¼š
% \begin{latexexample}[moretexcs={\njuemblem,\njuname,\njuname*}]
%   \njuemblem{!}{3cm}                           % ç”ŸæˆæŒ‡å®šå¤§å°çš„ç´«è‰²å—å¤§æ&nbsp;¡å¾½
%   \njuname{4cm}{!}                             % ç”ŸæˆæŒ‡å®šå¤§å°çš„ç´«è‰²å—å¤§ä¸­æ–‡æ&nbsp;¡å
%   \njuname*{4cm}{!}                            % ç”ŸæˆæŒ‡å®šå¤§å°çš„ç´«è‰²å—å¤§è‹±æ–‡æ&nbsp;¡å
%   \njuemblem[black]{!}{3cm}                    % é»‘è‰²çš„å—å¤§æ&nbsp;¡å¾½
%   \njuemblem[department=dii]{!}{4cm}           % ç´«è‰²åŒ¡é™¢å¾½æ&nbsp;‡
%   \njuemblem[department=cs,color=blue]{!}{3cm} % çº¯è“è‰²è®¡ç§‘å¾½æ&nbsp;‡
% \end{latexexample}
%
% \begin{function}[added=2021-09-24]{\njumotto}
%   \begin{syntax}
%     \tn{njumotto}\oarg{é¢œè‰²}\Arg{å®½åº¦}\Arg{é«˜åº¦}
%   \end{syntax}
% ç”ŸæˆæŒ‡å®šé¢œè‰²å’Œå¤§å°çš„å—äº¬å¤§å­¦æ&nbsp;¡è®­ã€‚
% \end{function}
%
% \begin{function}[added=2021-09-24]{\njuspirit}
%   \begin{syntax}
%     \tn{njuspirit}\oarg{é¢œè‰²}\Arg{å®½åº¦}\Arg{é«˜åº¦}
%   \end{syntax}
% ç”ŸæˆæŒ‡å®šé¢œè‰²å’Œå¤§å°çš„å—äº¬å¤§å­¦æ&nbsp;¡é£Žã€‚
% \end{function}
%
%
% \subsection{å¯¼å‡ºå›¾åƒ}
% \changes{v0.2}{2021/12/04}{æä¾›å¯¼å‡º PNG å›¾åƒçš„æ–¹æ³•ã€‚}
%
% ä¸ºäº†ä¾¿äºŽå­˜å‚¨ç‹¬ç«‹çš„å›¾åƒï¼Œæœ¬å®åŒ…å†…ç½®äº† \file{njuvisual-example.tex}ï¼Œä½¿ç”¨ \pkg{tikz} çš„å¤–ç½®åŒ–åŠŸèƒ½ç”Ÿæˆç‹¬ç«‹çš„å›¾ç‰‡æ–‡ä»¶ã€‚ç¼–è¯‘æ­¤æ–‡ä»¶æ—¶éœ€ä½¿ç”¨ |--shell-escape| å‚æ•°ã€‚
%
% å¯¹äºŽå¤§éƒ¨åˆ†æ—¥å¸¸ç”¨é€”ï¼ŒPDF æ&nbsp;¼å¼çš„çŸ¢é‡å›¾å¹¶æ²¡æœ‰å—åˆ°è‰¯å¥½çš„æ”¯æŒã€‚åœ¨æ­¤æä¾›å°†ä¸Šè¿°ç‹¬ç«‹å›¾åƒé€šè¿‡ inkscape ç¨‹åºè¿›è¡Œè½¬æ¢çš„æ–¹æ³•ï¼Œç›¸åº”çš„è‡ªåŠ¨è½¬æ¢è„šæœ¬è¯·ä»Žé¡¹ç›®ä»“åº“å†…èŽ·å–ã€‚å…³äºŽå‘½ä»¤è¡Œä½¿ç”¨æ–¹æ³•çš„è¯·å‚è€ƒ\href{https://inkscape.org/doc/inkscape-man.html}{å®˜æ–¹æ‰‹å†Œ}ã€‚
% \begin{description}
%   \item[|--export-type=|] æŒ‡å®šè¾“å‡ºæ&nbsp;¼å¼ï¼Œ|"png"| å³å¯ï¼Œä¸æ”¯æŒ JPEG æ&nbsp;¼å¼ã€‚
%   \item[|-w|] æŒ‡å®šè¾“å‡ºå®½åº¦ã€‚
%   \item[|-h|] æŒ‡å®šè¾“å‡ºé«˜åº¦ã€‚
% \end{description}
%
% ä»¥ä¸‹ä¸ºåœ¨ Linux ç³»ç»Ÿä¸­å°†å½“å‰ç›®å½•ä¸‹å…¨éƒ¨ PDF æ–‡ä»¶è½¬åŒ–ä¸ºé«˜åº¦ä¸º1000åƒç´&nbsp;çš„ PNG å›¾ç‰‡çš„å‘½ä»¤ç¤ºä¾‹ã€‚
% \begin{shellexample}[morekeywords={inkscape}]
%   inkscape --export-type="png" nju-*.pdf -h 1000
% \end{shellexample}
%
% ä»¥ä¸‹ä¸ºåœ¨ Windows ç³»ç»Ÿçš„ Powershell ä¸­å°†å—å¤§æ&nbsp;¡åè½¬åŒ–ä¸º PNG å›¾ç‰‡çš„å‘½ä»¤ç¤ºä¾‹ã€‚
% \begin{shellexample}
%   &amp; 'C:\Program Files (x86)\Inkscape\bin\inkscape.exe' --export-type="png" nju-name.pdf
% \end{shellexample}
%
% \end{documentation}
%
%
% \begin{implementation}
%
% \section{å®žçŽ°ç»†èŠ‚}
%
%    \begin{macrocode}
%&lt;@@=njuvis&gt;
%&lt;*package&gt;
%    \end{macrocode}
%
% \subsection{è½½å…¥å®åŒ…}
%
% å¯¼å…¥æ‰€éœ€å®åŒ…ï¼Œå…¶ä¸­ \pkg{tikz} å·²åŒ…å« \pkg{xcolor}ï¼Œæ—&nbsp;éœ€å•ç‹¬åŠ&nbsp;è½½ã€‚
%    \begin{macrocode}
\RequirePackage { l3keys2e, tikz}
%    \end{macrocode}
%
% \subsection{å®šä¹‰å˜é‡}
%
% \begin{macro}{\l_@@_color_a_tl,\l_@@_color_b_tl}
% å­˜å‚¨ä½¿ç”¨çš„é¢œè‰²ã€‚
%    \begin{macrocode}
\tl_new:N \l_@@_color_a_tl
\tl_new:N \l_@@_color_b_tl
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\l_@@_dept_tl}
% å­˜å‚¨é™¢ç³»ã€‚
%    \begin{macrocode}
\tl_new:N \l_@@_dept_tl
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\l_@@_curve_tl}
% å­˜å‚¨ä½¿ç”¨çš„è´å¡žå°”æ›²çº¿è·¯å¾„ã€‚
%    \begin{macrocode}
\tl_new:N \l_@@_curve_tl
%    \end{macrocode}
% \end{macro}
%
% \begin{variable}{\c_@@_cmds_clist}
% æœ¬å®åŒ…å®šä¹‰çš„å…¨éƒ¨ç”¨æˆ·å‘½ä»¤ã€‚
%    \begin{macrocode}
\clist_const:Nn \c_@@_cmds_clist { emblem, name, motto, spirit }
%    \end{macrocode}
% \end{variable}
%
% \begin{variable}{\c_@@_dept_all_clist}
% å®šä¹‰å—äº¬å¤§å­¦å…¨ä½“é™¢ç³»åå•ã€‚
%    \begin{macrocode}
\clist_const:Nn \c_@@_dept_all_clist
  { nju, dii, eng, chin, history, philo, jc, law, nubs, sfs, im, sociology,
    math, physics, astronomy, chem, cs, software, ai, ese, hjxy, sgos,
    as, life, med, sme, hwxy, arch, marxism, art, edu }
%    \end{macrocode}
% \end{variable}
%
% \begin{variable}{\c_@@_dept_emblem_clist}
% å®šä¹‰å—å›¾æ&nbsp;‡æ”¯æŒçš„å—äº¬å¤§å­¦é™¢ç³»åå•ã€‚
%    \begin{macrocode}
\clist_const:Nn \c_@@_dept_emblem_clist
  { nju, ai, cs, chem, dii, eng, physics, software }
%    \end{macrocode}
% \end{variable}
%
% \begin{variable}{\c_@@_dept_name_clist}
% å®šä¹‰å—åç§°æ”¯æŒçš„å—äº¬å¤§å­¦é™¢ç³»åå•ã€‚
%    \begin{macrocode}
\clist_const:Nn \c_@@_dept_name_clist { nju }
%    \end{macrocode}
% \end{variable}
%
% \begin{variable}{\c_@@_dept_color_clist}
% å®šä¹‰å—è‰²å½©æ”¯æŒçš„å—äº¬å¤§å­¦é™¢ç³»åå•ã€‚
%    \begin{macrocode}
\clist_const:Nn \c_@@_dept_color_clist { ai, cs, chem, physics }
%    \end{macrocode}
% \end{variable}
%
% \subsection{é”™è¯¯ä¿¡æ¯}
%
% é›†ä¸­å®šä¹‰é”™è¯¯ä¿¡æ¯ã€‚
%    \begin{macrocode}
\msg_new:nnn { njuvisual } { unsupported-department }
  {
    "#1"~ is~ not~ an~ available~ option~ currently.\\
    Please~ refer~ to~ the~ package~ documentation~ for~ supported~
    departments~ and~ check~ your~ spelling.
  }
\msg_new:nnn { njuvisual } { force-mode }
  { Force~ mode~ on.\\ I~ am~ overwriting~ all~ existing~ commands. }
\msg_new:nnn { njuvisual } { duplicate-command }
  {
    The~ command~ "\string#1"~ is~ already~ defined.\\
    I~ am~ not~ going~ to~ redefine~ it~ anyway.~
    Or~ you~ can~ use~ the~ package~ option~ "force"~
    to~ overwrite~ existing~ definitions.
  }
%    \end{macrocode}
%
% \subsection{å®åŒ…é€‰é¡¹}
%
% \changes{v0.1}{2022/03/01}{æ–°å¢žé€‰é¡¹ \opt{force}ã€‚}
%    \begin{macrocode}
\keys_define:nn { njuvisual }
  {
%    \end{macrocode}
% \begin{macro}{force}
% æ˜¯å¦å¼ºåˆ¶å®šä¹‰ã€‚
%    \begin{macrocode}
    force .value_forbidden:n = true,
    force            .code:n =
      {
        \msg_warning:nn { njuvisual } { force-mode }
        \clist_map_inline:Nn \c_@@_cmds_clist
          { \cs_undefine:c { nju ##1 } }
      }
  }
%    \end{macrocode}
% \end{macro}
%
%    \begin{macrocode}
\ProcessKeysOptions { njuvisual }
%    \end{macrocode}
%
% \subsection{å†…éƒ¨å‘½ä»¤}
%
% \changes{v0.1}{2021/11/27}{ä½¿ç”¨é”®å€¼å¯¹å¤„ç†é™¢ç³»å’Œé¢œè‰²ã€‚}
%    \begin{macrocode}
\keys_define:nn { njuvisual }
  {
%    \end{macrocode}
% \begin{macro}{color,color*}
% é¢œè‰²ã€‚è®¾å®šä¸»è¦è‰²å½©çš„åˆå§‹å€¼ä¸º |default|ï¼Œè¾…åŠ©è‰²å½©çš„åˆå§‹å€¼ä¸ºç™½è‰²ã€‚
%    \begin{macrocode}
    color       .tl_set:N = \l_@@_color_a_tl,
    color      .initial:n = default,
    color*      .tl_set:N = \l_@@_color_b_tl,
    color*     .initial:n = white,
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{department}
% é™¢ç³»ã€‚è®¾å®šé™¢ç³»é€‰é¡¹åˆå§‹å€¼ä¸ºå­¦æ&nbsp;¡å®˜æ–¹ã€‚
%    \begin{macrocode}
    department  .tl_set:N = \l_@@_dept_tl,
    department .initial:n = nju,
  }
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\@@_set_color:}
% \changes{v0.1}{2021/11/25}{å®Œå–„è®¾å®šé¢œè‰²çš„æ–¹æ³•ã€‚}
% è®¾å®šé¢œè‰²ã€‚
%    \begin{macrocode}
\cs_new_protected:Nn \@@_set_color:
  {
    \str_if_eq:VnTF \l_@@_color_a_tl { default }
      {
%    \end{macrocode}
% å¦‚æžœæ²¡æœ‰å•ç‹¬è®¾å®šï¼Œåˆ™ä½¿ç”¨é»˜è®¤é¢œè‰²ã€‚
%    \begin{macrocode}
        \clist_if_in:NVTF \c_@@_dept_color_clist \l_@@_dept_tl
          { \tl_set:Nn \l_@@_color_a_tl
              { \clist_item:cn { c_@@_color_ \l_@@_dept_tl _clist } { 1 } }
            \tl_set:Nn \l_@@_color_b_tl
              { \clist_item:cn { c_@@_color_ \l_@@_dept_tl _clist } { 2 } } }
          { \tl_set:Nn \l_@@_color_a_tl { njuviolet } }
      }
      { \clist_if_in:NVT \c_@@_dept_color_clist \l_@@_dept_tl
%    \end{macrocode}
% å°†åŒè‰²å›¾æ&nbsp;‡è®¾å®šä¸ºçº¯è‰²ã€‚
%    \begin{macrocode}
          { \tl_set_eq:NN \l_@@_color_b_tl \l_@@_color_a_tl } }
  }
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\@@_tikz_wrapper:nnn,\@@_tikz_wrapper:Vnn}
% å¯å˜å¤§å°çš„ tikz å®¹å™¨ã€‚\footnote{æ­¤å¤„æ‰‹åŠ¨è°ƒæ•´äº†åˆ—è¡¨ç¼©è¿›ï¼Œå®žé™…ä¸Š\env{arguments}çŽ¯å¢ƒçš„ç¼©è¿›é—®é¢˜å·²åœ¨\href{https://github.com/CTeX-org/ctex-kit/commit/838ebab8378b6b0477f5aece81ace28ae2a8bcd9}{838ebab}æäº¤ä¸­ä¿®å¤}
% \begin{arguments}
%   \item è·¯å¾„
%   \item å®½åº¦
%   \item é«˜åº¦
% \end{arguments}
% å°è£… resizebox å’Œ tikzpicture çŽ¯å¢ƒï¼Œå‡å°‘é‡å¤ã€‚
% ^^A è€ƒè™‘è½¬æ¢åˆ° \box_autosize_to_wd_and_ht:Nnn
%    \begin{macrocode}
\cs_new_protected:Npn \@@_tikz_wrapper:nnn #1#2#3
  {
    \resizebox { #2 } { #3 } {
      \begin{tikzpicture}[y=0.80pt, x=0.80pt, yscale=-1,
          xscale=1, inner~sep=0pt, outer~sep=0pt] #1
      \end{tikzpicture} }
  }
\cs_generate_variant:Nn \@@_tikz_wrapper:nnn { V }
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\@@_if_key_value_list:nTF}
% åˆ¤æ–­æ˜¯å¦ä¸ºé”®å€¼åˆ—è¡¨ï¼Œå³æ˜¯å¦å«æœ‰ |=|ã€‚
%    \begin{macrocode}
\cs_new_protected:Npn \@@_if_key_value_list:nTF #1
  { \tl_if_in:nnTF {#1} {=} }
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\@@_check_cmd:NF}
% æ£€æŸ¥è½½å…¥å®åŒ…å‰ç›¸å…³å‘½ä»¤æ˜¯å¦æœ‰å®šä¹‰ã€‚
%    \begin{macrocode}
\cs_new_protected:Npn \@@_check_cmd:NF #1
  {
    \cs_if_exist:NTF #1
      { \msg_warning:nnn { njuvisual } { duplicate-command } {#1} }
  }
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\@@_import_curve:nF,\@@_import_curve:n}
% ä»Žç›¸åº”çš„ \file{njuvisual-*.def} æ–‡ä»¶è¯»å–å†…å®¹ï¼Œå­˜å‚¨åˆ° \cs{l_@@_curve_tl}ã€‚
%    \begin{macrocode}
\cs_new:Npn \@@_import_curve:nF #1
  { \file_get:nnNF { njuvisual- #1 .def } { \ExplSyntaxOn } \l_@@_curve_tl }
\cs_new:Npn \@@_import_curve:n #1
  { \@@_import_curve:nF {#1} { \BOOM } }
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\@@_print:nnnn}
% è¾“å‡º \pkg{tikz} æ›²çº¿ã€‚
% \begin{arguments}
%   \item ç±»åˆ«
%   \item é¢œè‰²æˆ–è€…é”®å€¼å¯¹
%   \item å®½åº¦
%   \item é«˜åº¦
% \end{arguments}
%    \begin{macrocode}
\cs_new_protected:Npn \@@_print:nnnn #1#2#3#4
  {
    \group_begin:
%    \end{macrocode}
% æ&nbsp;¹æ®å‚æ•°æ˜¯å¦å«æœ‰ |=| æ¥åˆ¤æ–­è¯¥å‚æ•°æ˜¯é¢œè‰²è¿˜æ˜¯é€‰é¡¹åˆ—è¡¨ã€‚
%    \begin{macrocode}
      \@@_if_key_value_list:nTF { #2 }
        {
          \keys_set:nn { njuvisual } { #2 }
%    \end{macrocode}
% æ£€æŸ¥æ˜¯å¦å—æ”¯æŒã€‚
%    \begin{macrocode}
          \@@_import_curve:nF { #1 - \l_@@_dept_tl }
            {
              \msg_error:nnx { njuvisual }
                { unsupported-department } { \l_@@_dept_tl }
            }
          \@@_set_color:
          \@@_tikz_wrapper:Vnn \l_@@_curve_tl { #3 } { #4 }
        }
%    \end{macrocode}
% å•ç‹¬è®¾ç½®é¢œè‰²æ—¶è¾“å‡ºå®˜æ–¹å¾½æ&nbsp;‡ã€‚
%    \begin{macrocode}
        {
          \tl_set:Nn \l_@@_color_a_tl { #2 }
          \@@_import_curve:n { #1 - nju }
          \@@_tikz_wrapper:Vnn \l_@@_curve_tl { #3 } { #4 }
        }
    \group_end:
  }
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\@@_name:nnnn}
% é€šè¿‡æ˜¯å¦å«æœ‰å¯é€‰æ˜Ÿå·åŒºåˆ†è¾“å‡ºä¸­è‹±æ–‡åç§°ã€‚
%    \begin{macrocode}
\cs_new_protected:Npn \@@_name:nnnn #1
  {
    \bool_if:NTF #1
      { \@@_print:nnnn { name-en } }
      { \@@_print:nnnn { name-zh } }
  }
%    \end{macrocode}
% \end{macro}
%
%
% \subsection{ç”¨æˆ·æŽ¥å£}
%
% \begin{macro}{\njuname,\njuname*}
% å®šä¹‰å—äº¬å¤§å­¦æ&nbsp;‡å‡†åç§°ï¼Œåˆ†ä¸ºä¸­è‹±æ–‡ä¸¤ç§ã€‚
% \begin{arguments}
%   \item å¯é€‰æ˜Ÿå·
%   \item é¢œè‰²æˆ–è€…é”®å€¼å¯¹
%   \item å®½åº¦
%   \item é«˜åº¦
% \end{arguments}
%    \begin{macrocode}
\@@_check_cmd:NF \njuname
  {
    \NewDocumentCommand \njuname { s O { njuviolet } m m }
      { \@@_name:nnnn { #1 } { #2 } { #3 } { #4 } }
  }
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\njuemblem}
% \changes{v0.1}{2021/11/24}{å°†å­¦æ&nbsp;¡å’Œé™¢ç³»çš„å¾½æ&nbsp;‡å’Œåç§°å‘½ä»¤ç»Ÿä¸€ã€‚}
% å®šä¹‰å—äº¬å¤§å­¦æ&nbsp;‡å‡†å¾½æ&nbsp;‡ã€‚
% \begin{arguments}
%   \item é¢œè‰²æˆ–è€…é”®å€¼å¯¹
%   \item å®½åº¦
%   \item é«˜åº¦
% \end{arguments}
%    \begin{macrocode}
\@@_check_cmd:NF \njuemblem
  {
    \NewDocumentCommand \njuemblem { O { njuviolet } m m }
      { \@@_print:nnnn { emblem } { #1 } { #2 } { #3 } }
  }
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\njumotto}
% å®šä¹‰å—äº¬å¤§å­¦æ&nbsp;¡è®­ã€‚å‚æ•°å®šä¹‰åŒ \tn{njuemblem}ã€‚
%    \begin{macrocode}
\@@_check_cmd:NF \njumotto
  {
    \NewDocumentCommand \njumotto { O { black } m m }
      { \@@_print:nnnn { motto } { #1 } { #2 } { #3 } }
  }
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\njuspirit}
% å®šä¹‰å—äº¬å¤§å­¦æ&nbsp;¡é£Žã€‚å‚æ•°å®šä¹‰åŒ \tn{njuemblem}ã€‚
%    \begin{macrocode}
\@@_check_cmd:NF \njuspirit
  {
    \NewDocumentCommand \njuspirit { O { black } m m }
      { \@@_print:nnnn { spirit } { #1 } { #2 } { #3 } }
  }
%&lt;/package&gt;
%    \end{macrocode}
% \end{macro}
%
%
% \subsection{ç”Ÿæˆæ–‡ä»¶}
% \changes{v0.2}{2021/11/29}{æä¾›å¯¼å‡º PDF å›¾åƒçš„æ–¹æ³•ã€‚}
%
% ä»¥ä¸‹æ–‡ä»¶ç”¨äºŽç”Ÿæˆå„å›¾æ¡ˆã€‚
% éœ€è¦åœ¨ç¼–è¯‘å‘½ä»¤ä¸­åŠ&nbsp;å…¥ |--shell-escape| å‚æ•°ã€‚
% \DoNotIndex{\FIG}
%    \begin{macrocode}
%&lt;*example&gt;
\documentclass{article}
\usepackage{njuvisual}
%    \end{macrocode}
% ä½¿ç”¨ \pkg{tikz} åº“çš„å¤–ç½®åŒ–åŠŸèƒ½ç”Ÿæˆç‹¬ç«‹çš„ PDF æ&nbsp;¼å¼çŸ¢é‡å›¾ã€‚æ¯ä¸ªå›¾æ&nbsp;‡ä»…éœ€ç»˜åˆ¶ä¸€æ¬¡ï¼Œå¯ä»¥å‡è½»ç¼–è¯‘è´Ÿæ‹…ã€‚
%    \begin{macrocode}
\usetikzlibrary{backgrounds,external}
\tikzexternalize[prefix=nju-]
\let\FIG=\tikzsetnextfilename
%    \end{macrocode}
%
% \subsection{é¢œè‰²ä¸Žå›¾å½¢}
% \label{subsec:colors-and-curves}
%
% æœ¬éƒ¨åˆ†å®šä¹‰æ&nbsp;‡å‡†è‰²å½©ä»¥åŠç”¨äºŽç»˜å›¾çš„ \pkg{tikz} è·¯å¾„ã€‚
% ç”±äºŽè·¯å¾„æœ¬èº«é•¿è¾¾æ•°åƒè¡Œï¼Œæ•…åœ¨æ­¤æ–‡æ¡£ä¸­éšåŽ»ï¼Œä»…ä¿ç•™ä»‹ç»ã€‚
% æœ‰å…´è¶£çš„åŒå­¦å¯ä»¥è‡ªè¡ŒæŸ¥é˜… \file{njuvisual-curves.dtx}ã€‚
%
% æ­¤å¤„ä¸º \file{njuvisual-example.tex} æ–‡ä»¶æ­£æ–‡çš„å¼€å§‹ã€‚
% ä»¥ä¸‹æ&nbsp;‡æ³¨ |&lt;example&gt;| çš„è¡Œå°†ä¼šè¿›å…¥è¯¥æ–‡ä»¶ï¼Œä¾›å¤–ç½®åŒ–ä½¿ç”¨ã€‚
%    \begin{macrocode}
\begin{document}
%&lt;/example&gt;
%    \end{macrocode}
%
% \end{implementation}
%
</pre></body></html>