zoukankan      html  css  js  c++  java
  • 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$进行编辑。

    比如这样:

  • 相关阅读:
    网络配置
    mysql和mongodb的区别
    HTTP和HTTPS
    网络架构/结构
    SKU和SPU表的设计
    第三方-FastDFS分布式文件系统
    并发和并行
    多任务-线程、进程、协程的一些见解
    多任务-协程
    多任务-协程之生成器
  • 原文地址:https://www.cnblogs.com/bitetheddddt/p/12969167.html
Copyright © 2011-2022 走看看