From 9627377b46100644fed4c8796340410f74aa685f Mon Sep 17 00:00:00 2001 From: Jjgod Jiang Date: Wed, 30 May 2012 07:48:15 +0000 Subject: 2012 update for zh-cn git-svn-id: svn://tug.org/texlive/trunk@26730 c570f23f-e606-0410-a88d-b1316a301751 --- .../doc/texlive/texlive-zh-cn/texlive-zh-cn.tex | 225 ++++++++++++--------- 1 file changed, 132 insertions(+), 93 deletions(-) diff --git a/Master/texmf/doc/texlive/texlive-zh-cn/texlive-zh-cn.tex b/Master/texmf/doc/texlive/texlive-zh-cn/texlive-zh-cn.tex index 4b59c16544a..abb8acc13ab 100644 --- a/Master/texmf/doc/texlive/texlive-zh-cn/texlive-zh-cn.tex +++ b/Master/texmf/doc/texlive/texlive-zh-cn/texlive-zh-cn.tex @@ -16,14 +16,14 @@ \title{% {\huge \textit{\TeX\ Live 指南}\\\smallskip}% - {\LARGE \textsf{\TL{} 2011}} + {\LARGE \textsf{\TL{} 2012}} } \author{Karl Berry 编写 \\[3mm] \url{http://tug.org/texlive/} } -\date{2011 年 6 月} +\date{2012 年 6 月} \maketitle @@ -53,6 +53,7 @@ 文档末尾的第~\ref{sec:history}~节 (第~\pageref{sec:history}~页) 介绍了这一版 \TL{} 的重要改变。 +\htmlanchor{platforms} \subsection{操作系统支持} \label{sec:os-support} @@ -266,8 +267,8 @@ Windows 的特殊支持。 \begin{description} \item[全系统根目录] 可以包含多个 \TL{} 版本: \begin{ttdescription} - \item[2010] 上一个版本。 - \item[2011] 当前版本。 + \item[2011] 上一个版本。 + \item[2012] 当前版本。 \begin{ttdescription} \item [bin] ~ \begin{ttdescription} @@ -286,8 +287,8 @@ Windows 的特殊支持。 \item[用户主 (home) 目录] (\texttt{\$HOME} 或 \texttt{\%USERPROFILE\%}) \begin{ttdescription} - \item[.texlive2010] 给上个版本的,个人生成和配置的数据。 - \item[.texlive2011] 给这个版本的,个人生成和配置的数据。 + \item[.texlive2011] 给上个版本的,个人生成和配置的数据。 + \item[.texlive2012] 给这个版本的,个人生成和配置的数据。 \begin{ttdescription} \item [texmf-var\ \ \ ] \envname{TEXMFVAR}, \envname{TEXMFCACHE} \item [texmf-config] \envname{TEXMFCONFIG} @@ -495,7 +496,7 @@ Mac\TeX\ 是严格依赖 \TL 构建的,所以主 \TeX\ 树也是完全一致 \begin{figure}[tb] \begin{boxedverbatim} -Installing TeX Live 2011 from: ... +Installing TeX Live 2012 from: ... Platform: i386-linux => 'Intel x86 with GNU/Linux' Distribution: inst (compressed) ... @@ -512,7 +513,7 @@ Distribution: inst (compressed) directories: TEXDIR (the main TeX directory): - /usr/local/texlive/2011 + /usr/local/texlive/2012 ... options: @@ -602,17 +603,17 @@ Available platforms: =============================================================================== a [ ] alpha-linux DEC Alpha with GNU/Linux b [ ] amd64-freebsd x86_64 with FreeBSD - c [ ] amd64-kfreebsd x86_64 with GNU/FreeBSD - d [ ] i386-cygwin Intel x86 with Cygwin - e [ ] i386-freebsd Intel x86 with FreeBSD - f [ ] i386-kfreebsd Intel x86 with GNU/FreeBSD - g [X] i386-linux Intel x86 with GNU/Linux - h [ ] i386-netbsd Intel x86 with NetBSD + c [ ] amd64-kfreebsd x86_64 with GNU/kFreeBSD + d [ ] armel-linux ARM with GNU/Linux + e [ ] i386-cygwin Intel x86 with Cygwin + f [ ] i386-freebsd Intel x86 with FreeBSD + g [ ] i386-kfreebsd Intel x86 with GNU/kFreeBSD + h [X] i386-linux Intel x86 with GNU/Linux i [ ] i386-solaris Intel x86 with Solaris j [ ] mips-irix SGI IRIX - k [ ] powerpc-aix PowerPC with AIX - l [ ] powerpc-linux PowerPC with GNU/Linux - m [ ] sparc-linux Sparc with GNU/Linux + k [ ] mipsel-linux mipsel with Linux + l [ ] powerpc-aix PowerPC with AIX + m [ ] powerpc-linux PowerPC with GNU/Linux o [ ] sparc-solaris Sparc with Solaris p [ ] universal-darwin universal binaries for MacOSX/Darwin s [ ] win32 Windows @@ -635,16 +636,16 @@ Available platforms: \begin{boxedverbatim} Select scheme: =============================================================================== - - a [ ] basic scheme - b [ ] ConTeXt scheme - c [X] full scheme (everything) - d [ ] GUST TeX Live scheme - e [ ] medium scheme (plain, latex, recommended packages, some languages) - f [ ] minimal scheme (plain only) - g [ ] teTeX scheme (more than medium, but nowhere near full) - h [ ] XML scheme - i [ ] custom selection of collections + a [X] full scheme (everything) + b [ ] medium scheme (small + more packages and languages) + c [ ] small scheme (basic + xetex, metapost, a few languages) + d [ ] basic scheme (plain and latex) + e [ ] minimal scheme (plain only) + f [ ] ConTeXt scheme + g [ ] GUST TeX Live scheme + h [ ] teTeX scheme (more than medium, but nowhere near full) + i [ ] XML scheme + j [ ] custom selection of collections \end{boxedverbatim} \caption{Scheme (安装方案) 菜单}\label{fig:scheme-text} \end{figure} @@ -678,15 +679,15 @@ Collection (安装集合) 是比 scheme (方案) 要更细的一层 \Dash 实际 缺省的目录布局在第~\ref{sec:texmftrees}~节有过叙述,见 第~\pageref{sec:texmftrees}~页。默认的 \dirname{TEXDIR} 路径 -在 Unix 下是 \dirname{/usr/local/texlive/2011} 而 Windows 下是 -|%SystemDrive%\texlive\2011|。 +在 Unix 下是 \dirname{/usr/local/texlive/2012} 而 Windows 下是 +|%SystemDrive%\texlive\2012|。 更改默认值的主要原因大概是你可能没有默认位置的写权限。虽然要安装 \TL 不需要是管理员或者 root 用户,但你至少得对安装的目的目录有写 权限。 一个合理的选择是你自己主目录下的一个子目录,尤其在只有你一个人 -使用的时候。使用 `|~|' 来表示主目录,比如 `|~/texlive/2011|'。 +使用的时候。使用 `|~|' 来表示主目录,比如 `|~/texlive/2012|'。 我们建议在目录名称中保留年份,这样可以让你保留多个不同版本的 \TL{}。(你可能希望用一个类似 \dirname{/usr/local/texlive-cur} @@ -724,6 +725,7 @@ Current setup: binaries to: manpages to: info to: + after installation, get package updates from CTAN: [X] \end{boxedverbatim} \caption{Options 菜单 (Unix)}\label{fig:options-text} \end{figure} @@ -750,13 +752,20 @@ Current setup: \item[install font/macro \ldots\ tree:] 这些选项允许你忽略下载安装 大部分宏包中的文档和源代码文件。不建议使用。 -\item[create symlinks in standard directories] (只对 Unix 有效): -这个选项可以省下设定环境变量的步骤。如果没有选择它,就必须把 -\TL{} 的对应目录添加到 \envname{PATH}, \envname{MANPATH} 和 -\envname{INFOPATH} 中。如果要创建符号链接,你需要对这些目标 -目录的写权限。我们强烈建议不要\emph{不要}用这个命令来覆盖现 -有的 \TeX\ 系统,它主要是为了在用户已知的标准目录中创建符号 -链接设计的,这些目录并不包含任何 \TeX\ 文件。 +\item[create symlinks in standard directories:] +这个选项 (只对 Unix 有效的) 可以省下设定环境变量的步骤。如果 +没有选择它,就必须把 \TL{} 的对应目录添加到 \envname{PATH}, +\envname{MANPATH} 和 \envname{INFOPATH} 中。如果要创建符号链 +接,你需要对这些目标目录的写权限。我们强烈建议不要\emph{不要} +用这个命令来覆盖现有的 \TeX\ 系统,它主要是为了在用户已知的 +标准目录中创建符号链接设计的,这些目录并不包含任何 \TeX\ 文件。 + +\item[after installation \ldots\ \CTAN:] 从 \DVD\ 安装时,这个选项 +被缺省启用,因为通常你会希望在此后通过 \CTAN\ 安装一年内更新的软件 +包。禁用它唯一可能的原因是你只安装了 \DVD\ 内容的一部分,计划在以后 +扩展安装。无论如何,安装程序时和安装后的更新的软件包仓库如果需要可 +以分别设置,见第~\ref{sec:location}~节和 +第~\ref{sec:dvd-install-net-updates}~节。 \end{description} 如果所有的设置已经齐备,你就可以按下 `I' 来开始安装了。安装完成后, @@ -780,25 +789,10 @@ Current setup: \item[-no-gui] 强制使用文本模式安装程序,就算在 Windows 下也是如此。 -\item[-lang {\sl LL}] 指定安装程序界面的语言,使用两个字符的语言 -代码 \textsl{LL}。目前支持的语言有: - \texttt{cs} (捷克语), - \texttt{de} (德语), - \texttt{en} (英语,默认值) - \texttt{fr} (法语), - \texttt{it} (意大利语), - \texttt{ja} (日语), - \texttt{nl} (荷兰语), - \texttt{pl} (波兰语), - \texttt{ru} (俄语), - \texttt{sk} (斯洛伐克语), - \texttt{sl} (斯洛文尼亚语), - \texttt{sr} (塞尔维亚语), - \texttt{vi} (越南语), - \texttt{zh-cn} (简体中文), - \texttt{zh-tw} (繁体中文)。 -安装程序会尝试自己判断出合适的语言,如果判断出的语言没有支持就会 -使用英语替代。 +\item[-lang {\sl LL}] 指定安装程序界面的语言,使用标准的 (通常是两个 +两个字符) 语言代码。安装程序会尝试自己判断出合适的语言,如果判断出的 +语言没有支持就会使用英语替代。可以运行 \code{install-tl --help} 获得 +支持的语言列表。 \htmlanchor{opt-in-place} \item[-in-place] 如果你已经有一份用 rsync, svn, 或者其他方式安装的 @@ -812,10 +806,12 @@ Current setup: 文本安装程序中用 \code{V} 命令选择,或者 GUI 安装程序中选择, 参见第 \ref{sec:portable-tl} 节。 -\item[-profile {\sl profile}] 安装程序会在安装到的 \dirname{tlpkg} -子目录中创建一个叫 \filename{texlive.profile} 的文件。这个选项可以 -让安装程序重用现成的这种文件,这样你就可以在后续系统里进行批量安装 -了,保证和第一次安装用的选项完全一样。 +\item[-profile {\sl profile}] 载入安装配置文件 \var{file} 以不需要 +用户干预的方式完成安装。安装程序会在安装到的 \dirname{tlpkg} +子目录中创建一个叫 \filename{texlive.profile} 的文件。这个文件可以 +用作参数,在不同的系统下完成完全一致的安装。或者你也可以使用一个定 +制的配置文件,一般通过裁剪生成的文件得到,或者空文件,这样安装时会 +使用所有缺省值。 \item [-repository {\sl url-or-directory}] 指定作为来源的软件包仓库, 参见下文。 @@ -824,8 +820,8 @@ Current setup: \subsubsection{\optname{-repository} 参数} \label{sec:location} -默认的软件包安装位置是由 \url{http://mirror.ctan.org} 自动选择的 -\CTAN{} 镜像。 +默认的网络软件包安装位置是由 \url{http://mirror.ctan.org} 自动选择 +的 \CTAN{} 镜像。 如果你需要自己指定,地址可以是以 \texttt{ftp:}, \texttt{http:} 或 \texttt{file:/} 起始的 URL,或者本地路径。(如果给定了一个 @@ -867,18 +863,18 @@ GNU/Linux、默认的目录设置为例,需要修改的文件是 \filename{$HO 这样: \begin{sverbatim} -PATH=/usr/local/texlive/2011/bin/i386-linux:$PATH; export PATH -MANPATH=/usr/local/texlive/2011/texmf/doc/man:$MANPATH; export MANPATH -INFOPATH=/usr/local/texlive/2011/texmf/doc/info:$INFOPATH; export INFOPATH +PATH=/usr/local/texlive/2012/bin/i386-linux:$PATH; export PATH +MANPATH=/usr/local/texlive/2012/texmf/doc/man:$MANPATH; export MANPATH +INFOPATH=/usr/local/texlive/2012/texmf/doc/info:$INFOPATH; export INFOPATH \end{sverbatim} 对于 csh 或者 tcsh,需要修改的文件通常是 \filename{$HOME/.cshrc},而 应该添加的内容类似: \begin{sverbatim} -setenv PATH /usr/local/texlive/2011/bin/i386-linux:$PATH -setenv MANPATH /usr/local/texlive/2011/texmf/doc/man:$MANPATH -setenv INFOPATH /usr/local/texlive/2011/texmf/doc/info:$INFOPATH +setenv PATH /usr/local/texlive/2012/bin/i386-linux:$PATH +setenv MANPATH /usr/local/texlive/2012/texmf/doc/man:$MANPATH +setenv INFOPATH /usr/local/texlive/2012/texmf/doc/info:$INFOPATH \end{sverbatim} 如果你已经在你的配置文件里写过了这样的路径设置,那就只需要 @@ -895,8 +891,8 @@ setenv INFOPATH /usr/local/texlive/2011/texmf/doc/info:$INFOPATH 这个文件是否存在,如果有的话,添加下面这样的内容: \begin{sverbatim} -MANPATH_MAP /usr/local/texlive/2011/bin/i386-linux \ - /usr/local/texlive/2011/texmf/doc/man +MANPATH_MAP /usr/local/texlive/2012/bin/i386-linux \ + /usr/local/texlive/2012/texmf/doc/man \end{sverbatim} 然后 2)~检查 \filename{/etc/environment} 是否定义了默认的搜索路径 @@ -918,17 +914,24 @@ MANPATH_MAP /usr/local/texlive/2011/bin/i386-linux \ \end{alltt} 这告诉 \cmdname{tlmgr} 从就近的 \CTAN\ 镜像获取未来更新。 +从 \DVD{} 安装时会默认完成这一步,通过第~\ref{sec:options}~节介绍 +的选项。 如果自动镜像选择出现了问题,你可以从 \url{http://ctan.org/mirrors} 列表中自己指定一个 \CTAN\ 镜像。使用与上述一致的 \dirname{tlnet} 子目录路径。 -\subsubsection{\XeTeX{} 的字体配置} -\label{sec:font-conf-xetex} +\subsubsection{\XeTeX{} 和 Lua\TeX{} 的系统字体配置} +\label{sec:font-conf-sys} + +\XeTeX\ 和 Lua\TeX\ 可以使用任何系统安装的字体,而不只是 \TeX\ 目录树 +中的那些。它们使用类似但不完全一致的方式实现这一功能。 + +在 Windows 下 \TL\ 提供的字体会自动为 \XeTeX\ 所用。 +但如果你在 Unix 兼容的系统中安装了 \filename{xetex} 软件包,则需要把系 +统配置一番 \XeTeX\ 才能找到随 \TL\ 安装的那些字体。 -如果你在 Unix 兼容的系统中安装了 \filename{xetex} 软件包,需要把系统 -配置一番 \XeTeX\ 才能找到随 \TL\ 安装的那些字体。为了进行配置,\pkgname{xetex} -安装后 (不管是初始安装还是后来安装的) 都会在 +为了进行配置,\pkgname{xetex} 安装后 (不管是初始安装还是后来安装的) 都会在 \filename{TEXMFSYSVAR/fonts/conf/texlive-fontconfig.conf} 创建一个 必需的配置文件。 @@ -940,14 +943,17 @@ MANPATH_MAP /usr/local/texlive/2011/bin/i386-linux \ \item 运行 \Ucom{fc-cache -fsv}。 \end{enumerate*} -如果你没有足够的权限执行上述操作,可以用下面的步骤将 \TL{} 字体提供 -给你自己,作为独立的 \XeTeX{} 用户: +如果你没有足够的权限执行上述操作,或者只需要把 \TL{} 字体提供给你自 +己,可以这么做: \begin{enumerate*} \item 将 \filename{texlive-fontconfig.conf} 文件复制到 \filename{~/.fonts.conf},其中 \filename{~} 是你的主目录。 \item 运行 \Ucom{fc-cache -fv}。 \end{enumerate*} +你可以运行 \code{fc-list} 来查看系统字体的名称。命令 +\code{fc-list : family style file spacing} 可以列出一些有趣的信息。 + \subsubsection{\ConTeXt{} Mark IV} \label{sec:context-mkiv} @@ -1112,9 +1118,11 @@ This is XeTeX, Version 3.1415926\dots Output written on opentype-info.pdf (1 page). Transcript written on opentype-info.log. \end{alltt} +(或者对 \filename{luatex} 做同样的步骤。) + 如果你收到 ``Invalid fontname `Latin Modern Roman/ICU'\dots'' 这样 的错误信息,就说明需要配置系统 \XeTeX{} 才能找到 \TL{} 自带的字体。 -参见第~\ref{sec:font-conf-xetex}~节。 +参见第~\ref{sec:font-conf-sys}~节。 \end{enumerate} @@ -1298,7 +1306,7 @@ sudo ln -s /Volumes/MyTeXLive/bin/universal-darwin /usr/texbin > \Ucom{tlmgr -gui} \end{alltt} Windows 下可以通过开始菜单:\texttt{开始},\texttt{程序}, -\texttt{TeX Live 2011},\texttt{TeX Live Manager}。 +\texttt{TeX Live 2012},\texttt{TeX Live Manager}。 在假定安装包源是有效且可及的情况下,在点击 `Load' 以后,它会列出 所有可获取的或已安装的软件包。 @@ -1337,12 +1345,12 @@ running post install action for xetex install: xetex-def ... running mktexlsr -mktexlsr: Updating /usr/local/texlive/2011/texmf/ls-R... +mktexlsr: Updating /usr/local/texlive/2012/texmf/ls-R... ... running fmtutil-sys --missing ... Transcript written on xelatex.log. -fmtutil: /usr/local/texlive/2011/texmf-var/web2c/xetex/xelatex.fmt installed. +fmtutil: /usr/local/texlive/2012/texmf-var/web2c/xetex/xelatex.fmt installed. \end{fverbatim} 如你所见,\prog{tlmgr} 会安装所有依赖的包,也会处理所有包括刷新文件名 @@ -1641,9 +1649,9 @@ Windows Registry Editor Version 5.00 而这个 \file{texmf.cnf} 存放的路径则是在 \envname{TEXMFCNF} 变量里定义的, 但我们不建议设置这个 (或者任何) 环境变量。 -作为代替,标准的安装将产生文件 \file{.../2011/texmf.cnf}。如果你必须修改缺省 +作为代替,标准的安装将产生文件 \file{.../2012/texmf.cnf}。如果你必须修改缺省 值 (一般不需要),这是修改的地方。主配置文件是 -\file{.../2011/texmf/web2c/texmf.cnf}。你不应该修改后者,因为在发行版本被更新 +\file{.../2012/texmf/web2c/texmf.cnf}。你不应该修改后者,因为在发行版本被更新 后会丢失修改。 搜索路径里\emph{所有的} \file{texmf.cnf} 文件都会被读入,而先读入的优先级更高。 @@ -2228,25 +2236,26 @@ Kpathsea 添加多线程功能,等等许多工作。 \end{itemize*} 二进制版本的编译者: +Ettore Aldrovandi (\pkgname{i386-solaris}, \pkgname{x86\_64-solaris}), Alan Braslau (\pkgname{amd64-kfreebsd}, \pkgname{i386-kfreebsd}), Peter Breitenlohner (\pkgname{x86\_64-linux}), -Karl Berry (\pkgname{i386-linux}, \pkgname{sparc-linux}), +Karl Berry (\pkgname{i386-linux}), Ken Brown (\pkgname{i386-cygwin}), Akira Kakuto (\pkgname{win32}), Dick Koch (\pkgname{universal-darwin}, \pkgname{x86\_64-darwin}), Nikola Le\v{c}i\'c (\pkgname{amd64-freebsd}, \pkgname{i386-freebsd}), +Mojca Miklavec (\pkgname{mipsel-linux}), Norbert Preining (\pkgname{alpha-linux}), -Jukka Salmi (\pkgname{i386-netbsd}), Thomas Schmitz (\pkgname{powerpc-linux}), +Boris Veytsman (\pkgname{armel-linux}), Vladimir Volovich (\pkgname{powerpc-aix}, \pkgname{sparc-solaris}), -Apostolos Syropoulos (\pkgname{i386-solaris}, \pkgname{x86\_64-solaris}), Olaf Weber (\pkgname{mips-irix})。 关于 \TL{} 编译进程的信息,请查阅 \url{http://tug.org/texlive/build.html}。 -当前的文档和翻译更新: +这份手册的翻译者: Boris Veytsman (俄语), Jjgod Jiang, Jinsong Zhao, Yue Wang, \& Helin Gai (中文), -Klaus H\"oppner (德语), +Uwe Ziegenhagen (German), Manuel P\'egouri\'e-Gonnard (法语), Marco Pallante (意大利语), Nikola Le\v{c}i\'c (塞尔维亚语), @@ -2678,11 +2687,7 @@ Unicode \BibTeX\ 的 \BibTeX{}U 程序;\prog{chktex} 实用工具 单张 \DVD\ 已经没有足够的空间了。一个优点是从物理 \DVD\ 的安装将会 快很多。 -\htmlanchor{news} -\subsection{现状} -\label{sec:tlcurrent} - -2011 年只有相对很少的一点变动。 +\subsubsection{2011} \MacOSX\ 二进制程序 (\code{universal-darwin} 和 \code{x86\_64-darwin}) 现在只能在 Leopard 及以后版本上工作;Panther 和 Tiger 都不再支持了。 @@ -2698,6 +2703,38 @@ MetaPost 作为一个库有关,这是另一个重要而用户不会注意的 \code{updmap} 的 Perl 实现,先前只在 Windows 下使用,现在被更新并用 于所有平台了。这不应该造成任何用户可见的变化,除了它变得快得多。 +\htmlanchor{news} +\subsection{Present} +\label{sec:tlcurrent} + +\code{tlmgr} 支持了从多个网络仓库更新。\code{tlmgr help} 输出中的多仓库 +一节有更多信息。 + +对于 \code{xetex} 和 \code{xelatex},\cs{XeTeXdashbreakstate} 参数被缺 +省设置为~1。这允许了 em-dash 和 en-dash 后的换行,这和 plain \TeX, +\LaTeX, Lua\TeX\ 现在的行为一致。现有的 \XeTeX\ 文档如果需要保持完美的 +换行兼容性则需要显式设置 \cs{XeTeXdashbreakstate} 为~0。 + +\code{pdftex} 和 \code{dvips} 等生成的输出文件现在可以超过 2 GB 了。 + +35 标准 PostScripts 字体现在在 \code{dvips} 输出中缺省保函了,因为现在 +有太多这些字体的不同版本了。 + +默认设置的 \cs{write18} 受限执行模式中,\code{mpost} 成为了一个允许的 +程序。 + +\filename{../texmf-local} 下现在也会出现一个 \code{texmf.cnf} 文件, +比如 \filename{/usr/local/texlive/texmf-local/web2c/texmf.cnf}。 + +\code{updmap} 脚本现在读取的是针对各个目录树的 \code{updmap.cfg},而不 +再是全局的配置文件。这个修改应该不容易发现,除非你直接编辑过 \code{updmap.cfg} +文件。\code{updmap --help} 输出中有更多信息。 + +平台:增加了 \pkgname{armel-linux} 和 \pkgname{mipsel-linux} 平台; +\pkgname{sparc-linux} 和 \pkgname{i386-netbsd} 不再出现在主发行中, +但可以作为可选安装,和一系列其他平台一起: +\url{http://tug.org/texlive/custom-bin.html}。 + \subsection{未来} \emph{\TL{} 并不完美!} (也永远不会达到完美。) 我们希望继续发行新的 @@ -2746,4 +2783,6 @@ Helin Gai 翻译。其中 Jinsong Zhao 负责 Windows 部分的翻译,Yue Wang 2011 年的简体中文版本由 Jiang Jiang 翻译。 +2012 年的简体中文版本由 Jiang Jiang 翻译。 + \end{document} -- cgit v1.2.3