Tuack 生成 OI 比赛题目 PDF 笔记
<h2 id="part-1-tuack-的基本介绍">Part 1. Tuack 的基本介绍</h2><p>Tuack,是一个由来自 THU 的大佬 Mulab11 开发的,用于造算法竞赛题目的工具。</p>
<p>你可以用它:</p>
<ul>
<li>导出 PDF、Markdown、HTML 等多种不同格式,NOI、CPC 等不同风格的题面。</li>
<li>简单的出题人自评测功能,用于对比不同出题人、验题人程序的得分情况。</li>
<li>导出 LemonLime、Arbiter 等多种不同评测平台的评测包。</li>
<li>导入测试数据。</li>
<li>导入 docx、Markdown 等多种不同格式的题面,并进行简单的样例提取、表格提取等。</li>
<li>简单的题面格式检查,例如部分标点符号用法、公式用法等。</li>
<li>题面书写辅助工具,例如数据参数引用、整数公式化输出、外部文件引用等。</li>
<li>完成有关出题的其它东西</li>
</ul>
<h2 id="part-2-安装-tuack">Part 2. 安装 Tuack</h2>
<p>因为 Tuack 基于 Python 3,所以你需要事先安装 Python</p>
<h3 id="方法1pip">方法1:pip</h3>
<p>如果你安装了 Python 的包管理器 <code>pip</code>,你可以直接使用 <code>pip</code> 安装 Tuack 的最新<strong>稳定版</strong>。</p>
pip install tuack
<p>如果你没有安装 <code>pip</code>,可以使用下列方式安装:</p>
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
<h3 id="方法2setuppypip">方法2:<code>setup.py+pip</code></h3>
<p>如果你需要安装正在开发的版本,或某些原因无法使用 <code>pip</code>,可以使用这样的方法:</p>
<p>先在本地 <code>git clone</code> Tuack 原工程,或下载并解压工程。然后在本工程的主目录下运行下列命令(其中 <code>???</code> 是版本号)</p>
python setup.py sdist
pip install dist/tuack-???.tar.gz
<h3 id="方法3setuppy">方法3:<code>setup.py</code></h3>
<p>在本地 <code>git clone</code> Tuack 原工程,或下载并解压工程。然后运行</p>
python setup.py install
<p>这个方法<strong>不会</strong>自动安装依赖,因此不推荐。如果你长期使用 Tuack,并且要快速切换成最新的开发版本时可以使用这个方法。在具体的使用中你需要手动安装报错的库。</p>
<p>为了正常使用 Tuack,你可能需要手动安装如下应用:</p>
<ul>
<li>pandoc,这个工具可以转换不同的文本格式,用于输出题面。</li>
<li>\(\LaTeX\) 相关工具(如:XeLaTeX,MikTeX 等)只用于导出 pdf 格式的题面,且巨大无比,因此不预装。</li>
</ul>
<h2 id="使用方法">使用方法</h2>
<h3 id="step-1">Step 1</h3>
<p>明显地,你需要先新建一个文件夹专门用于你的比赛。</p>
<h3 id="step-2">Step 2</h3>
<p>打开 <code>cmd</code>,将操作路径改为你的比赛的路径,方法为 <code>cd <DIR></code>,<code><DIR></code> 在这里代之你的比赛文件夹的路径。</p>
<h3 id="step-3">Step 3</h3>
<p>使用 <code>python –m tuack.gen contest</code> 命令创建比赛</p>
<h3 id="step-4">Step 4</h3>
<p>使用 <code>python –m tuack.gen day day0 ...</code> 命令创建比赛日(<code></code> 指你可以额外输入 xxx 的参数,但也可以不用。这里指你可以选择创建这个比赛日,也可以不用)</p>
<h3 id="step-5">Step 5</h3>
<p>进入比赛日的文件夹,方法同 Step 2,<code><DIR></code> 在这里应该是 <code>dayX</code>,其中 <code>X</code> 是一个整数</p>
<h3 id="step-6">Step 6</h3>
<p>使用 python –m tuack.gen problem A ... 命令创建若干个分别名为 A,B,C... 的题目,其中的名字不一定要是 A B C 这些字符,但似乎(?我没测过)要用英文名</p>
<h3 id="step-7">Step 7</h3>
<p>进入题目的文件夹</p>
<h3 id="step-8">Step 8</h3>
<p>编辑 <code>statement</code> 文件夹下的 <code>zh-cn.md</code> 以修改中文题面,如果你要多语言则在 <code>statement</code> 文件夹下创建 <code>en.md</code> 表示英语题面等。可以适当看一下它的 <code>zh-cn.md</code> 里的内容,Tuack 有些东西的渲染方式和一般的 \(\mathrm{Markdown}\) 不一样。</p>
<p>放样例放在 <code>down</code> 文件夹,放表格放在 <code>tables</code> 文件夹,其它的可以参考自动生成时的 <code>zh-cn.md</code>。</p>
<h3 id="step-9">Step 9</h3>
<p>回到你的比赛总文件夹,然后使用 <code>python –m tuack.ren noi –o Linux</code> 指令渲染题面,如果不是生成 CCF 风格的题面,可以把 <code>noi</code> 换成 <code>tuoi</code>,<code>tupc</code>,<code>ccpc</code>,<code>ccc-tex</code>,<code>tuoj</code>,<code>ccc-md</code>,<code>loj</code>,<code>uoj</code>,<code>tsinsen-oj</code>,<code>thuoj</code> 之类的风格,具体可以看 官方 Wiki。对于 <code>-o</code> 后的操作系统,可以换成 <code>Linux</code>、<code>Windows</code> 和 <code>Darwin</code>(MacOS)的其中之一</p>
<h3 id="小记">小记</h3>
<p>本人也只是刚开始用 Tuack,如有误或者有待补充的地方,欢迎在评论区告知我。</p><br>来源:程序园用户自行投稿发布,如果侵权,请联系站长删除<br>免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! 新版吗?好像是停更了吧。 感谢分享,下载保存了,貌似很强大
页:
[1]