diff --git a/packages/preview/ustc-proposal/0.0.1/.github/workflows/main.yml b/packages/preview/ustc-proposal/0.0.1/.github/workflows/main.yml
new file mode 100644
index 0000000000..7dde4c7fcf
--- /dev/null
+++ b/packages/preview/ustc-proposal/0.0.1/.github/workflows/main.yml
@@ -0,0 +1,49 @@
+---
+"on":
+ push:
+ paths-ignore:
+ - "**.md"
+ pull_request:
+ paths-ignore:
+ - "**.md"
+ workflow_dispatch:
+
+permissions:
+ contents: write
+
+jobs:
+ deploy:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: typst-community/setup-typst@v3
+ - uses: actions/checkout@v4
+ with:
+ repository: chengda/popular-fonts
+ path: fonts/popular-fonts
+ - uses: actions/checkout@v4
+ with:
+ repository: StellarCN/scp_zh
+ path: fonts/scp_zh
+ - uses: actions/checkout@v4
+ with:
+ repository: siaimes/pytorch
+ path: fonts/pytorch
+ - uses: actions/checkout@v4
+ with:
+ repository: Kangzhengwei/androidFront
+ path: fonts/androidFront
+ - run: |
+ sudo apt-get -y update
+ sudo apt-get -y install fonts-font-awesome
+ mkdir -p ~/.local/share/typst/packages/preview/ustc-proposal
+ mv fonts ~/.local/share
+ ln -s "$PWD" ~/.local/share/typst/packages/preview/ustc-proposal/0.0.1
+ typst compile template/main.typ
+ - uses: actions/upload-artifact@v4
+ with:
+ path: ./*.pdf
+ - uses: softprops/action-gh-release@v2
+ if: github.ref_type == 'tag'
+ with:
+ files: ./*.pdf
diff --git a/packages/preview/ustc-proposal/0.0.1/.pre-commit-config.yaml b/packages/preview/ustc-proposal/0.0.1/.pre-commit-config.yaml
new file mode 100644
index 0000000000..1ff0669cfa
--- /dev/null
+++ b/packages/preview/ustc-proposal/0.0.1/.pre-commit-config.yaml
@@ -0,0 +1,74 @@
+---
+repos:
+ - repo: https://github.com/pre-commit/pre-commit-hooks
+ rev: v5.0.0
+ hooks:
+ - id: check-added-large-files
+ - id: fix-byte-order-marker
+ - id: check-case-conflict
+ - id: check-shebang-scripts-are-executable
+ - id: check-merge-conflict
+ - id: trailing-whitespace
+ - id: mixed-line-ending
+ - id: end-of-file-fixer
+ - id: detect-private-key
+ - id: check-symlinks
+ - id: check-ast
+ - id: debug-statements
+ - id: requirements-txt-fixer
+ - id: check-xml
+ - id: check-yaml
+ - id: check-toml
+ - id: check-json
+ - repo: https://github.com/Lucas-C/pre-commit-hooks
+ rev: v1.5.5
+ hooks:
+ - id: remove-crlf
+ - repo: https://github.com/codespell-project/codespell
+ rev: v2.4.1
+ hooks:
+ - id: codespell
+ additional_dependencies:
+ - tomli
+ - repo: https://github.com/jorisroovers/gitlint
+ rev: v0.19.1
+ hooks:
+ - id: gitlint
+ args:
+ - --msg-filename
+ - repo: https://github.com/editorconfig-checker/editorconfig-checker.python
+ rev: 3.2.1
+ hooks:
+ - id: editorconfig-checker
+ - repo: https://github.com/jumanjihouse/pre-commit-hooks
+ rev: 3.0.0
+ hooks:
+ - id: check-mailmap
+ - repo: https://github.com/rhysd/actionlint
+ rev: v1.7.7
+ hooks:
+ - id: actionlint
+ - repo: https://github.com/adrienverge/yamllint
+ rev: v1.37.0
+ hooks:
+ - id: yamllint
+ - repo: https://github.com/executablebooks/mdformat
+ rev: 0.7.22
+ hooks:
+ - id: mdformat
+ additional_dependencies:
+ - mdformat-pyproject
+ - mdformat-gfm
+ - mdformat-myst
+ - mdformat-toc
+ - mdformat-deflist
+ # - mdformat-beautysh
+ - mdformat-ruff
+ - mdformat-config
+ - mdformat-web
+ - repo: https://github.com/DavidAnson/markdownlint-cli2
+ rev: v0.17.2
+ hooks:
+ - id: markdownlint-cli2
+ additional_dependencies:
+ - markdown-it-texmath
diff --git a/packages/preview/ustc-proposal/0.0.1/LICENSE b/packages/preview/ustc-proposal/0.0.1/LICENSE
new file mode 100644
index 0000000000..f288702d2f
--- /dev/null
+++ b/packages/preview/ustc-proposal/0.0.1/LICENSE
@@ -0,0 +1,674 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc.
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+
+ Copyright (C)
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ Copyright (C)
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+.
+
+ The GNU General Public License does not permit incorporating your program
+into proprietary programs. If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License. But first, please read
+.
diff --git a/packages/preview/ustc-proposal/0.0.1/README.md b/packages/preview/ustc-proposal/0.0.1/README.md
new file mode 100644
index 0000000000..8524ce1a4f
--- /dev/null
+++ b/packages/preview/ustc-proposal/0.0.1/README.md
@@ -0,0 +1,67 @@
+# USTC proposal
+
+[](https://results.pre-commit.ci/latest/github/ustctug/ustc-proposal/main)
+[](https://github.com/ustctug/ustc-proposal/actions)
+
+[](https://github.com/ustctug/ustc-proposal/releases)
+[](https://github.com/ustctug/ustc-proposal/releases/latest)
+[](https://github.com/ustctug/ustc-proposal/issues)
+[](https://github.com/ustctug/ustc-proposal/issues?q=is%3Aissue+is%3Aclosed)
+[](https://github.com/ustctug/ustc-proposal/pulls)
+[](https://github.com/ustctug/ustc-proposal/pulls?q=is%3Apr+is%3Aclosed)
+[](https://github.com/ustctug/ustc-proposal/discussions)
+[](https://github.com/ustctug/ustc-proposal/milestones)
+[](https://github.com/ustctug/ustc-proposal/network/members)
+[](https://github.com/ustctug/ustc-proposal/stargazers)
+[](https://github.com/ustctug/ustc-proposal/watchers)
+[](https://github.com/ustctug/ustc-proposal/graphs/contributors)
+[](https://github.com/ustctug/ustc-proposal/graphs/commit-activity)
+[](https://github.com/ustctug/ustc-proposal/commits)
+[](https://github.com/ustctug/ustc-proposal/releases/latest)
+
+[](https://github.com/ustctug/ustc-proposal/blob/main/LICENSE)
+[](https://github.com/ustctug/ustc-proposal)
+[](https://github.com/ustctug/ustc-proposal)
+[](https://github.com/ustctug/ustc-proposal)
+[](https://github.com/ustctug/ustc-proposal)
+[](https://github.com/ustctug/ustc-proposal)
+[](https://github.com/ustctug/ustc-proposal)
+
+
+
+## Dependencies
+
+- [typst](https://github.com/typst/typst) `>= 0.13.0`
+
+## Usage
+
+```sh
+typst init @preview/ustc-proposal
+```
+
+## Development
+
+```sh
+mkdir -p ~/.local/share/typst/packages/preview/ustc-proposal
+cd ~/.local/share/typst/packages/preview/ustc-proposal
+git clone --depth=1 https://github.com/ustctug/ustc-proposal 0.0.X
+cd 0.0.X/template
+```
+
+## Release
+
+```sh
+git clone --depth=1 https://github.com/typst/packages
+cd package
+cp -r ~/.local/share/typst/packages/preview/ustc-proposal packages/preview
+rm -rf packages/preview/ustc-proposal/*/.git
+git add -A
+git commit -mustc-proposal:0.0.X
+```
+
+## Related Projects
+
+### USTC proposal template
+
+- [docx](https://cicpi.ustc.edu.cn/indico/conferenceDisplay.py?confId=971)
+- [LaTeX](https://github.com/ustctug/thesis_proposal_ustc)
diff --git a/packages/preview/ustc-proposal/0.0.1/lib.typ b/packages/preview/ustc-proposal/0.0.1/lib.typ
new file mode 100644
index 0000000000..ec918cb8b8
--- /dev/null
+++ b/packages/preview/ustc-proposal/0.0.1/lib.typ
@@ -0,0 +1,413 @@
+#import "@preview/cuti:0.3.0": show-cn-fakebold
+#import "@preview/fontawesome:0.5.0": fa-icon
+
+//- path (yaml): your published papers' yaml
+#let display-bibliography(yaml) = for (lbl, _) in yaml {
+ block[#cite(label(lbl), form: "full")]
+}
+
+//- text (string): add an underline under it
+#let underline(text) = {
+ text
+ v(-1em)
+ line(length: 100%, stroke: 1pt)
+}
+
+//- candidates (string[]): candidates
+//- check-index (integer): index of selected candidate
+#let check-square(candidates, check-index) = (
+ candidates
+ .enumerate()
+ .map(((index, element)) => [#fa-icon(int((index == check-index)) * "check-" + "square", solid: false) #element])
+ .join(h(1em))
+)
+
+//- id (string): Chinese citizens id
+#let get-gender-from-id(id) = if calc.odd(int(id.at(16))) { "男" } else { "女" }
+//- id (string): Chinese citizens id
+#let get-birth-date-from-id(id) = datetime(
+ year: int(id.slice(6, 10)),
+ month: int(id.slice(10, 12)),
+ day: int(id.slice(12, 14)),
+)
+//- id (string): student id
+#let get-admission-date-from-student-id(id) = datetime(year: 2000 + int(id.slice(2, 4)), month: 9, day: 1)
+// https://www.ustcif.org.cn/default.php/content/2420/
+//- SB: major scholar
+//- BE: engineering bachelor
+//- id (string): student id
+#let is-doctor-from-student-id(id) = id.at(0) == "B"
+//- SA: academic scholar
+//- BA: academic bachelor
+//- id (string): student id
+#let is-academic-from-student-id(id) = id.at(1) == "A"
+//- SD: 在职硕士
+//- BD: 在职博士
+//- id (string): student id
+#let is-work-from-student-id(id) = id.at(1) == "D"
+//- id (string): student id
+#let get-student-class-from-student-id(id) = (
+ 2 * int(is-doctor-from-student-id(id)) + int(not is-academic-from-student-id(id))
+)
+// https://www.teach.ustc.edu.cn/education/239.html
+#let colleges = (
+ "000": "少年班学院",
+ "001": "数学科学学院",
+ "002": "物理系",
+ "003": "化学物理系",
+ "004": "近代物理系",
+ "005": "近代力学系",
+ "006": "电子工程与信息科学系",
+ "008": "分子生物学与细胞生物学系",
+ "009": "精密机械与精密仪器系",
+ "010": "自动化系",
+ "011": "计算机科学与技术系",
+ "012": "应用化学系",
+ "013": "热科学和能源工程系",
+ "014": "材料科学与工程系",
+ "015": "工商管理系",
+ "016": "管理科学系",
+ "017": "统计与金融系",
+ "018": "外语系",
+ "019": "化学系",
+ "020": "高分子科学与工程",
+ "021": "神经生物学与生物物理学系",
+ "022": "天文学系",
+ "023": "电子科学与技术系",
+ "024": "科技史与科技考古系",
+ "025": "科技传播系",
+ "026": "人工智能专业",
+ "030": "安全科学与工程系",
+ "031": "系统生物学系",
+ "032": "医药生物技术系",
+ "033": "信息安全专业",
+ "038": "光学与光学工程系",
+ "045": "数学系",
+ "046": "计算与应用数学系",
+ "047": "概率统计系",
+ "048": "工程与应用物理系",
+ "051": "加速器科学与工程物理系",
+ "052": "等离子体物理与聚变工程系",
+ "053": "核科学与工程系",
+ "071": "地球物理与空间科学技术系",
+ "072": "地球化学与环境科学系",
+ "203": "物理学院",
+ "204": "管理学院",
+ "206": "化学与材料科学学院",
+ "207": "生命科学学院",
+ "208": "地球和空间科学学院",
+ "209": "工程科学学院",
+ "210": "信息科学技术学院",
+ "211": "人文与社会科学学院",
+ "214": "核科学技术学院",
+ "215": "计算机科学与技术学院",
+ "218": "先进技术研究院",
+ "219": "微电子学院",
+ "221": "网络空间安全学院",
+ "225": "软件学院",
+ "229": "人工智能与数据科学学院",
+ "240": "环境科学与工程系",
+ "910": "生命科学与医学部",
+ "913": "临床医学院",
+ "920": "信息与智能学部",
+ "999": "未来技术学院",
+)
+//- id (string): student id
+#let get-college-from-student-id(id) = colleges.at(id.slice(4, 7))
+
+//- titles (string[]): split the too long title to many parts
+//- author (string): your name
+//- student-id (string): your admission date and college will be known here
+//- teachers (string[]): 1st teacher is your tutor, 2nd is your practical teacher
+//- major (string): refer http://www.moe.gov.cn/srcsite/A08/moe_1034/s4930/202403/W020240319305498791768.pdf
+//- field (string): your field name
+//- date (datetime): date when you finish your proposal
+//- id (string): your Chinese citizens id. no verify like https://github.com/jealyn/idcard-verify
+//- english-title (string): English translation of `titles.join()`
+//- abstract (content): abstract of your paper
+//- keywords (string[]): 3 keywords of your paper
+//- english-keywords (string[]): English translation of `keywords`
+//- publication-bibliography (yaml | none): the bibliography of your publications
+//- signature (boolean): signature automatically
+//- research-project (string): your tutor's research project name
+//- secret-level (0 | 1 | 2 | 3): no secret | confidential | secret | top secret
+//- body (content): the content of the proposal
+#let project(
+ titles: ("基于 typst 的", "USTC 开题报告模板的开发研究"),
+ author: "君の名前",
+ student-id: "BA21001001",
+ teachers: ("指导教师", "实践导师"),
+ major: "学科专业",
+ field: "研究方向",
+ date: datetime.today(),
+ id: "11234519700101123X",
+ english-title: "USTC Proposal Development Research Based on Typst",
+ abstract: [摘要一般不分段。如果分段,可以按照研究意义、拟开展的研究内容分两段。
+
+ 不论是否分段,都应围绕研究意义、拟开展的研究内容撰写,两段的长度基本相当。整个摘要1000字以内。],
+ keywords: ("一", "二", "三"),
+ english-keywords: ("one", "two", "three"),
+ publication-bibliography: none,
+ signature: true,
+ research-project: "请找导师获得项目信息",
+ secret-level: 0,
+ body,
+) = {
+ assert(keywords.len() < 4 and english-keywords.len() < 4, message: "keywords must < 3!")
+ let cn-title = titles.join()
+
+ show: show-cn-fakebold
+ show heading: set text(size: 10.5pt, weight: "regular")
+ show heading.where(level: 1): set text(font: "SimHei", size: 15pt)
+
+ set bibliography(title: none, style: "gb-7714-2015-numeric")
+ set par(first-line-indent: (amount: 2em, all: true))
+ set image(width: 50%)
+ set document(title: cn-title, author: author)
+ set text(font: ("Times New Roman", "SimSun"), size: 10.5pt, lang: "zh")
+ set enum(numbering: "1.a.i.")
+ set page(numbering: "1")
+ set heading(
+ numbering: (
+ (..args) => if args.pos().len() == 1 {
+ numbering("一.", ..args)
+ } else {
+ numbering("1.1.", ..args)
+ }
+ ),
+ )
+
+ align(center)[
+ #set text(font: "STXingkai", size: 22pt)
+ #v(1em)
+ 中国科学技术大学
+
+ #set text(font: "SimHei", size: 26pt)
+ 研究生学位论文开题报告
+
+ #v(2em)
+ #set text(font: "SimSun", size: 22pt)
+ #table(
+ columns: (30%, 100% - 30%),
+ rows: 1.625em,
+ align: (right, center),
+ stroke: none,
+ [论文题目], underline(titles.at(0)),
+ ..titles.slice(1).map(text => ([], underline(text))).flatten(),
+ [学生姓名], underline(author),
+ [学生学号], underline(student-id),
+ [指导教师], underline(teachers.at(0)),
+ ..(if teachers.len() > 1 { ([实践导师], underline(teachers.at(1))) } else { () }),
+ [所在院系], underline(get-college-from-student-id(student-id)),
+ [学科专业], underline(major),
+ [研究方向], underline(field),
+ [填表日期], underline(date.display("[year]年[month]月[day]日")),
+ )
+
+ #v(1em)
+ #set text(font: "STKaiti", size: 15pt)
+ 中国科学技术大学研究生院培养办公室
+
+ 二零二四年六月 制表
+ ]
+ pagebreak()
+
+ align(center)[
+ #set text(font: "SimSun", size: 22pt)
+ #v(1em)
+ *说 明*
+ #v(2em)
+ #set align(left)
+ #set text(font: "STKaiti", size: 18pt, spacing: 18pt)
+ + 抓好研究生学位论文开题报告工作是保证学位论文质量的一个重要环节。为加强对研究生培养的过程管理,规范研究生学位论文的开题报告,特印发此表。
+
+ + 研究生一般应在课程学习结束之后的第一个学期内主动与导师协商,完成学位论文的开题报告。
+
+ + 研究生需在学科点内报告,听取意见,进行论文开题论证。
+
+ + 研究生论文开题论证通过后,在本表末签名后将此表交所在学院教学办公室备查。
+ ]
+ pagebreak()
+
+ [= 简况
+ #table(
+ inset: 0pt,
+ columns: (1.5em, 100% - 1.5em),
+ rows: (12em, 52.93em),
+ align: center + horizon,
+ [研究生简介],
+ table(
+ inset: 0pt,
+ rows: 1fr,
+ table(
+ columns: (13%, 100% - 13% * 3 - 20% * 2, 13%, 20%, 13%, 20%),
+ rows: 1fr,
+ [姓 名], author, [学 号], student-id, [出生年月], get-birth-date-from-id(id).display("[year]年[month]月"),
+ ),
+ table(
+ columns: (13%, 7%, 100% - 13% - 7% - 66%, 66%),
+ rows: 1fr,
+ [性 别], get-gender-from-id(id), [身份证号], id,
+ ),
+ table(
+ columns: (13%, 100% - 13% - 20% - 33%, 20%, 33%),
+ rows: 1fr,
+ [入学时间],
+ get-admission-date-from-student-id(student-id).display("[year]年[month]月"),
+ [培养方式],
+ check-square(([脱产], [不脱产]), int(is-work-from-student-id(student-id))),
+ ),
+ table(
+ columns: (20%, 100% - 20%),
+ rows: 1fr,
+ [学生类别],
+ check-square(([学术硕士], [专业硕士], [学术博士], [专业博士]), get-student-class-from-student-id(student-id)),
+ ),
+ ),
+
+ [论文内容和意义],
+ table(
+ inset: 0pt,
+ columns: (1.5em, 100% - 1.5em),
+ rows: (6em, 100% - 15em, 9em),
+ [题目],
+ table(
+ columns: (12%, 100% - 12%),
+ rows: 1fr,
+ [中文], cn-title,
+ [英文], english-title,
+ ),
+
+ [摘要], box(align(abstract, left + top), height: 100%, width: 100%, inset: 5pt),
+ [主题词],
+ table(
+ inset: 0pt,
+ rows: (1fr, 2fr),
+ [主题词数量不多于三个,主题词之间空一格(英文用“/ ”分隔)],
+ table(
+ columns: (12%, 100% - 12%),
+ rows: 1fr,
+ [中文], keywords.join([ ]),
+ [英文], english-keywords.join([ \/ ]),
+ ),
+ ),
+ ),
+ )
+ ]
+ if publication-bibliography != none {
+ // force your publications preceder than others
+ box(display-bibliography(publication-bibliography), height: 0em, clip: true)
+ }
+
+ let headings = ()
+ for child in body.children {
+ if child.func() == heading and child.depth == 1 {
+ if headings.len() > 0 and headings.last().elems.len() == 0 {
+ headings.last().elems.push(parbreak())
+ }
+ headings.push((heading: child, elems: ()))
+ } else if headings.len() != 0 {
+ headings.last().elems.push(child)
+ }
+ }
+
+ for section in headings {
+ section.heading
+ table(
+ columns: 100%,
+ for elem in section.elems { elem },
+ )
+ }
+
+ align(
+ box[
+ 研究生本人签名:
+ #box(width: 10em)[
+ #set align(center)
+ #underline(if signature {
+ set text(font: "FZJingLeiS-R-GB", style: "italic")
+ author
+ } else [ ])]
+
+ #date.display("[year]年[month]月[day]日")
+ ],
+ right + bottom,
+ )
+ pagebreak(to: "odd")
+
+ align(center)[
+ #v(3em)
+ 中国科学技术大学研究生学位论文开题报告评审表
+
+ #set text(font: "SimHei")
+ #table(
+ inset: 0pt,
+ rows: (5em, 7.5em, 5em, 2.5em, 17.5em, 10em, 10em),
+ align: center + horizon,
+ table(
+ columns: (13%, 17%, 12%, 21%, 12%, 25%),
+ rows: 1fr,
+ [姓 名], author, [学 号], student-id, [所在院系], get-college-from-student-id(student-id),
+ [学科/专业], major, [研究方向], field, [指导教师], teachers.at(0),
+ ),
+ table(
+ columns: (30%, 100% - 30%),
+ rows: 1fr,
+ [学生类别],
+ check-square(([学术硕士], [专业硕士], [学术博士], [专业博士]), get-student-class-from-student-id(student-id)),
+
+ [拟撰写的学位论文题目], cn-title,
+ [支持论文研究的科研项目], research-project,
+ ),
+ table(
+ inset: 0pt,
+ columns: (13%, 100% - 13% - 10% - 15%, 8%, 17%),
+ rows: 1fr,
+ [学位论文
+
+ 是否保密],
+ table(
+ align: left,
+ columns: 1fr,
+ rows: 1fr,
+ [1.不保密(#{if secret-level == 0 {fa-icon("check-square", solid: false)} else [ ]})],
+ [2.保密 (#{if secret-level > 0 {fa-icon("check-square", solid: false)} else [ ]}) 密级:绝密(#{if secret-level == 3 {fa-icon("check-square", solid: false)} else [ ]})、机密(#{if secret-level == 2 {fa-icon("check-square", solid: false)} else [ ]})、秘密(#{if secret-level == 1 {fa-icon("check-square", solid: false)} else [ ]})],
+ ),
+ [导师
+
+ 签字],
+ ),
+ [开题报告评审组成员名单],
+ {
+ set text(font: "SimSun")
+ table(
+ columns: (20%, 15%, 100% - 20% - 15% - 25%, 25%),
+ rows: 7 * (1fr,),
+ [姓名], [职称], [工作单位], [签名],
+ )
+ },
+ box(height: 100%, width: 100%, inset: 5pt)[
+ #set text(font: "SimSun")
+ #align(left + top)[
+ 指导教师意见:
+ ]
+ #align(right + bottom)[
+ 指导教师签字: 实践导师签字(专业学位硕博生须签字): // keep spaces
+
+ 年 月 日
+ ]
+ ],
+ box(height: 100%, width: 100%, inset: 5pt)[
+ #set text(font: "SimSun")
+ #align(left + top)[
+ 评审小组意见:(是否通过开题论证,是否需要修改等)
+ ]
+ #align(right + bottom)[
+ 评审小组组长签字: // keep spaces
+
+ 年 月 日
+ ]
+ ]
+ )
+ ]
+}
diff --git a/packages/preview/ustc-proposal/0.0.1/pyproject.toml b/packages/preview/ustc-proposal/0.0.1/pyproject.toml
new file mode 100644
index 0000000000..2c08ec2873
--- /dev/null
+++ b/packages/preview/ustc-proposal/0.0.1/pyproject.toml
@@ -0,0 +1,5 @@
+[tool.mdformat]
+number = true
+
+[tool.codespell]
+ignore-words-list = "sist"
diff --git a/packages/preview/ustc-proposal/0.0.1/template/.gitignore b/packages/preview/ustc-proposal/0.0.1/template/.gitignore
new file mode 100644
index 0000000000..a136337994
--- /dev/null
+++ b/packages/preview/ustc-proposal/0.0.1/template/.gitignore
@@ -0,0 +1 @@
+*.pdf
diff --git a/packages/preview/ustc-proposal/0.0.1/template/README.md b/packages/preview/ustc-proposal/0.0.1/template/README.md
new file mode 100644
index 0000000000..1088001bb1
--- /dev/null
+++ b/packages/preview/ustc-proposal/0.0.1/template/README.md
@@ -0,0 +1,17 @@
+# My proposal
+
+## Dependencies
+
+- [华文字体](https://github.com/chengda/popular-fonts)
+- [中易字体](https://github.com/StellarCN/scp_zh/tree/master/fonts)
+- [方正字体](https://github.com/Kangzhengwei/androidFront)
+- [Times New Roman](https://github.com/siaimes/pytorch/tree/main/fonts)
+- [font-awesome](https://github.com/FortAwesome/Font-Awesome)
+
+## Build
+
+```sh
+nix run '.#build'
+# Or download all required fonts, then
+typst compile main.typ
+```
diff --git a/packages/preview/ustc-proposal/0.0.1/template/figures/digraph.gv b/packages/preview/ustc-proposal/0.0.1/template/figures/digraph.gv
new file mode 100644
index 0000000000..bf7fc60aa9
--- /dev/null
+++ b/packages/preview/ustc-proposal/0.0.1/template/figures/digraph.gv
@@ -0,0 +1,3 @@
+digraph {
+ "撰写开题报告" -> "导师完成评审表" -> "组织评审小组" -> "开题报告答辩" -> "修改定稿" -> "学科负责人签字确认"
+}
diff --git a/packages/preview/ustc-proposal/0.0.1/template/flake.lock b/packages/preview/ustc-proposal/0.0.1/template/flake.lock
new file mode 100644
index 0000000000..a0e03efa30
--- /dev/null
+++ b/packages/preview/ustc-proposal/0.0.1/template/flake.lock
@@ -0,0 +1,167 @@
+{
+ "nodes": {
+ "flake-utils": {
+ "inputs": {
+ "systems": "systems"
+ },
+ "locked": {
+ "lastModified": 1731533236,
+ "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "type": "github"
+ }
+ },
+ "fonts-androidFront": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1576222728,
+ "narHash": "sha256-MK7ueZD0a+90pKAOQNy1Ts19rP3bXpAVW+SXjd6lDpE=",
+ "owner": "Kangzhengwei",
+ "repo": "androidFront",
+ "rev": "8322ad41eea34d9a421ac063b365e6a2778ca98a",
+ "type": "github"
+ },
+ "original": {
+ "owner": "Kangzhengwei",
+ "repo": "androidFront",
+ "type": "github"
+ }
+ },
+ "fonts-popular-fonts": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1563726253,
+ "narHash": "sha256-fr1ltK9gYZtek7zeIqouBjS0NcZyjwqOKHKlCXlubSU=",
+ "owner": "chengda",
+ "repo": "popular-fonts",
+ "rev": "84e662179a1082eed4122de9bb66f0efa4028840",
+ "type": "github"
+ },
+ "original": {
+ "owner": "chengda",
+ "repo": "popular-fonts",
+ "type": "github"
+ }
+ },
+ "fonts-pytorch": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1721185688,
+ "narHash": "sha256-w+/GWbDowUTJtOvQKp9c4vZ4e3ZvJFoz4QF5KD4lZLg=",
+ "owner": "siaimes",
+ "repo": "pytorch",
+ "rev": "70ca4e6993f6fcad511cba06296b534a362078d3",
+ "type": "github"
+ },
+ "original": {
+ "owner": "siaimes",
+ "repo": "pytorch",
+ "type": "github"
+ }
+ },
+ "fonts-scp_zh": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1449163522,
+ "narHash": "sha256-CSWrqmN9uuEoR1nOToSX3ouOkcgKVRirmG3mlZPkZsA=",
+ "owner": "StellarCN",
+ "repo": "scp_zh",
+ "rev": "27216301d7a233296b0a744a16445c037f2d3c16",
+ "type": "github"
+ },
+ "original": {
+ "owner": "StellarCN",
+ "repo": "scp_zh",
+ "type": "github"
+ }
+ },
+ "nixpkgs": {
+ "locked": {
+ "lastModified": 1739214665,
+ "narHash": "sha256-26L8VAu3/1YRxS8MHgBOyOM8xALdo6N0I04PgorE7UM=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "64e75cd44acf21c7933d61d7721e812eac1b5a0a",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixos-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "root": {
+ "inputs": {
+ "flake-utils": "flake-utils",
+ "fonts-androidFront": "fonts-androidFront",
+ "fonts-popular-fonts": "fonts-popular-fonts",
+ "fonts-pytorch": "fonts-pytorch",
+ "fonts-scp_zh": "fonts-scp_zh",
+ "nixpkgs": "nixpkgs",
+ "typix": "typix",
+ "typst-packages": "typst-packages"
+ }
+ },
+ "systems": {
+ "locked": {
+ "lastModified": 1681028828,
+ "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+ "owner": "nix-systems",
+ "repo": "default",
+ "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-systems",
+ "repo": "default",
+ "type": "github"
+ }
+ },
+ "typix": {
+ "inputs": {
+ "nixpkgs": [
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1738982361,
+ "narHash": "sha256-QWDOo/+9pGu63knSlrhPiESSC+Ij/QYckC3yH8QPK4k=",
+ "owner": "loqusion",
+ "repo": "typix",
+ "rev": "bdb42d3e9a8722768e2168e31077129207870f92",
+ "type": "github"
+ },
+ "original": {
+ "owner": "loqusion",
+ "repo": "typix",
+ "type": "github"
+ }
+ },
+ "typst-packages": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1739435178,
+ "narHash": "sha256-5xFuPW46B2GJ4VXCoctAupLl7yBo2yn5tCK5mshFC94=",
+ "owner": "typst",
+ "repo": "packages",
+ "rev": "64879400e1ab47efe7309bb0113a7af6e2499515",
+ "type": "github"
+ },
+ "original": {
+ "owner": "typst",
+ "repo": "packages",
+ "type": "github"
+ }
+ }
+ },
+ "root": "root",
+ "version": 7
+}
diff --git a/packages/preview/ustc-proposal/0.0.1/template/flake.nix b/packages/preview/ustc-proposal/0.0.1/template/flake.nix
new file mode 100644
index 0000000000..e56a4f2bf7
--- /dev/null
+++ b/packages/preview/ustc-proposal/0.0.1/template/flake.nix
@@ -0,0 +1,143 @@
+{
+ description = "ustc-proposal";
+
+ inputs = {
+ nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
+
+ typix = {
+ url = "github:loqusion/typix";
+ inputs.nixpkgs.follows = "nixpkgs";
+ };
+
+ flake-utils.url = "github:numtide/flake-utils";
+
+ typst-packages = {
+ url = "github:typst/packages";
+ flake = false;
+ };
+
+ fonts-popular-fonts = {
+ url = "github:chengda/popular-fonts";
+ flake = false;
+ };
+
+ fonts-scp_zh = {
+ url = "github:StellarCN/scp_zh";
+ flake = false;
+ };
+
+ fonts-pytorch = {
+ url = "github:siaimes/pytorch";
+ flake = false;
+ };
+
+ fonts-androidFront = {
+ url = "github:Kangzhengwei/androidFront";
+ flake = false;
+ };
+ };
+
+ outputs =
+ inputs@{
+ nixpkgs,
+ typix,
+ flake-utils,
+ ...
+ }:
+ flake-utils.lib.eachDefaultSystem (
+ system:
+ let
+ pkgs = nixpkgs.legacyPackages.${system};
+ typixLib = typix.lib.${system};
+
+ src = typixLib.cleanTypstSource ./.;
+ commonArgs = {
+ typstSource = "main.typ";
+
+ fontPaths = [
+ "${pkgs.font-awesome}/share/fonts/opentype"
+ "${inputs.fonts-popular-fonts}"
+ "${inputs.fonts-scp_zh}/fonts"
+ "${inputs.fonts-pytorch}/fonts"
+ "${inputs.fonts-androidFront}"
+ ];
+
+ virtualPaths = [
+ # Add paths that must be locally accessible to typst here
+ # {
+ # dest = "icons";
+ # src = "${inputs.font-awesome}/svgs/regular";
+ # }
+ ];
+ };
+ typstPackagesSrc = pkgs.symlinkJoin {
+ name = "typst-packages-src";
+ paths = [
+ "${inputs.typst-packages}/packages"
+ # More Typst packages can be added here
+ ];
+ };
+ typstPackagesCache = pkgs.stdenvNoCC.mkDerivation {
+ name = "typst-packages-cache";
+ src = typstPackagesSrc;
+ dontBuild = true;
+ installPhase = ''
+ mkdir -p "$out/typst/packages"
+ cp -LR --reflink=auto --no-preserve=mode -t "$out/typst/packages" "$src"/*
+ '';
+ };
+
+ # Compile a Typst project, *without* copying the result
+ # to the current directory
+ build-drv = typixLib.buildTypstProject (
+ commonArgs
+ // {
+ inherit src;
+ XDG_CACHE_HOME = typstPackagesCache;
+ }
+ );
+
+ # Compile a Typst project, and then copy the result
+ # to the current directory
+ build-script = typixLib.buildTypstProjectLocal (
+ commonArgs
+ // {
+ inherit src;
+ XDG_CACHE_HOME = typstPackagesCache;
+ }
+ );
+
+ # Watch a project and recompile on changes
+ watch-script = typixLib.watchTypstProject commonArgs;
+ in
+ {
+ checks = {
+ inherit build-drv build-script watch-script;
+ };
+
+ packages.default = build-drv;
+
+ apps = rec {
+ default = watch;
+ build = flake-utils.lib.mkApp {
+ drv = build-script;
+ };
+ watch = flake-utils.lib.mkApp {
+ drv = watch-script;
+ };
+ };
+
+ devShells.default = typixLib.devShell {
+ inherit (commonArgs) fontPaths virtualPaths;
+ packages = [
+ # WARNING: Don't run `typst-build` directly, instead use `nix run .#build`
+ # See https://github.com/loqusion/typix/issues/2
+ # build-script
+ watch-script
+ # More packages can be added here, like typstfmt
+ # pkgs.typstfmt
+ ];
+ };
+ }
+ );
+}
diff --git a/packages/preview/ustc-proposal/0.0.1/template/images/thumbnail.png b/packages/preview/ustc-proposal/0.0.1/template/images/thumbnail.png
new file mode 100644
index 0000000000..65527913f0
Binary files /dev/null and b/packages/preview/ustc-proposal/0.0.1/template/images/thumbnail.png differ
diff --git a/packages/preview/ustc-proposal/0.0.1/template/main.typ b/packages/preview/ustc-proposal/0.0.1/template/main.typ
new file mode 100644
index 0000000000..f9f97041f7
--- /dev/null
+++ b/packages/preview/ustc-proposal/0.0.1/template/main.typ
@@ -0,0 +1,336 @@
+#import "@preview/ustc-proposal:0.0.1": project, display-bibliography
+#import "@preview/diagraph:0.3.3": render
+
+#let publication-bibliography = "references/my.yml"
+
+#show: project.with(publication-bibliography: yaml(publication-bibliography))
+
+= 选题依据
+阐述该选题的研究意义,分析该研究课题国内外研究的概况和发展趋势。
+
+这部分可以配图表,图表都应编号。十分必要的情况下可以配公式(但不建议)。
+
+一般分成两小节:
+
+== 研究意义
+*1.5\~3 页*
+
+#[
+ #align(center)[*研究生开题报告流程* @procedures]
+ #set enum(
+ full: true,
+ numbering: (..args) => if args.pos().len() == 1 {
+ numbering("1.", args.pos().last())
+ } else if args.pos().len() == 2 {
+ numbering("(1)", args.pos().last())
+ },
+ )
+
+ + 在导师指导下,学生撰写《研究生学位论文开题报告》,报告模板可从以下网址 @docx 下载: http://cicpi.ustc.edu.cn/indico/conferenceDisplay.py?confId=971
+ + 《研究生学位论文开题报告》须由导师审核通过,导师将评审意见写入《研究生学位论文开题报告评审表》,评审表可从以上相同网址下载。
+ + 组织本学科及相关学科的专家 5 人以上(其中教授/研究员不少于 3 人),形成开题报告评审小组,并任命组长。安排一名开题报告秘书,负责记录和录入工作。
+ + 进行开题报告答辩
+ + 学生提前准备时长为 30 分钟的答辩报告(ppt),并打印《研究生学位论文开题报告》。
+ + 为评审小组每人分发一份《研究生学位论文开题报告》。
+ + 导师宣布开题报告评审小组成员及组长,随后评审小组组长主持开题报告答辩。
+ + 学生进行开题论证报告,时间 30 分钟。
+ + 进入提问答辩环节,时间至少 15 分钟。开题报告秘书对提出的主要问题、各种意见和建议进行记录。
+ + 学生和所有听众退场,评审小组讨论,导师介绍情况,评审小组从选题的科学意义、文献调研、研究内容和方法、课题研究创新性、进度安排,以及语言表达、书面写作、问题回答等多方面进行考核,最终形成评审意见,并将评审意见写入《研究生学位论文开题报告评审表》。
+ + 学生返回评审现场,评审小组组长宣布评审意见,评审小组提供进一步建议。
+ + 开题报告秘书整理相关记录,并以书面形式发送给学生和导师。
+ + 学生根据接收到的意见和建议对《研究生学位论文开题报告》进行修改和定稿。
+ + 《研究生学位论文开题报告评审表》交给学科负责人签字确认(在评审表底部空白处),学科对开题报告进行备案。
+
+ 附:关于开题报告的其它相关规定
+
+ + 博生生开题报告原则上应在取得博士生资格一年以后、博士论文答辩至少一年以前进行。
+ + 在国外或其它原因未能现场进行开题报告答辩者,应提前申请视频答辩,并确保网络连接的效果。
+ + 未通过开题报告答辩的学生没有资格参加博士论文答辩。每位学生可以有两次进行开题报告的机会。
+
+ LaTeX 模板 @latex
+
+ == 国内外研究现状和发展趋势
+ *3 页以上*
+
+ #align(center)[*《中国科学技术大学博士研究分流退出机制实施办法》的通知* @exit]
+
+ 各院、系、重点科研机构、直属单位、附属医院,机关各部门:
+
+ 为深入贯彻全国研究生教育会议精神,落实《教育部 国家发展改革委 财政部关于加快新时代研究生教育改革发展的意见》《国务院学位委员会 教育部关于进一步严格规范学位与研究生教育质量管理的若干意见》要求,进一步推进研究生教育“德创”领军人才培养计划,促进研究生教育内涵式发展,建立健全博士研究生培养过程的分流退出机制,结合我校实际,学校研究制定了《中国科学技术大学博士研究生培养分流退出机制实施办法》,经校长工作会议审议通过,现予以印发施行。
+
+ 特此通知。
+
+ #set heading(numbering: (..args) => strong(numbering("第一章", args.pos().last())) + h(1em))
+ #show heading: it => align(center)[#it]
+ #set enum(
+ full: true,
+ numbering: (..args) => if args.pos().len() == 1 {
+ strong(numbering("第一条", args.pos().last()))
+ } else if args.pos().len() == 2 {
+ numbering("(一)", args.pos().last())
+ } else if args.pos().len() == 3 {
+ numbering("1. ", args.pos().last())
+ } else { },
+ )
+ #align(center)[*中国科学技术大学博士研究分流退出机制实施办法*]
+ === 总 则
+ + 为深入贯彻全国研究生教育会议精神,落实《教育部 国家发展改革委 财政部关于加快新时代研究生教育改革发展的意见》《国务院学位委员会 教育部关于进一步严格规范学位与研究生教育质量管理的若干意见》要求,进一步推进研究生教育“德创”领军人才培养计划,立足提升博士研究生培养质量,造就一流高层次人才,推动研究生教育内涵式发展,建立健全博士研究生培养过程的分流退出机制,结合学校实际,制定本办法。
+ + 指导思想。以习近平新时代中国特色社会主义思想为指导,全面贯彻党的教育方针,坚定走内涵式发展道路,以立德树人、服务需求、提高质量、追求卓越为主线,潜心立德树人,执着攻关创新,深入推进研究生教育改革,加强关键环节治理,完善分流机制与退出渠道,调动研究生培养单位的责任心和积极性,不断提升高端人才培养水平,深入推进研究生教育治理体系和治理能力现代化,进一步提升全校研究生教育质量和教育声誉,加快培养科学领军人才与技术领军人才。
+ + 基本原则。坚持公开、公平、公正;兼顾学生、导师(组)、培养单位意愿,注重因材施教,鼓励多元发展,切实保障全校博士研究生教育培养和学位授予质量。
+ + 适用对象。本办法适用于所有类型的学历教育博士研究生(以下简称博士生),包括:直接攻读博士学位研究生(以下简称直博生)、硕博连读博士研究生(以下简称硕博连读生)、普通招考博士研究生(以下简称普通招考博士生)。
+ + 总体要求。博士生培养关键环节包括资格考试(仅适用于直博生)、学位论文开题、学位论文中期考核、学位论文预审、学位论文评审、学位论文答辩等。研究生培养单位在资格考试环节必须实施分流退出机制,在学位论文开题环节或学位论文中期考核环节可根据实际情况至少选择一个环节实施分流退出机制,在学位论文预审环节不实施分流退出机制,在学位论文评审和学位论文答辩环节均须实施分流退出机制。博士生所有培养关键环节均须在学籍管理规定最长学习年限范围(年限计算截至每年 8 月 31 日,下同)内完成。
+
+ === 博士生培养关键环节要求
+ + 资格考试。资格考试是研究生培养单位面向直博生组织实施的学科(专业学位类别、领域)综合性水平考试,是考核直博生是否具有开展创新性研究工作能力的重要环节。研究生培养单位必须在资格考试环节对直博生实施分流退出机制,并结合本单位实际情况,制定直博生资格考试实施细则。通过硕转博考核的硕博连读生和通过入学考试的普通招考博士生不需要参加资格考试。硕转博考核和普通招考博士生的入学考试根据博士研究生招考相关政策规定执行。
+ + 资格考试时间、次数
+
+ 直博生首次资格考试应于其入学 2 年内进行。每位直博生最多可参加 2 次资格考试。
+ + 资格考试内容和方式
+ + 资格考试命题。资格考试的方式由研究生培养单位根据培养要求和学科类别特点确定,按一级学科、二级学科或专业学位类别、领域命题。
+ + 资格考试内容。应涵盖本学科(专业学位类别、领域)应掌握的基础理论知识、专业知识、前沿及相关知识,重点考察研究生开展学术研究工作所需的综述能力、创新能力、分析和解决问题的能力。
+ + 资格考试方式。资格考试可以笔试、面试等形式进行,原则上应包含外语能力考核及专业课考核。其中,仅以面试形式开展专业课考核的,每位博士生的专业知识答辩时间不少于 20 分钟。资格考试由专人负责记录且面试过程全程录音录像。
+ + 资格考试组织实施
+
+ 研究生培养单位统一组织、实施资格考试。组织主体的主要职责包括:
+
+ + 制定或修订本单位博士生资格考试实施细则;
+ + 采取笔试形式的,须组织博士生资格考试笔试命题,确定参考答案,并严格落实考试保密工作;
+ + 采取面试形式的,须确定面试考核组成员的基本条件和主要职责;
+ + 审定资格考试结果;
+ + 对本单位资格考试出现的异议提出处理意见;
+ + 处理本单位资格考试的其他事项。
+ + 资格考试结果评定
+
+ 资格考试结果评定等级分为“通过”和“不通过”。其中:
+
+ 首次资格考试“不通过”的直博生,须在其后 1 年内重新参加考试。第 2 次考试仍“不通过”的,执行分流退出程序。
+
+ 因故不能参加资格考试的直博生原则上应至少提前 2 周提出延缓考试申请,获得导师、所在研究生培养单位同意后参加下一批次考试。如无特殊情况最多只能申请 1 次延缓考试。未经培养单位批准不参加资格考试的博士生,考试结果按“不通过”评定。
+ + 学位论文开题。学位论文开题是博士生确定学位论文选题、明确研究计划的创新性和可行性的培养环节。
+ + 学位论文开题对象
+
+ 博士生均须参加学位论文开题。
+
+ + 学位论文开题时间、次数
+
+ 每位博士生均应在其入学 18 个月内完成首次开题。开题通过后满 1 年,方可申请学位论文评审。
+
+ + 学位论文开题要求和评审方式
+
+ 每位博士生均应以书面形式提交学位论文开题报告。开题报告应包括学位论文选题的研究意义、研究目的、文献综述、研究内容和方法、创新之处、已取得的研究成果、研究工作进度安排等内容。
+ 开题评审可以函评或会评(公开答辩)形式进行,评审组由本一级学科(专业学位类别)及相关学科(类别)不少于 5 位专家组成(其中博士生导师不少于 3 人)。以会评形式进行的,每位博士生的报告时间不少于 20 分钟,且安排专人负责记录。
+ 学位论文开题以函评形式进行的,在学位论文中期考核环节须以会评形式进行。学位论文开题以会评进行的,在学位论文中期考核环节可以函评或会评形式进行。
+ + 学位论文开题组织实施
+
+ 学位论文开题由研究生培养单位统一组织、实施。组织主体的主要职责包括:
+ + 制定或修订本单位博士生学位论文开题实施细则;
+ + 确定博士生自入学以来,在研究进展和相关科研工作量方面需要达到的具体要求;
+ + 明确开题评审组成员的基本条件和主要职责;
+ + 审定博士生开题评审结果;
+ + 对本单位博士生开题评审中出现的异议提出处理意见;
+ + 处理本单位博士生学位论文开题的其他事项。
+ + 学位论文开题结果评定
+
+ 学位论文开题结果评定等级分为“通过”和“不通过”。
+
+ 出现以下情形之一的,记为“不通过”:
+ + 论文选题不当、不符合所在一级学科或专业学位类别研究方向的;
+ + 研究内容缺乏创新性,研究方法或手段不恰当,或预期研究目标过低,或预期学位论文水平达不到博士学位论文要求的;
+ + 科研准备工作量不充分的;
+ + 研究计划缺乏严密性或可行性的;
+ + 评审专家组判定为不能通过开题的其他情形。
+ 评审专家组以投票方式判定学位论文开题结果,通过票数达到总体票数三分之二的,学位论文开题结果评定为“通过”,否则结果评定为“不通过”。
+
+ 首次开题“不通过”的博士生,须在其后 1 年内重新开题。开题“通过”的博士生,如果其学位论文选题或研究内容发生重大变化的,应重新开题,重新开题通过后,研究生培养单位可根据博士生学习进度安排博士生参加后续关键环节。
+
+ 在学位论文开题环节实施分流退出机制的,对第 2 次开题仍“不通过”的博士生,启动分流退出程序;不在学位论文开题环节实施分流退出机制的,对第 2 次开题仍“不通过”的博士生,可按照本条款相关要求继续组织开题。
+
+ 因故不能参加开题的博士生原则上应至少提前 2 周提出延缓开题申请,获得导师、所在研究生培养单位同意后参加下一批次开题。如无特殊情况最多只能申请 1 次延缓开题。未经批准不按要求参加开题的博士生,当次开题结果按“不通过”评定。
+
+ + 学位论文中期考核。学位论文中期考核是对照培养方案要求,对博士生学位论文进展情况进行全面检查,并对其后续学业安排提出改进要求的培养环节。
+ + 学位论文中期考核对象
+
+ 学位论文开题通过的博士生方可参加中期考核。
+ + 学位论文中期考核时间、次数
+
+ 每位通过学位论文开题的博士生须在开题通过 6 个月后、18 个月内开展首次学位论文中期考核,且须在其入学 4 年内参加首次学位论文中期考核。
+
+ 研究生培养单位在本环节实施分流退出机制的,每位博士生最多可参加 2 次学位论文中期考核。
+ + 学位论文中期考核要求和评审方式
+
+ 每位博士生均应以书面形式提交学位论文中期进展报告。中期进展报告应包括自学位论文开题以来在相关科研、论文撰写方面的进展情况和后续研究的安排以及预期进度情况等内容。
+
+ 中期考核评审可以函评或会评(公开答辩)形式进行,评审组由本一级学科(专业学位类别)及相关学科(类别)不少于 5 位专家组成(其中博士生导师不少于 3 人)。以会评形式进行的,每位博士生的报告时间不少于 20 分钟,且安排专人负责记录。
+ + 学位论文中期考核组织实施
+
+ 学位论文中期考核由研究生培养单位统一组织、实施。组织主体的主要职责包括:
+
+ + 制定或修订本单位博士生学位论文中期考核实施细则;
+ + 确定博士生自学位论文开题以来,在论文进展和相关科研工作量方面需要达到的具体要求;
+ + 明确中期考核评审组成员的基本条件和主要职责;
+ + 审定博士生中期考核评审结果;
+ + 对本单位博士生中期进展报告评审中出现的异议提出处理意见;
+ + 处理本单位博士生中期考核的其他事项。
+ + 学位论文中期考核结果评定
+
+ 学位论文中期考核结果评定等级分为“通过”和“不通过”。
+
+ 出现以下情形之一的,记为“不通过”:
+
+ + 未达到研究生培养单位对于博士生自学位论文开题至中期考核期间的在论文进展和相关科研工作方面的要求;
+ + 在学术道德、科研诚信等方面违反学校有关规定;
+ + 评审专家组判定为不能通过中期考核的其他情形。
+
+ 评审专家组以投票方式判定中期考核结果,通过票数达到总体票数 2/3 的,学位论文中期考核结果评定为“通过”,否则结果评定为“不通过”。
+
+ 首次中期考核结果为“不通过”的博士生,须在其后 6 个月内重新考核。
+
+ 在学位论文中期考核环节实施分流退出机制的,对第 2 次中期考核仍“不通过”的博士生,启动分流退出程序。在学位论文中期考核环节未实施分流退出机制的,对第 2 次中期考核仍“不通过”的博士生,可按照本条款相关要求继续组织考核。
+
+ 因故不能参加中期考核的博士生原则上应至少提前 2 周提出延缓考核申请,获得导师、所在研究生培养单位同意后参加下一批次中期考核。如无特殊情况最多只能申请 1 次延缓考核。未经培养单位批准不参加中期考核的博士生,中期考核结果按“不通过”评定。
+ + 学位论文预审。博士学位论文预审是由研究生培养单位组织专家对博士学位论文的创新性、工作量、文献综述、规范性及其与学科(类别、领域)的符合度是否达到要求而进行的前置审核。
+ + 学位论文预审对象
+
+ 学位论文中期考核通过且完成博士学位论文撰写工作的博士生方可申请参加博士学位论文预审。
+ + 学位论文预审时间
+
+ 在博士生学位论文提交送审前 1 周完成预审。
+ + 学位论文预审方式
+
+ 学位论文预审可以函评或会评(公开答辩)形式进行,评审组由本一级学科(专业学位类别)及相关学科(类别)不少于 3 位博士生导师组成。以会评形式进行的,须安排专人负责记录。
+ + 学位论文预审组织实施
+
+ 学位论文预审由研究生培养单位统一组织、实施。
+ + 学位论文预审结果评定
+
+ 学位论文预审结果评定等级分为“同意送审”和“不同意送审”,对评定等级的认定遵照学校学位授予有关规定执行。学位论文预审结果评定为“同意送审”的博士生须针对专家预评审意见对学位论文修改完善,经导师审核通过后,方可申请学位论文送审。
+
+ 学位论文预审结果评定为“不同意送审”的博士生须针对专家修改意见对学位论文作出实质性修改,经导师审核通过后,方可重新提交学位论文预审申请。
+
+ 重新预审的流程与结果评定按照上述要求执行。
+ + 学位论文评审。学位论文评审是由学科(类别、领域)专家对正式提交送审的博士学位论文的科研质量、在科学或专门技术上做出的创新性成果是否达到要求而进行的审核。
+ + 学位论文评审对象
+
+ 完成培养方案规定的学分并达到成绩要求、且学位论文预审结果评定为“同意送审”的博士生,经导师和学位点负责人签字同意后,方可参加博士学位论文评审。
+ + 学位论文评审时间、次数
+
+ 遵照学校发布的学位工作日程安排执行。
+
+ 每位博士生最多可参加 2 次学位论文评审。
+ + 学位论文评审方式
+
+ 博士学位论文评审专家不少于 5 名,其中应有 1 名来自培养单位的博士生导师,并且校外专家不少于 3 名(其中工程类专业学位博士论文评审专家中至少 2 名来自行业/企业)。采用全盲方式评审的,评审专家中校内外专家人数不受上述限制。申请人的导师不得作为学位论文评审专家。
+
+ 学术学位博士论文评审人应具有博士生导师资格,工程类专业学位博士论文评审人应具有正高级职称。
+ + 学位论文评审组织实施
+
+ 学位论文评审由研究生培养单位统一组织、实施。其中:采用全盲方式评审的,应通过学校“学位论文评阅系统”或教育部“学位论文质量监测服务平台”开展。
+
+ 采用非全盲方式评审的,评审人员名单须由学位点负责人审核后报校学位委员会办公室备案。校学位委员会办公室可根据实际情况对评审人名单作出调整。
+ + 学位论文评审结果认定
+
+ 学位论文评审结果评定等级分为“通过”和“不通过”,对评定等级的认定遵照学校学位授予有关规定执行。
+
+ 首次学位论文评审“不通过”的,可以遵照学位授予有关规定再次申请学位论文评审。第 2 次学位论文评审仍“不通过”的,学校不再受理其学位论文评审申请,执行分流退出程序。
+ + 学位论文答辩。学位论文答辩既是对学位论文科研质量和在科学或专门技术上做出创新性的成果的最终检验,也是对学位申请人在本学科(类别、领域)上掌握坚实宽广的基础理论和系统深入的专门知识、具有独立从事科学研究工作的能力的考查。
+ + 学位论文答辩对象
+
+ 通过学位论文评审的博士生方可参加学位论文答辩。
+ + 学位论文答辩时间、次数
+
+ 遵照学校发布的学位工作日程安排执行。
+
+ 每位博士生最多可参加 2 次学位论文答辩。
+ + 学位论文答辩方式
+
+ 学术学位博士答辩委员会应由不少于 5 名本学科或相关学科的博士生导师组成。成员中至少 1 名来自培养单位的博士生导师,且一般应有校外博士生导师。
+
+ 专业学位博士学位论文答辩委员会应由至少 5 名本领域和相关领域的具有正高级职称的专家组成。成员中至少 1 名来自培养单位的博士生导师,至少 2 名来自企业(行业)的具有正高级职称的专家。
+
+ 学位论文答辩除有保密要求外,一般应以公开答辩形式进行。每位博士生的答辩总时长不少于 90 分钟。学位申请人的导师参加答辩会议,并按要求回答答辩委员的询问,在学位论文答辩会议的有关环节予以回避。
+ + 学位论文答辩组织实施
+
+ 学位论文答辩由研究生培养单位按照《中国科学技术大学研究生学位论文答辩程序》统一组织、实施。
+ + 学位论文答辩结果认定
+
+ 学位论文答辩结果评定等级分为“通过”和“不通过”,对评定等级的认定遵照学校学位授予有关规定执行。
+
+ 首次学位论文答辩“不通过”的,可以遵照学校学位授予有关规定再次申请答辩。第 2 次答辩仍“不通过”的,执行分流退出程序。
+ === 博士生分流退出执行机制
+ + 我校硕士研究生基本学习年限为 2-3 年,最短学习年限为 2 年,最长学习年限为 5 年;硕博连读生、普通招考博士生基本学习年限为 3-4 年,最短学习年限为 2 年,最长学习年限为 8 年;直博生基本学习年限为 5-6 年,最短学习年限为 4 年,最长学习年限为 8 年。
+ + 博士生分流退出机制包括“退学”“博士结业”和“转为硕士生培养”三种渠道。其中:“转为硕士生培养”的,自博士生入学之日起算,满 2 年后方可执行;其最迟毕业时间不得超过原作为博士生的最长学习年限。
+ + 不符合博士生培养关键环节相关要求的,根据实际情况,实施分流退出。
+
+ 对于直博生,申请“博士结业”的,修完培养计划规定的全部课程,符合结业条件的,予以“博士结业”;申请“转为硕士生培养”的,应根据原定博士生类型(学术学位/专业学位,下同)及所在学科(类别、领域)或研究生的实际情况转为硕士生,按照硕士生的要求对其培养。其中:从直博生入学之日起算,未超过硕士生最长学习年限的,须在硕士生最长学习年限内完成硕士学位论文答辩;超过硕士生最长学习年限的,须在完成“转为硕士生培养”申请审批程序后的 1 年内完成硕士学位论文答辩;否则,予以“退学”。
+
+ 对于硕博连读生,申请“博士结业”的,修完培养计划规定的全部课程,符合结业条件的,予以“博士结业”;申请“转为硕士生培养”的,应根据原定博士生类型及所在学科(类别、领域)或研究生的实际情况转为硕士生,按照硕士生的要求对其培养。其中:从硕博连读生的硕士阶段入学之日起算,未超过硕士生最长学习年限的,须在硕士生最长学习年限内完成硕士学位论文答辩;超过硕士生最长学习年限的,须在完成“转为硕士生培养”申请审批程序后的 1 年内完成硕士学位论文答辩。否则,予以“退学”。
+
+ 对于普通招考博士生,申请“博士结业”的,修完培养计划规定的全部课程,符合结业条件的,予以“博士结业”;否则,予以“退学”。
+ + 应予分流退出的,由博士生所在培养单位发出“分流退出告知书”,要求博士生自送达之日起算 20 个工作日内提出学籍变动申请。在规定时间内提出学籍变动申请的,经导师及培养单位分管领导书面同意、研究生院审查,报校长工作会议或者校长授权的研究生院院务会议审议通过后,办理退学及离校手续,学校发给退学证明。逾期未提出学籍变动申请的,由博士生所在培养单位会同导师出具“退学”意见,经培养单位党政联席会议审议形成“退学”决议,研究生院依据学校学籍管理有关规定进行过程审查,学校法务部门依据相关法律法规进行合法性审查后,提交校长工作会议或者校长授权的专门会议研究批准后,予以退学。
+ === 附 则
+ + 各研究生培养单位应根据本办法,制定本单位博士生分流退出实施细则,进一步规范、细化工作流程,经学位评定分委员会审定、报研究生院备案后公布和实施。
+ + 未通过培养关键环节而被分流退出的博士生,对处理决定有异议的,可按照有关管理规定向校申诉委员会提出申诉。
+ + 本办法由研究生院(校学位委员会办公室)负责解释。
+ + 本办法自 2023 级博士生开始执行。
+]
+
+国内外主要参考文献(列出作者、论文名称、期刊名称、出版年月)。
+
+== 参考文献 // serve @bibliography so you can delete it
+博士论文(特别是学术博士)应不少于 50 篇文献。非学术或硕士论文可酌减,但至少不少于 20 篇。此处列出的文献都应该在@meaning “研究意义”或者@quo “国内外相关研究工作”或者@content “研究内容和研究方法”中加以引用。文献应编号,格式应统一。
+
+#bibliography(("references/my.yml", "references/main.yml"))
+
+= 已取得的与论文研究内容相关的成果
+已发表或被接收发表的文章目录或其它相关研究成果。
+
+请注意限定词为“已发表或被接收发表”的文章。另外除了文章以外,其他成果形式(专利、技术报告、标准提案、数据集、开源软件库等等)都可以列出,但要注意“相关”,即必须与学位论文有相关度。多于一项的成果应编号。样例:
+
+#display-bibliography(yaml(publication-bibliography))
+
+= 研究内容和研究方法
+主要研究内容及预期成果,拟采用的研究方法、技术路线、实验方案的可行性分析。
+
+这部分必须有图表,可以配公式。图、表、公式都应有编号。可以引用参考文献,文献应列在@bibliography 中。
+
+一般分为四小节:
+
+== 研究内容
+*1\~2 页*
+
+#figure(render(read("figures/digraph.gv")), caption: "研究生开题报告流程")
+
+#figure(image("images/thumbnail.png"), caption: "研究生开题报告缩略图")
+
+#figure(table(columns: 2, [姓名], [身份], ..csv("tables/members.csv").flatten()), caption: "评审小组")
+
+$
+ bb(P)("paper is accepted") = bb(P){"capability"_"you tell story" / "capability"_"reviewer understand" > epsilon}
+$
+
+== 预期成果
+此处主要介绍研究的预期成果, *0.5 页左右*
+
+== 研究方案
+包括研究方法、技术路线、实验方案等, *10 页以上*
+
+== 可行性分析
+*0.5 页左右*
+
+= 课题研究的创新之处
+研究内容、拟采用的研究方法、技术路线等方面有哪些创新之处。
+
+一般以条目方式列出创新点,博士论文 3\~4 条、硕士论文 2\~3 条为宜
+
+- 创新点一
+- 创新点二
+- 创新点三
+
+= 研究工作进度安排
+应包括文献调研,工程设计,新工艺、新材料、新设备、新产品的研制和调试,实验操作,实验数据的分析处理,撰写论文等。
+
+== 研究进展
+以时间表方式给出研究工作进度安排(包括开题前已完成的与学位论文相关的工作,给出实际时间;以及开题后拟完成的工作,给出计划时间;学位论文相关工作至少应该包括文献调研、方法设计与实现、实验开展和结果分析、学位论文撰写和答辩等,可以按照研究内容分条列出)
+
+== 预期成果
+此处主要介绍成型的研究成果,如文章、专利、技术报告、标准提案、数据集、开源软件库等等,应包含已经取得的成果和计划要取得的成果(即:至少不应少于@achievement 的内容),应该包括学位论文本身
diff --git a/packages/preview/ustc-proposal/0.0.1/template/references/main.yml b/packages/preview/ustc-proposal/0.0.1/template/references/main.yml
new file mode 100644
index 0000000000..dade96b966
--- /dev/null
+++ b/packages/preview/ustc-proposal/0.0.1/template/references/main.yml
@@ -0,0 +1,30 @@
+---
+procedures:
+ type: report
+ title: 研究生开题报告流程
+ language: zh-Hans
+ author: 中国科学技术大学研究生院培养办公室
+ url: http://staff.ustc.edu.cn/~qunwang/regulation/open-thesis-defense.pdf
+
+docx:
+ type: Web
+ title: 研究生学位论文开题报告相关材料
+ language: zh-Hans
+ author: 中国科学技术大学研究生院培养办公室
+ date: 2017-08-29
+ url: https://cicpi.ustc.edu.cn/indico/conferenceDisplay.py?confId=971
+
+latex:
+ type: repository
+ title: 中国科学技术大学开题报告 latex 模板
+ language: zh-Hans
+ author: cgdsss
+ url: https://github.com/cgdsss/thesis_proposal_ustc
+
+exit:
+ type: report
+ title: 中国科学技术大学博士研究生培养分流退出机制实施办法
+ language: zh-Hans
+ author: 中国科学技术大学党政办公室
+ date: 2023-05-28
+ url: https://sist.ustc.edu.cn/2023/0901/c5107a610847/page.htm
diff --git a/packages/preview/ustc-proposal/0.0.1/template/references/my.yml b/packages/preview/ustc-proposal/0.0.1/template/references/my.yml
new file mode 100644
index 0000000000..566620aca6
--- /dev/null
+++ b/packages/preview/ustc-proposal/0.0.1/template/references/my.yml
@@ -0,0 +1,82 @@
+---
+my-periodical:
+ type: article
+ title: 已发表期刊文章
+ author:
+ - 君の名前
+ - 指导老师
+ serial-number:
+ doi: 10.1007/978-3-540-89275-5_7
+ page-range: 114514-1919810
+ date: 1970-01-01
+ url: https://arxiv.org/abs/2501.00001
+ parent:
+ - type: periodical
+ title: 期刊名
+ volume: 251
+ issue: 42
+ publisher: 出版商
+ - type: repository
+ url: https://github.com/ustc-ivclab/ustc-proposal/
+
+my-proceedings:
+ type: article
+ title: 已接收会议文章
+ author:
+ - 君の名前
+ - 指导老师
+ date: 1970-01-01
+ url: https://arxiv.org/abs/2501.00001
+ parent:
+ - type: conference
+ title: 会议名
+ organization: Apple Inc.
+ date: 1970-01-01
+ location: 会议地点
+ - type: repository
+ url: https://github.com/ustc-ivclab/ustc-proposal/
+
+my-patent:
+ type: patent
+ title: 专利或专利申请
+ author:
+ - 君の名前
+ - 指导老师
+ serial-number:
+ serial: 专利号
+ url: https://www.patent.com.cn/
+ note: 专利状态
+
+my-report:
+ type: report
+ title: 技术报告
+ author:
+ - 君の名前
+ - 指导老师
+ url: https://github.com/ustc-ivclab/ustc-proposal/
+
+my-reference:
+ type: reference
+ title: 标准提案
+ author:
+ - 君の名前
+ - 指导老师
+ date: 1970-01-01
+ organization: Apple Inc.
+ url: https://tools.ietf.org/html/rfc8216/
+
+my-dataset:
+ type: misc
+ title: 数据集
+ author:
+ - 君の名前
+ - 指导老师
+ url: https://github.com/ustc-ivclab/ustc-proposal/releases
+
+my-repository:
+ type: repository
+ title: 开源软件库
+ author:
+ - 君の名前
+ - 指导老师
+ url: https://github.com/ustc-ivclab/ustc-proposal/
diff --git a/packages/preview/ustc-proposal/0.0.1/template/tables/members.csv b/packages/preview/ustc-proposal/0.0.1/template/tables/members.csv
new file mode 100644
index 0000000000..bb36eac367
--- /dev/null
+++ b/packages/preview/ustc-proposal/0.0.1/template/tables/members.csv
@@ -0,0 +1,6 @@
+大老板,组长
+二老板,组员
+三老板,组员
+亖老板,组员
+小老板,组员
+学姐,秘书
diff --git a/packages/preview/ustc-proposal/0.0.1/typst.toml b/packages/preview/ustc-proposal/0.0.1/typst.toml
new file mode 100644
index 0000000000..d5fc1d6f23
--- /dev/null
+++ b/packages/preview/ustc-proposal/0.0.1/typst.toml
@@ -0,0 +1,15 @@
+[package]
+name = "ustc-proposal"
+version = "0.0.1"
+entrypoint = "lib.typ"
+authors = ["Wu, Zhenyu"]
+license = "GPL-3.0"
+description = "template for University of Science and Technology of China proposal"
+repository = "https://github.com/ustctug/ustc-proposal"
+keywords = ["thesis", "proposal", "USTC"]
+categories = ["thesis"]
+
+[template]
+path = "template"
+entrypoint = "main.typ"
+thumbnail = "template/images/thumbnail.png"