Polygen使用小结

Polygen作为Codeforces的题目管理平台,其实在各种比赛的出题工作中都有着广泛的应用。

该平台能维护题目和比赛,并直接导入到Codeforces,如果有自己架设的OJ,同样也能在生成题面/数据、做一些规范检查等方面对出题有所帮助。

 

关于题目

网上有这方面的大概资料,参考这篇文章即可 codeforces的polygon平台使用指北

 

关于比赛

先平台上新建比赛,将需要的题目和出题人拉入比赛,就可以开始制作一场比赛了。

接下来主要介绍一下如何生成题面,Polygen自带一个$Preview Statements as PDF$(预览pdf格式的题面的功能)。

主要是用平台自带的$Latex$模版来生成一套完整的比赛题面。

带有中文的题面会显示乱码或者出错,为了使它支持中文,我们需要将比赛中所有题目的$files$里的$tutorials.ftl$文件替换成如下代码:

 

\documentclass [11pt, a4paper, oneside] {article}
\usepackage {CJK}
\usepackage [T2A] {fontenc}
\usepackage [utf8] {inputenc}
\usepackage [english, russian] {babel}
\usepackage {amsmath}
\usepackage {amssymb}
\usepackage <#if contest.language?? && contest.language="russian">[russian]<#elseif contest.language?? && contest.language="ukrainian">[ukrainian]</#if>{olymp}
\usepackage {comment}
\usepackage {epigraph}
\usepackage {expdlist}
\usepackage {graphicx}
\usepackage {ulem}
\usepackage {import}
\usepackage{ifpdf}
\ifpdf
  \DeclareGraphicsRule{*}{mps}{*}{}
\fi

\begin {document}
\begin{CJK}{UTF8}{gbsn}
\contest
{${contest.name!}}%
{${contest.location!}}%
{${contest.date!}}%

\binoppenalty=10000
\relpenalty=10000

\renewcommand{\t}{\texttt}

<#if shortProblemTitle?? && shortProblemTitle>
  \def\ShortProblemTitle{}
</#if>

<#list statements as statement>
<#if statement.path??>
\graphicspath{{${statement.path}}}
<#if statement.index??>
  \def\ProblemIndex{${statement.index}}
</#if>
\import{${statement.path}}{./${statement.file}}
<#else>
\input ${statement.file}
</#if>
</#list>
\end{CJK}
\end {document}

 

接下来比赛还需要一个封面,这个可以直接修改$constest$的$Properties/Files$中的$statements.ftl$文件。

 

比如我们可以简单地在$\begin{document}$之后加入如下代码来增加一个封面。

\title{\Huge\textbf{{{ The Test Contest }}}}
\date{}
\author {Test University }
\maketitle
\includegraphics[width=7in]{statements-logo.png}

这里的封面有比赛名,作者,logo。

值得注意的是如果需要导入图片需要在$Properties/Files$中上传(题目中的图片同理)。

 

总的来说,主要还是用$Latex$模版来生成题面,需要做一些修改就学着去改$Latex$即可。

最后的效果如图:

 

如果需要对封面再进行一些设计,我推荐直接使用$Photoshop$进行编辑。

比如这样:

posted @ 2020-05-26 22:30  BiteTheDDDDt  阅读(1018)  评论(0编辑  收藏  举报