├── .gitattributes ├── .github ├── CODE_OF_CONDUCT.md ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── config.yml └── workflows │ ├── main.yml │ ├── texlive-win.profile │ └── texlive.profile ├── .gitignore ├── CHANGELOG.md ├── LICENSE ├── README.md ├── build.lua ├── docs ├── example-image.png ├── main.bib └── main.tex ├── install-unix.sh ├── install-win.bat ├── scripts ├── clear.sh ├── get-doc-code.lua ├── get-doc-en.lua ├── release.sh └── test.sh ├── source ├── fduthesis-doc.dtx ├── fduthesis-logo.dtx ├── fduthesis.dtx └── latexmkrc ├── test ├── dtxtest.dtx ├── fduthesis-test-toolkit.tex ├── test-biblatex.tex ├── test-en.tex ├── test-figure-table.tex ├── test-footnote.tex ├── test-theorem.tex ├── test.bib └── test.tex └── testfiles ├── 01-internal.luatex.tlg ├── 01-internal.lvt ├── 01-internal.tlg ├── 02-basic.luatex.tlg ├── 02-basic.lvt ├── 02-basic.tlg ├── 03-basic-en.luatex.tlg ├── 03-basic-en.lvt ├── 03-basic-en.tlg ├── 04-cover.luatex.tlg ├── 04-cover.lvt ├── 04-cover.tlg ├── 05-declaration.luatex.tlg ├── 05-declaration.lvt ├── 05-declaration.tlg ├── 06-logo.luatex.tlg ├── 06-logo.lvt ├── 06-logo.tlg └── support ├── fduthesis-regression-test.tex ├── fudan-emblem-new.pdf ├── fudan-emblem.pdf ├── fudan-name.pdf └── luaotfload.conf /.gitattributes: -------------------------------------------------------------------------------- 1 | * text eol=lf 2 | *.bat text eol=crlf 3 | *.pdf binary 4 | *.png binary 5 | *.lvt linguist-language=tex 6 | -------------------------------------------------------------------------------- /.github/CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | We as members, contributors, and leaders pledge to make participation in our 6 | community a harassment-free experience for everyone, regardless of age, body 7 | size, visible or invisible disability, ethnicity, sex characteristics, gender 8 | identity and expression, level of experience, education, socio-economic status, 9 | nationality, personal appearance, race, caste, color, religion, or sexual 10 | identity and orientation. 11 | 12 | We pledge to act and interact in ways that contribute to an open, welcoming, 13 | diverse, inclusive, and healthy community. 14 | 15 | ## Our Standards 16 | 17 | Examples of behavior that contributes to a positive environment for our 18 | community include: 19 | 20 | * Demonstrating empathy and kindness toward other people 21 | * Being respectful of differing opinions, viewpoints, and experiences 22 | * Giving and gracefully accepting constructive feedback 23 | * Accepting responsibility and apologizing to those affected by our mistakes, 24 | and learning from the experience 25 | * Focusing on what is best not just for us as individuals, but for the overall 26 | community 27 | 28 | Examples of unacceptable behavior include: 29 | 30 | * The use of sexualized language or imagery, and sexual attention or advances of 31 | any kind 32 | * Trolling, insulting or derogatory comments, and personal or political attacks 33 | * Public or private harassment 34 | * Publishing others' private information, such as a physical or email address, 35 | without their explicit permission 36 | * Other conduct which could reasonably be considered inappropriate in a 37 | professional setting 38 | 39 | ## Enforcement Responsibilities 40 | 41 | Community leaders are responsible for clarifying and enforcing our standards of 42 | acceptable behavior and will take appropriate and fair corrective action in 43 | response to any behavior that they deem inappropriate, threatening, offensive, 44 | or harmful. 45 | 46 | Community leaders have the right and responsibility to remove, edit, or reject 47 | comments, commits, code, wiki edits, issues, and other contributions that are 48 | not aligned to this Code of Conduct, and will communicate reasons for moderation 49 | decisions when appropriate. 50 | 51 | ## Scope 52 | 53 | This Code of Conduct applies within all community spaces, and also applies when 54 | an individual is officially representing the community in public spaces. 55 | Examples of representing our community include using an official e-mail address, 56 | posting via an official social media account, or acting as an appointed 57 | representative at an online or offline event. 58 | 59 | ## Enforcement 60 | 61 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 62 | reported to the community leaders responsible for enforcement at 63 | . 64 | All complaints will be reviewed and investigated promptly and fairly. 65 | 66 | All community leaders are obligated to respect the privacy and security of the 67 | reporter of any incident. 68 | 69 | ## Enforcement Guidelines 70 | 71 | Community leaders will follow these Community Impact Guidelines in determining 72 | the consequences for any action they deem in violation of this Code of Conduct: 73 | 74 | ### 1. Correction 75 | 76 | **Community Impact**: Use of inappropriate language or other behavior deemed 77 | unprofessional or unwelcome in the community. 78 | 79 | **Consequence**: A private, written warning from community leaders, providing 80 | clarity around the nature of the violation and an explanation of why the 81 | behavior was inappropriate. A public apology may be requested. 82 | 83 | ### 2. Warning 84 | 85 | **Community Impact**: A violation through a single incident or series of 86 | actions. 87 | 88 | **Consequence**: A warning with consequences for continued behavior. No 89 | interaction with the people involved, including unsolicited interaction with 90 | those enforcing the Code of Conduct, for a specified period of time. This 91 | includes avoiding interactions in community spaces as well as external channels 92 | like social media. Violating these terms may lead to a temporary or permanent 93 | ban. 94 | 95 | ### 3. Temporary Ban 96 | 97 | **Community Impact**: A serious violation of community standards, including 98 | sustained inappropriate behavior. 99 | 100 | **Consequence**: A temporary ban from any sort of interaction or public 101 | communication with the community for a specified period of time. No public or 102 | private interaction with the people involved, including unsolicited interaction 103 | with those enforcing the Code of Conduct, is allowed during this period. 104 | Violating these terms may lead to a permanent ban. 105 | 106 | ### 4. Permanent Ban 107 | 108 | **Community Impact**: Demonstrating a pattern of violation of community 109 | standards, including sustained inappropriate behavior, harassment of an 110 | individual, or aggression toward or disparagement of classes of individuals. 111 | 112 | **Consequence**: A permanent ban from any sort of public interaction within the 113 | community. 114 | 115 | ## Attribution 116 | 117 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], 118 | version 2.1, available at 119 | [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]. 120 | 121 | Community Impact Guidelines were inspired by 122 | [Mozilla's code of conduct enforcement ladder][Mozilla CoC]. 123 | 124 | For answers to common questions about this code of conduct, see the FAQ at 125 | [https://www.contributor-covenant.org/faq][FAQ]. Translations are available at 126 | [https://www.contributor-covenant.org/translations][translations]. 127 | 128 | [homepage]: https://www.contributor-covenant.org 129 | [v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html 130 | [Mozilla CoC]: https://github.com/mozilla/diversity 131 | [FAQ]: https://www.contributor-covenant.org/faq 132 | [translations]: https://www.contributor-covenant.org/translations 133 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 报告 bug 3 | about: 报告模板中的 bug 4 | --- 5 | 6 | 7 | 8 | ## 描述问题 9 | 10 | 预期结果: 11 | 12 | 实际结果: 13 | 14 | 截图: 15 | 16 | 复现上述问题的代码: 17 | 18 | ```TeX 19 | \documentclass{fduthesis} 20 | \begin{document} 21 | 文字 22 | \end{document} 23 | ``` 24 | 25 | ## 编译环境 26 | 27 | 28 | 29 | - 操作系统 30 | - [ ] Windows 31 | - [ ] macOS 32 | - [ ] Ubuntu 33 | - TeX 发行版 34 | - [ ] TeX Live 2023 35 | - [ ] MiKTeX 23.5 36 | - 编译方式 37 | - [ ] XeLaTeX 38 | - [ ] LuaLaTeX 39 | - `fduthesis` 获取方式: 40 | - [ ] 发行版自带 41 | - [ ] 通过 GitHub Releases 下载(最新发布版本) 42 | - [ ] 通过 `git clone` 下载(开发版本) 43 | - [ ] 在 Overleaf 上使用 44 | - `fduthesis` 版本:v0.9a 45 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: true 2 | contact_links: 3 | - name: 问题求助 4 | url: https://github.com/stone-zeng/fduthesis/discussions/new 5 | about: 模板使用中遇到的问题 6 | -------------------------------------------------------------------------------- /.github/workflows/main.yml: -------------------------------------------------------------------------------- 1 | name: build 2 | 3 | on: push 4 | 5 | env: 6 | CTAN_URL: https://mirrors.rit.edu/CTAN 7 | TL_PACKAGES: biber biblatex biblatex-gb7714-2015 bibtex bigfoot caption chinese-jfm ctex fancyhdr footmisc gbt7714 kantlipsum l3build latexmk libertinus-fonts lm-math lualatex-math luatex85 natbib ntheorem physics preview psnfss siunitx standalone symbol tex-gyre tex-gyre-math unicode-math xits xstring zhlipsum 8 | TESTS: | 9 | latexmk -halt-on-error -time -pdfxe -jobname=test-xetex test.tex 10 | latexmk -halt-on-error -time -pdflua -jobname=test-luatex test.tex 11 | latexmk -halt-on-error -time -pdfxe -jobname=test-en-xetex test-en.tex 12 | latexmk -halt-on-error -time -pdflua -jobname=test-en-luatex test-en.tex 13 | latexmk -halt-on-error -time -pdfxe -jobname=test-biblatex-xetex test-biblatex.tex 14 | EXAMPLES: | 15 | latexmk -halt-on-error -time -pdfxe -jobname=main-xetex main.tex 16 | latexmk -halt-on-error -time -pdflua -jobname=main-luatex main.tex 17 | 18 | jobs: 19 | build-ubuntu: 20 | runs-on: ubuntu-latest 21 | env: 22 | SET_PATH: export PATH=/tmp/texlive/bin/x86_64-linux:$PATH 23 | steps: 24 | - uses: actions/checkout@v4 25 | - name: Install TeX Live 26 | run: | 27 | ${{ env.SET_PATH }} 28 | wget ${{ env.CTAN_URL }}/systems/texlive/tlnet/install-tl-unx.tar.gz 29 | tar -xzf install-tl-unx.tar.gz 30 | cd install-tl-20* && ./install-tl --profile ../.github/workflows/texlive.profile 31 | tlmgr install ${{ env.TL_PACKAGES }} 32 | tlmgr update --self --all --no-auto-install --repository=${{ env.CTAN_URL }}/systems/texlive/tlnet/ 33 | - name: Check fduthesis 34 | run: | 35 | ${{ env.SET_PATH }} 36 | l3build check -q -H 37 | - name: Test fduthesis 38 | run: | 39 | ${{ env.SET_PATH }} 40 | cd test && cp ../build/unpacked/{*.cls,*.def} . 41 | ${{ env.TESTS }} 42 | - name: Build examples 43 | run: | 44 | ${{ env.SET_PATH }} 45 | ./install-unix.sh 46 | cd thesis 47 | ${{ env.EXAMPLES }} 48 | build-macos: 49 | runs-on: macos-latest 50 | env: 51 | SET_PATH: export PATH=/tmp/texlive/bin/universal-darwin:$PATH 52 | steps: 53 | - uses: actions/checkout@v4 54 | - name: Install TeX Live 55 | run: | 56 | ${{ env.SET_PATH }} 57 | curl -O ${{ env.CTAN_URL }}/systems/texlive/tlnet/install-tl-unx.tar.gz 58 | tar -xzf install-tl-unx.tar.gz 59 | cd install-tl-20* && ./install-tl --profile ../.github/workflows/texlive.profile 60 | tlmgr install ${{ env.TL_PACKAGES }} 61 | tlmgr update --self --all --no-auto-install --repository=${{ env.CTAN_URL }}/systems/texlive/tlnet/ 62 | - name: Check fduthesis 63 | run: | 64 | ${{ env.SET_PATH }} 65 | l3build check -q -H 66 | - name: Test fduthesis 67 | run: | 68 | ${{ env.SET_PATH }} 69 | cd test && cp ../build/unpacked/{*.cls,*.def} . 70 | ${{ env.TESTS }} 71 | - name: Build examples 72 | run: | 73 | ${{ env.SET_PATH }} 74 | ./install-unix.sh 75 | cd thesis 76 | ${{ env.EXAMPLES }} 77 | build-windows: 78 | runs-on: windows-latest 79 | env: 80 | SET_PATH: ${env:PATH} = "${{ github.workspace }}\tmp\texlive\bin\windows;" + ${env:PATH} 81 | steps: 82 | - uses: actions/checkout@v4 83 | - name: Install TeX Live 84 | run: | 85 | ${{ env.SET_PATH }} 86 | Invoke-WebRequest -Uri ${{ env.CTAN_URL }}/systems/texlive/tlnet/install-tl.zip -OutFile install-tl.zip 87 | Expand-Archive install-tl.zip -DestinationPath . 88 | Set-Location install-tl-* 89 | .\install-tl-windows --no-gui --profile ..\.github\workflows\texlive-win.profile 90 | tlmgr install ${{ env.TL_PACKAGES }} 91 | tlmgr update --self --all --no-auto-install --repository=${{ env.CTAN_URL }}/systems/texlive/tlnet/ 92 | - name: Check fduthesis 93 | run: | 94 | ${{ env.SET_PATH }} 95 | l3build unpack -q 96 | - name: Test fduthesis 97 | run: | 98 | ${{ env.SET_PATH }} 99 | Set-Location test 100 | Copy-Item "..\build\unpacked\*.cls" . 101 | Copy-Item "..\build\unpacked\*.def" . 102 | ${{ env.TESTS }} 103 | - name: Build examples 104 | run: | 105 | ${{ env.SET_PATH }} 106 | .\install-win.bat 107 | Set-Location thesis 108 | ${{ env.EXAMPLES }} 109 | -------------------------------------------------------------------------------- /.github/workflows/texlive-win.profile: -------------------------------------------------------------------------------- 1 | # From latex3 2 | # https://github.com/latex3/latex3/blob/main/support/texlive.profile 3 | 4 | # We use relative paths since the environment variables may not be resolved. 5 | 6 | selected_scheme scheme-infraonly 7 | TEXDIR ../tmp/texlive 8 | TEXMFSYSCONFIG ../tmp/texlive/texmf-config 9 | TEXMFSYSVAR ../tmp/texlive/texmf-var 10 | TEXMFLOCAL ../tmp/texlive/texmf-local 11 | TEXMFHOME ../texmf 12 | TEXMFCONFIG ../.texlive/texmf-config 13 | TEXMFVAR ../.texlive/texmf-var 14 | option_doc 0 15 | option_src 0 16 | tlpdbopt_autobackup 0 17 | -------------------------------------------------------------------------------- /.github/workflows/texlive.profile: -------------------------------------------------------------------------------- 1 | # From latex3 2 | # https://github.com/latex3/latex3/blob/main/support/texlive.profile 3 | 4 | selected_scheme scheme-infraonly 5 | TEXDIR /tmp/texlive 6 | TEXMFSYSCONFIG /tmp/texlive/texmf-config 7 | TEXMFSYSVAR /tmp/texlive/texmf-var 8 | TEXMFLOCAL /tmp/texlive/texmf-local 9 | TEXMFHOME ~/texmf 10 | TEXMFCONFIG ~/.texlive/texmf-config 11 | TEXMFVAR ~/.texlive/texmf-var 12 | option_doc 0 13 | option_src 0 14 | tlpdbopt_autobackup 0 15 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Auxiliary files 2 | *.aux 3 | *.auxlock 4 | *.bak 5 | *.bbl 6 | *.bcf 7 | *.blg 8 | *.dpth 9 | *.fdb_latexmk 10 | *.fls 11 | *.glg 12 | *.glo 13 | *.gls 14 | *.hd 15 | *.idx 16 | *.ilg 17 | *.ind 18 | *.lof 19 | *.log 20 | *.lot 21 | *.md5 22 | *.out 23 | *.run.xml 24 | *.sav 25 | *.synctex.gz 26 | *.synctex(busy) 27 | *.thm 28 | *.toc 29 | 30 | # Generated files (plain text) 31 | *.cls 32 | *.def 33 | *.ins 34 | *.sty 35 | 36 | # Generated files (binary) 37 | *.dvi 38 | *.pdf 39 | *.xdv 40 | 41 | # Folders 42 | .vscode/ 43 | build/ 44 | release/ 45 | thesis/ 46 | 47 | # Other 48 | .DS_Store 49 | *.zip 50 | *.otf 51 | source/*.md 52 | source/*.sh 53 | source/fduthesis-code.* 54 | source/fduthesis-en.* 55 | test/*.sh 56 | test/latexmkrc 57 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # fduthesis 修订记录 2 | 3 | 本文档格式遵守 [Keep a Changelog]。 4 | 5 | ## [[未发布]] 6 | 7 | - 修复 8 | - 正确为全局 / 局部变量赋值 - [#329]、[#331] 9 | - 感谢 [@muzimuzhi]! 10 | 11 | ## [v0.9a (2023-05-27)] 12 | 13 | - 修复 14 | - 展开封面信息栏中的列格式参数,修复与 `array` 宏包的兼容性问题 - [#302] 15 | - 变更 16 | - 允许同时不使用 BibTeX 与 `biblatex` - [#37] 17 | - `关键字` 更改为 `关键词` - [#296] 18 | - 优化 19 | - 封面密级、学校代码和学号改用表格实现 20 | 21 | ## [v0.9 (2023-02-26)] 22 | 23 | - 新增 24 | - 新增 `acknowledgements` 环境 - [#41]、[#116]、[#253] 25 | - 修复 26 | - 删除论文标题中的 `\\` 和汉字间的空格 - [#75]、[#264]、[#265] 27 | - 在目录和书签中删除章标题中的 `\quad` 28 | - 改用 `\DeclareDocumentCommand` 定义 `\newtheorem` 和 `\hypersetup` 以防冲突 29 | - 为封面添加 PDF 页码 30 | - 变更 31 | - 不再检查 Libertinus 和 XITS 字体的文件名 32 | - (fdudoc) 使用 `makeindex` 处理索引和修订记录,同时不再对索引进行汉化 - [#289] 33 | - 优化 34 | - 封面信息栏改用表格实现 - [#60]、[#86] 35 | - 通过引入 `ctex-c5size.clo` 来修改字号 - [#78] 36 | - (fdudoc) 更新宏包手册字体 37 | - (fdudoc) 移除多余的文档层定义 38 | - (fdudoc) 调整中英文标记 39 | 40 | ## [v0.8 (2022-09-04)] 41 | 42 | - 新增 43 | - 新增 `info/jel` 选项 - [#192] 44 | - 新增 `style/declaration-page` 选项用来插入扫描版的声明页 PDF 文档 - [#50] 45 | - 修复 46 | - 在使用前声明提示信息 - [#239] 47 | - 兼容 `addbibresource` 命令 - [#229] 48 | - 感谢 [@atxy-blip]! 49 | - 修复超链接边框不显示的问题;不需要为 `hidelinks` 选项传递参数 - [#227] 50 | - 允许在 `biblatex` 下使用多个数据源 - [#186] 51 | - 正确调用引用样式 - [#183] 52 | - 直接调用 `\thechapter` 使得附录中的图表编号正确显示 - [#166] 53 | - 判断 Libertinus Sans Bold Oblique 字体是否存在 - [#156] 54 | - 只检查 `ctexbook` 和 `xeCJK` 的版本,不再检查 `xunicode-addon` 等其他宏包 - [#150] 55 | - 允许 `\emph` 对中文生效 - [#93] 56 | - 将句号的类别码设置应用于预定义文本中,并优化实现,防止输出到辅助文件后引发错误 - [#74] 57 | - 在 `\@@_setCJKmainfont:nn` 等命令中展开字体族名称,防止导言区中 `\setCJKmainfont` 等命令失效 58 | - 变更 59 | - 同步 LaTeX 2020/10/01 60 | - 统一使用新的钩子机制 - [#77] 61 | - 不再显式载入 `expl3` 和 `xparse` 宏包 62 | - 移除 `style/hyperlink-color` 中不常用的超链接颜色 63 | - 同步 `siunitx` v3.0 - [#202] 64 | - 进一步同步 `gbt7714` v2.0 - [#127] 65 | - 直接调用 `gbt7714` 宏包 66 | - 允许在 BibTeX 下使用 `style/cite-style` 选项修改引用样式 67 | - 新增不带上标的文内引用命令 `\parencite` - [#163] 68 | - 不再将著录用符号修改为中文标点符号 - [#162] 69 | - 将专业学位封面信息栏中的 `专业` 修改为 `专业学位类别(领域)`,并调整宽度 - [#114] 70 | - `info/instructors` 为空时不再显示指导小组成员名单 - [#49] 71 | - `info/clc`、`info/jel` 为空时不再显示对应的分类号 - [#100]、[#226] 72 | - 不再使用 `\CheckSum` 和 `\CharacterTable` 检查 dtx 文件完整性 73 | - 将 GitHub 主分支由 `master` 重命名为 `main` 74 | - 在发行版中移除空白模板 `fduthesis-template.tex`,GitHub/Overleaf 中则重命名为 `main.tex` 75 | - 优化 76 | - 简化单页模式下页眉的实现方式 - [#233] 77 | - 感谢 [@atxy-blip]! 78 | - 添加 GitHub issue 模板与行为准则 79 | 80 | ## [v0.7e (2020-08-30)] 81 | 82 | - 新增 83 | - 增加对插图、表格目录的处理 - [#72] 84 | - 修复 85 | - 兼容 Libertinus 和 XITS 字体的文件名变动 86 | - 处理 `hyperref` 与 `unicode-math` 的兼容性问题 - [ustctug/ustcthesis#223] 87 | - 同步 `gbt7714` v2.0 - [#127] 88 | - 优化 89 | - 同步 TeX Live 2019、2020 90 | - 持续集成改为使用 GitHub Actions 91 | 92 | ## [v0.7d (2019-04-03)] 93 | 94 | - 变更 95 | - 在(中文)字体未提供对应粗体的情况下,允许使用伪粗,并用于封面中文标题 - [#68] 96 | - 修复 97 | - 修复参考文献不能在目录中显示的问题 - [#65]、[#69] 98 | - 修复 Unix 下的安装脚本 - [#64] 99 | - 感谢 [@ShichaoSun]! 100 | - 优化 101 | - 优化目录、摘要、参考文献等的标题实现 102 | - 优化关键词列表的显示 - [#70] 103 | 104 | ## [v0.7c (2019-03-17)] 105 | 106 | - 新增 107 | - `style/font` 新增 `garamond` 和 `times*` 样式 108 | - `style/cjk-font` 新增 `sinotype` 和 `sourcehan` 样式 109 | - 变更 110 | - 允许博士学位论文使用学位类型信息 - [#56] 111 | - 移除 latexmk 配置文件 `latexmkrc` 和 `latexmkrc-en` 112 | - 修复 113 | - 修复 macOS 下的字体调用问题 - [#36]、[#45] 114 | - 优化 115 | - 重构字体配置 116 | - 更换模版文档字体 117 | - 在项目 wiki 中介绍使用技巧 - [#52] 118 | - 感谢 [@jinyu121]、[@zepinglee]! 119 | 120 | ## [v0.7b (2018-05-06)] 121 | 122 | - 修复 123 | - 将校名、校徽图片添加至发行版 - [#32] 124 | - 支持 TeX Live 2018 125 | - (fdudoc) 调用 `xunicode` 宏包,使得代码中的星号可以正常显示 - [#33] 126 | 127 | ## [v0.7a (2018-04-09)] 128 | 129 | - 优化 130 | - 更新文档,发布至 CTAN - [#25] 131 | 132 | ## [v0.7 (2018-03-16)] 133 | 134 | - 新增 135 | - 参考文献支持 biber 与 `biblatex` - [#18] 136 | - 新增 `style/bib-backend`、`style/cite-style` 和 `style/bib-resource` 选项 137 | - 统一使用 `\printbibliography` 命令生成参考文献列表 138 | - 允许设置论文类型和学位类型 139 | - 新增 `type` 选项 140 | - 新增 `info/degree` 选项 141 | - 新增空白论文模板 `fduthesis-template.tex` 142 | - 新增不包含代码实现的简明用户手册 143 | - 变更 144 | - 移除 `fduthesis-user.def`,用户配置文件改为手动载入 - [#26] 145 | - 新增 `config` 选项 146 | - 同步 `gbt7714` v1.0,移除有关超链接的额外设置 147 | - 所有选项更改为用连字符隔开的形式 148 | - 原 `\fdunewtheorem` 命令更名为 `\newtheorem` 149 | - 修复 150 | - 调整脚注命令,以兼容 `fancyvrb` 宏包 - [#28] 151 | - 优化 152 | - 重构 `abstract*`、`notation` 等 153 | - 使用 `xtemplate` 重构封面布局 154 | - 使用 `l3build` 进行回归测试 155 | 156 | ## [v0.6 (2017-12-01)] 157 | 158 | - 新增 159 | - 支持 BibTeX,以实现参考文献的著录与引用 - [#18] 160 | - 新增 `style/bib-style` 选项 161 | - 添加英文版用户文档 - [#19] 162 | - 变更 163 | - `style/fullwidth-stop` 现在支持类别码和 TECKit 映射两种机制 - [#5] 164 | - 同步 `ctex` v2.4.11 165 | - 同步 `unicode-math` v0.8i - [#20] 166 | - 修复 167 | - LuaTeX 下的脚注编号- [#12] 168 | - 解决 `fontsize=5` 时封面信息栏出现的 overfull hbox - [#21] 169 | - 优化 170 | - 优化 URL 断行设置 171 | - `info/secret-level`、`style/footnote-style`:不再依赖 XITS-Math 字体 - [#22] 172 | - `style/font`:额外处理 XITS 字体的小型大写字母 173 | 174 | ## [v0.5 (2017-09-30)] 175 | 176 | - 新增 177 | - 新增 `font=none`、`cjkfont=none` 选项 178 | - (fdulogo) 将视觉识别系统移入 `fdulogo` 宏包,并添加重修版校徽 179 | - 变更 180 | - 移除 `nofonts` 选项 181 | - 同步 `fontspec` v2.6e 182 | - (fdudoc) 移除 `listings` 关键词定义文件 183 | - 优化 184 | - 重新实现字体调用,核心内容是分离字体的声明与设定,并按照宋、黑、仿、楷划分中文字体 - [#17] 185 | - 使用 `expl3` 以及内部函数改写封面,减少对 LaTeX2e 的依赖 186 | 187 | ## [v0.4 (2017-08-14)] 188 | 189 | - 新增 190 | - 新增 `logo` 与 `logosize` 选项 191 | - 新增 hyperref 相关配置,包括超链接样式(`hyperlink` 与 `hyperlinkcolor` 选项)及 PDF 元信息等 192 | - 提供彩色支持 193 | - 添加错误信息提示 194 | - (fdudoc) 在 `ctxdoc` 的基础上完成 `fdudoc` 文档类,用于模板手册编写 195 | - 变更 196 | - `\__fdu_blank_underline:n`:改用 `\rule` 绘制下划线,不再依赖 `ulem` 宏包 197 | - (fdudoc) `\changes@`:调整索引排序方式 198 | - 修复 199 | - `\fdu_family_if_exist:n`:修复 LuaTeX 下的展开错误 200 | - (fdudoc) 修复 `ctxdoc` 文档类 v2.4.10 之前版本中行距偏小的问题,⻅ [ctex-kit#303] 201 | - 优化 202 | - 拆分 `.dtx` 文件 203 | 204 | ## [v0.3 (2017-07-28)] 205 | 206 | - 新增 207 | - 英文模板 208 | - 视觉识别系统 209 | - 新增定理环境 - [#3] 210 | - 新增声明⻚ 211 | - 新增 `info/secretlevel` 与 `info/secretyear` 选项 212 | - 支持浮动体 213 | - 支持脚注 - [#2] 214 | - 支持 LuaLaTeX 215 | - 优化 216 | - 整理代码,编写用户文档 217 | - 分离文档类与参数配置文件 218 | - 使用 `doc`、`DocStrip` 和 `l3docstrip` 重构代码 219 | - 添加测试文件,使用 Travis CI 进行持续集成 220 | 221 | ## v0.2 (2017-02-19) 222 | 223 | - 使用 Git 进行版本控制,并发布至 GitHub 224 | 225 | ## v0.1 (2017-02-15) 226 | 227 | - 开始编写模板 228 | 229 | [Keep a Changelog]: https://keepachangelog.com 230 | 231 | [v0.3 (2017-07-28)]: https://github.com/stone-zeng/fduthesis/compare/37dace3...v0.3 232 | [v0.4 (2017-08-14)]: https://github.com/stone-zeng/fduthesis/compare/v0.3...v0.4 233 | [v0.5 (2017-09-30)]: https://github.com/stone-zeng/fduthesis/compare/v0.4...v0.5 234 | [v0.6 (2017-12-01)]: https://github.com/stone-zeng/fduthesis/compare/v0.5...v0.6 235 | [v0.7 (2018-03-16)]: https://github.com/stone-zeng/fduthesis/compare/v0.6...v0.7 236 | [v0.7a (2018-04-09)]: https://github.com/stone-zeng/fduthesis/compare/v0.7...v0.7a 237 | [v0.7b (2018-05-06)]: https://github.com/stone-zeng/fduthesis/compare/v0.7a...v0.7b 238 | [v0.7c (2019-03-17)]: https://github.com/stone-zeng/fduthesis/compare/v0.7b...v0.7c 239 | [v0.7d (2019-04-03)]: https://github.com/stone-zeng/fduthesis/compare/v0.7c...v0.7d 240 | [v0.7e (2020-08-30)]: https://github.com/stone-zeng/fduthesis/compare/v0.7d...v0.7e 241 | [v0.8 (2022-09-04)]: https://github.com/stone-zeng/fduthesis/compare/v0.7e...v0.8 242 | [v0.9 (2023-02-26)]: https://github.com/stone-zeng/fduthesis/compare/v0.8...v0.9 243 | [v0.9a (2023-05-27)]: https://github.com/stone-zeng/fduthesis/compare/v0.9...v0.9a 244 | [未发布]: https://github.com/stone-zeng/fduthesis/compare/v0.9a...main 245 | 246 | [#2]: https://github.com/stone-zeng/fduthesis/issues/2 247 | [#3]: https://github.com/stone-zeng/fduthesis/issues/3 248 | [#5]: https://github.com/stone-zeng/fduthesis/issues/5 249 | [#12]: https://github.com/stone-zeng/fduthesis/issues/12 250 | [#17]: https://github.com/stone-zeng/fduthesis/issues/17 251 | [#18]: https://github.com/stone-zeng/fduthesis/issues/18 252 | [#19]: https://github.com/stone-zeng/fduthesis/issues/19 253 | [#20]: https://github.com/stone-zeng/fduthesis/issues/20 254 | [#21]: https://github.com/stone-zeng/fduthesis/issues/21 255 | [#22]: https://github.com/stone-zeng/fduthesis/issues/22 256 | [#25]: https://github.com/stone-zeng/fduthesis/issues/25 257 | [#26]: https://github.com/stone-zeng/fduthesis/issues/26 258 | [#28]: https://github.com/stone-zeng/fduthesis/issues/28 259 | [#32]: https://github.com/stone-zeng/fduthesis/issues/32 260 | [#33]: https://github.com/stone-zeng/fduthesis/issues/33 261 | [#36]: https://github.com/stone-zeng/fduthesis/issues/36 262 | [#37]: https://github.com/stone-zeng/fduthesis/issues/37 263 | [#41]: https://github.com/stone-zeng/fduthesis/issues/41 264 | [#45]: https://github.com/stone-zeng/fduthesis/issues/45 265 | [#49]: https://github.com/stone-zeng/fduthesis/issues/49 266 | [#50]: https://github.com/stone-zeng/fduthesis/issues/50 267 | [#52]: https://github.com/stone-zeng/fduthesis/issues/52 268 | [#56]: https://github.com/stone-zeng/fduthesis/issues/56 269 | [#60]: https://github.com/stone-zeng/fduthesis/issues/60 270 | [#65]: https://github.com/stone-zeng/fduthesis/issues/65 271 | [#68]: https://github.com/stone-zeng/fduthesis/issues/68 272 | [#69]: https://github.com/stone-zeng/fduthesis/issues/69 273 | [#70]: https://github.com/stone-zeng/fduthesis/issues/70 274 | [#72]: https://github.com/stone-zeng/fduthesis/issues/72 275 | [#74]: https://github.com/stone-zeng/fduthesis/issues/74 276 | [#75]: https://github.com/stone-zeng/fduthesis/issues/75 277 | [#77]: https://github.com/stone-zeng/fduthesis/issues/77 278 | [#78]: https://github.com/stone-zeng/fduthesis/issues/78 279 | [#86]: https://github.com/stone-zeng/fduthesis/issues/86 280 | [#93]: https://github.com/stone-zeng/fduthesis/issues/93 281 | [#100]: https://github.com/stone-zeng/fduthesis/issues/100 282 | [#114]: https://github.com/stone-zeng/fduthesis/issues/114 283 | [#116]: https://github.com/stone-zeng/fduthesis/issues/116 284 | [#127]: https://github.com/stone-zeng/fduthesis/issues/127 285 | [#150]: https://github.com/stone-zeng/fduthesis/issues/150 286 | [#156]: https://github.com/stone-zeng/fduthesis/issues/156 287 | [#162]: https://github.com/stone-zeng/fduthesis/issues/162 288 | [#163]: https://github.com/stone-zeng/fduthesis/issues/163 289 | [#166]: https://github.com/stone-zeng/fduthesis/issues/166 290 | [#183]: https://github.com/stone-zeng/fduthesis/issues/183 291 | [#186]: https://github.com/stone-zeng/fduthesis/issues/186 292 | [#192]: https://github.com/stone-zeng/fduthesis/issues/192 293 | [#202]: https://github.com/stone-zeng/fduthesis/issues/202 294 | [#226]: https://github.com/stone-zeng/fduthesis/issues/226 295 | [#227]: https://github.com/stone-zeng/fduthesis/issues/227 296 | [#229]: https://github.com/stone-zeng/fduthesis/issues/229 297 | [#239]: https://github.com/stone-zeng/fduthesis/issues/239 298 | [#265]: https://github.com/stone-zeng/fduthesis/issues/265 299 | [#289]: https://github.com/stone-zeng/fduthesis/issues/289 300 | [#296]: https://github.com/stone-zeng/fduthesis/issues/296 301 | [#302]: https://github.com/stone-zeng/fduthesis/issues/302 302 | [#329]: https://github.com/stone-zeng/fduthesis/issues/329 303 | 304 | [#64]: https://github.com/stone-zeng/fduthesis/pull/64 305 | [#233]: https://github.com/stone-zeng/fduthesis/pull/233 306 | [#331]: https://github.com/stone-zeng/fduthesis/pull/331 307 | 308 | [#253]: https://github.com/stone-zeng/fduthesis/discussions/253 309 | [#264]: https://github.com/stone-zeng/fduthesis/discussions/264 310 | 311 | [ctex-kit#303]: https://github.com/CTeX-org/ctex-kit/issues/303 312 | [ustctug/ustcthesis#223]: https://github.com/ustctug/ustcthesis/issues/223 313 | 314 | [@atxy-blip]: https://github.com/atxy-blip 315 | [@jinyu121]: https://github.com/jinyu121 316 | [@muzimuzhi]: https://github.com/muzimuzhi 317 | [@ShichaoSun]: https://github.com/ShichaoSun 318 | [@zepinglee]: https://github.com/zepinglee 319 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The LaTeX Project Public License 2 | =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 3 | 4 | LPPL Version 1.3c 2008-05-04 5 | 6 | Copyright 1999 2002-2008 LaTeX3 Project 7 | Everyone is allowed to distribute verbatim copies of this 8 | license document, but modification of it is not allowed. 9 | 10 | 11 | PREAMBLE 12 | ======== 13 | 14 | The LaTeX Project Public License (LPPL) is the primary license under 15 | which the LaTeX kernel and the base LaTeX packages are distributed. 16 | 17 | You may use this license for any work of which you hold the copyright 18 | and which you wish to distribute. This license may be particularly 19 | suitable if your work is TeX-related (such as a LaTeX package), but 20 | it is written in such a way that you can use it even if your work is 21 | unrelated to TeX. 22 | 23 | The section `WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE', 24 | below, gives instructions, examples, and recommendations for authors 25 | who are considering distributing their works under this license. 26 | 27 | This license gives conditions under which a work may be distributed 28 | and modified, as well as conditions under which modified versions of 29 | that work may be distributed. 30 | 31 | We, the LaTeX3 Project, believe that the conditions below give you 32 | the freedom to make and distribute modified versions of your work 33 | that conform with whatever technical specifications you wish while 34 | maintaining the availability, integrity, and reliability of 35 | that work. If you do not see how to achieve your goal while 36 | meeting these conditions, then read the document `cfgguide.tex' 37 | and `modguide.tex' in the base LaTeX distribution for suggestions. 38 | 39 | 40 | DEFINITIONS 41 | =========== 42 | 43 | In this license document the following terms are used: 44 | 45 | `Work' 46 | Any work being distributed under this License. 47 | 48 | `Derived Work' 49 | Any work that under any applicable law is derived from the Work. 50 | 51 | `Modification' 52 | Any procedure that produces a Derived Work under any applicable 53 | law -- for example, the production of a file containing an 54 | original file associated with the Work or a significant portion of 55 | such a file, either verbatim or with modifications and/or 56 | translated into another language. 57 | 58 | `Modify' 59 | To apply any procedure that produces a Derived Work under any 60 | applicable law. 61 | 62 | `Distribution' 63 | Making copies of the Work available from one person to another, in 64 | whole or in part. Distribution includes (but is not limited to) 65 | making any electronic components of the Work accessible by 66 | file transfer protocols such as FTP or HTTP or by shared file 67 | systems such as Sun's Network File System (NFS). 68 | 69 | `Compiled Work' 70 | A version of the Work that has been processed into a form where it 71 | is directly usable on a computer system. This processing may 72 | include using installation facilities provided by the Work, 73 | transformations of the Work, copying of components of the Work, or 74 | other activities. Note that modification of any installation 75 | facilities provided by the Work constitutes modification of the Work. 76 | 77 | `Current Maintainer' 78 | A person or persons nominated as such within the Work. If there is 79 | no such explicit nomination then it is the `Copyright Holder' under 80 | any applicable law. 81 | 82 | `Base Interpreter' 83 | A program or process that is normally needed for running or 84 | interpreting a part or the whole of the Work. 85 | 86 | A Base Interpreter may depend on external components but these 87 | are not considered part of the Base Interpreter provided that each 88 | external component clearly identifies itself whenever it is used 89 | interactively. Unless explicitly specified when applying the 90 | license to the Work, the only applicable Base Interpreter is a 91 | `LaTeX-Format' or in the case of files belonging to the 92 | `LaTeX-format' a program implementing the `TeX language'. 93 | 94 | 95 | 96 | CONDITIONS ON DISTRIBUTION AND MODIFICATION 97 | =========================================== 98 | 99 | 1. Activities other than distribution and/or modification of the Work 100 | are not covered by this license; they are outside its scope. In 101 | particular, the act of running the Work is not restricted and no 102 | requirements are made concerning any offers of support for the Work. 103 | 104 | 2. You may distribute a complete, unmodified copy of the Work as you 105 | received it. Distribution of only part of the Work is considered 106 | modification of the Work, and no right to distribute such a Derived 107 | Work may be assumed under the terms of this clause. 108 | 109 | 3. You may distribute a Compiled Work that has been generated from a 110 | complete, unmodified copy of the Work as distributed under Clause 2 111 | above, as long as that Compiled Work is distributed in such a way that 112 | the recipients may install the Compiled Work on their system exactly 113 | as it would have been installed if they generated a Compiled Work 114 | directly from the Work. 115 | 116 | 4. If you are the Current Maintainer of the Work, you may, without 117 | restriction, modify the Work, thus creating a Derived Work. You may 118 | also distribute the Derived Work without restriction, including 119 | Compiled Works generated from the Derived Work. Derived Works 120 | distributed in this manner by the Current Maintainer are considered to 121 | be updated versions of the Work. 122 | 123 | 5. If you are not the Current Maintainer of the Work, you may modify 124 | your copy of the Work, thus creating a Derived Work based on the Work, 125 | and compile this Derived Work, thus creating a Compiled Work based on 126 | the Derived Work. 127 | 128 | 6. If you are not the Current Maintainer of the Work, you may 129 | distribute a Derived Work provided the following conditions are met 130 | for every component of the Work unless that component clearly states 131 | in the copyright notice that it is exempt from that condition. Only 132 | the Current Maintainer is allowed to add such statements of exemption 133 | to a component of the Work. 134 | 135 | a. If a component of this Derived Work can be a direct replacement 136 | for a component of the Work when that component is used with the 137 | Base Interpreter, then, wherever this component of the Work 138 | identifies itself to the user when used interactively with that 139 | Base Interpreter, the replacement component of this Derived Work 140 | clearly and unambiguously identifies itself as a modified version 141 | of this component to the user when used interactively with that 142 | Base Interpreter. 143 | 144 | b. Every component of the Derived Work contains prominent notices 145 | detailing the nature of the changes to that component, or a 146 | prominent reference to another file that is distributed as part 147 | of the Derived Work and that contains a complete and accurate log 148 | of the changes. 149 | 150 | c. No information in the Derived Work implies that any persons, 151 | including (but not limited to) the authors of the original version 152 | of the Work, provide any support, including (but not limited to) 153 | the reporting and handling of errors, to recipients of the 154 | Derived Work unless those persons have stated explicitly that 155 | they do provide such support for the Derived Work. 156 | 157 | d. You distribute at least one of the following with the Derived Work: 158 | 159 | 1. A complete, unmodified copy of the Work; 160 | if your distribution of a modified component is made by 161 | offering access to copy the modified component from a 162 | designated place, then offering equivalent access to copy 163 | the Work from the same or some similar place meets this 164 | condition, even though third parties are not compelled to 165 | copy the Work along with the modified component; 166 | 167 | 2. Information that is sufficient to obtain a complete, 168 | unmodified copy of the Work. 169 | 170 | 7. If you are not the Current Maintainer of the Work, you may 171 | distribute a Compiled Work generated from a Derived Work, as long as 172 | the Derived Work is distributed to all recipients of the Compiled 173 | Work, and as long as the conditions of Clause 6, above, are met with 174 | regard to the Derived Work. 175 | 176 | 8. The conditions above are not intended to prohibit, and hence do not 177 | apply to, the modification, by any method, of any component so that it 178 | becomes identical to an updated version of that component of the Work as 179 | it is distributed by the Current Maintainer under Clause 4, above. 180 | 181 | 9. Distribution of the Work or any Derived Work in an alternative 182 | format, where the Work or that Derived Work (in whole or in part) is 183 | then produced by applying some process to that format, does not relax or 184 | nullify any sections of this license as they pertain to the results of 185 | applying that process. 186 | 187 | 10. a. A Derived Work may be distributed under a different license 188 | provided that license itself honors the conditions listed in 189 | Clause 6 above, in regard to the Work, though it does not have 190 | to honor the rest of the conditions in this license. 191 | 192 | b. If a Derived Work is distributed under a different license, that 193 | Derived Work must provide sufficient documentation as part of 194 | itself to allow each recipient of that Derived Work to honor the 195 | restrictions in Clause 6 above, concerning changes from the Work. 196 | 197 | 11. This license places no restrictions on works that are unrelated to 198 | the Work, nor does this license place any restrictions on aggregating 199 | such works with the Work by any means. 200 | 201 | 12. Nothing in this license is intended to, or may be used to, prevent 202 | complete compliance by all parties with all applicable laws. 203 | 204 | 205 | NO WARRANTY 206 | =========== 207 | 208 | There is no warranty for the Work. Except when otherwise stated in 209 | writing, the Copyright Holder provides the Work `as is', without 210 | warranty of any kind, either expressed or implied, including, but not 211 | limited to, the implied warranties of merchantability and fitness for a 212 | particular purpose. The entire risk as to the quality and performance 213 | of the Work is with you. Should the Work prove defective, you assume 214 | the cost of all necessary servicing, repair, or correction. 215 | 216 | In no event unless required by applicable law or agreed to in writing 217 | will The Copyright Holder, or any author named in the components of the 218 | Work, or any other party who may distribute and/or modify the Work as 219 | permitted above, be liable to you for damages, including any general, 220 | special, incidental or consequential damages arising out of any use of 221 | the Work or out of inability to use the Work (including, but not limited 222 | to, loss of data, data being rendered inaccurate, or losses sustained by 223 | anyone as a result of any failure of the Work to operate with any other 224 | programs), even if the Copyright Holder or said author or said other 225 | party has been advised of the possibility of such damages. 226 | 227 | 228 | MAINTENANCE OF THE WORK 229 | ======================= 230 | 231 | The Work has the status `author-maintained' if the Copyright Holder 232 | explicitly and prominently states near the primary copyright notice in 233 | the Work that the Work can only be maintained by the Copyright Holder 234 | or simply that it is `author-maintained'. 235 | 236 | The Work has the status `maintained' if there is a Current Maintainer 237 | who has indicated in the Work that they are willing to receive error 238 | reports for the Work (for example, by supplying a valid e-mail 239 | address). It is not required for the Current Maintainer to acknowledge 240 | or act upon these error reports. 241 | 242 | The Work changes from status `maintained' to `unmaintained' if there 243 | is no Current Maintainer, or the person stated to be Current 244 | Maintainer of the work cannot be reached through the indicated means 245 | of communication for a period of six months, and there are no other 246 | significant signs of active maintenance. 247 | 248 | You can become the Current Maintainer of the Work by agreement with 249 | any existing Current Maintainer to take over this role. 250 | 251 | If the Work is unmaintained, you can become the Current Maintainer of 252 | the Work through the following steps: 253 | 254 | 1. Make a reasonable attempt to trace the Current Maintainer (and 255 | the Copyright Holder, if the two differ) through the means of 256 | an Internet or similar search. 257 | 258 | 2. If this search is successful, then enquire whether the Work 259 | is still maintained. 260 | 261 | a. If it is being maintained, then ask the Current Maintainer 262 | to update their communication data within one month. 263 | 264 | b. If the search is unsuccessful or no action to resume active 265 | maintenance is taken by the Current Maintainer, then announce 266 | within the pertinent community your intention to take over 267 | maintenance. (If the Work is a LaTeX work, this could be 268 | done, for example, by posting to comp.text.tex.) 269 | 270 | 3a. If the Current Maintainer is reachable and agrees to pass 271 | maintenance of the Work to you, then this takes effect 272 | immediately upon announcement. 273 | 274 | b. If the Current Maintainer is not reachable and the Copyright 275 | Holder agrees that maintenance of the Work be passed to you, 276 | then this takes effect immediately upon announcement. 277 | 278 | 4. If you make an `intention announcement' as described in 2b. above 279 | and after three months your intention is challenged neither by 280 | the Current Maintainer nor by the Copyright Holder nor by other 281 | people, then you may arrange for the Work to be changed so as 282 | to name you as the (new) Current Maintainer. 283 | 284 | 5. If the previously unreachable Current Maintainer becomes 285 | reachable once more within three months of a change completed 286 | under the terms of 3b) or 4), then that Current Maintainer must 287 | become or remain the Current Maintainer upon request provided 288 | they then update their communication data within one month. 289 | 290 | A change in the Current Maintainer does not, of itself, alter the fact 291 | that the Work is distributed under the LPPL license. 292 | 293 | If you become the Current Maintainer of the Work, you should 294 | immediately provide, within the Work, a prominent and unambiguous 295 | statement of your status as Current Maintainer. You should also 296 | announce your new status to the same pertinent community as 297 | in 2b) above. 298 | 299 | 300 | WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE 301 | ====================================================== 302 | 303 | This section contains important instructions, examples, and 304 | recommendations for authors who are considering distributing their 305 | works under this license. These authors are addressed as `you' in 306 | this section. 307 | 308 | Choosing This License or Another License 309 | ---------------------------------------- 310 | 311 | If for any part of your work you want or need to use *distribution* 312 | conditions that differ significantly from those in this license, then 313 | do not refer to this license anywhere in your work but, instead, 314 | distribute your work under a different license. You may use the text 315 | of this license as a model for your own license, but your license 316 | should not refer to the LPPL or otherwise give the impression that 317 | your work is distributed under the LPPL. 318 | 319 | The document `modguide.tex' in the base LaTeX distribution explains 320 | the motivation behind the conditions of this license. It explains, 321 | for example, why distributing LaTeX under the GNU General Public 322 | License (GPL) was considered inappropriate. Even if your work is 323 | unrelated to LaTeX, the discussion in `modguide.tex' may still be 324 | relevant, and authors intending to distribute their works under any 325 | license are encouraged to read it. 326 | 327 | A Recommendation on Modification Without Distribution 328 | ----------------------------------------------------- 329 | 330 | It is wise never to modify a component of the Work, even for your own 331 | personal use, without also meeting the above conditions for 332 | distributing the modified component. While you might intend that such 333 | modifications will never be distributed, often this will happen by 334 | accident -- you may forget that you have modified that component; or 335 | it may not occur to you when allowing others to access the modified 336 | version that you are thus distributing it and violating the conditions 337 | of this license in ways that could have legal implications and, worse, 338 | cause problems for the community. It is therefore usually in your 339 | best interest to keep your copy of the Work identical with the public 340 | one. Many works provide ways to control the behavior of that work 341 | without altering any of its licensed components. 342 | 343 | How to Use This License 344 | ----------------------- 345 | 346 | To use this license, place in each of the components of your work both 347 | an explicit copyright notice including your name and the year the work 348 | was authored and/or last substantially modified. Include also a 349 | statement that the distribution and/or modification of that 350 | component is constrained by the conditions in this license. 351 | 352 | Here is an example of such a notice and statement: 353 | 354 | %% pig.dtx 355 | %% Copyright 2005 M. Y. Name 356 | % 357 | % This work may be distributed and/or modified under the 358 | % conditions of the LaTeX Project Public License, either version 1.3 359 | % of this license or (at your option) any later version. 360 | % The latest version of this license is in 361 | % http://www.latex-project.org/lppl.txt 362 | % and version 1.3 or later is part of all distributions of LaTeX 363 | % version 2005/12/01 or later. 364 | % 365 | % This work has the LPPL maintenance status `maintained'. 366 | % 367 | % The Current Maintainer of this work is M. Y. Name. 368 | % 369 | % This work consists of the files pig.dtx and pig.ins 370 | % and the derived file pig.sty. 371 | 372 | Given such a notice and statement in a file, the conditions 373 | given in this license document would apply, with the `Work' referring 374 | to the three files `pig.dtx', `pig.ins', and `pig.sty' (the last being 375 | generated from `pig.dtx' using `pig.ins'), the `Base Interpreter' 376 | referring to any `LaTeX-Format', and both `Copyright Holder' and 377 | `Current Maintainer' referring to the person `M. Y. Name'. 378 | 379 | If you do not want the Maintenance section of LPPL to apply to your 380 | Work, change `maintained' above into `author-maintained'. 381 | However, we recommend that you use `maintained', as the Maintenance 382 | section was added in order to ensure that your Work remains useful to 383 | the community even when you can no longer maintain and support it 384 | yourself. 385 | 386 | Derived Works That Are Not Replacements 387 | --------------------------------------- 388 | 389 | Several clauses of the LPPL specify means to provide reliability and 390 | stability for the user community. They therefore concern themselves 391 | with the case that a Derived Work is intended to be used as a 392 | (compatible or incompatible) replacement of the original Work. If 393 | this is not the case (e.g., if a few lines of code are reused for a 394 | completely different task), then clauses 6b and 6d shall not apply. 395 | 396 | 397 | Important Recommendations 398 | ------------------------- 399 | 400 | Defining What Constitutes the Work 401 | 402 | The LPPL requires that distributions of the Work contain all the 403 | files of the Work. It is therefore important that you provide a 404 | way for the licensee to determine which files constitute the Work. 405 | This could, for example, be achieved by explicitly listing all the 406 | files of the Work near the copyright notice of each file or by 407 | using a line such as: 408 | 409 | % This work consists of all files listed in manifest.txt. 410 | 411 | in that place. In the absence of an unequivocal list it might be 412 | impossible for the licensee to determine what is considered by you 413 | to comprise the Work and, in such a case, the licensee would be 414 | entitled to make reasonable conjectures as to which files comprise 415 | the Work. 416 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # fduthesis 2 | 3 | [![build](https://github.com/stone-zeng/fduthesis/workflows/build/badge.svg)](https://github.com/stone-zeng/fduthesis/actions) 4 | [![Overleaf](https://img.shields.io/badge/overleaf-fduthesis-blue.svg)](https://www.overleaf.com/latex/templates/fduthesis-latex-thesis-template-for-fudan-university/svtdhhstkmkt) 5 | [![CTAN](https://img.shields.io/ctan/v/fduthesis.svg)](https://www.ctan.org/pkg/fduthesis) 6 | [![GitHub release](https://img.shields.io/github/release/stone-zeng/fduthesis/all.svg)](https://github.com/stone-zeng/fduthesis/releases/latest) 7 | 8 | ## 欢迎使用 fduthesis(复旦大学论文模板) 9 | 10 | 本模板支持中英文的博士、硕士学位论文以及本科毕业论文撰写。借助现代 LaTeX 技术,希望达到用户接口简明、内容格式规范和模板样式可定制的统一。 11 | 12 | 本模板目前支持 XeTeX 和 LuaTeX 引擎,对其他引擎(包括 pdfTeX 和 [ApTeX](https://github.com/clerkma/ptex-ng))的支持仍在实验阶段。本模板仅支持 UTF-8 编码。 13 | 14 | 在您使用 `fduthesis` 之前,请务必仔细阅读模板文档 [fduthesis.pdf](http://mirrors.ctan.org/macros/latex/contrib/fduthesis/fduthesis.pdf)。 15 | 16 | ### 模板组成 17 | 18 | - 核心文档类 19 | - `fduthesis.cls` 20 | - `fduthesis-en.cls` 21 | - 配置文件 22 | - `fduthesis.def` 23 | - 附属宏包 24 | - `fdulogo.sty` 25 | - `fdudoc.cls` 26 | 27 | ### 使用示例 28 | 29 | ```latex 30 | % !TeX program = XeLaTeX 31 | % !TeX encoding = UTF-8 32 | 33 | \documentclass{fduthesis} 34 | 35 | \fdusetup{ 36 | style = { 37 | font-size = 5, 38 | fullwidth-stop = catcode, 39 | }, 40 | info = { 41 | title = {论文标题}, 42 | title* = {Thesis Title}, 43 | author = {你的名字}, 44 | supervisor = {某某某\quad 教授}, 45 | major = {物理学}, 46 | degree = academic, 47 | department = {物理系}, 48 | student-id = {12300000000}, 49 | keywords = {不确定关系, 量子力学, 理论物理}, 50 | keywords* = {Uncertainty principle, quantum mechanics, theoretical physics}, 51 | clc = {O413.1} 52 | } 53 | } 54 | 55 | \begin{document} 56 | 57 | \tableofcontents 58 | 59 | \begin{abstract} 60 | 中文摘要 61 | \end{abstract} 62 | 63 | \begin{abstract*} 64 | English abstract 65 | \end{abstract*} 66 | 67 | \mainmatter 68 | 69 | <论文主体> 70 | 71 | \backmatter 72 | 73 | \end{document} 74 | ``` 75 | 76 | ### 重要提醒 77 | 78 | 1. 本模板未经学校相关部门审核及授权,使用前请务必斟酌。 79 | 1. 本模板仍处于开发中,不保证接口的稳定性。在撰写论文的过程中,请慎重考虑是否要同步进行更新。 80 | 1. 任何由于使⽤本模板⽽引起的论⽂格式审查问题均与本模板作者⽆关。 81 | 82 | ### 贡献 83 | 84 | 如果您有任何改进意见或者功能需求,欢迎提交 [issues](https://github.com/stone-zeng/fduthesis/issues)、[pull requests](https://github.com/stone-zeng/fduthesis/pulls) 或 [discussions](https://github.com/stone-zeng/fduthesis/discussions)。 85 | 86 | ### 许可证 87 | 88 | 本模板的发布遵守 [LaTeX Project Public License](http://www.latex-project.org/lppl.txt)(版本 1.3c 或更高)。 89 | 90 |
91 | 92 | ## Welcome to fduthesis (LaTeX thesis template for Fudan University) 93 | 94 | This template supports doctoral or master dissertion and undergraduate thesis, both in Chinese or English. With the help of modern LaTeX technology, `fduthesis` aims to create a simple interface, a normative format, as well as a hackable class for the users. 95 | 96 | At present, `fduthesis` only supports XeTeX and LuaTeX engines. Support for pdfTeX and [ApTeX](https://github.com/clerkma/ptex-ng) is still under development. `fduthesis` only allows UTF-8 encoding. 97 | 98 | Before you using `fduthesis`, please read the document [fduthesis-en.pdf](http://mirrors.ctan.org/macros/latex/contrib/fduthesis/fduthesis-en.pdf) carefully. 99 | 100 | **WARNING:** `fduthesis` has NOT reviewed or authorized by any department of Fudan University. Any problem of format censorship caused by the use of `fduthesis` will NOT be concerned by the template author. 101 | 102 | ### Components 103 | 104 | - Main document classes: 105 | - `fduthesis.cls` 106 | - `fduthesis-en.cls` 107 | - Configuration file: 108 | - `fduthesis.def` 109 | - Affiliated packages: 110 | - `fdulogo.sty` 111 | - `fdudoc.cls` 112 | 113 | ### Sample 114 | 115 | ```latex 116 | \documentclass{fduthesis-en} 117 | 118 | \fdusetup{ 119 | style/font-size = 5, 120 | info = { 121 | title = {论文标题}, 122 | title* = {Thesis Title}, 123 | author = {你的名字}, 124 | supervisor = {某某某\quad 教授}, 125 | major = {物理学}, 126 | degree = academic, 127 | department = {物理系}, 128 | student-id = {12300000000}, 129 | keywords = {不确定关系, 量子力学, 理论物理}, 130 | keywords* = {Uncertainty principle, quantum mechanics, theoretical physics}, 131 | clc = {O413.1} 132 | } 133 | } 134 | 135 | \begin{document} 136 | 137 | \tableofcontents 138 | 139 | \begin{abstract} 140 | Abstract 141 | \end{abstract} 142 | 143 | \mainmatter 144 | 145 |
146 | 147 | \backmatter 148 | 149 | \end{document} 150 | ``` 151 | 152 | ### Contributing 153 | 154 | [Issues](https://github.com/stone-zeng/fduthesis/issues), [pull requests](https://github.com/stone-zeng/fduthesis/pulls) and [discussions](https://github.com/stone-zeng/fduthesis/discussions) are always welcome. 155 | 156 | ### License 157 | 158 | This work may be distributed and/or modified under the conditions of the [LaTeX Project Public License](http://www.latex-project.org/lppl.txt), either version 1.3c of this license or (at your option) any later version. 159 | 160 | ----- 161 | 162 | Copyright (C) 2017–2024 by Xiangdong Zeng. 163 | -------------------------------------------------------------------------------- /build.lua: -------------------------------------------------------------------------------- 1 | -- Build script for fduthesis. 2 | 3 | module = "fduthesis" 4 | 5 | checkengines = {"xetex", "luatex"} 6 | stdengine = "xetex" 7 | checkopts = "-interaction=batchmode" 8 | 9 | sourcefiles = {"source/*.dtx"} 10 | installfiles = {"*.cls", "*.sty", "*.def"} 11 | 12 | typesetexe = "xelatex" 13 | typesetfiles = {"fduthesis.dtx"} 14 | 15 | unpackfiles = {"fduthesis.dtx"} 16 | unpackexe = "xetex" 17 | -------------------------------------------------------------------------------- /docs/example-image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stone-zeng/fduthesis/af18bb38a6d937e9734e9b9cf19daccd45ba4061/docs/example-image.png -------------------------------------------------------------------------------- /docs/main.bib: -------------------------------------------------------------------------------- 1 | % Copyright (C) 2019, 2022 by Xiangdong Zeng 2 | 3 | @book{曾谨言2013量子力学, 4 | title={量子力学: 卷 I.}, 5 | author={曾谨言}, 6 | year={2013}, 7 | publisher={科学出版社}, 8 | address={北京} 9 | } 10 | 11 | @book{feynman2011feynman, 12 | title={The Feynman lectures on physics, Vol. I: The new millennium edition: mainly mechanics, radiation, and heat}, 13 | author={Feynman, Richard P and Leighton, Robert B and Sands, Matthew}, 14 | volume={1}, 15 | year={2011}, 16 | publisher={Basic books} 17 | } 18 | 19 | @article{zurek2014quantum, 20 | title={Quantum Darwinism, classical reality, and the randomness of quantum jumps}, 21 | author={Zurek, Wojciech H}, 22 | journal={arXiv preprint arXiv:1412.5206}, 23 | year={2014} 24 | } 25 | 26 | @book{cohen2013claude, 27 | title={Claude Cohen-Tannoudji; Bernard Diu; Franck Lalo{\"e}: Quantenmechanik}, 28 | author={Cohen-Tannoudji, Claude and Diu, Bernard and Lalo{\"e}, Franck}, 29 | volume={1}, 30 | year={2013}, 31 | publisher={Walter de Gruyter} 32 | } 33 | 34 | @misc{zettili2003quantum, 35 | title={Quantum mechanics: concepts and applications}, 36 | author={Zettili, Nouredine}, 37 | year={2003}, 38 | publisher={AAPT} 39 | } 40 | 41 | @misc{wikimedia:stern-gerlach-experiment, 42 | author={Wikimedia Commons}, 43 | title={File:Stern-Gerlach experiment zh.png --- Wikimedia Commons{,} the free media repository}, 44 | year={2016}, 45 | url={https://commons.wikimedia.org/w/index.php?title=File:Stern-Gerlach_experiment_zh.png&oldid=221590546}, 46 | note={[Online; accessed 25-July-2019]}, 47 | } 48 | -------------------------------------------------------------------------------- /docs/main.tex: -------------------------------------------------------------------------------- 1 | % \iffalse meta-comment 2 | % 3 | % Copyright (C) 2018--2023 by Xiangdong Zeng 4 | % 5 | % This work may be distributed and/or modified under the 6 | % conditions of the LaTeX Project Public License, either 7 | % version 1.3c of this license or (at your option) any later 8 | % version. The latest version of this license is in: 9 | % 10 | % http://www.latex-project.org/lppl.txt 11 | % 12 | % and version 1.3 or later is part of all distributions of 13 | % LaTeX version 2005/12/01 or later. 14 | % 15 | % This work has the LPPL maintenance status `maintained'. 16 | % 17 | % The Current Maintainer of this work is Xiangdong Zeng. 18 | % 19 | % \fi 20 | 21 | %********************************************************************* 22 | % fduthesis: 复旦大学论文模板 23 | % 2023-05-27 v0.9a 24 | % 25 | % 重要提示: 26 | % 1. 请确保使用 UTF-8 编码保存 27 | % 2. 请使用 XeLaTeX 或 LuaLaTeX 编译 28 | % 3. 请仔细阅读用户文档 29 | % 4. 修改、使用、发布本文档请务必遵循 LaTeX Project Public License 30 | % 5. 不需要的注释可以尽情删除 31 | %********************************************************************* 32 | 33 | \documentclass[type=doctor]{fduthesis} 34 | % 模板选项: 35 | % type = doctor|master|bachelor 论文类型,默认为本科论文 36 | % oneside|twoside 论文的单双面模式,默认为 twoside 37 | % draft = true|false 是否开启草稿模式,默认关闭 38 | % 带选项的用法示例: 39 | % \documentclass[oneside]{fduthesis} 40 | % \documentclass[twoside, draft=true]{fduthesis} 41 | % \documentclass[type=bachelor, twoside, draft=true]{fduthesis} 42 | 43 | \fdusetup{ 44 | % 参数设置 45 | % 允许采用两种方式设置选项: 46 | % 1. style/... = ... 47 | % 2. style = { ... = ... } 48 | % 注意事项: 49 | % 1. 不要出现空行 50 | % 2. “=” 两侧的空格会被忽略 51 | % 3. “/” 两侧的空格不会被忽略 52 | % 4. 请使用英文逗号 “,” 分隔选项 53 | % 54 | % style 类用于设置论文格式 55 | style = { 56 | % font = times, 57 | % 西文字体(包括数学字体) 58 | % 允许选项: 59 | % font = garamond|libertinus|lm|palatino|times|times*|none 60 | % 61 | % cjk-font = fandol, 62 | % 中文字体 63 | % 允许选项: 64 | % cjk-font = adobe|fandol|founder|mac|sinotype|sourcehan|windows|none 65 | % 66 | % 注意: 67 | % 1. 中文字体设置高度依赖于系统。各系统建议方案: 68 | % windows:cjk-font = windows 69 | % mac: cjk-font = mac 70 | % linux: cjk-font = fandol(默认值) 71 | % 2. 除 fandol 和 sourcehan 外,其余字体均为商用字体,请注意版权问题 72 | % 3. 但 fandol 字体缺字比较严重,而 sourcehan 没有配备楷体和仿宋体 73 | % 4. 这里中西文字体设置均注释掉了,即使用默认设置: 74 | % font = times 75 | % cjk-font = fandol 76 | % 5. 使用 font = none / cjk-font = none 关闭默认字体设置,需手动进行配置 77 | % 78 | % font-size = -4, 79 | % 字号 80 | % 允许选项: 81 | % font-size = -4|5 82 | % 83 | % fullwidth-stop = catcode, 84 | % 是否把全角实心句点 “.” 作为默认的句号形状 85 | % 允许选项: 86 | % fullwidth-stop = catcode|mapping|false 87 | % 说明: 88 | % catcode 显式的 “。” 会被替换为 “.”(e.g. 不包括用宏定义保存的 “。”) 89 | % mapping 所有的 “。” 会被替换为 “.”(使用 LuaLaTeX 编译则无效) 90 | % false 不进行替换 91 | % 92 | footnote-style = xits, 93 | % 脚注编号样式 94 | % 允许选项: 95 | % footnote-style = plain|libertinus|libertinus*|libertinus-sans| 96 | % pifont|pifont*|pifont-sans|pifont-sans*| 97 | % xits|xits-sans|xits-sans* 98 | % 默认与西文字体保持一致 99 | % 100 | % hyperlink = color, 101 | % 超链接样式 102 | % 允许选项: 103 | % hyperlink = border|color|none 104 | % 105 | % hyperlink-color = default, 106 | % 超链接颜色 107 | % 允许选项: 108 | % hyperlink-color = default|classic|material|graylevel|prl 109 | % 110 | bib-backend = bibtex, 111 | % 参考文献支持方式 112 | % 允许选项: 113 | % bib-backend = bibtex|biblatex 114 | % 115 | % bib-style = numerical, 116 | % 参考文献样式 117 | % 允许选项: 118 | % bib-style = author-year|numerical|<其他样式> 119 | % 说明: 120 | % author-year 著者—出版年制 121 | % numerical 顺序编码制 122 | % <其他样式> 使用其他 .bst(bibtex)或 .bbx(biblatex)格式文件 123 | % 124 | % cite-style = {}, 125 | % 引用样式 126 | % 默认为空,即与参考文献样式保持一致 127 | % 仅适用于 biblatex;如要填写,需保证相应的 .cbx 格式文件能被调用 128 | % 129 | bib-resource = {main.bib}, 130 | % 参考文献数据源 131 | % 可以是单个文件,也可以是用英文逗号 “,” 隔开的一组文件 132 | % 如果使用 biblatex,则必须明确给出 .bib 后缀名 133 | % 134 | % logo = {fudan-name.pdf}, 135 | % 封面中的校名图片 136 | % 模版已自带,通常不需要额外配置 137 | % 138 | % logo-size = {0.5\textwidth}, % 只设置宽度 139 | % logo-size = {{}, 3cm}, % 只设置高度 140 | % logo-size = {8cm, 3cm}, % 设置宽度和高度 141 | % 设置校名图片的大小 142 | % 通常不需要调整 143 | % 144 | % declaration-page = {declaration.pdf}, 145 | % 插入扫描版的声明页 PDF 文档 146 | % 默认使用预定义的声明页,但不带签名 147 | % 148 | % auto-make-cover = true 149 | % 是否自动生成论文封面(封一)、指导小组成员名单(封二)和声明页(封三) 150 | % 除非特殊需要(e.g. 不要封面),否则不建议设为 false 151 | }, 152 | % 153 | % info 类用于录入论文信息 154 | info = { 155 | title = {论文标题}, 156 | % 中文标题 157 | % 长标题建议使用 “\\” 命令手动换行(不是指在源文件里输入回车符,当然 158 | % 源文件里适当的换行可以有助于代码清晰): 159 | % title = {最高人民法院、最高人民检察院关于适用\\ 160 | % 犯罪嫌疑人、被告人逃匿、死亡案件违法所得\\ 161 | % 没收程序若干问题的规定}, 162 | % 163 | title* = {Thesis Title}, 164 | % 英文标题 165 | % 166 | author = {王二}, 167 | % 作者姓名 168 | % 169 | % author* = {Your name}, 170 | % 作者姓名(英文 / 拼音) 171 | % 目前不需要填写 172 | % 173 | supervisor = {某某某\quad 教授}, 174 | % 导师 175 | % 姓名与职称之间可以用 \quad 打印一个空格 176 | % 177 | major = {物理学}, 178 | % 专业 179 | % 180 | degree = academic, 181 | % 学位类型 182 | % 允许选项: 183 | % degree = academic|professional 184 | % 说明: 185 | % academic 学术学位 186 | % professional 专业学位 187 | % 188 | department = {物理系}, 189 | % 院系 190 | % 191 | student-id = {12300000000}, 192 | % 作者学号 193 | % 194 | % date = {2023 年 1 月 1 日}, 195 | % 日期 196 | % 注释掉表示使用编译日期 197 | % 198 | % secret-level = ii, 199 | % 密级 200 | % 允许选项: 201 | % secret-level = none|i|ii|iii 202 | % 说明: 203 | % none 不显示密级与保密年限 204 | % i 秘密 205 | % ii 机密 206 | % iii 绝密 207 | % 208 | % secret-year = {五年}, 209 | % 保密年限 210 | % secret-level = none 时该选项无效 211 | % 212 | instructors = { 213 | {张\quad 三 \quad 教\quad 授}, 214 | {李\quad 四 \quad 教\quad 授}, 215 | {王五六 \quad 研究员} 216 | }, 217 | % 指导小组成员 218 | % 使用英文逗号 “,” 分隔 219 | % 如有需要,可以用 \quad 手工对齐 220 | % 221 | keywords = {不确定关系, 量子力学, 理论物理}, 222 | % 中文关键词 223 | % 使用英文逗号 “,” 分隔 224 | % 225 | keywords* = {Uncertainty principle, quantum mechanics, theoretical physics}, 226 | % 英文关键词 227 | % 使用英文逗号 “,” 分隔 228 | % 229 | clc = {O413.1}, 230 | % 中图分类号 231 | % 232 | % jel = {C02}, 233 | % JEL 分类号,仅适用于经济学院等部分院系 234 | } 235 | } 236 | 237 | % 需要的宏包可以自行调用 238 | \usepackage{physics} 239 | 240 | % 需要的命令可以自行定义 241 | \newcommand{\hilbertH}{\symcal{H}} 242 | \newcommand{\ee}{\symrm{e}} 243 | \newcommand{\ii}{\symrm{i}} 244 | 245 | \begin{document} 246 | 247 | % 这个命令用来关闭版心底部强制对齐,可以减少不必要的 underfull \vbox 提示,但会影响排版效果 248 | % \raggedbottom 249 | 250 | % 前置部分包含目录、中英文摘要以及符号表等 251 | \frontmatter 252 | 253 | % 目录 254 | \tableofcontents 255 | % 插图目录 256 | \listoffigures 257 | % 表格目录 258 | % \listoftables 259 | 260 | \begin{abstract} 261 | 中文摘要 262 | \end{abstract} 263 | 264 | \begin{abstract*} 265 | English abstract 266 | \end{abstract*} 267 | 268 | % 符号表 269 | % 语法与 LaTeX 表格一致:列用 & 区分,行用 \\ 区分 270 | % 如需修改格式,可以使用可选参数: 271 | % \begin{notation}[ll] 272 | % $x$ & 坐标 \\ 273 | % $p$ & 动量 274 | % \end{notation} 275 | % 可选参数与 LaTeX 标准表格的列格式说明语法一致 276 | % 这里的 “ll” 表示两列均为自动宽度,并且左对齐 277 | \begin{notation}[ll] 278 | $x$ & 坐标 \\ 279 | $p$ & 动量 \\ 280 | $\psi(x)$ & 波函数 \\ 281 | $\bra{x}$ & 左矢(bra) \\ 282 | $\ket{x}$ & 右矢(ket) \\ 283 | $\ip{\alpha}{\beta}$ & 内积 \\ 284 | \end{notation} 285 | 286 | % 主体部分是论文的核心 287 | \mainmatter 288 | 289 | % 建议采用多文件编译的方式 290 | % 比较好的做法是把每一章放进一个单独的 tex 文件里,并在这里用 \include 导入,例如 291 | % \include{chapter1} 292 | % \include{chapter2} 293 | % \include{chapter3} 294 | 295 | \chapter{介绍} 296 | 297 | \strong{量子力学}是物理学的分支学科。它主要描写微观的事物,与相对论一起被认为是现代物理学的两大 298 | 基本支柱,许多物理学理论和科学,如原子物理学、固体物理学、核物理学和粒子物理学以及其它相关的学科, 299 | 都是以其为基础\cite{曾谨言2013量子力学,feynman2011feynman}。 300 | 301 | \section{量子力学历史概要} 302 | 303 | \section{研究对象} 304 | 305 | \section{研究方法} 306 | 307 | \chapter{数学基础} 308 | 309 | \section{基础公设} 310 | 311 | 整个量子力学的数学理论可以建立于五个基础公设。这些公设不能被严格推导出来的,而是从实验结果仔细分析 312 | 归纳总结而得到的。从这五个公设,可以推导出整个量子力学。假若量子力学的理论结果不符合实验结果, 313 | 则必须将这些基础公设加以修改,直到没有任何不符合之处。至今为止,量子力学已被实验核对至极高准确度, 314 | 还没有找到任何与理论不符合的实验结果,虽然有些理论很难直觉地用经典物理的概念来理解,例如,波粒 315 | 二象性、量子纠缠等等\cite{zurek2014quantum,cohen2013claude,zettili2003quantum}。 316 | 317 | \begin{enumerate} 318 | \item 量子态公设:量子系统在任意时刻的状态(量子态)可以由希尔伯特空间 $\hilbertH$ 中的态矢量 319 | $\ket{\psi}$ 来设定,这态矢量完备地给出了这量子系统的所有信息。这公设意味着量子系统遵守% 320 | \emph{态叠加原理},假若 $\ket*{\psi_1}$、$\ket*{\psi_2}$ 属于希尔伯特空间 $\hilbertH$,则 321 | $c_1\ket*{\psi_1} + c_2\ket*{\psi_2}$ 也属于希尔伯特空间 $\hilbertH$。 322 | \item 时间演化公设: 态矢量为 $\ket{\psi(t)}$ 的量子系统,其动力学演化可以用薛定谔方程表示: 323 | \begin{equation} 324 | \ii\hbar \pdv{t} \ket{\psi(t)} = \hat{H} \ket{\psi(t)}. 325 | \end{equation} 326 | 其中,哈密顿算符 $\hat{H}$ 对应于量子系统的总能量,$\hbar$ 是约化普朗克常数。根据薛定谔方程, 327 | 假设时间从 $t_0$ 变化到 $t$,则态矢量从 $\ket*{\psi(t_0)}$ 演化到 $\ket{\psi(t)}$,该过程以 328 | 方程表示为 329 | \begin{equation} 330 | \ket{\psi(t)} = \hat{U}(t,\,t_0) \ket*{\psi(t_0)}. 331 | \end{equation} 332 | 其中 $\hat{U}(t,\,t_0) = \ee^{-\ii\hat{H}(t-t_0) / \hbar}$ 是时间演化算符。 333 | \item 可观察量公设:每个可观察量 $A$ 都有其对应的厄米算符 $\hat{A}$,而算符 $\hat{A}$ 的所有 334 | 本征矢量共同组成一个完备基底。 335 | \item 坍缩公设:对于量子系统测量某个可观察量 $A$ 的过程,可以数学表示为将对应的厄米算符 336 | $\hat{A}$ 作用于量子系统的态矢量 $\ket{\psi}$,测量值只能为厄米算符 $\hat{A}$ 的本征值。 337 | 在测量后,假设测量值为 $a_i$,则量子系统的量子态立刻会坍缩为对应于本征值 $a_i$ 的本征态 338 | $\ket*{e_i}$。 339 | \item 波恩公设:对于这测量,获得本征值 $a_i$ 的概率为量子态 $\ket{\psi}$ 处于本征态 $\ket*{e_i}$ 340 | 的概率幅的绝对值平方。\footnote{% 341 | 使用可观察量 $A$ 的基底 $\qty{e_1,\,e_2,\,\ldots,\,e_n}$,量子态 $\ket{\psi}$ 可以表示为 342 | $\ket{\psi} = \sum_j c_j \ket*{e_j}$,其中 $c_j$ 是量子态 $\ket{\psi}$ 处于本征态 343 | $\ket*{e_j}$ 的概率幅。根据波恩定则,对于此次测量,获得本征值 $a_i$ 的概率为 344 | $\abs*{\ip*{e_i}{\psi}}^2 = \abs*{c_i}^2$。} 345 | \end{enumerate} 346 | 347 | \section{量子态与量子算符} 348 | 349 | 量子态指的是量子系统的状态,态矢量可以用来抽象地表现量子态。采用狄拉克标记,态矢量表示为右矢 350 | $\ket{\psi}$;其中,在符号内部的希腊字母 $\psi$ 可以是任何符号、字母、数字,或单字。例如, 351 | 沿着磁场方向测量电子的自旋,得到的结果可以是上旋或是下旋,分别标记为 $\ket{\uparrow}$ 和 352 | $\ket{\downarrow}$。 353 | 354 | \begin{figure}[htb] 355 | \centering 356 | \includegraphics[width=0.5\textwidth]{example-image.png} 357 | \caption[施特恩—格拉赫实验]{% 358 | 设定施特恩—格拉赫实验仪器的磁场方向为 $z$-轴,入射的银原子束可以被分裂成两道银原子束,每一道 359 | 银原子束代表一种量子态,上旋 $\ket{\uparrow}$ 或下旋 $\ket{\downarrow}$% 360 | \cite{wikimedia:stern-gerlach-experiment}。} 361 | \label{fig:stern-gerlach-experiment} 362 | \end{figure} 363 | 364 | 对量子态做操作定义,量子态可以从一系列制备程序来辨认,即这程序所制成的量子系统拥有这量子态。例如, 365 | 使用施特恩—格拉赫实验仪器,设定磁场朝着 $z$-轴方向,如图~\ref{fig:stern-gerlach-experiment} 所示, 366 | 可以将入射的银原子束,依照自旋的 $z$-分量分裂成两道,一道为上旋,量子态为 $\ket{\uparrow}$;另一道 367 | 为下旋,量子态为 $\ket{\downarrow}$,这样,可以制备成量子态为 $\ket{\uparrow}$ 的银原子束,或量子态 368 | 为 $\ket{\downarrow}$ 的银原子束。原本银原子束的态矢量可以按照态叠加原理表示为 369 | \begin{equation} 370 | \ket{\psi} = \alpha \ket{\uparrow} + \beta \ket{\downarrow}. 371 | \end{equation} 372 | 其中,$\alpha$、$\beta$ 是复值系数,$\abs{\alpha}^2$、$\abs{\beta}^2$ 分别为入射银原子束处于上旋、 373 | 下旋的概率,且有 374 | \begin{equation} 375 | \abs{\alpha}^2 + \abs{\beta}^2 = 1. 376 | \end{equation} 377 | 378 | \section{动力学演化} 379 | 380 | \chapter{总结与展望} 381 | 382 | % 附录部分 383 | \appendix 384 | 385 | \chapter{公式推导} 386 | 387 | % 后置部分包含参考文献、声明页(自动生成)等 388 | \backmatter 389 | 390 | % 打印参考文献列表 391 | \printbibliography 392 | 393 | \begin{acknowledgements} 394 | 致谢 395 | \end{acknowledgements} 396 | 397 | \end{document} 398 | -------------------------------------------------------------------------------- /install-unix.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | mkdir -p "thesis" 4 | cd "thesis" 5 | 6 | cp -f "../docs/main.tex" . 7 | cp -f "../docs/main.bib" . 8 | cp -f "../docs/example-image.png" . 9 | cp -f "../source/fduthesis.dtx" . 10 | cp -f "../source/fduthesis-doc.dtx" . 11 | cp -f "../source/fduthesis-logo.dtx" . 12 | cp -f "../testfiles/support/fudan-emblem.pdf" . 13 | cp -f "../testfiles/support/fudan-emblem-new.pdf" . 14 | cp -f "../testfiles/support/fudan-name.pdf" . 15 | 16 | xetex "fduthesis.dtx" > /dev/null 17 | 18 | rm *.dtx 19 | rm *.ins 20 | rm *.log 21 | rm *.md 22 | 23 | rm "fdudoc.cls" 24 | rm "fdulogo-example.tex" 25 | rm "fduthesis-cover.tex" 26 | 27 | cd .. 28 | -------------------------------------------------------------------------------- /install-win.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | MKDIR "thesis" 4 | CD "thesis" 5 | 6 | COPY /Y "..\docs\main.tex" . 7 | COPY /Y "..\docs\main.bib" . 8 | COPY /Y "..\docs\example-image.png" . 9 | COPY /Y "..\source\fduthesis.dtx" . 10 | COPY /Y "..\source\fduthesis-doc.dtx" . 11 | COPY /Y "..\source\fduthesis-logo.dtx" . 12 | COPY /Y "..\testfiles\support\fudan-emblem.pdf" . 13 | COPY /Y "..\testfiles\support\fudan-emblem-new.pdf" . 14 | COPY /Y "..\testfiles\support\fudan-name.pdf" . 15 | 16 | xetex "fduthesis.dtx" > NUL 17 | 18 | DEL "*.dtx" 19 | DEL "*.ins" 20 | DEL "*.log" 21 | DEL "*.md" 22 | 23 | DEL "fdudoc.cls" 24 | DEL "fdulogo-example.tex" 25 | DEL "fduthesis-cover.tex" 26 | 27 | CD .. 28 | -------------------------------------------------------------------------------- /scripts/clear.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | rm -f *.aux 4 | rm -f *.bak 5 | rm -f *.bbl 6 | rm -f *.bcf 7 | rm -f *.blg 8 | rm -f *.dvi 9 | rm -f *.fdb_latexmk 10 | rm -f *.fls 11 | rm -f *.glg 12 | rm -f *.glo 13 | rm -f *.gls 14 | rm -f *.hd 15 | rm -f *.idx 16 | rm -f *.ilg 17 | rm -f *.ind 18 | rm -f *.lof 19 | rm -f *.log 20 | rm -f *.lot 21 | rm -f *.out 22 | rm -f *.run.xml 23 | rm -f *.sav 24 | rm -f *.synctex.gz 25 | rm -f *.synctex\(busy\) 26 | rm -f *.thm 27 | rm -f *.toc 28 | rm -f *.xdv 29 | -------------------------------------------------------------------------------- /scripts/get-doc-code.lua: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env texlua 2 | 3 | -- Generate the documentation with implementation. 4 | 5 | local input_file_name = arg[1] 6 | local output_file_name = arg[2] 7 | 8 | local code_doc_str = "%" 9 | local code_doc_len = string.len(code_doc_str) 10 | 11 | input_file = io.open(input_file_name, "r") 12 | output_file = io.open(output_file_name, "w") 13 | 14 | for line in input_file:lines() do 15 | if string.sub(line, 1, code_doc_len) == code_doc_str then 16 | output_file:write(string.sub(line, code_doc_len + 1), "\n") 17 | else 18 | output_file:write(line, "\n") 19 | end 20 | end 21 | 22 | input_file:close() 23 | output_file:close() 24 | -------------------------------------------------------------------------------- /scripts/get-doc-en.lua: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env texlua 2 | 3 | -- Generate the English version of the documentation. 4 | 5 | local input_file_name = arg[1] 6 | local output_file_name = arg[2] 7 | 8 | local file_banner = "%%\n" 9 | .. "%% This is file `fduthesis-en.tex',\n" 10 | .. "%% generated with Lua script `get-doc-en.lua'.\n" 11 | .. "%%\n" 12 | .. "%% The original source files were:\n" 13 | .. "%%\n" 14 | .. "%% fduthesis.dtx\n" 15 | 16 | local tag_preamble_str = "\\preamble" 17 | local tag_endpreamble_str = "\\endpreamble" 18 | 19 | local tag_inline_str = "%^^A!" 20 | local tag_begin_str = "%^^A+" 21 | local tag_end_str = "%^^A-" 22 | local tag_str_len = string.len(tag_inline_str) 23 | 24 | local latex_ex_str = "\\begin{latexexample}[" 25 | local shell_ex_str = "\\begin{shellexample}[" 26 | local syntax_str = " \\begin{fdusyntax}[" 27 | 28 | local latex_ex_str_len = string.len(latex_ex_str) 29 | local shell_ex_str_len = string.len(shell_ex_str) 30 | local syntax_str_len = string.len(syntax_str) 31 | 32 | local function test_tag(str, tag) 33 | if string.sub(str, 1, string.len(tag)) == tag then 34 | return true 35 | end 36 | return false 37 | end 38 | 39 | local function remove_normal_space(str) 40 | -- Normal text lines begin with 2 spaces. 41 | -- `3` is the first non-space char's position. 42 | return string.sub(str, 3) 43 | end 44 | 45 | local function add_lst_gobble(str) 46 | if string.sub(str, 1, latex_ex_str_len) == latex_ex_str then 47 | return latex_ex_str .. "gobble=1," .. 48 | string.sub(str, latex_ex_str_len + 1) 49 | end 50 | if string.sub(str, 1, shell_ex_str_len) == shell_ex_str then 51 | return shell_ex_str .. "gobble=1," .. 52 | string.sub(str, shell_ex_str_len + 1) 53 | end 54 | if string.sub(str, 1, syntax_str_len) == syntax_str then 55 | return syntax_str .. "gobble=4," .. 56 | string.sub(str, syntax_str_len + 1) 57 | end 58 | return str 59 | end 60 | 61 | local function process_preamble_line(str) 62 | return "%% " .. str 63 | end 64 | 65 | local function process_verbatim_line(str) 66 | str = remove_normal_space(str) 67 | str = add_lst_gobble(str) 68 | return str 69 | end 70 | 71 | local function process_normal_line(str) 72 | str = string.sub(str, tag_str_len + 2) 73 | str = add_lst_gobble(str) 74 | return str 75 | end 76 | 77 | ---------------------- 78 | -- Begin processing -- 79 | ---------------------- 80 | 81 | input_file = io.open(input_file_name, "r") 82 | output_file = io.open(output_file_name, "w") 83 | 84 | -- Test whether it's in the preamble. 85 | preamble_flag = 0 86 | 87 | -- Test whether it's in the verbatim environment. 88 | inside_flag = 0 89 | 90 | output_file:write(file_banner) 91 | 92 | for line in input_file:lines() do 93 | -- Check for the preamble, as DocStrip does. 94 | if test_tag(line, tag_preamble_str) then 95 | preamble_flag = preamble_flag + 1 96 | elseif test_tag(line, tag_endpreamble_str) then 97 | preamble_flag = preamble_flag - 1 98 | else 99 | -- If beginning with `%^^A+` or `%^^A-`, then increase or 100 | -- decrease the flag, in order to determine the start or end 101 | -- position of verbatim. 102 | if test_tag(line, tag_begin_str) then 103 | inside_flag = inside_flag + 1 104 | elseif test_tag(line, tag_end_str) then 105 | inside_flag = inside_flag - 1 106 | else 107 | if preamble_flag == 1 then 108 | output_file:write(process_preamble_line(line), "\n") 109 | -- If flag = 1, then it's a verbatim environment. 110 | elseif inside_flag == 1 then 111 | output_file:write(process_verbatim_line(line), "\n") 112 | -- If beginning with `%^^A!`, then this line is normal text. 113 | elseif test_tag(line, tag_inline_str) then 114 | output_file:write(process_normal_line(line), "\n") 115 | end 116 | end 117 | end 118 | end 119 | 120 | input_file:close() 121 | output_file:close() 122 | 123 | -- TODO: use `dos2unix` to convert line breaks into LF. 124 | -- Example: 125 | -- dos2unix.exe fduthesis-en.tex 126 | -------------------------------------------------------------------------------- /scripts/release.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | # This script is used for creating CTAN archive of fduthesis. 4 | 5 | JOB_NAME=fduthesis 6 | WORKING_DIR=$PWD 7 | 8 | # Copy all the files to system temp folder, in order to use 9 | # chmod correctly. 10 | TEMP_DIR=/tmp/$JOB_NAME 11 | 12 | TDS_DIR=$TEMP_DIR/TDS 13 | CTAN_DIR=$TEMP_DIR/$JOB_NAME 14 | 15 | SRC_DIR=$TDS_DIR/source/latex/$JOB_NAME 16 | TEX_DIR=$TDS_DIR/tex/latex/$JOB_NAME 17 | DOC_DIR=$TDS_DIR/doc/latex/$JOB_NAME 18 | 19 | LOGO_DIR=$WORKING_DIR/logo/pdf 20 | RELEASE_DIR=$WORKING_DIR/release 21 | OVERLEAF_DIR=$RELEASE_DIR/overleaf 22 | DOC_EN_SCRIPT=$WORKING_DIR/scripts/get-doc-en.lua 23 | 24 | mkdir -p $TEMP_DIR 25 | 26 | mkdir -p $TDS_DIR 27 | mkdir -p $CTAN_DIR 28 | mkdir -p $OVERLEAF_DIR 29 | 30 | mkdir -p $SRC_DIR 31 | mkdir -p $TEX_DIR 32 | mkdir -p $DOC_DIR 33 | 34 | cp $WORKING_DIR/source/*.dtx $TEMP_DIR 35 | cp $WORKING_DIR/source/*.pdf $TEMP_DIR 36 | cp $WORKING_DIR/docs/main.tex $TEMP_DIR 37 | cp $WORKING_DIR/docs/main.bib $TEMP_DIR 38 | cp $WORKING_DIR/docs/*.png $TEMP_DIR 39 | cp $LOGO_DIR/fudan-emblem-a-black.pdf $TEMP_DIR/fudan-emblem.pdf 40 | cp $LOGO_DIR/fudan-emblem-new-a-black.pdf $TEMP_DIR/fudan-emblem-new.pdf 41 | cp $LOGO_DIR/fudan-name-black.pdf $TEMP_DIR/fudan-name.pdf 42 | 43 | cd $TEMP_DIR 44 | xetex $JOB_NAME.dtx > /dev/null 45 | texlua $DOC_EN_SCRIPT $JOB_NAME.dtx $JOB_NAME-en.tex 46 | 47 | # All files should be rw-r--r-- 48 | chmod 644 $TEMP_DIR/*.* 49 | 50 | cp $TEMP_DIR/*.dtx $SRC_DIR 51 | cp $TEMP_DIR/*.ins $SRC_DIR 52 | 53 | cp $TEMP_DIR/*.cls $TEX_DIR 54 | cp $TEMP_DIR/*.def $TEX_DIR 55 | cp $TEMP_DIR/*.sty $TEX_DIR 56 | 57 | # These files should not be put in doc/ 58 | cp $TEMP_DIR/fudan-emblem.pdf $TEX_DIR 59 | cp $TEMP_DIR/fudan-emblem-new.pdf $TEX_DIR 60 | cp $TEMP_DIR/fudan-name.pdf $TEX_DIR 61 | 62 | cp $TEMP_DIR/*.md $DOC_DIR 63 | cp $TEMP_DIR/*.tex $DOC_DIR 64 | cp $TEMP_DIR/$JOB_NAME*.pdf $DOC_DIR 65 | 66 | rm $DOC_DIR/main.tex 67 | 68 | # Overleaf 69 | cp $JOB_NAME.cls $OVERLEAF_DIR 70 | cp $JOB_NAME-en.cls $OVERLEAF_DIR 71 | cp $JOB_NAME.def $OVERLEAF_DIR 72 | cp main.tex $OVERLEAF_DIR 73 | cp main.bib $OVERLEAF_DIR 74 | cp $TEMP_DIR/fudan-emblem.pdf $OVERLEAF_DIR 75 | cp $TEMP_DIR/fudan-emblem-new.pdf $OVERLEAF_DIR 76 | cp $TEMP_DIR/fudan-name.pdf $OVERLEAF_DIR 77 | cp *.png $OVERLEAF_DIR 78 | 79 | # Make TDS zip 80 | cd $TDS_DIR 81 | zip -qr9 $JOB_NAME.tds.zip . 82 | 83 | cp $TEMP_DIR/*.dtx $CTAN_DIR 84 | cp $TEMP_DIR/*.md $CTAN_DIR 85 | cp $TEMP_DIR/*.pdf $CTAN_DIR 86 | 87 | rm $TEMP_DIR/*.* 88 | cp $TDS_DIR/*.zip $TEMP_DIR 89 | rm -r $TDS_DIR 90 | 91 | # Make CTAN zip 92 | cd $TEMP_DIR 93 | zip -qr9 $JOB_NAME.zip . 94 | 95 | # Make Overleaf zip 96 | cd $OVERLEAF_DIR 97 | zip -qr9 $JOB_NAME-overleaf.zip . 98 | 99 | cd $WORKING_DIR 100 | cp -f $TEMP_DIR/*.zip $RELEASE_DIR 101 | cp -f $OVERLEAF_DIR/*.zip $RELEASE_DIR 102 | 103 | rm -r $TEMP_DIR 104 | rm -r $OVERLEAF_DIR 105 | -------------------------------------------------------------------------------- /scripts/test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | TESTFILES=\ 4 | " 5 | 01-internal 6 | 02-basic 7 | 03-basic-en 8 | 04-cover 9 | 05-declaration 10 | 06-logo 11 | " 12 | 13 | l3build save -e xetex $TESTFILES 14 | l3build save -e luatex $TESTFILES 15 | -------------------------------------------------------------------------------- /source/latexmkrc: -------------------------------------------------------------------------------- 1 | # Latexmk configuration file for fduthesis documentation. 2 | 3 | # Use XeLaTeX to compile. 4 | $pdf_mode = 5; 5 | 6 | # Process index. 7 | $makeindex = 'makeindex -s gind.ist %O -o %D %S'; 8 | 9 | # Show CPU time used. 10 | $show_time = 1; 11 | 12 | # Process glossary (change history). 13 | add_cus_dep('glo', 'gls', 0, 'makeglo2gls'); 14 | sub makeglo2gls { 15 | system("makeindex -s gglo.ist -o \"$_[0].gls\" \\ 16 | -t \"$_[0].glg\" \"$_[0].glo\""); 17 | } 18 | -------------------------------------------------------------------------------- /test/dtxtest.dtx: -------------------------------------------------------------------------------- 1 | % \iffalse meta-comment 2 | % !TeX program = XeLaTeX 3 | % !TeX encoding = UTF-8 4 | % 5 | %<*internal> 6 | \iffalse 7 | % 8 | % 9 | %<*internal> 10 | \fi 11 | \begingroup 12 | \def\NameOfLaTeXe{LaTeX2e} 13 | \expandafter\endgroup\ifx\NameOfLaTeXe\fmtname\else 14 | \csname fi\endcsname 15 | % 16 | % 17 | %<*internal> 18 | \fi 19 | % 20 | % 21 | %<*driver> 22 | \PassOptionsToPackage{showframe}{geometry} 23 | \documentclass{fdudoc} 24 | \hypersetup 25 | { 26 | pdftitle = {fduthesis: 复旦大学论文模板}, 27 | pdfauthor = {曾祥东} 28 | } 29 | \renewcommand*\expstar{\hyperlink{expstar}{$\mfrake$}} 30 | \renewcommand*\rexpstar{\hyperlink{rexpstar}{$\mfrakc$}} 31 | \begin{document} 32 | % \DisableImplementation 33 | \EnableImplementation 34 | \DocInput{dtxtest.dtx} 35 | \IndexLayout 36 | \PrintChanges 37 | \PrintIndex 38 | \end{document} 39 | % 40 | % \fi 41 | % 42 | % \changes{v0.1}{2017/02/15}{开始编写模板。} 43 | % \changes{v0.2}{2017/02/19}{使用 Git 进行版本控制,并发布至 GitHub。} 44 | % 45 | % \CheckSum{0} 46 | % 47 | % \CharacterTable 48 | % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z 49 | % Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z 50 | % Digits \0\1\2\3\4\5\6\7\8\9 51 | % Exclamation \! Double quote \" Hash (number) \# 52 | % Dollar \$ Percent \% Ampersand \& 53 | % Acute accent \' Left paren \( Right paren \) 54 | % Asterisk \* Plus \+ Comma \, 55 | % Minus \- Point \. Solidus \/ 56 | % Colon \: Semicolon \; Less than \< 57 | % Equals \= Greater than \> Question mark \? 58 | % Commercial at \@ Left bracket \[ Backslash \\ 59 | % Right bracket \] Circumflex \^ Underscore \_ 60 | % Grave accent \` Left brace \{ Vertical bar \| 61 | % Right brace \} Tilde \~} 62 | % 63 | % \title{\textcolor{MaterialIndigo800}{^^A 64 | % \textbf{fduthesis: 复旦大学论文模板}}} 65 | % \author{曾祥东} 66 | % \date{\today \quad v0.6^^A 67 | % \thanks{\url{https://github.com/stone-zeng/fduthesis}.}} 68 | % 69 | %^^A 禁止使用 " 符号作为抄录文本缩略符 70 | % \DeleteShortVerb\" 71 | % 72 | %^^A 封面与目录的页边距 73 | % \newgeometry{ 74 | % left = 1.25 in, 75 | % right = 1.25 in, 76 | % top = 1.25 in, 77 | % bottom = 1.00 in 78 | % } 79 | % 80 | % \maketitle 81 | % \tableofcontents 82 | % 83 | % \EnableDocumentation 84 | % 85 | % \begin{documentation} 86 | % 87 | %^^A 用户手册的页边距 88 | % \newgeometry{ 89 | % left = 1.75 in, 90 | % right = 1.00 in, 91 | % top = 1.25 in, 92 | % bottom = 1.00 in 93 | % } 94 | % 95 | % \section{介绍} 96 | % 97 | % 本模板将借鉴前辈经验,重新设计,并使用 \LaTeX3 98 | % \cite{interfaces3} 编写,以适应 \TeX{} 技术发展潮流; 99 | % 同时还将构建一套简洁的接口,方便用户使用。 100 | % 101 | % 本模板中的选项、命令或环境可以分为以下三类: 102 | % \cite{knuth1986texbook,interfaces3,richard2016fudanthesis} 103 | % \begin{itemize} 104 | % \item 名字后面带有 \rexptarget\rexpstar{} 的,表示只能在^^A 105 | % \emph{中文模板}中使用; 106 | % \item 名字后面带有 \exptarget\expstar{} 的,表示只能在^^A 107 | % \emph{英文模板}中使用; 108 | % \item 名字后面不带有特殊符号的,表示既可以在中文模板中使用, 109 | % 也可以在英文模板中使用。 110 | % \end{itemize} 111 | % 112 | % \subsection{模板组成} 113 | % 114 | % 如需生成用户手册 \file{fduthesis.pdf},可在命令行中执行 115 | % \begin{shellexample}[morekeywords={xelatex,makeindex},emph={-o,-s,-t}] 116 | % xelatex fduthesis.dtx 117 | % makeindex -s gind.ist -o fduthesis.ind fduthesis.idx 118 | % makeindex -s gglo.ist -o fduthesis.gls -t fduthesis.glg fduthesis.glo 119 | % xelatex fduthesis.dtx 120 | % xelatex fduthesis.dtx 121 | % \end{shellexample} 122 | % 也可使用 \pkg{latexmk}: 123 | % \begin{shellexample}[morekeywords={latexmk}] 124 | % latexmk fduthesis.dtx 125 | % \end{shellexample} 126 | % 本模板已经为编译用户手册提供了 \pkg{latexmk} 配置文件 127 | % \file{latexmkrc}。 128 | % 129 | % \section{使用说明} 130 | % 131 | % \subsection{基本用法} 132 | % 133 | % 以下是一份简单的 \TeX{} 文档,它演示了 \cls{fduthesis} 134 | % 的最基本用法: 135 | % \begin{latexexample}[deletetexcs={\documentclass},% 136 | % moretexcs={\chapter},morekeywords={\documentclass},% 137 | % emph={[2]document}] 138 | % % thesis.tex 139 | % \documentclass{fduthesis} 140 | % \begin{document} 141 | % \chapter{您好} 142 | % \section{Welcome to fduthesis!} 143 | % 你好,\LaTeX{}! 144 | % \end{document} 145 | % \end{latexexample} 146 | % 147 | % \subsection{模板选项} 148 | % 149 | % 所谓“模板选项”,指需要在引入文档类的时候指定的选项: 150 | % \begin{latexexample}[deletetexcs={\documentclass},% 151 | % morekeywords={\documentclass}] 152 | % \documentclass(*\oarg{模板选项}*){fduthesis} 153 | % \documentclass(*\oarg{模板选项}*){fduthesis-en} 154 | % \end{latexexample} 155 | % 156 | % 有些模板选项为布尔型,它们只能在 \opt{true} 和 \opt{false} 157 | % 中取值。对于这些选项,\kvopt{\meta{选项}}{true} 中的“|= true|” 158 | % 可以省略。 159 | % 160 | % \begin{function}[added=2018-02-01]{type} 161 | % \begin{fdusyntax}[emph={[1]type}] 162 | % type = (**) 163 | % \end{fdusyntax} 164 | % 选择论文类型。三种选项分别代表博士学位论文、硕士学位论文和本科 165 | % 毕业论文。 166 | % \end{function} 167 | % 168 | % \begin{function}{oneside,twoside} 169 | % 指明论文的单双面模式,默认为 \opt{twoside}。该选项会影响每章 170 | % 的开始位置,还会影响页眉样式。 171 | % \end{function} 172 | % 173 | % 在双面模式(\opt{twoside})下,按照通常的排版惯例,每章应只从 174 | % 奇数页(在右)开始;而在单页模式(\opt{oneside})下,则可以从 175 | % 任意页面开始。本模板中,目录、摘要、符号表等均视作章,也按相同 176 | % 方式排版。 177 | % 178 | % \subsection{参数设置} 179 | % 180 | % \begin{function}{\fdusetup} 181 | % \begin{fdusyntax}[morekeywords={\fdusetup}] 182 | % \fdusetup(*\marg{键值列表}*) 183 | % \end{fdusyntax} 184 | % 本模板提供了一系列选项,可由您自行配置。载入文档类之后,以下 185 | % 所有选项均可通过统一的命令 \cs{fdusetup} 来设置。 186 | % \end{function} 187 | % 188 | % \cs{fdusetup} 的参数是一组由(英文)逗号隔开的选项列表,列表中的 189 | % 选项通常是 \kvopt{\meta{key}}{\meta{value}} 的形式。部分选项的 190 | % \meta{value} 可以省略。对于同一项,后面的设置将会覆盖前面的设置。 191 | % 在下文的说明中,将用\textbf{粗体}表示默认值。 192 | % 193 | % 另有一些选项包含子选项,如 \opt{style} 和 \opt{info} 等。它们可以 194 | % 按如下两种等价方式来设定: 195 | % \begin{latexexample}[morekeywords={\fdusetup},% 196 | % emph={[1]style,cjkfont,fontsize,info,title,title*,author,author*,department}] 197 | % \fdusetup{ 198 | % style = {cjkfont = adobe, fontsize = -4}, 199 | % info = { 200 | % title = {关于光产生和转变的一个启发性观点}, 201 | % title* = {On a Heuristic Viewpoint Concerning the Production 202 | % and Transformation of Light}, 203 | % author = {阿尔伯特·爱因斯坦}, 204 | % author* = {Albert Einstein}, 205 | % department = {物理学系} 206 | % } 207 | % } 208 | % \end{latexexample} 209 | % 或者 210 | % \begin{latexexample}[morekeywords={\fdusetup},% 211 | % emph={[1]style,cjkfont,fontsize,info,title,title*,author,author*,department}] 212 | % \fdusetup{ 213 | % style/cjkfont = adobe, 214 | % style/fontsize = -4, 215 | % info/title = {关于光产生和转变的一个启发性观点}, 216 | % info/title* = {On a Heuristic Viewpoint Concerning the Production 217 | % and Transformation of Light}, 218 | % info/author = {阿尔伯特·爱因斯坦}, 219 | % info/author* = {Albert Einstein}, 220 | % info/department = {物理学系} 221 | % } 222 | % \end{latexexample} 223 | % 224 | % 注意 “|/|” 的前后均不可以出现空白字符。 225 | % 226 | % \subsection{正文编写} 227 | % 228 | % \begin{quotation*}[喬孟符][宋] 229 | % 作樂府亦有法,曰\CJKunderdot{鳳頭豬肚豹尾}六字是也。 230 | % 大概起要美麗,中要浩蕩,結要響亮。尤貴在首尾貫穿,意思清新。 231 | % 茍能若是,斯可以言樂府矣。 232 | % \end{quotation*} 233 | % 234 | % \subsubsection{凤头} 235 | % 236 | % \begin{function}{\frontmatter} 237 | % 声明前置部分开始。 238 | % \end{function} 239 | % 240 | % 在本模板中,前置部分包含目录、中英文摘要以及符号表等。 241 | % 前置部分的页码采用小写罗马字母,并且与正文分开计数。 242 | % 243 | % \begin{function}{\tableofcontents} 244 | % 生成目录。为了生成完整、正确的目录,您至少需要编译\emph{两次}。 245 | % \end{function} 246 | % 247 | %^^A TODO: \DescribeEnv{abstract} 248 | %^^A TODO: \DescribeEnv{abstract*} 249 | % \begin{function}{abstract} 250 | % \begin{fdusyntax}[emph={[2]abstract}] 251 | % % 中文论文模板 (fduthesis) % 英文论文模板 (fduthesis-en) 252 | % \begin{abstract} \begin{abstract} 253 | % (*\meta{中文摘要} \hspace{3.52cm} \meta{英文摘要}*) 254 | % \end{abstract} \end{abstract} 255 | % \end{fdusyntax} 256 | % \end{function} 257 | % \begin{function}[rEXP]{abstract*} 258 | % \begin{fdusyntax}[emph={[2]abstract*}] 259 | % % 中文论文模板 (fduthesis) 260 | % \begin{abstract*} 261 | % (*\meta{英文摘要}*) 262 | % \end{abstract*} 263 | % \end{fdusyntax} 264 | % 摘要。中文模板中,不带星号和带星号的版本分别用来输入中文摘要 265 | % 和英文摘要;英文模板中没有带星号的版本,您只需输入英文摘要。 266 | % \end{function} 267 | % 268 | % 摘要的最后,会显示关键词列表以及中图分类号(CLC)。 269 | % 这两项可通过 \cs{fdusetup} 录入。 270 | % 271 | % \begin{thebibliography}{9} 272 | % 273 | % \providecommand{\urlprefix}{\newline\hspace*{\fill}} 274 | % \let\OldUrl=\url 275 | % \renewcommand\url[1]{{\small\OldUrl{#1}}} 276 | % \newcommand\sourceurl[1]{{\small{\kaishu 源代码:} 277 | % \href{https://www.ctan.org/tex-archive/#1}{\ttfamily CTAN://#1}}} 278 | % \newcommand\CTANurl[1]{{\small\href{https://www.ctan.org/tex-archive/#1}^^A 279 | % {\ttfamily CTAN://#1}}} 280 | % 281 | % \bibitem{knuth1986texbook} 282 | % \textsc{Knuth D E}. 283 | % \newblock \textit{The \TeX book: Computers \& Typesetting, volumn A} [M]. 284 | % \newblock Boston: Addison--Wesley Publishing Company, 1986 285 | % \urlprefix {\small {\kaishu 源代码 286 | % \footnote{此代码只可作为学习之用。未经 Knuth 本人同意,您不应当编译此文档。}:} 287 | % \CTANurl{systems/knuth/dist/tex/texbook.tex}} 288 | % 289 | % \bibitem{interfaces3} 290 | % \textsc{The \LaTeX3 Project}. 291 | % \newblock \textit{The \LaTeX3 Interfaces} [EB/OL]. 292 | % \newblock (2017-11-14) \urlprefix 293 | % \CTANurl{macros/latex/contrib/l3kernel/interface3.pdf} 294 | % 295 | % \bibitem{richard2016fudanthesis} 296 | % \textsc{richard}. 297 | % \newblock \textit{复旦大学硕士学位论文模板} [EB/OL]. 298 | % \newblock (2016-01-31) \urlprefix 299 | % \url{https://github.com/richarddzh/fudan-thesis} 300 | % 301 | % \end{thebibliography} 302 | % 303 | % \clearpage 304 | % 305 | % \end{documentation} 306 | % 307 | % \begin{implementation} 308 | % 309 | % \newgeometry{ 310 | % left = 2.25 in, 311 | % right = 1.00 in, 312 | % top = 1.25 in, 313 | % bottom = 1.00 in, 314 | % marginpar = 2.25 in 315 | % } 316 | % 317 | % \section{实现细节} 318 | % 319 | % 本模板使用 \LaTeX3 语法编写,依赖 \pkg{expl3} 环境, 320 | % 并需调用 \pkg{l3packages} 中的相关宏包。 321 | % 322 | % \subsection{准备} 323 | % 324 | % \subsubsection{内部变量声明} 325 | % 326 | % \begin{macrocode} 327 | %<@@=fdu> 328 | %<*class|class-en> 329 | % \end{macrocode} 330 | % 331 | % \begin{variable}{\l_@@_tmpa_box, 332 | % \l_@@_tmpa_dim,\l_@@_tmpb_dim, 333 | % \l_@@_tmpa_tl,\l_@@_tmpb_tl, 334 | % \l_@@_tmpa_clist,\l_@@_tmpb_clist} 335 | % 临时变量。 336 | % \begin{macrocode} 337 | \box_new:N \l_@@_tmpa_box 338 | \dim_new:N \l_@@_tmpa_dim 339 | \dim_new:N \l_@@_tmpb_dim 340 | \tl_new:N \l_@@_tmpa_tl 341 | \tl_new:N \l_@@_tmpb_tl 342 | \clist_new:N \l_@@_tmpa_clist 343 | \clist_new:N \l_@@_tmpb_clist 344 | % \end{macrocode} 345 | % \end{variable} 346 | % 347 | % \begin{variable}{\g_@@_thesis_type_int} 348 | % 论文类型。取值 1、2、3 分别对应博士、硕士、本科(学士),这与学号 349 | % 第三位是一致的。 350 | % \begin{macrocode} 351 | \int_new:N \g_@@_thesis_type_int 352 | % \end{macrocode} 353 | % \end{variable} 354 | % 355 | % \subsubsection{内部函数} 356 | % 357 | % \begin{macro}{\cs_generate_variant:cn, 358 | % \file_input:V, 359 | % \int_to_arabic:v, 360 | % \keys_define:nx} 361 | % \begin{macro}[TF]{\tl_if_eq:Vn} 362 | % \LaTeX3{} 函数变体。 363 | % \begin{macrocode} 364 | \cs_generate_variant:Nn \cs_generate_variant:Nn { cn } 365 | \cs_generate_variant:Nn \file_input:n { V } 366 | \cs_generate_variant:Nn \int_to_arabic:n { v } 367 | \cs_generate_variant:Nn \keys_define:nn { nx } 368 | \prg_generate_conditional_variant:Nnn \tl_if_eq:nn { Vn } { T, TF } 369 | % \end{macrocode} 370 | % \end{macro} 371 | % \end{macro} 372 | % 373 | % \begin{macro}{\@@_quad:,\@@_qquad:} 374 | % 等价于 \LaTeXe{} 中的 \tn{quad} 和 \tn{qquad}。 375 | % \begin{macrocode} 376 | \cs_new:Npn \@@_quad: { \skip_horizontal:n { 1 em } } 377 | \cs_new:Npn \@@_qquad: { \skip_horizontal:n { 2 em } } 378 | % \end{macrocode} 379 | % \end{macro} 380 | % 381 | % \subsection{选项处理} 382 | % 383 | % 定义 |fdu/option| 键值类。 384 | % \begin{macrocode} 385 | \keys_define:nn { fdu / option } 386 | { 387 | % \end{macrocode} 388 | % 389 | % \changes{v0.7}{2018/02/01}{新增 \opt{type} 选项。} 390 | % 391 | % \begin{macro}{type} 392 | % 设置论文类型。设为模板选项主要是为了以后的兼容性。论文类型可能会 393 | % 影响很多设置,只是暂时还不考虑。默认为本科毕业论文。 394 | % \begin{macrocode} 395 | type .choice:, 396 | type .value_required:n = true, 397 | type .choices:nn = 398 | { doctor, master, bachelor } 399 | { \int_set_eq:NN \g_@@_thesis_type_int \l_keys_choice_int }, 400 | type .initial:n = bachelor, 401 | % \end{macrocode} 402 | % \end{macro} 403 | % 404 | % \changes{v0.7}{2018/01/31}{新增 \opt{config} 选项。} 405 | % 406 | % \begin{macro}{config} 407 | % 配置文件名。 408 | % \begin{macrocode} 409 | config .tl_set:N = \g_@@_config_tl, 410 | % \end{macrocode} 411 | % \end{macro} 412 | % 413 | % 处理未知选项。 414 | % \begin{macrocode} 415 | unknown .code:n = { \@@_error:n { unknown-option } } 416 | } 417 | \@@_msg_new:nn { unknown-option } 418 | { Class~ option~ "\l_keys_key_tl"~ is~ unknown. } 419 | % \end{macrocode} 420 | % 421 | % 将文档类选项传给 |fdu/option|。 422 | % \begin{macrocode} 423 | \ProcessKeysOptions { fdu / option } 424 | % 425 | % \end{macrocode} 426 | % 427 | % \subsection{摘要} 428 | % 429 | % \begin{environment}{abstract} 430 | % \begin{environment}{abstract*} 431 | % \changes{v0.7}{2018/03/05}{整理代码。} 432 | % 摘要环境。在中文模板定义了中英文双语摘要,但在英文模板中则没有 433 | % 定义中文摘要。 434 | % \begin{macrocode} 435 | \NewDocumentEnvironment { abstract } { } 436 | % { \@@_abstract_begin: } { \@@_abstract_end: } 437 | % { \@@_abstract_en_begin: } { \@@_abstract_en_end: } 438 | %<*class> 439 | \NewDocumentEnvironment { abstract* } { } 440 | { \@@_abstract_en_begin: } { \@@_abstract_en_end: } 441 | % 442 | % \end{macrocode} 443 | % \end{environment} 444 | % \end{environment} 445 | % 446 | % \begin{environment}{function} 447 | % \begin{macro}{\@@_fix_previous_depth:} 448 | % 调整 \env{function} 环境前后间距。 449 | % \begin{macrocode} 450 | \BeforeBeginEnvironment { function } 451 | { \par \nointerlineskip } 452 | \AtEndEnvironment { function } 453 | { 454 | \par 455 | \cs_gset:Nx \@@_fix_previous_depth: 456 | { \prevdepth = \the \prevdepth \space } 457 | } 458 | \AfterEndEnvironment { function } 459 | { \@@_fix_previous_depth: } 460 | % \end{macrocode} 461 | % \end{macro} 462 | % \end{environment} 463 | % 464 | % \clearpage 465 | % 466 | % \end{implementation} 467 | % 468 | -------------------------------------------------------------------------------- /test/fduthesis-test-toolkit.tex: -------------------------------------------------------------------------------- 1 | \makeatletter 2 | 3 | %% 关闭寄存器分配信息 4 | \def\e@alloc#1#2#3#4#5#6{% 5 | \global\advance#3\@ne 6 | \e@ch@ck{#3}{#4}{#5}#1% 7 | \allocationnumber#3\relax 8 | \global#2#6\allocationnumber 9 | % \wlog{\string#6=\string#1\the\allocationnumber} 10 | } 11 | 12 | %% 关闭文档类、宏包载入信息 13 | \def\@pr@videpackage[#1]{% 14 | \expandafter\xdef\csname ver@\@currname.\@currext\endcsname{#1}% 15 | % \ifx\@currext\@clsextension 16 | % \typeout{Document Class: \@gtempa\space#1}% 17 | % \else 18 | % \wlog{Package: \@gtempa\space#1}% 19 | % \fi 20 | } 21 | 22 | %% 关闭文件载入信息 23 | \def\@providesfile#1[#2]{% 24 | % \wlog{File: #1 #2}% 25 | \expandafter\xdef\csname ver@#1\endcsname{#2}% 26 | \endgroup} 27 | 28 | %% 关闭 LaTeX 提示信息 29 | \def\@latex@info#1{} 30 | \def\@font@info#1{} 31 | 32 | %% 关闭文档类、宏包提示信息 33 | \def\ClassInfo#1#2{} 34 | \def\PackageInfo#1#2{} 35 | 36 | %% `log-declarations=false` 用于关闭 xparse 下的命令声明信息 37 | \RequirePackage[log-declarations=false]{xparse} 38 | \RequirePackage{ctexhook} 39 | 40 | \ExplSyntaxOn 41 | 42 | %% 关闭(重定向) LaTeX3 下部分宏包的提示信息 43 | \cs_new:Npn \fdutest_close_msg:nn #1#2 44 | { \msg_redirect_name:nnn {#1} {#2} { none } } 45 | %\fdutest_close_msg:nn { fontspec } { defining-font } 46 | \fdutest_close_msg:nn { fontspec } { no-scripts } 47 | \fdutest_close_msg:nn { kantlipsum } { how-many } 48 | \fdutest_close_msg:nn { unicode-math } { patch-macro } 49 | \fdutest_close_msg:nn { xtemplate } { declare-object-type } 50 | 51 | %% 特殊宏包的处理 52 | \ctex_at_end_package:nn { hyperref } { \def\Hy@Message#1{} } 53 | \ctex_at_end_package:nn { geometry } { \def\Gm@showparams#1{} } 54 | 55 | \ExplSyntaxOff 56 | 57 | \makeatother 58 | 59 | \endinput 60 | -------------------------------------------------------------------------------- /test/test-biblatex.tex: -------------------------------------------------------------------------------- 1 | \documentclass[twoside]{fduthesis} 2 | 3 | \fdusetup{ 4 | style = { 5 | logo = {../testfiles/support/fudan-name.pdf}, 6 | bib-backend = biblatex, 7 | bib-resource = {test.bib} 8 | }, 9 | info = { 10 | title = {自河南经乱关内阻饥兄弟离散各在一处}, 11 | title* = {Measurements of the interaction between energetic 12 | photons and hadrons show that the interaction}, 13 | author = {某某某}, 14 | author* = {Xiangdong Zeng}, 15 | supervisor = {陈丙丁 \quad 教授}, 16 | instructors = { 17 | 张五六 \quad 工程师, 18 | 赵\quad 甲 \quad 工程师, 19 | 王三四 \quad 讲\quad 师 20 | }, 21 | major = {物理学}, 22 | department = {凝聚态物理系}, 23 | student-id = {14307110000}, 24 | keywords = {\LaTeX, hello, world, 物理, 中心法则, China, 为侨服务}, 25 | keywords* = {\LaTeX, hello, world, physics, central rule, China}, 26 | clc = {O414.1/65} 27 | } 28 | } 29 | 30 | \def\BibTeX{B\textsc{ib}\TeX} 31 | 32 | \begin{document} 33 | 34 | \frontmatter 35 | 36 | \tableofcontents 37 | 38 | \mainmatter 39 | 40 | \chapter{引用} 41 | 42 | \section{文字与段落} 43 | 44 | \textbf{本段使用 \texttt{\string\cite}} 45 | Myriad,英语单词,意为「无数的」\cite{sunstein,gjhjbhjkjbzs,hblzsthjkjyxgs}。 46 | 同时,「Myriad」也是一款字体的名字。 47 | 由罗伯特·斯林巴赫(Robert Slimbach,1956年--)和卡罗·图温布利 48 | (Carol Twombly,1959年-)\cite{wyf,sunstein,zgtsgxh,lzp1} 49 | 在1990年到1992年期间以 Frutiger 字体为蓝本为 Adobe 公司设计\cite{cdy}。 50 | Myriad 是早期数码字体时代的先驱,\cite{wfz,wfz1} 51 | 伴随着技术的成长一路走来 \cite{hlswedl,zgdylsdag}。 52 | 53 | \textbf{本段使用 \texttt{\string\citep}} 54 | 如今,它更多地和我们相见在显示屏幕上 \citep{wfz2}。当然,还有那著名的标榜设计的 55 | 电子品牌 \citep{cgw,mks}。1992 年,耗时两年开发的 Myriad 终于发布了历史上第一个版本: 56 | Myriad MM \citep{wyf,hblzsthjkjyxgs,sunstein,zgtsgxh,aaas}。 57 | 58 | \section{title} 59 | 60 | \textbf{本段使用 \texttt{\string\citet}} 61 | 这款温和且具有良好可读性的人文主义无衬线字体\citet{yjb},集诸多当时最新的数字 62 | 字体技术于一身。 后缀 MM,意为 Multiple Master,没有找到对应的中文 63 | 译名\citet{lbm,calkin},我们权且称之为「多母板技术」。Myriad 是最早采用 Multiple Master 64 | 技术的无衬线字体之一。这项技术的原理是在坐标轴(Axis)的区间两端设计 65 | 极限母板,中间的变量则采取线性或非线性变化,对于字体来说,字型的宽度、 66 | 粗细甚至有无衬线\citet{xadzkjdx,yufin,cgw},都可以在坐标轴上设置。此外,MM 技术还提供了在小字号 67 | 下屏幕显示的视觉修正(Optical Adjustment),也就是说,同一款字体,在 68 | 小字号时,其字间距和笔画粗细,会被适当地放大。而衬线字体,随着字号的 69 | 变小,衬线会相对变粗。视觉修正可以提高小字号字体的识别性,对于远低于 70 | 印刷分辨率的电脑屏幕来说,也具有重要意义。 71 | 72 | 在 Multiple Master 的时代,字号是从6pt到72pt之间非线性设置的。这一传统 73 | 保留到了今天 Truetype 和 Opentype 的 Single Master 时代。Adobe 软件的 74 | 字体下拉菜单,仍然只显示6到72pt 的字号。 75 | 76 | \backmatter 77 | 78 | \printbibliography 79 | 80 | \end{document} 81 | -------------------------------------------------------------------------------- /test/test-en.tex: -------------------------------------------------------------------------------- 1 | \PassOptionsToPackage{log-declarations=false}{xparse} 2 | \documentclass[twoside]{fduthesis-en} 3 | \usepackage{kantlipsum} 4 | 5 | \fdusetup{ 6 | style = { 7 | % font = libertinus, 8 | % cjk-font = founder, 9 | % fullwidth-stop, 10 | % footnote-style = libertinus*, 11 | % auto-make-cover = false, 12 | logo = {../testfiles/support/fudan-name.pdf}, 13 | hyperlink = color, 14 | hyperlink-color = prl, 15 | bib-backend = bibtex, 16 | bib-style = plainnat, 17 | bib-resource = {test.bib} 18 | }, 19 | info = { 20 | title = {自河南经乱关内阻饥兄弟离散各在一处}, 21 | title* = {Measurements of the interaction between energetic 22 | photons and hadrons show that the interaction}, 23 | % date = {2017年2月10日}, 24 | author = {某某某}, 25 | author* = {Xiangdong Zeng}, 26 | supervisor = {陈丙丁 \quad 教授}, 27 | instructors = { 28 | 张五六 \quad 工程师, 29 | 赵\quad 甲 \quad 工程师, 30 | 王三四 \quad 讲\quad 师 31 | }, 32 | major = {物理学}, 33 | department = {凝聚态物理系}, 34 | secret-level = ii, 35 | secret-year = {三年}, 36 | student-id = {14307110000}, 37 | keywords* = {\LaTeX, hello, world, physics, central rule, China}, 38 | clc = {O414.1/65} 39 | } 40 | } 41 | 42 | \newcommand{\fonttesttext}{Hello, world! Hello, \TeX{}!} 43 | \newcommand\fonttest{ 44 | \begin{tabular}{lc} 45 | Normal: & \fonttesttext \\ 46 | Bold: & \textbf{\fonttesttext} \\ 47 | Italic: & \textit{\fonttesttext} \\ 48 | Small Capital: & \textsc{\fonttesttext} 49 | \end{tabular} 50 | } 51 | 52 | \def\BibTeX{B\textsc{ib}\TeX} 53 | 54 | \begin{document} 55 | 56 | \frontmatter 57 | 58 | \tableofcontents 59 | \listoffigures 60 | \listoftables 61 | 62 | \begin{abstract} 63 | \LaTeX3 does not use @ as a ``letter'' for defining internal 64 | macros. Instead, the symbols are used in internal macro names to 65 | provide structure. The name of each function is divided into 66 | logical units using separates the name of the function from the 67 | argument specifier (``arg-spec''). This describes the arguments 68 | expected by the function. 69 | 70 | \kant[1-5] 71 | \end{abstract} 72 | 73 | \begin{notation} 74 | $\sin$ & Sine \\ 75 | HPC & High Performance Computing \\ 76 | SMP & Symmetrical Multi-Processing \\ 77 | API & Application Programming Interface \\ 78 | PI & Polyimide \\ 79 | PBI & Polybenzimidazole \\ 80 | PY & Polypyrron \\ 81 | $\Delta G$ & Activation Free Energy \\ 82 | $\chi$ & Transmission Coefficient \\ 83 | $E$ & Energy \\ 84 | $m$ & Mass \\ 85 | $c$ & Speed of Light \\ 86 | $P$ & Possibility \\ 87 | $T$ & Time \\ 88 | $v$ & Velocity \\ 89 | Wikipedia & Wikipedia (/ˌwɪkᵻˈpiːdiə/ (About this sound listen) 90 | or /ˌwɪkiˈpiːdiə/ (About this sound listen) 91 | \emph{WIK-i-PEE-dee-ə}) is a free online encyclopedia 92 | with the aim to allow anyone to edit articles. 93 | Wikipedia is the largest and most popular general 94 | reference work on the Internet and is ranked among 95 | the ten most popular websites. Wikipedia is owned by 96 | the nonprofit Wikimedia Foundation. 97 | \end{notation} 98 | 99 | \mainmatter 100 | 101 | \chapter{Text, font and footnote} 102 | 103 | \section{Text and paragraph} 104 | 105 | \subsection{English} 106 | \kant 107 | 108 | \clearpage 109 | 110 | \section{Font} 111 | 112 | \subsection{Roman} 113 | \fonttest 114 | 115 | \subsection{Sans-serif} 116 | \textsf{\fonttest} 117 | 118 | \subsection{Typewriter} 119 | \texttt{\fonttest} 120 | 121 | \clearpage 122 | 123 | \section{Footnote} 124 | Footnote\footnote{Religious influence had been strong in the Russian Empire.} 125 | 126 | Footnote \footnote{Religious influence had been strong in the Russian Empire.}. Hello 127 | 128 | Footnote. \footnote{Footnote 3 is a long footnote. \kant[2]} Nothing 129 | 130 | \textit{Italic footnote \footnote{Note 4}have nothing} 131 | 132 | \textbf{Bold fotnote\footnote{Note 5} have nothing} 133 | 134 | vs\footnote{Note 6\par}have nothing 135 | 136 | vs \footnote{Note 7 has a par. \par The Russian Orthodox Church enjoyed 137 | a privileged status as the church of the monarchy and took part in carrying 138 | out official state functions. The immediate period following the establishment 139 | of the Soviet state included a struggle against the Orthodox Church, which 140 | the revolutionaries considered an ally of the former ruling classes.}have nothing 141 | 142 | vs\footnote{Note 8}ge 143 | 144 | vs\footnote{Note 9} jsty 145 | 146 | vs\footnote{Note 10 has 3 par's. 147 | The government encouraged a variety of trends. In art and literature, numerous 148 | schools, some traditional and others radically experimental, proliferated. \par 149 | The government encouraged a variety of trends. In art and literature, numerous 150 | schools, some traditional and others radically experimental, proliferated. \par 151 | The government encouraged a variety of trends. In art and literature, numerous 152 | schools, some traditional and others radically experimental, proliferated.} 153 | 154 | Text% 155 | \footnote{This is a footnote.}% 156 | \footnote{This is a footnote.}% 157 | \footnote{This is a footnote.}% 158 | \footnote{This is a footnote.}% 159 | \footnote{This is a footnote.}% 160 | \footnote{This is a footnote.}% 161 | \footnote{This is a footnote.}% 162 | \footnote{This is a footnote.}% 163 | \footnote{This is a footnote.}% 164 | \footnote{This is a footnote.}% 165 | \footnote{This is a footnote.}% 166 | \footnote{This is a footnote.}% 167 | \footnote{This is a footnote.}% 168 | \footnote{This is a footnote.}% 169 | \footnote{This is a footnote.}% 170 | \footnote{This is a footnote.}% 171 | \footnote{This is a footnote.}% 172 | \footnote{This is a footnote.}% 173 | \footnote{This is a footnote.}% 174 | \footnote{This is a footnote.}% 175 | \footnote{This is a footnote.}% 176 | \footnote{This is a footnote.}% 177 | \footnote{This is a footnote.}% 178 | \footnote{This is a footnote.}% 179 | \footnote{This is a footnote.}% 180 | \footnote{This is a footnote.}% 181 | \footnote{This is a footnote.}% 182 | \footnote{This is a footnote.}% 183 | \footnote{This is a footnote.}% 184 | \footnote{This is a footnote.}% 185 | \footnote{This is a footnote.}% 186 | \footnote{This is a footnote.}% 187 | \footnote{This is a footnote.}% 188 | \footnote{This is a footnote.}% 189 | \footnote{This is a footnote.}% 190 | \footnote{This is a footnote.}% 191 | \footnote{This is a footnote.}% 192 | \footnote{This is a footnote.}% 193 | \footnote{This is a footnote.}% 194 | \footnote{This is a footnote.}% 195 | \footnote{This is a footnote.}% 196 | \footnote{This is a footnote.}% 197 | \footnote{This is a footnote.}% 198 | \footnote{This is a footnote.}% 199 | \footnote{This is a footnote.}% 200 | \footnote{This is a footnote.}% 201 | \footnote{This is a footnote.}% 202 | \footnote{This is a footnote.}% 203 | \footnote{This is a footnote.}% 204 | \footnote{This is a footnote.}% 205 | 206 | \chapter{Mathematics and Theorems} 207 | 208 | \section{Math} 209 | 210 | \[\pi=\sb{33}\] 211 | 212 | \[ 213 | \int\sin x\,\mathrm{d}x=\cos x + C 214 | \] 215 | 216 | \begin{proof} 217 | Cubum autem in duos cubos, aut quadratoquadratum in duos quadratoquadratos 218 | \& generaliter nullam in infinitum ultra quadratum potestatem in duos eiusdem 219 | nominis fas est dividere cuius rei demonstrationem mirabilem sane detexi. 220 | Hanc marginis exiguitas non caperet. 221 | \end{proof} 222 | 223 | \begin{definition} 224 | Q.E.D. (also written QED) is an initialism of the Latin phrase quod erat 225 | demonstrandum, meaning ``what was to be demonstrated'', or, less formally, 226 | ``thus it has been demonstrated''. The phrase is traditionally placed in 227 | its abbreviated form at the end of a mathematical proof or philosophical 228 | argument when the original proposition has been exactly restated as the 229 | conclusion of the demonstration. The abbreviation thus signals the completion 230 | of the proof. 231 | 232 | The phrase quod erat demonstrandum is a translation into Latin from the 233 | Greek ὅπερ ἔδει δεῖξαι (hoper edei deixai; abbreviated as ΟΕΔ). Translating 234 | from the Latin into English yields, ``what was to be demonstrated''; however, 235 | translating the Greek phrase ὅπερ ἔδει δεῖξαι produces a slightly different 236 | meaning. Since the verb ``δείκνυμι'' also means to show or to prove, a 237 | better translation from the Greek would read, ``The very thing it was required 238 | to have shown.'' The phrase was used by many early Greek mathematicians, 239 | including Euclid and Archimedes. 240 | \end{definition} 241 | 242 | \begin{lemma} 243 | In the European Renaissance, scholars often wrote in Latin, and phrases 244 | such as Q.E.D. were often used to conclude proofs. 245 | \end{lemma} 246 | 247 | \begin{proof} 248 | \textbf{Ipso facto} is a Latin phrase, directly translated as ``by the fact itself'', 249 | which means that a specific phenomenon is a \emph{direct} consequence, a 250 | resultant \textit{effect}, of the action in question, instead of being brought 251 | about by a previous action. 252 | \begin{equation} 253 | \sum_{k=0}^{\infty} \frac{1}{x^k} = \int \sin x dx 254 | \end{equation} 255 | \end{proof} 256 | 257 | \begin{proof} 258 | \textbf{Ipso facto} is a Latin phrase, directly translated as ``by the fact itself'', 259 | which means that a specific phenomenon is a \emph{direct} consequence, a 260 | resultant \textit{effect}, of the action in question, instead of being brought 261 | about by a previous action. 262 | \begin{equation*} 263 | \sum_{k=0}^{\infty} \frac{1}{x^k} = \int \sin x dx 264 | \end{equation*} 265 | \end{proof} 266 | 267 | \begin{lemma} 268 | This is another beautiful lemma. 269 | \end{lemma} 270 | 271 | \chapter{Theorems (Continued)} 272 | \newcounter{thm} 273 | 274 | \newtheorem[style=plain,qed=\ensuremath{\sin}]{p}{plain} 275 | \newtheorem[style=margin]{mm}{BREAKINGS} 276 | \newtheorem[style=change]{fduc}{Changing} 277 | \newtheorem[style=break]{fdub}{plain} 278 | \newtheorem[style=marginbreak]{mb}{BREAKINGS} 279 | \newtheorem[style=break]{cb}{Changing} 280 | \newtheorem*[style=plain]{np}{plain} 281 | \newtheorem*[style=margin]{nmm}{BREAKINGS} 282 | \newtheorem*[style=change]{nfduc}{Changing} 283 | \newtheorem*[style=break,qed=]{nfdub}{plain} 284 | \newtheorem*[style=marginbreak,qed={}]{nmb}{BREAKINGS} 285 | \newtheorem[style=break,counter=thm]{ncb}{Changing} 286 | 287 | \begin{p} 288 | This is a THEOREM. 289 | \[ \sum_{k=0}^{\infty} \frac{1}{x^k} = \int \sin x dx \] 290 | \end{p} 291 | 292 | \begin{mm}[Tomorrow morning] 293 | This is a THEOREM. 294 | \[ \sum_{k=0}^{\infty} \frac{1}{x^k} = \int \sin x dx \] 295 | \end{mm} 296 | 297 | \begin{fduc} 298 | This is a THEOREM. 299 | \[ \sum_{k=0}^{\infty} \frac{1}{x^k} = \int \sin x dx \] 300 | \end{fduc} 301 | 302 | \begin{fdub} 303 | This is a THEOREM. 304 | \[ \sum_{k=0}^{\infty} \frac{1}{x^k} = \int \sin x dx \] 305 | \end{fdub} 306 | 307 | \begin{mb} 308 | This is a THEOREM. 309 | \[ \sum_{k=0}^{\infty} \frac{1}{x^k} = \int \sin x dx \] 310 | \end{mb} 311 | 312 | \begin{cb} 313 | This is a THEOREM. 314 | \[ \sum_{k=0}^{\infty} \frac{1}{x^k} = \int \sin x dx \] 315 | \end{cb} 316 | 317 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 318 | 319 | \begin{np} 320 | This is a THEOREM. 321 | \[ \sum_{k=0}^{\infty} \frac{1}{x^k} = \int \sin x dx \] 322 | \end{np} 323 | 324 | \begin{nmm}[Another tomorrow morning] 325 | This is a THEOREM. 326 | \[ \sum_{k=0}^{\infty} \frac{1}{x^k} = \int \sin x dx \] 327 | \end{nmm} 328 | 329 | \begin{nfduc} 330 | This is a THEOREM. 331 | \[ \sum_{k=0}^{\infty} \frac{1}{x^k} = \int \sin x dx \] 332 | \end{nfduc} 333 | 334 | \begin{nfdub} 335 | This is a THEOREM. 336 | \[ \sum_{k=0}^{\infty} \frac{1}{x^k} = \int \sin x dx \] 337 | \end{nfdub} 338 | 339 | \begin{nmb} 340 | This is a THEOREM. 341 | \[ \sum_{k=0}^{\infty} \frac{1}{x^k} = \int \sin x dx \] 342 | \end{nmb} 343 | 344 | \begin{ncb} 345 | This is a THEOREM. 346 | \[ \sum_{k=0}^{\infty} \frac{1}{x^k} = \int \sin x dx \] 347 | \end{ncb} 348 | 349 | \begin{ncb} 350 | This is a THEOREM. 351 | \[ \sum_{k=0}^{\infty} \frac{1}{x^k} = \int \sin x dx \] 352 | \end{ncb} 353 | 354 | \begin{ncb} 355 | This is a THEOREM. 356 | \[ \sum_{k=0}^{\infty} \frac{1}{x^k} = \int \sin x dx \] 357 | \end{ncb} 358 | 359 | \begin{ncb} 360 | This is a THEOREM. 361 | \[ \sum_{k=0}^{\infty} \frac{1}{x^k} = \int \sin x dx \] 362 | \end{ncb} 363 | 364 | \chapter{Figures, Tables and Floats} 365 | 366 | \section{title} 367 | 368 | Myriad is a humanist sans-serif typeface designed by Robert Slimbach 369 | and Carol Twombly for Adobe Systems. The typeface is best known for 370 | its usage by Apple Inc., replacing Apple Garamond as Apple's corporate 371 | font from 2002 to 2017. Myriad is easily distinguished from other 372 | sans-serif fonts due to its special ``y'' descender (tail) and slanting 373 | ``e'' cut. Myriad is similar to Frutiger, although the italic is different; 374 | Adrian Frutiger described the font as ``not badly done'' but felt that 375 | the similarities had gone ``a little too far''. The later Segoe UI and 376 | Corbel are also similar. 377 | 378 | \begin{figure}[h] 379 | \centering 380 | \includegraphics[width=3cm]{../testfiles/support/fudan-emblem.pdf} 381 | \includegraphics[width=4cm]{../testfiles/support/fudan-emblem-new.pdf} 382 | \caption{This PostScript Type 1 font family was released after the 383 | original Myriad MM. It initially included four fonts in two weights, 384 | with complementary italics. All these Type 1 versions supported 385 | the ISO-Adobe character set; all were discontinued in the early 2000s.} 386 | \end{figure} 387 | 388 | It was a condensed version, released around 1998. The condensed fonts 389 | comprise three weights, with complementary italics. 390 | 391 | \section{title} 392 | 393 | Myriad Web is a version of Myriad in TrueType font format, optimized 394 | for onscreen use. It supports Adobe CE and Adobe Western 2 character 395 | sets. Myriad Web comprises only five fonts: Myriad Web Pro Bold, Myriad 396 | Web Pro Regular, Myriad Web Pro Condensed Italic, Myriad Web Pro Condensed, 397 | Myriad Web Pro Italic. Myriad Web Pro is slightly wider than Myriad Pro, 398 | while the width of Myriad Web Pro Condensed is between Myriad Pro 399 | Condensed and Myriad Pro SemiCondensed. 400 | 401 | The family is bundled as part of the Adobe Web Type Pro font pack. 402 | 403 | \begin{table}[h] 404 | \centering 405 | \caption{A normal table} 406 | \begin{tabular}{ccc} 407 | \hline 408 | \bfseries Function & \bfseries Environment & \bfseries Code \\ 409 | \hline 410 | Table & tabular & \ttfamily \backslash begin\{tabular\} ... \backslash end\{tabular\} \\ 411 | Figure & figure & \ttfamily \backslash begin\{figure\} ... \backslash end\{figure\} \\ 412 | Centering & center & \ttfamily \backslash begin\{center\} ... \backslash end\{center\} \\ 413 | \hline 414 | \end{tabular} 415 | \end{table} 416 | 417 | Myriad Pro is the OpenType version of the original Myriad font family. 418 | It first shipped in 2000, as Adobe moved towards the OpenType standard. 419 | Additional designers were Christopher Slye and Fred Brady. Compared to 420 | Myriad MM, it added support for Latin Extended, Greek, and Cyrillic 421 | characters, as well as oldstyle figures. 422 | 423 | Myriad Pro originally included thirty fonts in three widths and five 424 | weights each, with complementary italics. A ``semi-condensed'' width 425 | was added in early 2002, expanding the family to forty fonts in four 426 | widths and five weights each, with complementary italics. 427 | 428 | \section{title} 429 | \kant[1-10] 430 | 431 | \section{title} 432 | \kant[21-30] 433 | 434 | \section{title} 435 | \kant[31-40] 436 | 437 | \section{URL} 438 | \TeX{} StackExchange: \url{https://tex.stackexchange.com/} 439 | 440 | 441 | \chapter{Text} 442 | 443 | \section{Text and paragraph} 444 | 445 | \textbf{Using \texttt{\string\cite}} 446 | Helvetica or Neue Haas Grotesk is a widely used sans-serif typeface 447 | developed in 1957 by Swiss typeface designer Max Miedinger with input 448 | from Eduard Hoffmann \cite{test1}. 449 | Helvetica is a neo-grotesque or realist design \cite{lzp1,crawfprd}, one influenced by 450 | the famous 19th century typeface Akzidenz-Grotesk and other German 451 | and Swiss designs \cite{hws,yufin,qgxxywxbzhjswyh}. Its use became a hallmark of the International 452 | Typographic Style that emerged from the work of Swiss designers in 453 | the 1950s and 60s, becoming one of the most popular typefaces of the 454 | 20th century. Over the years, a wide range of variants have been 455 | released in different weights \cite{kanamori,wll}, widths and sizes, as well as matching 456 | designs for a range of non-Latin alphabets. Notable features of 457 | Helvetica as originally designed include a high x-height, the 458 | termination of strokes on horizontal or vertical lines and an 459 | unusually tight spacing between letters, which combine to give it a 460 | dense, compact appearance \cite{test1,kanamori,wll,qgxxywxbzhjswyh}. 461 | 462 | \textbf{Using \texttt{\string\citep}} 463 | Developed by the Haas'sche Schriftgiesserei (Haas Type Foundry) of 464 | Münchenstein, Switzerland, its release was planned to match a trend: 465 | a resurgence of interest in turn-of-the-century grotesque typefaces 466 | among European graphic designers that also saw the release of Univers 467 | by Adrian Frutiger the same year \citep{caplan}. Hoffmann was the president of the 468 | Haas Type Foundry, while Miedinger was a freelance graphic designer 469 | who had formerly worked as a Haas salesman and designer \citep{frese,xadzkjdx,tachibana}. 470 | Miedinger and Hoffmann set out to create a neutral typeface that had 471 | great clarity, no intrinsic meaning in its form, and could be used 472 | on a wide variety of signage. Originally named Neue Haas Grotesk 473 | (New Haas Grotesque), it was rapidly licensed by Linotype and renamed 474 | Helvetica, being similar to the Latin adjective for Switzerland, 475 | Helvetia \citep{bawden,hws,yufin}. The font name was changed to Helvetica in 1960. A 476 | feature-length film directed by Gary Hustwit was released in 2007 477 | to coincide with the 50th anniversary of the typeface's introduction 478 | in 1957 \citep{fg,ybj}. 479 | 480 | \section{title} 481 | 482 | \textbf{Using \texttt{\string\citet}} 483 | Influences of Helvetica included Schelter-Grotesk and Haas' 484 | Normal-Grotesk. Attracting considerable attention on its release 485 | as Neue Haas Grotesk, Linotype adopted Neue Haas Grotesk for 486 | widespread release \citet{buseck}. 487 | In 1960, its name was changed by Haas' German parent company Stempel 488 | to Helvetica (meaning Swiss in Latin) in order to make it more 489 | marketable internationally \citet{udtfha,lml}. It comes from the Latin name for the 490 | pre-Roman tribes of what became Switzerland. Intending to match the 491 | success of Univers, Arthur Ritzel of Stempel redesigned Neue Haas 492 | Grotesk into a larger family \citet{bcz,sftrj,babu,kanamori}. The design was popular, and rapidly 493 | made available for phototypesetting systems as well as for the 494 | original metal type. Many imitations and knock-offs were rapidly 495 | created \citet{test1,kanamori,wll}. 496 | In the late 1970s and 1980s, Linotype licensed its version to Xerox 497 | and then Adobe and Apple, guaranteeing its importance in digital 498 | printing by making it one of the core fonts of the PostScript page 499 | description language. The rights to it are now held by Monotype 500 | Imaging, which acquired Linotype; the advanced Neue Haas Grotesk 501 | release (discussed below) was co-released with Font Bureau \citet{dcmes,wfz,wfz1,wfz2}. 502 | 503 | \chapter{Dummy text} 504 | 505 | \kant[1-15] 506 | 507 | \nocite{*} 508 | 509 | \backmatter 510 | 511 | \printbibliography 512 | 513 | \end{document} 514 | -------------------------------------------------------------------------------- /test/test-figure-table.tex: -------------------------------------------------------------------------------- 1 | \chapter{图表 vs 浮动体} 2 | 3 | \section{title} 4 | Myriad,英语单词,意为「无数的」。同时,「Myriad」也是一款字体的名字。 5 | 由罗伯特·斯林巴赫(Robert Slimbach,1956年-)和卡罗·图温布利 6 | (Carol Twombly,1959年-)在1990年到1992年期间以 Frutiger 字体为蓝本 7 | 为 Adobe 公司设计。 Myriad 是早期数码字体时代的先驱,伴随着技术的成长 8 | 一路走来。 9 | 10 | \begin{figure}[h] 11 | \centering 12 | \includegraphics[width=3cm]{../testfiles/support/fudan-emblem.pdf} 13 | \includegraphics[width=4cm]{../testfiles/support/fudan-emblem-new.pdf} 14 | \caption{Multiple Master 是 Type 1字体格式的扩展部分。Type 1 是利用 15 | PostScript 语言描述字形信息的字体系统。Type 1字体是第一款矢量字体 16 | (outline font),通过二维坐标系中的关键点和三次贝塞尔曲线描述字体 17 | 的边缘,在屏幕显示和输出时,在光栅图像处理器内,根据字号大小计算 18 | 出字体边缘(栅格化)。} 19 | \end{figure} 20 | 21 | 如今,它更多地和我们相见在显示屏幕上。当然,还有那著名的标榜设计的 22 | 电子品牌。1992 年,耗时两年开发的 Myriad 终于发布了历史上第一个版本: 23 | Myriad MM。 24 | 25 | \section{title} 26 | 这款温和且具有良好可读性的人文主义无衬线字体,集诸多当时最新的数字 27 | 字体技术于一身。 后缀 MM,意为 Multiple Master,没有找到对应的中文 28 | 译名,我们权且称之为「多母板技术」。Myriad 是最早采用 Multiple Master 29 | 技术的无衬线字体之一。这项技术的原理是在坐标轴(Axis)的区间两端设计 30 | 极限母板,中间的变量则采取线性或非线性变化,对于字体来说,字型的宽度、 31 | 粗细甚至有无衬线,都可以在坐标轴上设置。此外,MM 技术还提供了在小字号 32 | 下屏幕显示的视觉修正(Optical Adjustment),也就是说,同一款字体,在 33 | 小字号时,其字间距和笔画粗细,会被适当地放大。而衬线字体,随着字号的 34 | 变小,衬线会相对变粗。视觉修正可以提高小字号字体的识别性,对于远低于 35 | 印刷分辨率的电脑屏幕来说,也具有重要意义。 36 | 37 | \begin{table}[h] 38 | \centering 39 | \caption{一个 normal 表格} 40 | \begin{tabular}{ccc} 41 | \hline 42 | \bfseries 功能 & \bfseries 环境 & \bfseries code \\ 43 | \hline 44 | 表格 & tabular & \ttfamily \backslash begin\{tabular\} ... \backslash end\{tabular\} \\ 45 | 插图 & figure & \ttfamily \backslash begin\{figure\} ... \backslash end\{figure\} \\ 46 | 居中 & center & \ttfamily \backslash begin\{center\} ... \backslash end\{center\} \\ 47 | \hline 48 | \end{tabular} 49 | \end{table} 50 | 51 | 在 Multiple Master 的时代,字号是从6pt到72pt之间非线性设置的。这一传统 52 | 保留到了今天 Truetype 和 Opentype 的 Single Master 时代。Adobe 软件的 53 | 字体下拉菜单,仍然只显示6到72pt 的字号。 54 | -------------------------------------------------------------------------------- /test/test-footnote.tex: -------------------------------------------------------------------------------- 1 | \chapter{脚注 Footnote} 2 | 3 | 脚注\footnote{脚注1如果会突然}。 4 | 5 | 脚注 \footnote{脚注2。千千万的。}。未取得的 6 | 7 | 脚注。\footnote{脚注3是一个长脚注。\zhlipsum*[2]}未取得的 8 | 9 | \textit{脚注倾斜。 \footnote{脚注4}未取得的} 10 | 11 | \textbf{脚注加粗。\footnote{脚注5} 未取得的} 12 | 13 | vs\footnote{脚注6}未取得的 14 | 15 | vs \footnote{脚注7要分段。\par 不舒服不得不运河滩上野跑,头顶着毒热的阳光,身上再裹起兜肚,一不风凉, 16 | 二又窝汗,穿不了一天,就得起大半身痱子。再有,全村跟他一般大的小姑娘, 17 | 谁的兜肚也没有这么花儿草儿的鲜艳,他穿在身上,男不男,女不女, 18 | 小姑娘们要用手指刮破脸蛋儿。}未取得的 19 | 20 | vs\footnote{脚注8}ge 21 | 22 | vs\footnote{脚注9} jsty 23 | 24 | vs\footnote{脚注10分三段。青大娘大高个儿,一双大脚,青铜肤色, 25 | 嗓门也亮堂,骂起人来,方圆二三十里,敢说找不出能够招架几个回合的敌手。 26 | 一丈青大娘骂人,就像雨打芭蕉,长短句。\par 27 | 青大娘大高个儿,一双大脚,青铜肤色, 28 | 嗓门也亮堂,骂起人来,方圆二三十里,敢说找不出能够招架几个回合的敌手。 29 | 一丈青大娘骂人,就像雨打芭蕉,长短句。 \par 30 | 青大娘大高个儿,一双大脚,青铜肤色, 31 | 嗓门也亮堂,骂起人来,方圆二三十里,敢说找不出能够招架几个回合的敌手。 32 | 一丈青大娘骂人,就像雨打芭蕉,长短句。} 33 | 34 | Text% 35 | \footnote{This is a footnote.}% 36 | \footnote{This is a footnote.}% 37 | \footnote{This is a footnote.}% 38 | \footnote{This is a footnote.}% 39 | \footnote{This is a footnote.}% 40 | \footnote{This is a footnote.}% 41 | \footnote{This is a footnote.}% 42 | \footnote{This is a footnote.}% 43 | \footnote{This is a footnote.}% 44 | \footnote{This is a footnote.}% 45 | \footnote{This is a footnote.}% 46 | \footnote{This is a footnote.}% 47 | \footnote{This is a footnote.}% 48 | \footnote{This is a footnote.}% 49 | \footnote{This is a footnote.}% 50 | \footnote{This is a footnote.}% 51 | \footnote{This is a footnote.}% 52 | \footnote{This is a footnote.}% 53 | \footnote{This is a footnote.}% 54 | \footnote{This is a footnote.}% 55 | \footnote{This is a footnote.}% 56 | \footnote{This is a footnote.}% 57 | \footnote{This is a footnote.}% 58 | \footnote{This is a footnote.}% 59 | \footnote{This is a footnote.}% 60 | \footnote{This is a footnote.}% 61 | \footnote{This is a footnote.}% 62 | \footnote{This is a footnote.}% 63 | \footnote{This is a footnote.}% 64 | \footnote{This is a footnote.}% 65 | \footnote{This is a footnote.}% 66 | \footnote{This is a footnote.}% 67 | \footnote{This is a footnote.}% 68 | \footnote{This is a footnote.}% 69 | \footnote{This is a footnote.}% 70 | \footnote{This is a footnote.}% 71 | \footnote{This is a footnote.}% 72 | \footnote{This is a footnote.}% 73 | \footnote{This is a footnote.}% 74 | \footnote{This is a footnote.}% 75 | \footnote{This is a footnote.}% 76 | \footnote{This is a footnote.}% 77 | \footnote{This is a footnote.}% 78 | \footnote{This is a footnote.}% 79 | \footnote{This is a footnote.}% 80 | \footnote{This is a footnote.}% 81 | \footnote{This is a footnote.}% 82 | \footnote{This is a footnote.}% 83 | \footnote{This is a footnote.}% 84 | \footnote{This is a footnote.}% 85 | -------------------------------------------------------------------------------- /test/test-theorem.tex: -------------------------------------------------------------------------------- 1 | \chapter{定理} 2 | 3 | \begin{proof} 4 | 道千乘之国,敬事而信,节用而爱人,使民以时。 5 | \end{proof} 6 | 7 | \begin{definition} 8 | 证明完毕/证讫,又写作Q.E.D.。这是拉丁词组“quod erat demonstrandum” 9 | (这就是所要证明的)的缩写,译自希腊语“ὅπερ ἔδει δεῖξαι” 10 | (hoper edei deixai),很多早期数学家用过,包括欧几里得和阿基米德。 11 | “Q.E.D.”可以在证明的尾段写出,以显示证明所需的结论已经完整了。 12 | \end{definition} 13 | 14 | \begin{lemma} 15 | 这是一条华丽丽的引理。 16 | \end{lemma} 17 | 18 | \begin{proof}[出师表] 19 | 先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。 20 | \begin{equation} 21 | \sum_{k=0}^{\infty} \frac{1}{x^k} = \int \sin x dx 22 | \end{equation} 23 | \end{proof} 24 | 25 | \begin{proof} 26 | 先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。 27 | \begin{equation*} 28 | \sum_{k=0}^{\infty} \frac{1}{x^k} = \int \sin x dx 29 | \end{equation*} 30 | \end{proof} 31 | 32 | \begin{lemma} 33 | 这又是一条华丽丽的引理。 34 | \end{lemma} 35 | 36 | \chapter{定理(续)} 37 | \newcounter{thm} 38 | 39 | \newtheorem[style=plain,qed=\ensuremath{\sin}]{p}{平凡} 40 | \newtheorem[style=margin]{mm}{打断} 41 | \newtheorem[style=change]{fduc}{变革} 42 | \newtheorem[style=break]{fdub}{平凡} 43 | \newtheorem[style=marginbreak]{mb}{打断} 44 | \newtheorem[style=break]{cb}{变革} 45 | \newtheorem*[style=plain]{np}{平凡} 46 | \newtheorem*[style=margin]{nmm}{打断} 47 | \newtheorem*[style=change]{nfduc}{变革} 48 | \newtheorem*[style=break,qed=]{nfdub}{平凡} 49 | \newtheorem*[style=marginbreak,qed={}]{nmb}{打断} 50 | \newtheorem[style=break,counter=thm]{ncb}{变革} 51 | 52 | \newtheorem{prop}[thm]{命题} 53 | 54 | \begin{prop} 55 | 直角三角形。 56 | \end{prop} 57 | \begin{prop}[圆形] 58 | 直角三角形。 59 | \end{prop} 60 | \begin{prop} 61 | 直角三角形。 62 | \end{prop} 63 | 64 | \begin{p} 65 | 这是一条定理。 66 | \[ \sum_{k=0}^{\infty} \frac{1}{x^k} = \int \sin x dx \] 67 | \end{p} 68 | 69 | \begin{mm}[明早] 70 | 这是一条定理。 71 | \[ \sum_{k=0}^{\infty} \frac{1}{x^k} = \int \sin x dx \] 72 | \end{mm} 73 | 74 | \begin{fduc} 75 | 这是一条定理。 76 | \[ \sum_{k=0}^{\infty} \frac{1}{x^k} = \int \sin x dx \] 77 | \end{fduc} 78 | 79 | \begin{fdub} 80 | 这是一条定理。 81 | \[ \sum_{k=0}^{\infty} \frac{1}{x^k} = \int \sin x dx \] 82 | \end{fdub} 83 | 84 | \begin{mb} 85 | 这是一条定理。 86 | \[ \sum_{k=0}^{\infty} \frac{1}{x^k} = \int \sin x dx \] 87 | \end{mb} 88 | 89 | \begin{cb} 90 | 这是一条定理。 91 | \[ \sum_{k=0}^{\infty} \frac{1}{x^k} = \int \sin x dx \] 92 | \end{cb} 93 | 94 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 95 | 96 | \begin{np} 97 | 这是一条定理。 98 | \[ \sum_{k=0}^{\infty} \frac{1}{x^k} = \int \sin x dx \] 99 | \end{np} 100 | 101 | \begin{nmm}[明天一早] 102 | 这是一条定理。 103 | \[ \sum_{k=0}^{\infty} \frac{1}{x^k} = \int \sin x dx \] 104 | \end{nmm} 105 | 106 | \begin{nfduc} 107 | 这是一条定理。 108 | \[ \sum_{k=0}^{\infty} \frac{1}{x^k} = \int \sin x dx \] 109 | \end{nfduc} 110 | 111 | \begin{nfdub} 112 | 这是一条定理。 113 | \[ \sum_{k=0}^{\infty} \frac{1}{x^k} = \int \sin x dx \] 114 | \end{nfdub} 115 | 116 | \begin{nmb} 117 | 这是一条定理。 118 | \[ \sum_{k=0}^{\infty} \frac{1}{x^k} = \int \sin x dx \] 119 | \end{nmb} 120 | 121 | \begin{ncb} 122 | 这是一条定理。 123 | \[ \sum_{k=0}^{\infty} \frac{1}{x^k} = \int \sin x dx \] 124 | \end{ncb} 125 | 126 | \begin{ncb} 127 | 这是一条定理。 128 | \[ \sum_{k=0}^{\infty} \frac{1}{x^k} = \int \sin x dx \] 129 | \end{ncb} 130 | 131 | \begin{ncb} 132 | 这是一条定理。 133 | \[ \sum_{k=0}^{\infty} \frac{1}{x^k} = \int \sin x dx \] 134 | \end{ncb} 135 | 136 | \begin{ncb} 137 | 这是一条定理。 138 | \[ \sum_{k=0}^{\infty} \frac{1}{x^k} = \int \sin x dx \] 139 | \end{ncb} 140 | -------------------------------------------------------------------------------- /test/test.tex: -------------------------------------------------------------------------------- 1 | %\input fduthesis-test-toolkit 2 | 3 | \RequirePackage{etoolbox} 4 | 5 | \documentclass[twoside]{fduthesis} 6 | \usepackage{kantlipsum} 7 | \usepackage{zhlipsum} 8 | 9 | \fdusetup{ 10 | style = { 11 | font = times, 12 | cjk-font = fandol, 13 | % font-size = 5, 14 | fullwidth-stop = mapping, 15 | footnote-style = pifont*, 16 | % auto-make-cover = false 17 | logo = {../testfiles/support/fudan-name.pdf}, 18 | % logo-size = {2cm,2cm,2cm} 19 | hyperlink = color, 20 | hyperlink-color = default, 21 | % 22 | % 23 | bib-backend = bibtex, 24 | bib-style = numerical, 25 | bib-resource = {test.bib} 26 | }, 27 | info = { 28 | title = {自河南经乱关内阻饥兄弟离散各在一处}, 29 | title* = {Measurements of the interaction between energetic 30 | photons and hadrons show that the interaction}, 31 | % date = {2017年2月10日}, 32 | author = {某某某}, 33 | author* = {Xiangdong Zeng}, 34 | supervisor = {陈丙丁\quad 教授}, 35 | instructors = { 36 | 张五六 \quad 工程师, 37 | 赵\quad 甲 \quad 工程师, 38 | 王三四 \quad 讲\quad 师 39 | }, 40 | major = {物理学}, 41 | department = {凝聚态物理系}, 42 | secret-level = ii, 43 | secret-year = {三年}, 44 | student-id = {14307110000}, 45 | keywords = {\LaTeX, 排版, 字体排印, 学位论文, 数学, 物理, 计算机, \LaTeX, 排版, 字体排印, 学位论文, 数学, 物理, 计算机, \LaTeX, 排版, 字体排印, 学位论文, 数学, 物理, 计算机}, 46 | keywords* = {\LaTeX, typesetting, typography, dissertation, mathematics, physics, computer science, \LaTeX, typesetting, typography, dissertation, mathematics, physics, computer science, \LaTeX, typesetting, typography, dissertation, mathematics, physics, computer science}, 47 | clc = {O414.1/65} 48 | } 49 | } 50 | 51 | % \setsansfont{Calibri} 52 | % \setmonofont{Consolas} 53 | % \setmathfont{TeX Gyre Pagella Math} 54 | 55 | \def\WORLDb{你好,世界。} 56 | 57 | \newcommand{\fonttesttext}{你好,世界\symbol{12290}Hello, world! fi fl ff ffi ffl fff} 58 | \newcommand\fonttest{% 59 | 正常:\qquad\fonttesttext \par 60 | 粗体:\qquad\textbf{\fonttesttext} \par 61 | 倾斜:\qquad\textit{\fonttesttext} \par 62 | 粗斜:\qquad\textbf{\textit{\fonttesttext}} \par 63 | 小型大写:\qquad\textsc{\fonttesttext} 64 | } 65 | 66 | \def\BibTeX{B\textsc{ib}\TeX} 67 | 68 | \begin{document} 69 | 70 | \raggedbottom 71 | 72 | \frontmatter 73 | 74 | \tableofcontents 75 | \listoffigures 76 | \listoftables 77 | 78 | \begin{abstract} 79 | \zhlipsum[1-10] 80 | \end{abstract} 81 | 82 | \begin{abstract*} 83 | \kant[1-10] 84 | \end{abstract*} 85 | 86 | \begin{notation}[lp{20em}] 87 | $\sin$ & 正弦 \\ 88 | HPC & 高性能计算 (High Performance Computing) \\ 89 | cluster & 集群 \\ 90 | Itanium & 安腾 \\ 91 | SMP & 对称多处理 \\ 92 | API & 应用程序编程接口 \\ 93 | PI & 聚酰亚胺 \\ 94 | MPI & 聚酰亚胺模型化合物,N-苯基邻苯酰亚胺 \\ 95 | PBI & 聚苯并咪唑 \\ 96 | MPBI & 聚苯并咪唑模型化合物,N-苯基苯并咪唑 \\ 97 | PY & 聚吡咙 \\ 98 | PMDA-BDA & 均苯四酸二酐与联苯四胺合成的聚吡咙薄膜 \\ 99 | $\Delta G$ & 活化自由能 (Activation Free Energy) \\ 100 | $\chi$ & 传输系数 (Transmission Coefficient) \\ 101 | $E$ & 能量 \\ 102 | $m$ & 质量 \\ 103 | $c$ & 光速 \\ 104 | $P$ & 概率 \\ 105 | $T$ & 时间 \\ 106 | $v$ & 速度 107 | \end{notation} 108 | 109 | \mainmatter 110 | 111 | \chapter{文本,字体,脚注 \quad Text, font and footnote} 112 | 113 | \section{文字与段落 Text and paragraph} 114 | 115 | \subsection{中文文本 Chinese} 116 | \zhlipsum 117 | 118 | \subsection{英文文本 English} 119 | \kant 120 | 121 | \clearpage 122 | 123 | \section{字体 Font} 124 | 125 | \subsection{普通字体 Roman} 126 | \fonttest 127 | 128 | \subsection{无衬线字体 Sans-serif} 129 | \textsf{\fonttest} 130 | 131 | \subsection{打字机字体 Typewriter} 132 | \texttt{\fonttest} 133 | 134 | \subsection{句号} 135 | 如果\symbol{"002E}会突然:\textsc{Full Stop} \par 136 | 如果\symbol{"3002}会突然:\textsc{Ideographic Full Stop} \par 137 | 如果\symbol{"FF0E}会突然:\textsc{Fullwidth Full Stop} \par 138 | 如果\symbol{"FF61}会突然:\textsc{Halfwidth Ideographic Full Stop} \par 139 | 140 | \input{test-footnote} 141 | 142 | \input{test-theorem} 143 | 144 | \input{test-figure-table} 145 | 146 | \chapter{文本} 147 | 148 | \section{文字与段落} 149 | 150 | \textbf{本段使用 \texttt{\string\cite}} 151 | Myriad,英语单词,意为「无数的」\cite{sunstein,gjhjbhjkjbzs,hblzsthjkjyxgs}。 152 | 同时,「Myriad」也是一款字体的名字。 153 | 由罗伯特·斯林巴赫(Robert Slimbach,1956年--)和卡罗·图温布利 154 | (Carol Twombly,1959年-)\cite{wyf,sunstein,zgtsgxh,lzp1} 155 | 在1990年到1992年期间以 Frutiger 字体为蓝本为 Adobe 公司设计\cite{cdy}。 156 | Myriad 是早期数码字体时代的先驱,\cite{wfz,wfz1} 157 | 伴随着技术的成长一路走来 \cite{hlswedl,zgdylsdag}。 158 | 159 | \textbf{本段使用 \texttt{\string\citep}} 160 | 如今,它更多地和我们相见在显示屏幕上 \citep{wfz2}。当然,还有那著名的标榜设计的 161 | 电子品牌 \citep{cgw,mks}。1992 年,耗时两年开发的 Myriad 终于发布了历史上第一个版本: 162 | Myriad MM \citep{wyf,hblzsthjkjyxgs,sunstein,zgtsgxh,aaas}。 163 | 164 | \section{title} 165 | 166 | \textbf{本段使用 \texttt{\string\citet}} 167 | 这款温和且具有良好可读性的人文主义无衬线字体\citet{yjb},集诸多当时最新的数字 168 | 字体技术于一身。 后缀 MM,意为 Multiple Master,没有找到对应的中文 169 | 译名\citet{lbm,calkin},我们权且称之为「多母板技术」。Myriad 是最早采用 Multiple Master 170 | 技术的无衬线字体之一。这项技术的原理是在坐标轴(Axis)的区间两端设计 171 | 极限母板,中间的变量则采取线性或非线性变化,对于字体来说,字型的宽度、 172 | 粗细甚至有无衬线\citet{xadzkjdx,yufin,cgw},都可以在坐标轴上设置。此外,MM 技术还提供了在小字号 173 | 下屏幕显示的视觉修正(Optical Adjustment),也就是说,同一款字体,在 174 | 小字号时,其字间距和笔画粗细,会被适当地放大。而衬线字体,随着字号的 175 | 变小,衬线会相对变粗。视觉修正可以提高小字号字体的识别性,对于远低于 176 | 印刷分辨率的电脑屏幕来说,也具有重要意义。 177 | 178 | 在 Multiple Master 的时代,字号是从6pt到72pt之间非线性设置的。这一传统 179 | 保留到了今天 Truetype 和 Opentype 的 Single Master 时代。Adobe 软件的 180 | 字体下拉菜单,仍然只显示6到72pt 的字号。 181 | 182 | % \chapter{假文} 183 | % 184 | % \begin{definition} 185 | % 证明完毕/证讫,又写作Q.E.D.。这是拉丁词组“quod erat demonstrandum” 186 | % (这就是所要证明的)的缩写,译自希腊语“ὅπερ ἔδει δεῖξαι”(hoper edei 187 | % deixai),很多早期数学家用过,包括欧几里得和阿基米德。“Q.E.D.”可以 188 | % 在证明的尾段写出,以显示证明所需的结论已经完整了。 189 | % \end{definition} 190 | % 191 | % \zhlipsum[1-15] 192 | 193 | %\nocite{*} 194 | 195 | \backmatter 196 | 197 | %\bibliography{test} 198 | \printbibliography 199 | 200 | \end{document} 201 | -------------------------------------------------------------------------------- /testfiles/01-internal.luatex.tlg: -------------------------------------------------------------------------------- 1 | This is a generated file for the l3build validation system. 2 | Don't change this file in any respect. 3 | ============================================================ 4 | TEST 1: Footnote number 5 | ============================================================ 6 | > \box...= 7 | \hbox(8.14243+0.0)x6.0225, direction TLT 8 | .\whatsit4=[] 9 | .\TU/XITS(0)/m/n/12.045 1 10 | ! OK. 11 | \l_tmpa_box 12 | l. ... } 13 | > \box...= 14 | \hbox(8.14243+0.16862)x12.04501, direction TLT 15 | .\whatsit4=[] 16 | .\TU/XITS(0)/m/n/12.045 1 17 | .\TU/XITS(0)/m/n/12.045 0 18 | ! OK. 19 | \l_tmpa_box 20 | l. ... } 21 | > \box...= 22 | \hbox(8.14243+0.16862)x12.04501, direction TLT 23 | .\whatsit4=[] 24 | .\TU/XITS(0)/m/n/12.045 2 25 | .\TU/XITS(0)/m/n/12.045 0 26 | ! OK. 27 | \l_tmpa_box 28 | l. ... } 29 | > \box...= 30 | \hbox(8.14243+0.16862)x12.04501, direction TLT 31 | .\whatsit4=[] 32 | .\TU/XITS(0)/m/n/12.045 3 33 | .\TU/XITS(0)/m/n/12.045 0 34 | ! OK. 35 | \l_tmpa_box 36 | l. ... } 37 | > \box...= 38 | \hbox(7.76903+0.18068)x9.14215, direction TLT 39 | .\whatsit4=[] 40 | .\TU/LibertinusSerif-Regular.otf(0)/m/n/12.045 ① 41 | ! OK. 42 | \l_tmpa_box 43 | l. ... } 44 | > \box...= 45 | \hbox(7.76903+0.18068)x9.13011, direction TLT 46 | .\whatsit4=[] 47 | .\TU/LibertinusSerif-Regular.otf(0)/m/n/12.045 ⓐ 48 | ! OK. 49 | \l_tmpa_box 50 | l. ... } 51 | > \box...= 52 | \hbox(7.76903+0.18068)x9.14215, direction TLT 53 | .\whatsit4=[] 54 | .\TU/LibertinusSerif-Regular.otf(0)/m/n/12.045 Ⓐ 55 | ! OK. 56 | \l_tmpa_box 57 | l. ... } 58 | > \box...= 59 | \hbox(7.76903+0.18068)x9.14215, direction TLT 60 | .\whatsit4=[] 61 | .\TU/LibertinusSerif-Regular.otf(0)/m/n/12.045 ⓒ 62 | ! OK. 63 | \l_tmpa_box 64 | l. ... } 65 | > \box...= 66 | \hbox(8.14243+0.16862)x8.23878, direction TLT 67 | .\whatsit4=[] 68 | .\TU/XITS-Regular.otf(0)/m/n/12.045 ① 69 | ! OK. 70 | \l_tmpa_box 71 | l. ... } 72 | > \box...= 73 | \hbox(8.14243+0.16862)x8.23878, direction TLT 74 | .\whatsit4=[] 75 | .\TU/XITS-Regular.otf(0)/m/n/12.045 ⓐ 76 | ! OK. 77 | \l_tmpa_box 78 | l. ... } 79 | > \box...= 80 | \hbox(8.14243+0.16862)x8.23878, direction TLT 81 | .\whatsit4=[] 82 | .\TU/XITS-Regular.otf(0)/m/n/12.045 Ⓐ 83 | ! OK. 84 | \l_tmpa_box 85 | l. ... } 86 | > \box...= 87 | \hbox(8.14243+0.16862)x8.23878, direction TLT 88 | .\whatsit4=[] 89 | .\TU/XITS-Regular.otf(0)/m/n/12.045 ⓒ 90 | ! OK. 91 | \l_tmpa_box 92 | l. ... } 93 | > \box...= 94 | \hbox(8.52785+0.16862)x9.49146, direction TLT 95 | .\whatsit4=[] 96 | .\U/pzd/m/n/12.045 ^^ac 97 | ! OK. 98 | \l_tmpa_box 99 | l. ... } 100 | > \box...= 101 | \hbox(8.52785+0.16862)x9.49146, direction TLT 102 | .\whatsit4=[] 103 | .\U/pzd/m/n/12.045 ^^b5 104 | ! OK. 105 | \l_tmpa_box 106 | l. ... } 107 | > \box...= 108 | \hbox(8.52785+0.16862)x9.49146, direction TLT 109 | .\whatsit4=[] 110 | .\U/pzd/m/n/12.045 ^^bb 111 | ! OK. 112 | \l_tmpa_box 113 | l. ... } 114 | > \box...= 115 | \hbox(8.52785+0.16862)x9.49146, direction TLT 116 | .\whatsit4=[] 117 | .\U/pzd/m/n/12.045 ^^ca 118 | ! OK. 119 | \l_tmpa_box 120 | l. ... } 121 | > \box...= 122 | \hbox(8.52785+0.16862)x9.49146, direction TLT 123 | .\whatsit4=[] 124 | .\U/pzd/m/n/12.045 ^^d3 125 | ! OK. 126 | \l_tmpa_box 127 | l. ... } 128 | > \box...= 129 | \hbox(6.57655+0.0)x11.12956, direction TLT 130 | .\whatsit4=[] 131 | .\U/pzd/m/n/12.045 ^^d9 132 | ! OK. 133 | \l_tmpa_box 134 | l. ... } 135 | ============================================================ 136 | ============================================================ 137 | TEST 2: Boxes in thesis cover 138 | ============================================================ 139 | > \box...= 140 | \hbox(8.14243+0.16862)x142.26378, direction TLT 141 | .\whatsit4=[] 142 | .\hbox(8.14243+0.16862)x142.26378, glue set 36.2676fil, direction TLT 143 | ..\whatsit4=[] 144 | ..\TU/XITS(0)/m/n/12.045 A 145 | ..\glue 0.0 plus 1.0fil 146 | ..\TU/XITS(0)/m/n/12.045 B 147 | ..\glue 0.0 plus 1.0fil 148 | ..\TU/XITS(0)/m/n/12.045 C 149 | ..\glue 0.0 plus 1.0fil 150 | ..\TU/XITS(0)/m/n/12.045 D 151 | ! OK. 152 | \l_tmpa_box 153 | l. ... } 154 | > \box...= 155 | \hbox(10.5996+1.4454)x142.26378, direction TLT 156 | .\whatsit4=[] 157 | .\hbox(10.5996+1.4454)x142.26378, glue set 31.36127fil, direction TLT 158 | ..\whatsit4=[] 159 | ..\hbox(10.5996+1.4454)x12.045, direction TLT 160 | ...\LTJY3/FandolSong(0)/m/n/12.045 复 161 | ..\glue 0.0 plus 1.0fil 162 | ..\norule(10.5996+1.4454)x0.0 163 | ..\LTJY3/FandolSong(0)/m/n/12.045 旦 164 | ..\glue 0.0 plus 1.0fil 165 | ..\hbox(10.5996+1.4454)x12.045, direction TLT 166 | ...\LTJY3/FandolSong(0)/m/n/12.045 大 167 | ..\glue 0.0 plus 1.0fil 168 | ..\hbox(10.5996+1.4454)x12.045, direction TLT 169 | ...\LTJY3/FandolSong(0)/m/n/12.045 学 170 | ! OK. 171 | \l_tmpa_box 172 | l. ... } 173 | > \box...= 174 | \hbox(8.14243+0.16862)x142.26378, direction TLT 175 | .\whatsit4=[] 176 | .\hbox(8.14243+0.16862)x142.26378, glue set 54.4014fil, direction TLT 177 | ..\whatsit4=[] 178 | ..\glue 0.0 plus 1.0fil 179 | ..\TU/XITS(0)/m/n/12.045 A 180 | ..\TU/XITS(0)/m/n/12.045 B 181 | ..\TU/XITS(0)/m/n/12.045 C 182 | ..\TU/XITS(0)/m/n/12.045 D 183 | ..\glue 0.0 plus 1.0fil 184 | ! OK. 185 | \l_tmpa_box 186 | l. ... } 187 | > \box...= 188 | \hbox(10.5996+1.4454)x142.26378, direction TLT 189 | .\whatsit4=[] 190 | .\hbox(10.5996+1.4454)x142.26378, glue set 47.0419fil, direction TLT 191 | ..\whatsit4=[] 192 | ..\glue 0.0 plus 1.0fil 193 | ..\hbox(10.5996+1.4454)x12.045, direction TLT 194 | ...\LTJY3/FandolSong(0)/m/n/12.045 复 195 | ..\glue 0.0 plus 0.59575 196 | ..\norule(10.5996+1.4454)x0.0 197 | ..\LTJY3/FandolSong(0)/m/n/12.045 旦 198 | ..\glue 0.0 plus 0.59575 199 | ..\hbox(10.5996+1.4454)x12.045, direction TLT 200 | ...\LTJY3/FandolSong(0)/m/n/12.045 大 201 | ..\glue 0.0 plus 0.59575 202 | ..\hbox(10.5996+1.4454)x12.045, direction TLT 203 | ...\LTJY3/FandolSong(0)/m/n/12.045 学 204 | ..\glue 0.0 plus 1.0fil 205 | ! OK. 206 | \l_tmpa_box 207 | l. ... } 208 | > \box...= 209 | \hbox(7.16678+1.14427)x142.26378, direction TLT 210 | .\whatsit4=[] 211 | .\mathon 212 | .\vbox(7.16678+1.14427)x142.26378, direction TLT 213 | ..\whatsit4=[] 214 | ..\vbox(8.14243+0.16862)x142.26378, direction TLT 215 | ...\whatsit4=[] 216 | ...\hbox(8.14243+0.16862)x142.26378, glue set 108.80278fil, direction TLT 217 | ....\whatsit4=[] 218 | ....\localpar 219 | .....\localinterlinepenalty=0 220 | .....\localbrokenpenalty=0 221 | .....\localleftbox=null 222 | .....\localrightbox=null 223 | ....\hbox(0.0+0.0)x0.0, direction TLT 224 | ....\TU/XITS(0)/m/n/12.045 A 225 | ....\TU/XITS(0)/m/n/12.045 B 226 | ....\TU/XITS(0)/m/n/12.045 C 227 | ....\TU/XITS(0)/m/n/12.045 D 228 | ....\penalty 10000 229 | ....\glue(\parfillskip) 0.0 plus 1.0fil 230 | ....\glue(\rightskip) 0.0 231 | .\mathoff 232 | ! OK. 233 | \l_tmpa_box 234 | l. ... } 235 | > \box...= 236 | \hbox(9.03375+3.01125)x142.26378, direction TLT 237 | .\whatsit4=[] 238 | .\mathon 239 | .\vbox(9.03375+3.01125)x142.26378, direction TLT 240 | ..\whatsit4=[] 241 | ..\vbox(10.5996+1.4454)x142.26378, direction TLT 242 | ...\whatsit4=[] 243 | ...\hbox(10.5996+1.4454)x142.26378, glue set 94.08379fil, direction TLT 244 | ....\whatsit4=[] 245 | ....\localpar 246 | .....\localinterlinepenalty=0 247 | .....\localbrokenpenalty=0 248 | .....\localleftbox=null 249 | .....\localrightbox=null 250 | ....\hbox(0.0+0.0)x0.0, direction TLT 251 | ....\hbox(10.5996+1.4454)x12.045, direction TLT 252 | .....\LTJY3/FandolSong(0)/m/n/12.045 复 253 | ....\glue 0.0 plus 0.59575 254 | ....\norule(10.5996+1.4454)x0.0 255 | ....\LTJY3/FandolSong(0)/m/n/12.045 旦 256 | ....\glue 0.0 plus 0.59575 257 | ....\hbox(10.5996+1.4454)x12.045, direction TLT 258 | .....\LTJY3/FandolSong(0)/m/n/12.045 大 259 | ....\penalty 500 260 | ....\glue 0.0 plus 0.59575 261 | ....\hbox(10.5996+1.4454)x12.045, direction TLT 262 | .....\LTJY3/FandolSong(0)/m/n/12.045 学 263 | ....\penalty 10000 264 | ....\glue(\parfillskip) 0.0 plus 1.0fil 265 | ....\glue(\rightskip) 0.0 266 | .\mathoff 267 | ! OK. 268 | \l_tmpa_box 269 | l. ... } 270 | > \box...= 271 | \hbox(7.16678+1.14427)x142.26378, direction TLT 272 | .\whatsit4=[] 273 | .\mathon 274 | .\vbox(7.16678+1.14427)x142.26378, direction TLT 275 | ..\whatsit4=[] 276 | ..\vbox(8.14243+0.16862)x142.26378, direction TLT 277 | ...\whatsit4=[] 278 | ...\hbox(8.14243+0.16862)x142.26378, glue set 54.4014fil, direction TLT 279 | ....\whatsit4=[] 280 | ....\glue(\leftskip) 0.0 plus 1.0fil 281 | ....\localpar 282 | .....\localinterlinepenalty=0 283 | .....\localbrokenpenalty=0 284 | .....\localleftbox=null 285 | .....\localrightbox=null 286 | ....\hbox(0.0+0.0)x0.0, direction TLT 287 | ....\TU/XITS(0)/m/n/12.045 A 288 | ....\TU/XITS(0)/m/n/12.045 B 289 | ....\TU/XITS(0)/m/n/12.045 C 290 | ....\TU/XITS(0)/m/n/12.045 D 291 | ....\penalty 10000 292 | ....\glue(\parfillskip) 0.0 293 | ....\glue(\rightskip) 0.0 plus 1.0fil 294 | .\mathoff 295 | ! OK. 296 | \l_tmpa_box 297 | l. ... } 298 | > \box...= 299 | \hbox(9.03375+3.01125)x142.26378, direction TLT 300 | .\whatsit4=[] 301 | .\mathon 302 | .\vbox(9.03375+3.01125)x142.26378, direction TLT 303 | ..\whatsit4=[] 304 | ..\vbox(10.5996+1.4454)x142.26378, direction TLT 305 | ...\whatsit4=[] 306 | ...\hbox(10.5996+1.4454)x142.26378, glue set 47.0419fil, direction TLT 307 | ....\whatsit4=[] 308 | ....\glue(\leftskip) 0.0 plus 1.0fil 309 | ....\localpar 310 | .....\localinterlinepenalty=0 311 | .....\localbrokenpenalty=0 312 | .....\localleftbox=null 313 | .....\localrightbox=null 314 | ....\hbox(0.0+0.0)x0.0, direction TLT 315 | ....\hbox(10.5996+1.4454)x12.045, direction TLT 316 | .....\LTJY3/FandolSong(0)/m/n/12.045 复 317 | ....\glue 0.0 plus 0.59575 318 | ....\norule(10.5996+1.4454)x0.0 319 | ....\LTJY3/FandolSong(0)/m/n/12.045 旦 320 | ....\glue 0.0 plus 0.59575 321 | ....\hbox(10.5996+1.4454)x12.045, direction TLT 322 | .....\LTJY3/FandolSong(0)/m/n/12.045 大 323 | ....\penalty 500 324 | ....\glue 0.0 plus 0.59575 325 | ....\hbox(10.5996+1.4454)x12.045, direction TLT 326 | .....\LTJY3/FandolSong(0)/m/n/12.045 学 327 | ....\penalty 10000 328 | ....\glue(\parfillskip) 0.0 329 | ....\glue(\rightskip) 0.0 plus 1.0fil 330 | .\mathoff 331 | ! OK. 332 | \l_tmpa_box 333 | l. ... } 334 | > \box...= 335 | \hbox(10.5996+1.4454)x142.26378, direction TLT 336 | .\whatsit4=[] 337 | .\hbox(10.5996+1.4454)x142.26378, glue set 31.36127fil, direction TLT 338 | ..\whatsit4=[] 339 | ..\hbox(10.5996+1.4454)x12.045, direction TLT 340 | ...\LTJY3/FandolSong(0)/m/n/12.045 复 341 | ..\glue 0.0 plus 1.0fil 342 | ..\norule(10.5996+1.4454)x0.0 343 | ..\LTJY3/FandolSong(0)/m/n/12.045 旦 344 | ..\glue 0.0 plus 1.0fil 345 | ..\hbox(10.5996+1.4454)x12.045, direction TLT 346 | ...\LTJY3/FandolSong(0)/m/n/12.045 大 347 | ..\glue 0.0 plus 1.0fil 348 | ..\hbox(10.5996+1.4454)x12.045, direction TLT 349 | ...\LTJY3/FandolSong(0)/m/n/12.045 学 350 | ! OK. 351 | \l_tmpa_box 352 | l. ... } 353 | > \box...= 354 | \hbox(10.5996+1.4454)x142.26378, direction TLT 355 | .\whatsit4=[] 356 | .\hbox(10.5996+1.4454)x142.26378, glue set 38.67665fil, direction TLT 357 | ..\whatsit4=[] 358 | ..\TU/XITS(0)/m/n/12.045 A 359 | ..\glue 0.0 plus 1.0fil 360 | ..\hbox(10.5996+1.4454)x12.045, direction TLT 361 | ...\LTJY3/FandolSong(0)/m/n/12.045 复 362 | ..\glue 0.0 plus 0.59575 363 | ..\norule(10.5996+1.4454)x0.0 364 | ..\LTJY3/FandolSong(0)/m/n/12.045 旦 365 | ..\glue 0.0 plus 0.59575 366 | ..\hbox(10.5996+1.4454)x12.045, direction TLT 367 | ...\LTJY3/FandolSong(0)/m/n/12.045 大 368 | ..\glue 0.0 plus 0.59575 369 | ..\hbox(10.5996+1.4454)x12.045, direction TLT 370 | ...\LTJY3/FandolSong(0)/m/n/12.045 学 371 | ..\glue 0.0 plus 1.0fil 372 | ..\TU/XITS(0)/m/n/12.045 B 373 | ! OK. 374 | \l_tmpa_box 375 | l. ... } 376 | ============================================================ 377 | ============================================================ 378 | TEST 3: Boxes in thesis cover (underfull) 379 | ============================================================ 380 | > \box...= 381 | \hbox(19.03372+13.01123)x56.9055, direction TLT 382 | .\whatsit4=[] 383 | .\mathon 384 | .\vbox(19.03372+13.01123)x56.9055, direction TLT 385 | ..\whatsit4=[] 386 | ..\vbox(30.59955+1.4454)x56.9055, direction TLT 387 | ...\whatsit4=[] 388 | ...\hbox(10.5996+1.4454)x56.9055, glue set 4.8821, direction TLT 389 | ....\whatsit4=[] 390 | ....\localpar 391 | .....\localinterlinepenalty=0 392 | .....\localbrokenpenalty=0 393 | .....\localleftbox=null 394 | .....\localrightbox=null 395 | ....\hbox(0.0+0.0)x0.0, direction TLT 396 | ....\hbox(10.5996+1.4454)x12.045, direction TLT 397 | .....\LTJY3/FandolSong(0)/m/n/12.045 复 398 | ....\glue 0.0 plus 0.59575 399 | ....\norule(10.5996+1.4454)x0.0 400 | ....\LTJY3/FandolSong(0)/m/n/12.045 旦 401 | ....\glue 0.0 plus 0.59575 402 | ....\hbox(10.5996+1.4454)x12.045, direction TLT 403 | .....\LTJY3/FandolSong(0)/m/n/12.045 大 404 | ....\glue 0.0 plus 0.59575 405 | ....\hbox(10.5996+1.4454)x12.045, direction TLT 406 | .....\LTJY3/FandolSong(0)/m/n/12.045 学 407 | ....\glue(\rightskip) 0.0 408 | ...\penalty 300 409 | ...\glue(\baselineskip) 7.95496 410 | ...\hbox(10.5996+1.4454)x56.9055, glue set 32.8155fil, direction TLT 411 | ....\whatsit4=[] 412 | ....\norule(10.5996+1.4454)x0.0 413 | ....\LTJY3/FandolSong(0)/m/n/12.045 论 414 | ....\penalty 500 415 | ....\glue 0.0 plus 0.59575 416 | ....\hbox(10.5996+1.4454)x12.045, direction TLT 417 | .....\LTJY3/FandolSong(0)/m/n/12.045 文 418 | ....\penalty 10000 419 | ....\glue(\parfillskip) 0.0 plus 1.0fil 420 | ....\glue(\rightskip) 0.0 421 | .\mathoff 422 | ! OK. 423 | \l_tmpa_box 424 | l. ... } 425 | > \box...= 426 | \hbox(19.03372+13.01123)x56.9055, direction TLT 427 | .\whatsit4=[] 428 | .\mathon 429 | .\vbox(19.03372+13.01123)x56.9055, direction TLT 430 | ..\whatsit4=[] 431 | ..\vbox(30.59955+1.4454)x56.9055, direction TLT 432 | ...\whatsit4=[] 433 | ...\hbox(10.5996+1.4454)x56.9055, glue set 4.36276fil, direction TLT 434 | ....\whatsit4=[] 435 | ....\glue(\leftskip) 0.0 plus 1.0fil 436 | ....\localpar 437 | .....\localinterlinepenalty=0 438 | .....\localbrokenpenalty=0 439 | .....\localleftbox=null 440 | .....\localrightbox=null 441 | ....\hbox(0.0+0.0)x0.0, direction TLT 442 | ....\hbox(10.5996+1.4454)x12.045, direction TLT 443 | .....\LTJY3/FandolSong(0)/m/n/12.045 复 444 | ....\glue 0.0 plus 0.59575 445 | ....\norule(10.5996+1.4454)x0.0 446 | ....\LTJY3/FandolSong(0)/m/n/12.045 旦 447 | ....\glue 0.0 plus 0.59575 448 | ....\hbox(10.5996+1.4454)x12.045, direction TLT 449 | .....\LTJY3/FandolSong(0)/m/n/12.045 大 450 | ....\glue 0.0 plus 0.59575 451 | ....\hbox(10.5996+1.4454)x12.045, direction TLT 452 | .....\LTJY3/FandolSong(0)/m/n/12.045 学 453 | ....\glue(\rightskip) 0.0 plus 1.0fil 454 | ...\penalty 300 455 | ...\glue(\baselineskip) 7.95496 456 | ...\hbox(10.5996+1.4454)x56.9055, glue set 16.40776fil, direction TLT 457 | ....\whatsit4=[] 458 | ....\glue(\leftskip) 0.0 plus 1.0fil 459 | ....\norule(10.5996+1.4454)x0.0 460 | ....\LTJY3/FandolSong(0)/m/n/12.045 论 461 | ....\penalty 500 462 | ....\glue 0.0 plus 0.59575 463 | ....\hbox(10.5996+1.4454)x12.045, direction TLT 464 | .....\LTJY3/FandolSong(0)/m/n/12.045 文 465 | ....\penalty 10000 466 | ....\glue(\parfillskip) 0.0 467 | ....\glue(\rightskip) 0.0 plus 1.0fil 468 | .\mathoff 469 | ! OK. 470 | \l_tmpa_box 471 | l. ... } 472 | ============================================================ 473 | ============================================================ 474 | TEST 4: Text width 475 | ============================================================ 476 | > \l_tmpa_dim=33.461pt. 477 | > \l_tmpa_dim=48.18pt. 478 | ============================================================ 479 | ============================================================ 480 | TEST 5: Sanitizing title 481 | ============================================================ 482 | > \l__fdu_info_title_tl=论文标题. 483 | > \l__fdu_info_title_sanitized_tl=论文标题. 484 | > \l__fdu_info_title_tl=论文 标题. 485 | > \l__fdu_info_title_sanitized_tl=论文标题. 486 | > \l__fdu_info_title_tl=论文\\标题. 487 | > \l__fdu_info_title_sanitized_tl=论文标题. 488 | > \l__fdu_info_title_tl=论文 \\ 标题. 489 | > \l__fdu_info_title_sanitized_tl=论文标题. 490 | > \l__fdu_info_title_tl=论文标题ABC. 491 | > \l__fdu_info_title_sanitized_tl=论文标题ABC. 492 | > \l__fdu_info_title_tl=论文标题 ABC. 493 | > \l__fdu_info_title_sanitized_tl=论文标题 ABC. 494 | > \l__fdu_info_title_tl=论文标题\\ABC. 495 | > \l__fdu_info_title_sanitized_tl=论文标题 ABC. 496 | > \l__fdu_info_title_tl=论文标题 \\ABC. 497 | > \l__fdu_info_title_sanitized_tl=论文标题 ABC. 498 | > \l__fdu_info_title_tl=论文标题\\ ABC. 499 | > \l__fdu_info_title_sanitized_tl=论文标题 ABC. 500 | > \l__fdu_info_title_tl=论文标题 \\ ABC. 501 | > \l__fdu_info_title_sanitized_tl=论文标题 ABC. 502 | > \l__fdu_info_title_tl=ABC DEF. 503 | > \l__fdu_info_title_sanitized_tl=ABC DEF. 504 | > \l__fdu_info_title_tl=ABC\\DEF. 505 | > \l__fdu_info_title_sanitized_tl=ABC DEF. 506 | > \l__fdu_info_title_tl=ABC \\DEF. 507 | > \l__fdu_info_title_sanitized_tl=ABC DEF. 508 | > \l__fdu_info_title_tl=ABC\\ DEF. 509 | > \l__fdu_info_title_sanitized_tl=ABC DEF. 510 | > \l__fdu_info_title_tl=ABC \\ DEF. 511 | > \l__fdu_info_title_sanitized_tl=ABC DEF. 512 | ============================================================ 513 | -------------------------------------------------------------------------------- /testfiles/01-internal.lvt: -------------------------------------------------------------------------------- 1 | % Copyright (C) 2018, 2023 by Xiangdong Zeng 2 | 3 | \input{fduthesis-regression-test} 4 | 5 | \documentclass{fduthesis} 6 | \usepackage{pifont} 7 | 8 | \MAKECOVERFALSE 9 | 10 | \begin{document} 11 | 12 | \START 13 | 14 | \ExplSyntaxOn 15 | 16 | \OMIT 17 | \cs_set_protected:Npn \fdutest_footnote_number:nn #1#2 18 | { 19 | \tl_set:Nn \l__fdu_fn_style_tl {#1} 20 | \int_set:Nn \l_tmpa_int {#2} 21 | \hbox_set:Nn \l_tmpa_box { \fdu_footnote_number:N \l_tmpa_int } 22 | \box_log:N \l_tmpa_box 23 | } 24 | % Load fonts before test 25 | \fdutest_footnote_number:nn { xits } { 1 } 26 | \fdutest_footnote_number:nn { libertinus } { 1 } 27 | \TIMO 28 | 29 | \TEST { Footnote~ number } 30 | { 31 | \fdutest_footnote_number:nn { plain } { 1 } 32 | \fdutest_footnote_number:nn { plain } { 10 } 33 | \fdutest_footnote_number:nn { plain } { 20 } 34 | \fdutest_footnote_number:nn { plain } { 30 } 35 | \fdutest_footnote_number:nn { libertinus } { 1 } % 1 36 | \fdutest_footnote_number:nn { libertinus } { 21 } % a 37 | \fdutest_footnote_number:nn { libertinus } { 47 } % A 38 | \fdutest_footnote_number:nn { libertinus } { 75 } % Overflow 39 | \fdutest_footnote_number:nn { xits } { 1 } % 1 40 | \fdutest_footnote_number:nn { xits } { 10 } % a 41 | \fdutest_footnote_number:nn { xits } { 36 } % A 42 | \fdutest_footnote_number:nn { xits } { 64 } % Overflow 43 | \fdutest_footnote_number:nn { pifont } { 1 } 44 | \fdutest_footnote_number:nn { pifont } { 10 } 45 | \fdutest_footnote_number:nn { pifont } { 16 } % Overflow 46 | \fdutest_footnote_number:nn { pifont-sans* } { 1 } 47 | \fdutest_footnote_number:nn { pifont-sans* } { 10 } 48 | \fdutest_footnote_number:nn { pifont-sans* } { 16 } % Overflow 49 | } 50 | 51 | \OMIT 52 | \cs_new:Npn \fdutest_box:nnn #1#2#3 53 | { 54 | \hbox_set:Nn \l_tmpa_box { \use:c { __fdu_ #1 _box:nn } {#2} {#3} } 55 | \box_log:N \l_tmpa_box 56 | } 57 | \TIMO 58 | 59 | \TEST { Boxes~ in~ thesis~ cover } 60 | { 61 | \fdutest_box:nnn { spread } { 5cm } { ABCD } 62 | \fdutest_box:nnn { spread } { 5cm } { 复旦大学 } 63 | \fdutest_box:nnn { center } { 5cm } { ABCD } 64 | \fdutest_box:nnn { center } { 5cm } { 复旦大学 } 65 | \fdutest_box:nnn { fixed_width } { 5cm } { ABCD } 66 | \fdutest_box:nnn { fixed_width } { 5cm } { 复旦大学 } 67 | \fdutest_box:nnn { fixed_width_center } { 5cm } { ABCD } 68 | \fdutest_box:nnn { fixed_width_center } { 5cm } { 复旦大学 } 69 | 70 | \tl_set:Nn \l_tmpa_tl { 复旦大学 } 71 | \exp_args:Nnno \fdutest_box:nnn { spread } { 5cm } { \l_tmpa_tl } 72 | \exp_args:Nnno \fdutest_box:nnn { spread } { 5cm } { A { \l_tmpa_tl } B } 73 | } 74 | 75 | \TEST { Boxes~ in~ thesis~ cover~ (underfull) } 76 | { 77 | \fdutest_box:nnn { fixed_width } { 2cm } { 复旦大学论文 } 78 | \fdutest_box:nnn { fixed_width_center } { 2cm } { 复旦大学论文 } 79 | } 80 | 81 | \TEST { Text~ width } 82 | { 83 | \__fdu_get_text_width:Nn \l_tmpa_dim { ABCD } 84 | \dim_log:N \l_tmpa_dim 85 | \__fdu_get_text_width:Nn \l_tmpa_dim { 复旦大学 } 86 | \dim_log:N \l_tmpa_dim 87 | } 88 | 89 | \TEST { Sanitizing~ title } 90 | { 91 | \clist_map_inline:nn 92 | { 93 | 论文标题, 94 | 论文~标题, 95 | 论文\\标题, 96 | 论文~\\~标题, 97 | 论文标题ABC, 98 | 论文标题~ABC, 99 | 论文标题\\ABC, 100 | 论文标题~\\ABC, 101 | 论文标题\\~ABC, 102 | 论文标题~\\~ABC, 103 | ABC~DEF, 104 | ABC\\DEF, 105 | ABC~\\DEF, 106 | ABC\\~DEF, 107 | ABC~\\~DEF, 108 | } 109 | { 110 | \fdusetup { info / title = {#1} } 111 | \tl_log:N \l__fdu_info_title_tl 112 | \tl_log:N \l__fdu_info_title_sanitized_tl 113 | } 114 | } 115 | 116 | \ExplSyntaxOff 117 | 118 | \END 119 | 120 | \end{document} 121 | -------------------------------------------------------------------------------- /testfiles/01-internal.tlg: -------------------------------------------------------------------------------- 1 | This is a generated file for the l3build validation system. 2 | Don't change this file in any respect. 3 | ============================================================ 4 | TEST 1: Footnote number 5 | ============================================================ 6 | > \box...= 7 | \hbox(8.14243+0.0)x6.0225 8 | .\TU/XITS(0)/m/n/12.045 1 9 | .\kern -0.0002 10 | .\kern 0.0002 11 | ! OK. 12 | \l_tmpa_box 13 | l. ... } 14 | > \box...= 15 | \hbox(8.14243+0.16861)x12.045 16 | .\TU/XITS(0)/m/n/12.045 10 17 | .\kern -0.0002 18 | .\kern 0.0002 19 | ! OK. 20 | \l_tmpa_box 21 | l. ... } 22 | > \box...= 23 | \hbox(8.14243+0.16861)x12.045 24 | .\TU/XITS(0)/m/n/12.045 20 25 | .\kern -0.0002 26 | .\kern 0.0002 27 | ! OK. 28 | \l_tmpa_box 29 | l. ... } 30 | > \box...= 31 | \hbox(8.14243+0.16861)x12.045 32 | .\TU/XITS(0)/m/n/12.045 30 33 | .\kern -0.0002 34 | .\kern 0.0002 35 | ! OK. 36 | \l_tmpa_box 37 | l. ... } 38 | > \box...= 39 | \hbox(7.76903+0.18066)x9.14215 40 | .\TU/LibertinusSerif-Regular.otf(0)/m/n/12.045 ① 41 | .\kern -0.0002 42 | .\kern 0.0002 43 | ! OK. 44 | \l_tmpa_box 45 | l. ... } 46 | > \box...= 47 | \hbox(7.76903+0.18066)x9.13011 48 | .\TU/LibertinusSerif-Regular.otf(0)/m/n/12.045 ⓐ 49 | .\kern -0.0002 50 | .\kern 0.0002 51 | ! OK. 52 | \l_tmpa_box 53 | l. ... } 54 | > \box...= 55 | \hbox(7.76903+0.18066)x9.14215 56 | .\TU/LibertinusSerif-Regular.otf(0)/m/n/12.045 Ⓐ 57 | .\kern -0.0002 58 | .\kern 0.0002 59 | ! OK. 60 | \l_tmpa_box 61 | l. ... } 62 | > \box...= 63 | \hbox(7.76903+0.18066)x9.14215 64 | .\TU/LibertinusSerif-Regular.otf(0)/m/n/12.045 ⓒ 65 | .\kern -0.0002 66 | .\kern 0.0002 67 | ! OK. 68 | \l_tmpa_box 69 | l. ... } 70 | > \box...= 71 | \hbox(8.14243+0.16861)x8.23878 72 | .\TU/XITS-Regular.otf(0)/m/n/12.045 ① 73 | .\kern -0.0002 74 | .\kern 0.0002 75 | ! OK. 76 | \l_tmpa_box 77 | l. ... } 78 | > \box...= 79 | \hbox(8.14243+0.16861)x8.23878 80 | .\TU/XITS-Regular.otf(0)/m/n/12.045 ⓐ 81 | .\kern -0.0002 82 | .\kern 0.0002 83 | ! OK. 84 | \l_tmpa_box 85 | l. ... } 86 | > \box...= 87 | \hbox(8.14243+0.16861)x8.23878 88 | .\TU/XITS-Regular.otf(0)/m/n/12.045 Ⓐ 89 | .\kern -0.0002 90 | .\kern 0.0002 91 | ! OK. 92 | \l_tmpa_box 93 | l. ... } 94 | > \box...= 95 | \hbox(8.14243+0.16861)x8.23878 96 | .\TU/XITS-Regular.otf(0)/m/n/12.045 ⓒ 97 | .\kern -0.0002 98 | .\kern 0.0002 99 | ! OK. 100 | \l_tmpa_box 101 | l. ... } 102 | > \box...= 103 | \hbox(8.52785+0.16862)x9.49146 104 | .\U/pzd/m/n/12.045 ^^ac 105 | ! OK. 106 | \l_tmpa_box 107 | l. ... } 108 | > \box...= 109 | \hbox(8.52785+0.16862)x9.49146 110 | .\U/pzd/m/n/12.045 ^^b5 111 | ! OK. 112 | \l_tmpa_box 113 | l. ... } 114 | > \box...= 115 | \hbox(8.52785+0.16862)x9.49146 116 | .\U/pzd/m/n/12.045 ^^bb 117 | ! OK. 118 | \l_tmpa_box 119 | l. ... } 120 | > \box...= 121 | \hbox(8.52785+0.16862)x9.49146 122 | .\U/pzd/m/n/12.045 ^^ca 123 | ! OK. 124 | \l_tmpa_box 125 | l. ... } 126 | > \box...= 127 | \hbox(8.52785+0.16862)x9.49146 128 | .\U/pzd/m/n/12.045 ^^d3 129 | ! OK. 130 | \l_tmpa_box 131 | l. ... } 132 | > \box...= 133 | \hbox(6.57655+0.0)x11.12956 134 | .\U/pzd/m/n/12.045 ^^d9 135 | ! OK. 136 | \l_tmpa_box 137 | l. ... } 138 | ============================================================ 139 | ============================================================ 140 | TEST 2: Boxes in thesis cover 141 | ============================================================ 142 | > \box...= 143 | \hbox(8.14243+0.16861)x142.26378 144 | .\hbox(8.14243+0.16861)x142.26378, glue set 36.2676fil 145 | ..\TU/XITS(0)/m/n/12.045 A 146 | ..\kern -0.0002 147 | ..\kern 0.0002 148 | ..\glue 0.0 plus 1.0fil 149 | ..\TU/XITS(0)/m/n/12.045 B 150 | ..\kern -0.0002 151 | ..\kern 0.0002 152 | ..\glue 0.0 plus 1.0fil 153 | ..\TU/XITS(0)/m/n/12.045 C 154 | ..\kern -0.0002 155 | ..\kern 0.0002 156 | ..\glue 0.0 plus 1.0fil 157 | ..\TU/XITS(0)/m/n/12.045 D 158 | ..\kern -0.0002 159 | ..\kern 0.0002 160 | ! OK. 161 | \l_tmpa_box 162 | l. ... } 163 | > \box...= 164 | \hbox(9.33487+1.96332)x142.26378 165 | .\hbox(9.33487+1.96332)x142.26378, glue set 31.36127fil 166 | ..\TU/FandolSong(0)/m/n/12.045 复 167 | ..\kern -0.00017 168 | ..\kern 0.00017 169 | ..\glue 0.0 plus 1.0fil 170 | ..\TU/FandolSong(0)/m/n/12.045 旦 171 | ..\kern -0.00017 172 | ..\kern 0.00017 173 | ..\glue 0.0 plus 1.0fil 174 | ..\TU/FandolSong(0)/m/n/12.045 大 175 | ..\kern -0.00017 176 | ..\kern 0.00017 177 | ..\glue 0.0 plus 1.0fil 178 | ..\TU/FandolSong(0)/m/n/12.045 学 179 | ..\kern -0.00017 180 | ..\kern 0.00017 181 | ! OK. 182 | \l_tmpa_box 183 | l. ... } 184 | > \box...= 185 | \hbox(8.14243+0.16861)x142.26378 186 | .\hbox(8.14243+0.16861)x142.26378, glue set 54.4014fil 187 | ..\glue 0.0 plus 1.0fil 188 | ..\TU/XITS(0)/m/n/12.045 ABCD 189 | ..\kern -0.0002 190 | ..\kern 0.0002 191 | ..\glue 0.0 plus 1.0fil 192 | ! OK. 193 | \l_tmpa_box 194 | l. ... } 195 | > \box...= 196 | \hbox(9.33487+1.96332)x142.26378 197 | .\hbox(9.33487+1.96332)x142.26378, glue set 47.0419fil 198 | ..\glue 0.0 plus 1.0fil 199 | ..\TU/FandolSong(0)/m/n/12.045 复 200 | ..\glue 0.0 plus 0.59575 201 | ..\TU/FandolSong(0)/m/n/12.045 旦 202 | ..\glue 0.0 plus 0.59575 203 | ..\TU/FandolSong(0)/m/n/12.045 大 204 | ..\glue 0.0 plus 0.59575 205 | ..\TU/FandolSong(0)/m/n/12.045 学 206 | ..\kern -0.00017 207 | ..\kern 0.00017 208 | ..\glue 0.0 plus 1.0fil 209 | ! OK. 210 | \l_tmpa_box 211 | l. ... } 212 | LaTeX Font Info: Font shape `TU/XITSMath-Regular.otf(2)/m/n' will be 213 | (Font) scaled to size 12.04628pt on input line .... 214 | LaTeX Font Info: Font shape `TU/XITSMath-Regular.otf(2)/m/n' will be 215 | (Font) scaled to size 9.03471pt on input line .... 216 | LaTeX Font Info: Font shape `TU/XITSMath-Regular.otf(2)/m/n' will be 217 | (Font) scaled to size 7.22777pt on input line .... 218 | LaTeX Font Info: Font shape `TU/XITSMath-Regular.otf(3)/m/n' will be 219 | (Font) scaled to size 12.0437pt on input line .... 220 | LaTeX Font Info: Font shape `TU/XITSMath-Regular.otf(3)/m/n' will be 221 | (Font) scaled to size 9.03278pt on input line .... 222 | LaTeX Font Info: Font shape `TU/XITSMath-Regular.otf(3)/m/n' will be 223 | (Font) scaled to size 7.22623pt on input line .... 224 | > \box...= 225 | \hbox(7.16708+1.14395)x142.26378 226 | .\mathon 227 | .\vbox(7.16708+1.14395)x142.26378 228 | ..\hbox(8.14243+0.16861)x142.26378, glue set 108.80278fil 229 | ...\hbox(0.0+0.0)x0.0 230 | ...\TU/XITS(0)/m/n/12.045 ABCD 231 | ...\kern -0.0002 232 | ...\kern 0.0002 233 | ...\penalty 10000 234 | ...\glue(\parfillskip) 0.0 plus 1.0fil 235 | ...\glue(\rightskip) 0.0 236 | .\mathoff 237 | ! OK. 238 | \l_tmpa_box 239 | l. ... } 240 | > \box...= 241 | \hbox(8.66066+2.63753)x142.26378 242 | .\mathon 243 | .\vbox(8.66066+2.63753)x142.26378 244 | ..\hbox(9.33487+1.96332)x142.26378, glue set 94.08379fil 245 | ...\hbox(0.0+0.0)x0.0 246 | ...\TU/FandolSong(0)/m/n/12.045 复 247 | ...\glue 0.0 plus 0.59575 248 | ...\TU/FandolSong(0)/m/n/12.045 旦 249 | ...\glue 0.0 plus 0.59575 250 | ...\TU/FandolSong(0)/m/n/12.045 大 251 | ...\glue 0.0 plus 0.59575 252 | ...\TU/FandolSong(0)/m/n/12.045 学 253 | ...\kern -0.00017 254 | ...\kern 0.00017 255 | ...\penalty 10000 256 | ...\glue(\parfillskip) 0.0 plus 1.0fil 257 | ...\glue(\rightskip) 0.0 258 | .\mathoff 259 | ! OK. 260 | \l_tmpa_box 261 | l. ... } 262 | > \box...= 263 | \hbox(7.16708+1.14395)x142.26378 264 | .\mathon 265 | .\vbox(7.16708+1.14395)x142.26378 266 | ..\hbox(8.14243+0.16861)x142.26378, glue set 54.4014fil 267 | ...\glue(\leftskip) 0.0 plus 1.0fil 268 | ...\hbox(0.0+0.0)x0.0 269 | ...\TU/XITS(0)/m/n/12.045 ABCD 270 | ...\kern -0.0002 271 | ...\kern 0.0002 272 | ...\penalty 10000 273 | ...\glue(\parfillskip) 0.0 274 | ...\glue(\rightskip) 0.0 plus 1.0fil 275 | .\mathoff 276 | ! OK. 277 | \l_tmpa_box 278 | l. ... } 279 | > \box...= 280 | \hbox(8.66066+2.63753)x142.26378 281 | .\mathon 282 | .\vbox(8.66066+2.63753)x142.26378 283 | ..\hbox(9.33487+1.96332)x142.26378, glue set 47.0419fil 284 | ...\glue(\leftskip) 0.0 plus 1.0fil 285 | ...\hbox(0.0+0.0)x0.0 286 | ...\TU/FandolSong(0)/m/n/12.045 复 287 | ...\glue 0.0 plus 0.59575 288 | ...\TU/FandolSong(0)/m/n/12.045 旦 289 | ...\glue 0.0 plus 0.59575 290 | ...\TU/FandolSong(0)/m/n/12.045 大 291 | ...\glue 0.0 plus 0.59575 292 | ...\TU/FandolSong(0)/m/n/12.045 学 293 | ...\kern -0.00017 294 | ...\kern 0.00017 295 | ...\penalty 10000 296 | ...\glue(\parfillskip) 0.0 297 | ...\glue(\rightskip) 0.0 plus 1.0fil 298 | .\mathoff 299 | ! OK. 300 | \l_tmpa_box 301 | l. ... } 302 | > \box...= 303 | \hbox(9.33487+1.96332)x142.26378 304 | .\hbox(9.33487+1.96332)x142.26378, glue set 31.36127fil 305 | ..\TU/FandolSong(0)/m/n/12.045 复 306 | ..\kern -0.00017 307 | ..\kern 0.00017 308 | ..\glue 0.0 plus 1.0fil 309 | ..\TU/FandolSong(0)/m/n/12.045 旦 310 | ..\kern -0.00017 311 | ..\kern 0.00017 312 | ..\glue 0.0 plus 1.0fil 313 | ..\TU/FandolSong(0)/m/n/12.045 大 314 | ..\kern -0.00017 315 | ..\kern 0.00017 316 | ..\glue 0.0 plus 1.0fil 317 | ..\TU/FandolSong(0)/m/n/12.045 学 318 | ..\kern -0.00017 319 | ..\kern 0.00017 320 | ! OK. 321 | \l_tmpa_box 322 | l. ... } 323 | > \box...= 324 | \hbox(9.33487+1.96332)x142.26378 325 | .\hbox(9.33487+1.96332)x142.26378, glue set 38.67665fil 326 | ..\TU/XITS(0)/m/n/12.045 A 327 | ..\kern -0.0002 328 | ..\kern 0.0002 329 | ..\glue 0.0 plus 1.0fil 330 | ..\TU/FandolSong(0)/m/n/12.045 复 331 | ..\glue 0.0 plus 0.59575 332 | ..\TU/FandolSong(0)/m/n/12.045 旦 333 | ..\glue 0.0 plus 0.59575 334 | ..\TU/FandolSong(0)/m/n/12.045 大 335 | ..\glue 0.0 plus 0.59575 336 | ..\TU/FandolSong(0)/m/n/12.045 学 337 | ..\kern -0.00017 338 | ..\kern 0.00017 339 | ..\glue 0.0 plus 1.0fil 340 | ..\TU/XITS(0)/m/n/12.045 B 341 | ..\kern -0.0002 342 | ..\kern 0.0002 343 | ! OK. 344 | \l_tmpa_box 345 | l. ... } 346 | ============================================================ 347 | ============================================================ 348 | TEST 3: Boxes in thesis cover (underfull) 349 | ============================================================ 350 | Underfull \hbox (badness 10000) in paragraph at lines 79--79 351 | []\TU/FandolSong(0)/m/n/12.045 复 旦 大 学 352 | \hbox(9.33487+1.96332)x56.9055, glue set 4.8821 353 | .\hbox(0.0+0.0)x0.0 354 | .\TU/FandolSong(0)/m/n/12.045 复 355 | .\glue 0.0 plus 0.59575 356 | .\TU/FandolSong(0)/m/n/12.045 旦 357 | .\glue 0.0 plus 0.59575 358 | .\TU/FandolSong(0)/m/n/12.045 大 359 | .\glue 0.0 plus 0.59575 360 | .\TU/FandolSong(0)/m/n/12.045 学 361 | .\glue(\rightskip) 0.0 362 | > \box...= 363 | \hbox(18.59439+12.57126)x56.9055 364 | .\mathon 365 | .\vbox(18.59439+12.57126)x56.9055 366 | ..\hbox(9.33487+1.96332)x56.9055, glue set 4.8821 367 | ...\hbox(0.0+0.0)x0.0 368 | ...\TU/FandolSong(0)/m/n/12.045 复 369 | ...\glue 0.0 plus 0.59575 370 | ...\TU/FandolSong(0)/m/n/12.045 旦 371 | ...\glue 0.0 plus 0.59575 372 | ...\TU/FandolSong(0)/m/n/12.045 大 373 | ...\glue 0.0 plus 0.59575 374 | ...\TU/FandolSong(0)/m/n/12.045 学 375 | ...\glue(\rightskip) 0.0 376 | ..\penalty 300 377 | ..\glue(\baselineskip) 8.8222 378 | ..\hbox(9.21443+1.83083)x56.9055, glue set 32.8155fil 379 | ...\TU/FandolSong(0)/m/n/12.045 论 380 | ...\glue 0.0 plus 0.59575 381 | ...\TU/FandolSong(0)/m/n/12.045 文 382 | ...\kern -0.00017 383 | ...\kern 0.00017 384 | ...\penalty 10000 385 | ...\glue(\parfillskip) 0.0 plus 1.0fil 386 | ...\glue(\rightskip) 0.0 387 | .\mathoff 388 | ! OK. 389 | \l_tmpa_box 390 | l. ... } 391 | > \box...= 392 | \hbox(18.59439+12.57126)x56.9055 393 | .\mathon 394 | .\vbox(18.59439+12.57126)x56.9055 395 | ..\hbox(9.33487+1.96332)x56.9055, glue set 4.36276fil 396 | ...\glue(\leftskip) 0.0 plus 1.0fil 397 | ...\hbox(0.0+0.0)x0.0 398 | ...\TU/FandolSong(0)/m/n/12.045 复 399 | ...\glue 0.0 plus 0.59575 400 | ...\TU/FandolSong(0)/m/n/12.045 旦 401 | ...\glue 0.0 plus 0.59575 402 | ...\TU/FandolSong(0)/m/n/12.045 大 403 | ...\glue 0.0 plus 0.59575 404 | ...\TU/FandolSong(0)/m/n/12.045 学 405 | ...\glue(\rightskip) 0.0 plus 1.0fil 406 | ..\penalty 300 407 | ..\glue(\baselineskip) 8.8222 408 | ..\hbox(9.21443+1.83083)x56.9055, glue set 16.40776fil 409 | ...\glue(\leftskip) 0.0 plus 1.0fil 410 | ...\TU/FandolSong(0)/m/n/12.045 论 411 | ...\glue 0.0 plus 0.59575 412 | ...\TU/FandolSong(0)/m/n/12.045 文 413 | ...\kern -0.00017 414 | ...\kern 0.00017 415 | ...\penalty 10000 416 | ...\glue(\parfillskip) 0.0 417 | ...\glue(\rightskip) 0.0 plus 1.0fil 418 | .\mathoff 419 | ! OK. 420 | \l_tmpa_box 421 | l. ... } 422 | ============================================================ 423 | ============================================================ 424 | TEST 4: Text width 425 | ============================================================ 426 | > \l_tmpa_dim=33.461pt. 427 | > \l_tmpa_dim=48.18pt. 428 | ============================================================ 429 | ============================================================ 430 | TEST 5: Sanitizing title 431 | ============================================================ 432 | > \l__fdu_info_title_tl=论文标题. 433 | > \l__fdu_info_title_sanitized_tl=论文标题. 434 | > \l__fdu_info_title_tl=论文 标题. 435 | > \l__fdu_info_title_sanitized_tl=论文标题. 436 | > \l__fdu_info_title_tl=论文\\标题. 437 | > \l__fdu_info_title_sanitized_tl=论文标题. 438 | > \l__fdu_info_title_tl=论文 \\ 标题. 439 | > \l__fdu_info_title_sanitized_tl=论文标题. 440 | > \l__fdu_info_title_tl=论文标题ABC. 441 | > \l__fdu_info_title_sanitized_tl=论文标题ABC. 442 | > \l__fdu_info_title_tl=论文标题 ABC. 443 | > \l__fdu_info_title_sanitized_tl=论文标题 ABC. 444 | > \l__fdu_info_title_tl=论文标题\\ABC. 445 | > \l__fdu_info_title_sanitized_tl=论文标题 ABC. 446 | > \l__fdu_info_title_tl=论文标题 \\ABC. 447 | > \l__fdu_info_title_sanitized_tl=论文标题 ABC. 448 | > \l__fdu_info_title_tl=论文标题\\ ABC. 449 | > \l__fdu_info_title_sanitized_tl=论文标题 ABC. 450 | > \l__fdu_info_title_tl=论文标题 \\ ABC. 451 | > \l__fdu_info_title_sanitized_tl=论文标题 ABC. 452 | > \l__fdu_info_title_tl=ABC DEF. 453 | > \l__fdu_info_title_sanitized_tl=ABC DEF. 454 | > \l__fdu_info_title_tl=ABC\\DEF. 455 | > \l__fdu_info_title_sanitized_tl=ABC DEF. 456 | > \l__fdu_info_title_tl=ABC \\DEF. 457 | > \l__fdu_info_title_sanitized_tl=ABC DEF. 458 | > \l__fdu_info_title_tl=ABC\\ DEF. 459 | > \l__fdu_info_title_sanitized_tl=ABC DEF. 460 | > \l__fdu_info_title_tl=ABC \\ DEF. 461 | > \l__fdu_info_title_sanitized_tl=ABC DEF. 462 | ============================================================ 463 | -------------------------------------------------------------------------------- /testfiles/02-basic.lvt: -------------------------------------------------------------------------------- 1 | % Copyright (C) 2018, 2023 by Xiangdong Zeng 2 | 3 | \input{fduthesis-regression-test} 4 | 5 | \documentclass{fduthesis} 6 | 7 | \DEFAULTSETUP 8 | 9 | \begin{document} 10 | 11 | \START 12 | 13 | \loggingoutput 14 | 15 | \frontmatter 16 | 17 | % \tableofcontents 18 | 19 | \begin{abstract} 20 | 中文摘要 21 | \end{abstract} 22 | 23 | \begin{abstract*} 24 | English abstract 25 | \end{abstract*} 26 | 27 | \begin{notation} 28 | $x$ & 坐标 \\ 29 | $p$ & 动量 \\ 30 | $\psi(x)$ & 波函数 \\ 31 | $\langle x |$ & 左矢(bra) \\ 32 | $| x \rangle$ & 右矢(ket) \\ 33 | $\langle\alpha|\beta\rangle$ & 内积 34 | \end{notation} 35 | 36 | \mainmatter 37 | 38 | \chapter{第一章} 39 | 40 | \section{第一节} 41 | \section{第二节} 42 | \section{第三节} 43 | 44 | \chapter{第二章} 45 | 46 | \appendix 47 | 48 | \chapter{附录} 49 | 50 | \section{第一节} 51 | 52 | \backmatter 53 | 54 | \begin{acknowledgements} 55 | 致谢 56 | \end{acknowledgements} 57 | 58 | \END 59 | 60 | \end{document} 61 | -------------------------------------------------------------------------------- /testfiles/03-basic-en.lvt: -------------------------------------------------------------------------------- 1 | % Copyright (C) 2018, 2023 by Xiangdong Zeng 2 | 3 | \input{fduthesis-regression-test} 4 | 5 | \documentclass{fduthesis-en} 6 | 7 | \DEFAULTSETUP 8 | 9 | \begin{document} 10 | 11 | \START 12 | 13 | \loggingoutput 14 | 15 | \frontmatter 16 | 17 | % \tableofcontents 18 | 19 | \begin{abstract} 20 | English abstract 21 | \end{abstract} 22 | 23 | \begin{notation} 24 | $x$ & Coordinate \\ 25 | $p$ & Momentum \\ 26 | $\psi(x)$ & Wave function \\ 27 | $\langle x |$ & Dirac notation --- bra \\ 28 | $| x \rangle$ & Dirac notation --- ket \\ 29 | $\langle\alpha|\beta\rangle$ & Inner product 30 | \end{notation} 31 | 32 | \mainmatter 33 | 34 | \chapter{First chapter} 35 | 36 | \section{First section} 37 | \section{Second section} 38 | \section{Third section} 39 | 40 | \chapter{Second chapter} 41 | 42 | \appendix 43 | 44 | \chapter{Appendix} 45 | 46 | \section{First section} 47 | 48 | \backmatter 49 | 50 | \begin{acknowledgements} 51 | Acknowledgements 52 | \end{acknowledgements} 53 | 54 | \END 55 | 56 | \end{document} 57 | -------------------------------------------------------------------------------- /testfiles/04-cover.lvt: -------------------------------------------------------------------------------- 1 | % Copyright (C) 2018 by Xiangdong Zeng 2 | 3 | \input{fduthesis-regression-test} 4 | 5 | \documentclass{fduthesis} 6 | 7 | \MAKECOVERFALSE 8 | \DEFAULTSETUP 9 | 10 | \begin{document} 11 | 12 | \START 13 | 14 | \OMIT 15 | \EMPTYPAGE 16 | \TIMO 17 | 18 | \loggingoutput 19 | 20 | \begin{titlepage} 21 | \makecoveri 22 | \newpage 23 | \makecoverii 24 | \end{titlepage} 25 | 26 | \END 27 | 28 | \end{document} 29 | -------------------------------------------------------------------------------- /testfiles/04-cover.tlg: -------------------------------------------------------------------------------- 1 | This is a generated file for the l3build validation system. 2 | Don't change this file in any respect. 3 | Completed box being shipped out [2] 4 | \vbox(730.50705+0.0)x434.75833 5 | .\vbox(0.0+0.0)x0.0, glue set 35.87772fil 6 | ..\kern 0.0 7 | ..\kern -34.87398 8 | ..\kern -1.00374 9 | ..\hbox(0.0+0.0)x0.0, glue set - 17.20583fil 10 | ...\kern 0.0 11 | ...\kern 18.20956 12 | ...\kern -1.00374 13 | ...\special{pdf:dest (page.2) [@thispage /XYZ @xpos @ypos null]} 14 | ...\penalty 10000 15 | ...\glue 0.0 plus 1.0fil minus 1.0fil 16 | ..\glue 0.0 plus 1.0fil minus 1.0fil 17 | .\glue(\lineskip) 0.0 18 | .\vbox(730.50705+0.0)x434.75833 19 | ..\glue -34.87398 20 | ..\vbox(765.38103+0.0)x416.54877, shifted 18.20956 21 | ...\vbox(15.0+0.0)x416.54877, glue set 15.0fil 22 | ....\glue 0.0 plus 1.0fil 23 | ....\hbox(0.0+0.0)x416.54877 24 | .....\special{color push gray 0} 25 | .....\hbox(0.0+0.0)x416.54877 26 | .....\special{color pop} 27 | ...\glue 19.8738 28 | ...\glue(\lineskip) 0.0 29 | ...\vbox(700.50723+0.0)x0.0, glue set 688.50723fil 30 | ....\write-{} 31 | ....\glue(\topskip) 12.0 32 | ....\hbox(0.0+0.0)x0.0 33 | ....\glue 0.0 plus 1.0fil 34 | ....\glue 0.0 35 | ...\glue(\baselineskip) 30.0 36 | ...\hbox(0.0+0.0)x416.54877 37 | ....\special{color push gray 0} 38 | ....\hbox(0.0+0.0)x416.54877 39 | ....\special{color pop} 40 | File: fudan-name.pdf Graphic file (type pdf) 41 | 42 | Completed box being shipped out [1] 43 | \vbox(730.50705+0.0)x434.75833 44 | .\vbox(0.0+0.0)x0.0, glue set 35.87772fil 45 | ..\kern 0.0 46 | ..\kern -34.87398 47 | ..\kern -1.00374 48 | ..\hbox(0.0+0.0)x0.0, glue set - 17.20583fil 49 | ...\kern 0.0 50 | ...\kern 18.20956 51 | ...\kern -1.00374 52 | ...\special{pdf:dest (page.A) [@thispage /XYZ @xpos @ypos null]} 53 | ...\penalty 10000 54 | ...\glue 0.0 plus 1.0fil minus 1.0fil 55 | ..\glue 0.0 plus 1.0fil minus 1.0fil 56 | .\glue(\lineskip) 0.0 57 | .\vbox(730.50705+0.0)x434.75833 58 | ..\glue -34.87398 59 | ..\vbox(765.38103+0.0)x416.54877, shifted 18.20956 60 | ...\vbox(15.0+0.0)x416.54877, glue set 15.0fil 61 | ....\glue 0.0 plus 1.0fil 62 | ....\hbox(0.0+0.0)x416.54877 63 | .....\special{color push gray 0} 64 | .....\hbox(0.0+0.0)x416.54877 65 | .....\special{color pop} 66 | ...\glue 19.8738 67 | ...\glue(\lineskip) 0.0 68 | ...\vbox(700.50723+0.0)x416.54877, glue set 24.70131fill 69 | ....\glue(\topskip) 12.0 70 | ....\rule(0.0+0.0)x* 71 | ....\penalty 10000 72 | ....\glue 0.0 73 | ....\glue 0.0 74 | ....\penalty -51 75 | ....\glue 13.0 plus 7.0 minus 8.0 76 | ....\glue(\parskip) 0.0 plus 1.0 77 | ....\glue(\parskip) 0.0 78 | ....\glue(\lineskip) 1.0 79 | ....\hbox(17.2586+12.74124)x416.54877, glue set 315.69449fil 80 | .....\glue(\leftskip) 0.0 plus 1.0fil 81 | .....\hbox(0.0+0.0)x0.0 82 | ......\glue 0.0 83 | ......\glue 0.0 84 | ......\glue -6.0 85 | ......\hbox(0.0+0.0)x0.0 86 | .......\special{color push gray 0} 87 | .......\special{color pop} 88 | ......\glue 6.0 89 | .....\penalty 0 90 | .....\hbox(17.2586+12.74124)x100.85428 91 | ......\mathon 92 | ......\vbox(17.2586+12.74124)x100.85428 93 | .......\hbox(10.49991+4.50002)x100.85428 94 | ........\glue(\tabskip) 0.0 95 | ........\hbox(10.49991+4.50002)x51.1687 96 | .........\rule(10.49991+4.50002)x0.0 97 | .........\glue 6.0 98 | .........\glue 0.00002 99 | .........\TU/FandolSong(0)/m/n/9.03374 学 100 | .........\glue 0.0 plus 0.22797 101 | .........\TU/FandolSong(0)/m/n/9.03374 校 102 | .........\glue 0.0 plus 0.22797 103 | .........\TU/FandolSong(0)/m/n/9.03374 代 104 | .........\glue 0.0 plus 0.22797 105 | .........\TU/FandolSong(0)/m/n/9.03374 码 106 | .........\kern -0.00017 107 | .........\kern 0.00017 108 | .........\glue 0.0 plus 1.0fil 109 | .........\penalty 10000 110 | .........\TU/FandolSong(0)/m/n/9.03374 : 111 | .........\rule(0.0+0.0)x-6.29651 112 | .........\kern 0.00038 113 | .........\kern -0.00038 114 | .........\kern -0.99649 115 | .........\kern 0.99649 116 | .........\glue 6.29651 minus 4.51686 117 | ........\glue(\tabskip) 0.0 118 | ........\hbox(10.49991+4.50002)x49.68558, glue set 27.10121fil 119 | .........\glue 0.00002 120 | .........\TU/XITS(0)/m/n/9.03374 10246 121 | .........\kern -0.0002 122 | .........\kern 0.0002 123 | .........\glue 0.0 plus 1.0fil 124 | ........\glue(\tabskip) 0.0 125 | .......\glue(\lineskip) 0.0 126 | .......\hbox(10.49991+4.50002)x100.85428 127 | ........\glue(\tabskip) 0.0 128 | ........\hbox(10.49991+4.50002)x51.1687 129 | .........\rule(10.49991+4.50002)x0.0 130 | .........\glue 6.0 131 | .........\glue 0.00002 132 | .........\TU/FandolSong(0)/m/n/9.03374 学 133 | .........\kern -0.00017 134 | .........\kern 0.00017 135 | .........\glue 18.06747 136 | .........\TU/FandolSong(0)/m/n/9.03374 号 137 | .........\kern -0.00017 138 | .........\kern 0.00017 139 | .........\glue 0.0 plus 1.0fil 140 | .........\penalty 10000 141 | .........\TU/FandolSong(0)/m/n/9.03374 : 142 | .........\rule(0.0+0.0)x-6.29651 143 | .........\kern 0.00038 144 | .........\kern -0.00038 145 | .........\kern -0.99649 146 | .........\kern 0.99649 147 | .........\glue 6.29651 minus 4.51686 148 | ........\glue(\tabskip) 0.0 149 | ........\hbox(10.49991+4.50002)x49.68558 150 | .........\glue 0.00002 151 | .........\TU/XITS(0)/m/n/9.03374 12300000000 152 | .........\kern -0.0002 153 | .........\kern 0.0002 154 | .........\glue 0.0 plus 1.0fil 155 | ........\glue(\tabskip) 0.0 156 | ......\mathoff 157 | .....\penalty 10000 158 | .....\glue(\parfillskip) 0.0 159 | .....\glue(\rightskip) 0.0 160 | ....\penalty -51 161 | ....\glue 13.0 plus 6.0 minus 8.0 162 | ....\rule(0.0+0.0)x* 163 | ....\penalty 10000 164 | ....\glue 0.0 plus 1.6fill 165 | ....\glue 0.0 166 | ....\penalty -51 167 | ....\glue 13.0 plus 7.0 minus 8.0 168 | ....\glue(\parskip) 0.0 plus 1.0 169 | ....\glue(\parskip) 0.0 170 | ....\glue(\lineskip) 1.0 171 | ....\hbox(78.37224+0.0)x416.54877, glue set 104.13719fil 172 | .....\glue(\leftskip) 0.0 plus 1.0fil 173 | .....\hbox(0.0+0.0)x0.0 174 | ......\glue 0.0 175 | ......\glue 0.0 176 | ......\glue -6.0 177 | ......\hbox(0.0+0.0)x0.0 178 | .......\special{color push gray 0} 179 | .......\special{color pop} 180 | ......\glue 6.0 181 | .....\penalty 0 182 | .....\hbox(78.37224+0.0)x208.27438 183 | ......\hbox(78.37244+0.0)x208.27576 184 | .......\hbox(78.37244+0.0)x208.27576 185 | ........\hbox(78.37244+0.0)x0.0 186 | .........\special{pdf:btrans} 187 | .........\special{x:scale 0.2637 0.2637} 188 | .........\hbox(297.20035+0.0)x0.0, glue set - 789.81372fil 189 | ..........\hbox(297.20035+0.0)x789.81372 190 | ...........\XeTeXpdffile "./fudan-name.pdf" 191 | ..........\glue 0.0 plus 1.0fil minus 1.0fil 192 | .........\special{pdf:etrans} 193 | ........\kern 208.27576 194 | ........\glue 0.0 plus 1.0fil minus 1.0fil 195 | .....\penalty 10000 196 | .....\glue(\parfillskip) 0.0 197 | .....\glue(\rightskip) 0.0 plus 1.0fil 198 | ....\penalty -51 199 | ....\glue 13.0 plus 6.0 minus 8.0 200 | ....\rule(0.0+0.0)x* 201 | ....\penalty 10000 202 | ....\glue 0.0 plus 0.3fill 203 | ....\glue 0.0 204 | ....\penalty -51 205 | ....\glue 13.0 plus 7.0 minus 8.0 206 | ....\glue(\parskip) 0.0 plus 1.0 207 | ....\glue(\parskip) 0.0 208 | ....\glue(\baselineskip) 19.59682 209 | ....\hbox(17.06976+3.75401)x416.54877, glue set 114.55156fil 210 | .....\glue(\leftskip) 0.0 plus 1.0fil 211 | .....\hbox(0.0+0.0)x0.0 212 | ......\glue 0.0 213 | ......\glue 0.0 214 | ......\glue -6.0 215 | ......\hbox(0.0+0.0)x0.0 216 | .......\special{color push gray 0} 217 | .......\special{color pop} 218 | ......\glue 6.0 219 | .....\penalty 0 220 | .....\hbox(17.06976+3.75401)x187.44566, glue set 10.99014fil 221 | ......\TU/FandolSong(0)/m/n/22.08249 本 222 | ......\kern -0.00017 223 | ......\kern 0.00017 224 | ......\glue 0.0 plus 1.0fil 225 | ......\TU/FandolSong(0)/m/n/22.08249 科 226 | ......\kern -0.00017 227 | ......\kern 0.00017 228 | ......\glue 0.0 plus 1.0fil 229 | ......\TU/FandolSong(0)/m/n/22.08249 毕 230 | ......\kern -0.00017 231 | ......\kern 0.00017 232 | ......\glue 0.0 plus 1.0fil 233 | ......\TU/FandolSong(0)/m/n/22.08249 业 234 | ......\kern -0.00017 235 | ......\kern 0.00017 236 | ......\glue 0.0 plus 1.0fil 237 | ......\TU/FandolSong(0)/m/n/22.08249 论 238 | ......\kern -0.00017 239 | ......\kern 0.00017 240 | ......\glue 0.0 plus 1.0fil 241 | ......\TU/FandolSong(0)/m/n/22.08249 文 242 | ......\kern -0.00017 243 | ......\kern 0.00017 244 | .....\penalty 10000 245 | .....\glue(\parfillskip) 0.0 246 | .....\glue(\rightskip) 0.0 plus 1.0fil 247 | ....\penalty -51 248 | ....\glue 13.0 plus 6.0 minus 8.0 249 | ....\rule(0.0+0.0)x* 250 | ....\penalty 10000 251 | ....\glue -18.0 252 | ....\glue 0.0 253 | ....\penalty -51 254 | ....\glue 13.0 plus 7.0 minus 8.0 255 | ....\glue(\parskip) 0.0 plus 1.0 256 | ....\glue(\parskip) 0.0 257 | ....\glue(\baselineskip) 19.57925 258 | ....\hbox(0.0+0.0)x416.54877, glue set 208.27438fil 259 | .....\glue(\leftskip) 0.0 plus 1.0fil 260 | .....\hbox(0.0+0.0)x0.0 261 | ......\glue 0.0 262 | ......\glue 0.0 263 | ......\glue -6.0 264 | ......\hbox(0.0+0.0)x0.0 265 | .......\special{color push gray 0} 266 | .......\special{color pop} 267 | ......\glue 6.0 268 | .....\penalty 0 269 | .....\penalty 10000 270 | .....\glue(\parfillskip) 0.0 271 | .....\glue(\rightskip) 0.0 plus 1.0fil 272 | ....\penalty -51 273 | ....\glue 13.0 plus 6.0 minus 8.0 274 | ....\rule(0.0+0.0)x* 275 | ....\penalty 10000 276 | ....\glue 0.0 plus 0.8fill 277 | ....\glue 0.0 278 | ....\penalty -51 279 | ....\glue 13.0 plus 7.0 minus 8.0 280 | ....\glue(\parskip) 0.0 plus 1.0 281 | ....\glue(\parskip) 0.0 282 | ....\glue(\baselineskip) 17.07216 283 | ....\hbox(12.92776+3.89307)x416.54877, glue set 20.82872fil 284 | .....\glue(\leftskip) 0.0 plus 1.0fil 285 | .....\hbox(0.0+0.0)x0.0 286 | ......\glue 0.0 287 | ......\glue 0.0 288 | ......\glue -6.0 289 | ......\hbox(0.0+0.0)x0.0 290 | .......\special{color push gray 0} 291 | .......\special{color pop} 292 | ......\glue 6.0 293 | .....\penalty 0 294 | .....\mathon 295 | .....\vbox(12.92776+3.89307)x374.89134 296 | ......\hbox(13.8939+2.92693)x374.89134, glue set 115.17572fil 297 | .......\glue(\leftskip) 0.0 plus 1.0fil 298 | .......\hbox(0.0+0.0)x0.0 299 | .......\TU/FandolSong(0)/b/n/18.06749 这 300 | .......\glue 0.0 plus 0.9078 301 | .......\TU/FandolSong(0)/b/n/18.06749 是 302 | .......\glue 0.0 plus 0.9078 303 | .......\TU/FandolSong(0)/b/n/18.06749 一 304 | .......\glue 0.0 plus 0.9078 305 | .......\TU/FandolSong(0)/b/n/18.06749 个 306 | .......\glue 0.0 plus 0.9078 307 | .......\TU/FandolSong(0)/b/n/18.06749 论 308 | .......\glue 0.0 plus 0.9078 309 | .......\TU/FandolSong(0)/b/n/18.06749 文 310 | .......\glue 0.0 plus 0.9078 311 | .......\TU/FandolSong(0)/b/n/18.06749 标 312 | .......\glue 0.0 plus 0.9078 313 | .......\TU/FandolSong(0)/b/n/18.06749 题 314 | .......\kern -0.00017 315 | .......\kern 0.00017 316 | .......\penalty 10000 317 | .......\glue(\parfillskip) 0.0 318 | .......\glue(\rightskip) 0.0 plus 1.0fil 319 | .....\mathoff 320 | .....\penalty 10000 321 | .....\glue(\parfillskip) 0.0 322 | .....\glue(\rightskip) 0.0 plus 1.0fil 323 | ....\penalty -51 324 | ....\glue 13.0 plus 6.0 minus 8.0 325 | ....\rule(0.0+0.0)x* 326 | ....\penalty 10000 327 | ....\glue 0.0 328 | ....\glue 0.0 329 | ....\penalty -51 330 | ....\glue 13.0 plus 7.0 minus 8.0 331 | ....\glue(\parskip) 0.0 plus 1.0 332 | ....\glue(\parskip) 0.0 333 | ....\glue(\baselineskip) 7.87547 334 | ....\hbox(8.467+1.43999)x416.54877, glue set 20.82872fil 335 | .....\glue(\leftskip) 0.0 plus 1.0fil 336 | .....\hbox(0.0+0.0)x0.0 337 | ......\glue 0.0 338 | ......\glue 0.0 339 | ......\glue -6.0 340 | ......\hbox(0.0+0.0)x0.0 341 | .......\special{color push gray 0} 342 | .......\special{color pop} 343 | ......\glue 6.0 344 | .....\penalty 0 345 | .....\mathon 346 | .....\vbox(8.467+1.43999)x374.89134 347 | ......\hbox(9.71027+0.19672)x374.89134, glue set 125.76929fil 348 | .......\glue(\leftskip) 0.0 plus 1.0fil 349 | .......\hbox(0.0+0.0)x0.0 350 | .......\TU/XITS(0)/b/n/14.05249 This 351 | .......\glue 3.51312 plus 1.75656 minus 1.17104 352 | .......\TU/XITS(0)/b/n/14.05249 is 353 | .......\glue 3.51312 plus 1.75656 minus 1.17104 354 | .......\TU/XITS(0)/b/n/14.05249 a 355 | .......\glue 3.51312 plus 1.75656 minus 1.17104 356 | .......\TU/XITS(0)/b/n/14.05249 Thesis 357 | .......\glue 3.51312 plus 1.75656 minus 1.17104 358 | .......\TU/XITS(0)/b/n/14.05249 Title 359 | .......\kern -0.0002 360 | .......\kern 0.0002 361 | .......\penalty 10000 362 | .......\glue(\parfillskip) 0.0 363 | .......\glue(\rightskip) 0.0 plus 1.0fil 364 | .....\mathoff 365 | .....\penalty 10000 366 | .....\glue(\parfillskip) 0.0 367 | .....\glue(\rightskip) 0.0 plus 1.0fil 368 | ....\penalty -51 369 | ....\glue 13.0 plus 6.0 minus 8.0 370 | ....\rule(0.0+0.0)x* 371 | ....\penalty 10000 372 | ....\glue 0.0 plus 2.5fill 373 | ....\glue 0.0 374 | ....\penalty -51 375 | ....\glue 13.0 plus 7.0 minus 8.0 376 | ....\glue(\parskip) 0.0 plus 1.0 377 | ....\glue(\parskip) 0.0 378 | ....\glue(\lineskip) 1.0 379 | ....\hbox(74.49388+67.46687)x416.54877, glue set 102.15038fil 380 | .....\glue(\leftskip) 0.0 plus 1.0fil 381 | .....\hbox(0.0+0.0)x0.0 382 | ......\glue 0.0 383 | ......\glue 0.0 384 | ......\glue -6.0 385 | ......\hbox(0.0+0.0)x0.0 386 | .......\special{color push gray 0} 387 | .......\special{color pop} 388 | ......\glue 6.0 389 | .....\penalty 0 390 | .....\hbox(74.49388+67.46687)x212.24802 391 | ......\mathon 392 | ......\vbox(74.49388+67.46687)x212.24802 393 | .......\hbox(16.3332+13.32367)x212.24802 394 | ........\glue(\tabskip) 0.0 395 | ........\hbox(16.3332+13.32367)x104.36745 396 | .........\rule(16.3332+7.00005)x0.0 397 | .........\glue 6.0 398 | .........\glue 0.0 plus 1.0fil 399 | .........\glue 0.00002 400 | .........\hbox(10.90474+2.3889)x84.31494, glue set 56.20996fil 401 | ..........\TU/FandolSong(0)/m/n/14.05249 院 402 | ..........\kern -0.00017 403 | ..........\kern 0.00017 404 | ..........\glue 0.0 plus 1.0fil 405 | ..........\TU/FandolSong(0)/m/n/14.05249 系 406 | ..........\kern -0.00017 407 | ..........\kern 0.00017 408 | .........\glue 0.0 plus 1.0fil 409 | .........\penalty 10000 410 | .........\TU/FandolSong(0)/m/n/14.05249 : 411 | .........\rule(0.0+0.0)x-9.79459 412 | .........\kern 0.0006 413 | .........\kern -0.0006 414 | .........\kern -0.99649 415 | .........\kern 0.99649 416 | .........\glue 9.79459 minus 7.02625 417 | ........\glue(\tabskip) 0.0 418 | ........\hbox(16.3332+13.32367)x107.88057, glue set 29.86154fil 419 | .........\glue 0.0 plus 1.0fil 420 | .........\glue 0.00002 421 | .........\TU/FandolSong(0)/m/n/14.05249 物 422 | .........\glue 0.0 plus 0.85478 423 | .........\TU/FandolSong(0)/m/n/14.05249 理 424 | .........\glue 0.0 plus 0.85478 425 | .........\TU/FandolSong(0)/m/n/14.05249 系 426 | .........\kern -0.00017 427 | .........\kern 0.00017 428 | .........\rule(0.0+13.32367)x0.0 429 | .........\glue 0.0 plus 1.0fil 430 | .........\glue 6.0 431 | ........\glue(\tabskip) 0.0 432 | .......\glue(\lineskip) 0.0 433 | .......\hbox(16.3332+13.32367)x212.24802 434 | ........\glue(\tabskip) 0.0 435 | ........\hbox(16.3332+13.32367)x104.36745 436 | .........\rule(16.3332+7.00005)x0.0 437 | .........\glue 6.0 438 | .........\glue 0.0 plus 1.0fil 439 | .........\glue 0.00002 440 | .........\hbox(10.86258+2.23433)x84.31494, glue set 56.20996fil 441 | ..........\TU/FandolSong(0)/m/n/14.05249 专 442 | ..........\kern -0.00017 443 | ..........\kern 0.00017 444 | ..........\glue 0.0 plus 1.0fil 445 | ..........\TU/FandolSong(0)/m/n/14.05249 业 446 | ..........\kern -0.00017 447 | ..........\kern 0.00017 448 | .........\glue 0.0 plus 1.0fil 449 | .........\penalty 10000 450 | .........\TU/FandolSong(0)/m/n/14.05249 : 451 | .........\rule(0.0+0.0)x-9.79459 452 | .........\kern 0.0006 453 | .........\kern -0.0006 454 | .........\kern -0.99649 455 | .........\kern 0.99649 456 | .........\glue 9.79459 minus 7.02625 457 | ........\glue(\tabskip) 0.0 458 | ........\hbox(16.3332+13.32367)x107.88057, glue set 29.86154fil 459 | .........\glue 0.0 plus 1.0fil 460 | .........\glue 0.00002 461 | .........\TU/FandolSong(0)/m/n/14.05249 物 462 | .........\glue 0.0 plus 0.85478 463 | .........\TU/FandolSong(0)/m/n/14.05249 理 464 | .........\glue 0.0 plus 0.85478 465 | .........\TU/FandolSong(0)/m/n/14.05249 学 466 | .........\kern -0.00017 467 | .........\kern 0.00017 468 | .........\rule(0.0+13.32367)x0.0 469 | .........\glue 0.0 plus 1.0fil 470 | .........\glue 6.0 471 | ........\glue(\tabskip) 0.0 472 | .......\glue(\lineskip) 0.0 473 | .......\hbox(16.3332+13.32367)x212.24802 474 | ........\glue(\tabskip) 0.0 475 | ........\hbox(16.3332+13.32367)x104.36745 476 | .........\rule(16.3332+7.00005)x0.0 477 | .........\glue 6.0 478 | .........\glue 0.0 plus 1.0fil 479 | .........\glue 0.00002 480 | .........\hbox(10.87663+2.45917)x84.31494, glue set 56.20996fil 481 | ..........\TU/FandolSong(0)/m/n/14.05249 姓 482 | ..........\kern -0.00017 483 | ..........\kern 0.00017 484 | ..........\glue 0.0 plus 1.0fil 485 | ..........\TU/FandolSong(0)/m/n/14.05249 名 486 | ..........\kern -0.00017 487 | ..........\kern 0.00017 488 | .........\glue 0.0 plus 1.0fil 489 | .........\penalty 10000 490 | .........\TU/FandolSong(0)/m/n/14.05249 : 491 | .........\rule(0.0+0.0)x-9.79459 492 | .........\kern 0.0006 493 | .........\kern -0.0006 494 | .........\kern -0.99649 495 | .........\kern 0.99649 496 | .........\glue 9.79459 minus 7.02625 497 | ........\glue(\tabskip) 0.0 498 | ........\hbox(16.3332+13.32367)x107.88057, glue set 36.88779fil 499 | .........\glue 0.0 plus 1.0fil 500 | .........\glue 0.00002 501 | .........\TU/FandolSong(0)/m/n/14.05249 某 502 | .........\glue 0.0 plus 0.85478 503 | .........\TU/FandolSong(0)/m/n/14.05249 某 504 | .........\kern -0.00017 505 | .........\kern 0.00017 506 | .........\rule(0.0+13.32367)x0.0 507 | .........\glue 0.0 plus 1.0fil 508 | .........\glue 6.0 509 | ........\glue(\tabskip) 0.0 510 | .......\glue(\lineskip) 0.0 511 | .......\hbox(16.3332+13.32367)x212.24802 512 | ........\glue(\tabskip) 0.0 513 | ........\hbox(16.3332+13.32367)x104.36745 514 | .........\rule(16.3332+7.00005)x0.0 515 | .........\glue 6.0 516 | .........\glue 0.0 plus 1.0fil 517 | .........\glue 0.00002 518 | .........\hbox(10.86258+2.48727)x84.31494, glue set 9.36833fil 519 | ..........\TU/FandolSong(0)/m/n/14.05249 指 520 | ..........\kern -0.00017 521 | ..........\kern 0.00017 522 | ..........\glue 0.0 plus 1.0fil 523 | ..........\TU/FandolSong(0)/m/n/14.05249 导 524 | ..........\kern -0.00017 525 | ..........\kern 0.00017 526 | ..........\glue 0.0 plus 1.0fil 527 | ..........\TU/FandolSong(0)/m/n/14.05249 教 528 | ..........\kern -0.00017 529 | ..........\kern 0.00017 530 | ..........\glue 0.0 plus 1.0fil 531 | ..........\TU/FandolSong(0)/m/n/14.05249 师 532 | ..........\kern -0.00017 533 | ..........\kern 0.00017 534 | .........\glue 0.0 plus 1.0fil 535 | .........\penalty 10000 536 | .........\TU/FandolSong(0)/m/n/14.05249 : 537 | .........\rule(0.0+0.0)x-9.79459 538 | .........\kern 0.0006 539 | .........\kern -0.0006 540 | .........\kern -0.99649 541 | .........\kern 0.99649 542 | .........\glue 9.79459 minus 7.02625 543 | ........\glue(\tabskip) 0.0 544 | ........\hbox(16.3332+13.32367)x107.88057, glue set 8.7828fil 545 | .........\glue 0.0 plus 1.0fil 546 | .........\glue 0.00002 547 | .........\TU/FandolSong(0)/m/n/14.05249 某 548 | .........\glue 0.0 plus 0.85478 549 | .........\TU/FandolSong(0)/m/n/14.05249 某 550 | .........\glue 0.0 plus 0.85478 551 | .........\TU/FandolSong(0)/m/n/14.05249 某 552 | .........\kern -0.00017 553 | .........\kern 0.00017 554 | .........\glue 14.05249 555 | .........\TU/FandolSong(0)/m/n/14.05249 教 556 | .........\glue 0.0 plus 0.85478 557 | .........\TU/FandolSong(0)/m/n/14.05249 授 558 | .........\kern -0.00017 559 | .........\kern 0.00017 560 | .........\rule(0.0+13.32367)x0.0 561 | .........\glue 0.0 plus 1.0fil 562 | .........\glue 6.0 563 | ........\glue(\tabskip) 0.0 564 | .......\glue(\lineskip) 0.0 565 | .......\hbox(16.3332+7.00005)x212.24802 566 | ........\glue(\tabskip) 0.0 567 | ........\hbox(16.3332+7.00005)x104.36745 568 | .........\rule(16.3332+7.00005)x0.0 569 | .........\glue 6.0 570 | .........\glue 0.0 plus 1.0fil 571 | .........\glue 0.00002 572 | .........\hbox(10.89069+2.51538)x84.31494, glue set 9.36833fil 573 | ..........\TU/FandolSong(0)/m/n/14.05249 完 574 | ..........\kern -0.00017 575 | ..........\kern 0.00017 576 | ..........\glue 0.0 plus 1.0fil 577 | ..........\TU/FandolSong(0)/m/n/14.05249 成 578 | ..........\kern -0.00017 579 | ..........\kern 0.00017 580 | ..........\glue 0.0 plus 1.0fil 581 | ..........\TU/FandolSong(0)/m/n/14.05249 日 582 | ..........\kern -0.00017 583 | ..........\kern 0.00017 584 | ..........\glue 0.0 plus 1.0fil 585 | ..........\TU/FandolSong(0)/m/n/14.05249 期 586 | ..........\kern -0.00017 587 | ..........\kern 0.00017 588 | .........\glue 0.0 plus 1.0fil 589 | .........\penalty 10000 590 | .........\TU/FandolSong(0)/m/n/14.05249 : 591 | .........\rule(0.0+0.0)x-9.79459 592 | .........\kern 0.0006 593 | .........\kern -0.0006 594 | .........\kern -0.99649 595 | .........\kern 0.99649 596 | .........\glue 9.79459 minus 7.02625 597 | ........\glue(\tabskip) 0.0 598 | ........\hbox(16.3332+7.00005)x107.88057 599 | .........\glue 0.0 plus 1.0fil 600 | .........\glue 0.00002 601 | .........\TU/XITS(0)/m/n/14.05249 2019 602 | .........\glue 3.51312 plus 1.75656 minus 1.17104 603 | .........\TU/FandolSong(0)/m/n/14.05249 年 604 | .........\glue 3.51312 plus 1.75656 minus 1.17104 605 | .........\TU/XITS(0)/m/n/14.05249 1 606 | .........\glue 3.51312 plus 1.75656 minus 1.17104 607 | .........\TU/FandolSong(0)/m/n/14.05249 月 608 | .........\glue 3.51312 plus 1.75656 minus 1.17104 609 | .........\TU/XITS(0)/m/n/14.05249 1 610 | .........\glue 3.51312 plus 1.75656 minus 1.17104 611 | .........\TU/FandolSong(0)/m/n/14.05249 日 612 | .........\kern -0.00017 613 | .........\kern 0.00017 614 | .........\glue 0.0 plus 1.0fil 615 | .........\glue 6.0 616 | ........\glue(\tabskip) 0.0 617 | ......\mathoff 618 | .....\penalty 10000 619 | .....\glue(\parfillskip) 0.0 620 | .....\glue(\rightskip) 0.0 plus 1.0fil 621 | ....\penalty -51 622 | ....\glue 13.0 plus 6.0 minus 8.0 623 | ....\rule(0.0+0.0)x* 624 | ....\penalty 10000 625 | ....\glue 0.0 626 | ....\glue 0.0 627 | ....\rule(0.0+0.0)x* 628 | ....\penalty 10000 629 | ....\glue 0.0 plus 1.5fill 630 | ....\glue 0.0 631 | ....\glue -6.0 632 | ....\glue 0.0 plus 1.0fil 633 | ....\glue 0.0 634 | ...\glue(\baselineskip) 30.0 635 | ...\hbox(0.0+0.0)x416.54877 636 | ....\special{color push gray 0} 637 | ....\hbox(0.0+0.0)x416.54877 638 | ....\special{color pop} 639 | Completed box being shipped out [2] 640 | \vbox(730.50705+0.0)x434.75833 641 | .\vbox(0.0+0.0)x0.0, glue set 35.87772fil 642 | ..\kern 0.0 643 | ..\kern -34.87398 644 | ..\kern -1.00374 645 | ..\hbox(0.0+0.0)x0.0, glue set - 17.20583fil 646 | ...\kern 0.0 647 | ...\kern 18.20956 648 | ...\kern -1.00374 649 | ...\special{pdf:dest (page.B) [@thispage /XYZ @xpos @ypos null]} 650 | ...\penalty 10000 651 | ...\glue 0.0 plus 1.0fil minus 1.0fil 652 | ..\glue 0.0 plus 1.0fil minus 1.0fil 653 | .\glue(\lineskip) 0.0 654 | .\vbox(730.50705+0.0)x434.75833 655 | ..\glue -34.87398 656 | ..\vbox(765.38103+0.0)x416.54877, shifted 18.20956 657 | ...\vbox(15.0+0.0)x416.54877, glue set 15.0fil 658 | ....\glue 0.0 plus 1.0fil 659 | ....\hbox(0.0+0.0)x416.54877 660 | .....\special{color push gray 0} 661 | .....\hbox(0.0+0.0)x416.54877 662 | .....\special{color pop} 663 | ...\glue 19.8738 664 | ...\glue(\lineskip) 0.0 665 | ...\vbox(700.50723+0.0)x416.54877, glue set 543.34932fil 666 | ....\glue(\topskip) 12.0 667 | ....\rule(0.0+0.0)x* 668 | ....\penalty 10000 669 | ....\glue 0.0 670 | ....\glue 0.0 671 | ....\penalty -51 672 | ....\glue 13.0 plus 7.0 minus 8.0 673 | ....\glue(\parskip) 0.0 plus 1.0 674 | ....\glue(\parskip) 0.0 675 | ....\glue(\lineskip) 1.0 676 | ....\hbox(17.1581+3.95274)x416.54877, glue set 130.98567fil 677 | .....\glue(\leftskip) 0.0 plus 1.0fil 678 | .....\hbox(0.0+0.0)x0.0 679 | ......\glue 0.0 680 | ......\glue 0.0 681 | ......\glue -6.0 682 | ......\hbox(0.0+0.0)x0.0 683 | .......\special{color push gray 0} 684 | .......\special{color pop} 685 | ......\glue 6.0 686 | .....\penalty 0 687 | .....\hbox(17.1581+3.95274)x154.57742, glue set 4.4165fil 688 | ......\TU/FandolHei(0)/m/n/22.08249 指 689 | ......\kern -0.00017 690 | ......\kern 0.00017 691 | ......\glue 0.0 plus 1.0fil 692 | ......\TU/FandolHei(0)/m/n/22.08249 导 693 | ......\kern -0.00017 694 | ......\kern 0.00017 695 | ......\glue 0.0 plus 1.0fil 696 | ......\TU/FandolHei(0)/m/n/22.08249 小 697 | ......\kern -0.00017 698 | ......\kern 0.00017 699 | ......\glue 0.0 plus 1.0fil 700 | ......\TU/FandolHei(0)/m/n/22.08249 组 701 | ......\kern -0.00017 702 | ......\kern 0.00017 703 | ......\glue 0.0 plus 1.0fil 704 | ......\TU/FandolHei(0)/m/n/22.08249 成 705 | ......\kern -0.00017 706 | ......\kern 0.00017 707 | ......\glue 0.0 plus 1.0fil 708 | ......\TU/FandolHei(0)/m/n/22.08249 员 709 | ......\kern -0.00017 710 | ......\kern 0.00017 711 | .....\penalty 10000 712 | .....\glue(\parfillskip) 0.0 713 | .....\glue(\rightskip) 0.0 plus 1.0fil 714 | ....\penalty -51 715 | ....\glue 13.0 plus 6.0 minus 8.0 716 | ....\rule(0.0+0.0)x* 717 | ....\penalty 10000 718 | ....\glue 0.0 719 | ....\glue 0.0 720 | ....\penalty -51 721 | ....\glue 13.0 plus 7.0 minus 8.0 722 | ....\glue(\parskip) 0.0 plus 1.0 723 | ....\glue(\parskip) 0.0 724 | ....\glue(\baselineskip) 9.54422 725 | ....\hbox(11.50298+2.4391)x416.54877, glue set 153.6955fil 726 | .....\glue(\leftskip) 0.0 plus 1.0fil 727 | .....\hbox(0.0+0.0)x0.0 728 | ......\glue 0.0 729 | ......\glue 0.0 730 | ......\glue -6.0 731 | ......\hbox(0.0+0.0)x0.0 732 | .......\special{color push gray 0} 733 | .......\special{color pop} 734 | ......\glue 6.0 735 | .....\penalty 0 736 | .....\TU/FandolSong(0)/m/n/15.05624 张 737 | .....\kern -0.00017 738 | .....\kern 0.00017 739 | .....\glue 15.05624 740 | .....\TU/FandolSong(0)/m/n/15.05624 三 741 | .....\kern -0.00018 742 | .....\kern 0.00018 743 | .....\glue 3.76407 plus 1.88203 minus 1.25468 744 | .....\glue 15.05624 745 | .....\TU/FandolSong(0)/m/n/15.05624 教 746 | .....\kern -0.00017 747 | .....\kern 0.00017 748 | .....\glue 15.05624 749 | .....\TU/FandolSong(0)/m/n/15.05624 授 750 | .....\kern -0.00017 751 | .....\kern 0.00017 752 | .....\penalty 10000 753 | .....\glue(\parfillskip) 0.0 754 | .....\glue(\rightskip) 0.0 plus 1.0fil 755 | ....\glue(\parskip) 0.0 plus 1.0 756 | ....\glue(\parskip) 0.0 757 | ....\glue(\baselineskip) 11.05786 758 | ....\hbox(11.50298+2.4391)x416.54877, glue set 153.6955fil 759 | .....\glue(\leftskip) 0.0 plus 1.0fil 760 | .....\hbox(0.0+0.0)x0.0 761 | .....\TU/FandolSong(0)/m/n/15.05624 王 762 | .....\glue 0.0 plus 1.00346 763 | .....\TU/FandolSong(0)/m/n/15.05624 五 764 | .....\glue 0.0 plus 1.00346 765 | .....\TU/FandolSong(0)/m/n/15.05624 六 766 | .....\kern -0.00018 767 | .....\kern 0.00018 768 | .....\glue 3.76407 plus 1.88203 minus 1.25468 769 | .....\glue 15.05624 770 | .....\TU/FandolSong(0)/m/n/15.05624 教 771 | .....\kern -0.00017 772 | .....\kern 0.00017 773 | .....\glue 15.05624 774 | .....\TU/FandolSong(0)/m/n/15.05624 授 775 | .....\kern -0.00017 776 | .....\kern 0.00017 777 | .....\penalty 10000 778 | .....\glue(\parfillskip) 0.0 779 | .....\glue(\rightskip) 0.0 plus 1.0fil 780 | ....\glue(\parskip) 0.0 plus 1.0 781 | ....\glue(\parskip) 0.0 782 | ....\glue(\baselineskip) 10.95247 783 | ....\hbox(11.60837+2.66495)x416.54877, glue set 153.6955fil 784 | .....\glue(\leftskip) 0.0 plus 1.0fil 785 | .....\hbox(0.0+0.0)x0.0 786 | .....\TU/FandolSong(0)/m/n/15.05624 李 787 | .....\kern -0.00017 788 | .....\kern 0.00017 789 | .....\glue 15.05624 790 | .....\TU/FandolSong(0)/m/n/15.05624 四 791 | .....\kern -0.00018 792 | .....\kern 0.00018 793 | .....\glue 3.76407 plus 1.88203 minus 1.25468 794 | .....\glue 15.05624 795 | .....\TU/FandolSong(0)/m/n/15.05624 副 796 | .....\glue 0.0 plus 1.00346 797 | .....\TU/FandolSong(0)/m/n/15.05624 教 798 | .....\glue 0.0 plus 1.00346 799 | .....\TU/FandolSong(0)/m/n/15.05624 授 800 | .....\kern -0.00017 801 | .....\kern 0.00017 802 | .....\penalty 10000 803 | .....\glue(\parfillskip) 0.0 804 | .....\glue(\rightskip) 0.0 plus 1.0fil 805 | ....\penalty -51 806 | ....\glue 13.0 plus 6.0 minus 8.0 807 | ....\rule(0.0+0.0)x* 808 | ....\penalty 10000 809 | ....\glue 0.0 810 | ....\glue 0.0 811 | ....\rule(0.0+0.0)x* 812 | ....\penalty 10000 813 | ....\glue 0.0 814 | ....\glue 0.0 815 | ....\glue -2.66495 816 | ....\glue 0.0 plus 1.0fil 817 | ....\glue 0.0 818 | ...\glue(\baselineskip) 30.0 819 | ...\hbox(0.0+0.0)x416.54877 820 | ....\special{color push gray 0} 821 | ....\hbox(0.0+0.0)x416.54877 822 | ....\special{color pop} 823 | -------------------------------------------------------------------------------- /testfiles/05-declaration.lvt: -------------------------------------------------------------------------------- 1 | % Copyright (C) 2018 by Xiangdong Zeng 2 | 3 | \input{fduthesis-regression-test} 4 | 5 | \documentclass{fduthesis} 6 | 7 | \MAKECOVERFALSE 8 | 9 | \begin{document} 10 | 11 | \START 12 | 13 | \OMIT 14 | \EMPTYPAGE 15 | \TIMO 16 | 17 | \loggingoutput 18 | 19 | \makecoveriii 20 | 21 | \COMPLETEPAGE 22 | 23 | \END 24 | 25 | \end{document} 26 | -------------------------------------------------------------------------------- /testfiles/05-declaration.tlg: -------------------------------------------------------------------------------- 1 | This is a generated file for the l3build validation system. 2 | Don't change this file in any respect. 3 | Completed box being shipped out [2] 4 | \vbox(730.50705+0.0)x434.75833 5 | .\vbox(0.0+0.0)x0.0, glue set 35.87772fil 6 | ..\kern 0.0 7 | ..\kern -34.87398 8 | ..\kern -1.00374 9 | ..\hbox(0.0+0.0)x0.0, glue set - 17.20583fil 10 | ...\kern 0.0 11 | ...\kern 18.20956 12 | ...\kern -1.00374 13 | ...\special{pdf:dest (page.2) [@thispage /XYZ @xpos @ypos null]} 14 | ...\penalty 10000 15 | ...\glue 0.0 plus 1.0fil minus 1.0fil 16 | ..\glue 0.0 plus 1.0fil minus 1.0fil 17 | .\glue(\lineskip) 0.0 18 | .\vbox(730.50705+0.0)x434.75833 19 | ..\glue -34.87398 20 | ..\vbox(765.38103+0.0)x416.54877, shifted 18.20956 21 | ...\vbox(15.0+0.0)x416.54877, glue set 15.0fil 22 | ....\glue 0.0 plus 1.0fil 23 | ....\hbox(0.0+0.0)x416.54877 24 | .....\special{color push gray 0} 25 | .....\hbox(0.0+0.0)x416.54877 26 | .....\special{color pop} 27 | ...\glue 19.8738 28 | ...\glue(\lineskip) 0.0 29 | ...\vbox(700.50723+0.0)x0.0, glue set 688.50723fil 30 | ....\write-{} 31 | ....\glue(\topskip) 12.0 32 | ....\hbox(0.0+0.0)x0.0 33 | ....\glue 0.0 plus 1.0fil 34 | ....\glue 0.0 35 | ...\glue(\baselineskip) 30.0 36 | ...\hbox(0.0+0.0)x416.54877 37 | ....\special{color push gray 0} 38 | ....\hbox(0.0+0.0)x416.54877 39 | ....\special{color pop} 40 | Completed box being shipped out [3] 41 | \vbox(730.50705+0.0)x434.75833 42 | .\vbox(0.0+0.0)x0.0, glue set 35.87772fil 43 | ..\kern 0.0 44 | ..\kern -34.87398 45 | ..\kern -1.00374 46 | ..\hbox(0.0+0.0)x0.0, glue set - 17.20583fil 47 | ...\kern 0.0 48 | ...\kern 18.20956 49 | ...\kern -1.00374 50 | ...\special{pdf:dest (page.C) [@thispage /XYZ @xpos @ypos null]} 51 | ...\penalty 10000 52 | ...\glue 0.0 plus 1.0fil minus 1.0fil 53 | ..\glue 0.0 plus 1.0fil minus 1.0fil 54 | .\glue(\lineskip) 0.0 55 | .\vbox(730.50705+0.0)x434.75833 56 | ..\glue -34.87398 57 | ..\vbox(765.38103+0.0)x416.54877, shifted 18.20956 58 | ...\vbox(15.0+0.0)x416.54877, glue set 15.0fil 59 | ....\glue 0.0 plus 1.0fil 60 | ....\hbox(0.0+0.0)x416.54877 61 | .....\special{color push gray 0} 62 | .....\hbox(0.0+0.0)x416.54877 63 | .....\special{color pop} 64 | ...\glue 19.8738 65 | ...\glue(\lineskip) 0.0 66 | ...\vbox(700.50723+0.0)x416.54877, glue set 33.08324fill 67 | ....\glue(\topskip) 12.0 68 | ....\rule(0.0+0.0)x* 69 | ....\penalty 10000 70 | ....\glue 0.0 plus 0.2fill 71 | ....\glue 0.0 72 | ....\penalty -51 73 | ....\glue 13.0 plus 7.0 minus 8.0 74 | ....\glue(\parskip) 0.0 plus 1.0 75 | ....\glue(\parskip) 0.0 76 | ....\glue(\baselineskip) 12.15935 77 | ....\hbox(13.85776+2.89078)x416.54877, glue set 172.1394fil 78 | .....\glue(\leftskip) 0.0 plus 1.0fil 79 | .....\hbox(0.0+0.0)x0.0 80 | ......\glue 0.0 81 | ......\glue 0.0 82 | ......\glue -6.0 83 | ......\hbox(0.0+0.0)x0.0 84 | .......\special{color push gray 0} 85 | .......\special{color pop} 86 | ......\glue 6.0 87 | .....\penalty 0 88 | .....\TU/FandolSong(0)/b/n/18.06749 复 89 | .....\glue 0.0 plus 0.9078 90 | .....\TU/FandolSong(0)/b/n/18.06749 旦 91 | .....\glue 0.0 plus 0.9078 92 | .....\TU/FandolSong(0)/b/n/18.06749 大 93 | .....\glue 0.0 plus 0.9078 94 | .....\TU/FandolSong(0)/b/n/18.06749 学 95 | .....\kern -0.00017 96 | .....\kern 0.00017 97 | .....\penalty 10000 98 | .....\glue(\parfillskip) 0.0 99 | .....\glue(\rightskip) 0.0 plus 1.0fil 100 | ....\glue 0.0 plus -1.0 101 | ....\glue(\parskip) 0.0 plus 1.0 102 | ....\glue(\parskip) 0.0 103 | ....\glue(\baselineskip) 9.3047 104 | ....\hbox(13.82162+2.92693)x416.54877, glue set 126.97069fil 105 | .....\glue(\leftskip) 0.0 plus 1.0fil 106 | .....\hbox(0.0+0.0)x0.0 107 | .....\TU/FandolSong(0)/b/n/18.06749 学 108 | .....\glue 0.0 plus 0.9078 109 | .....\TU/FandolSong(0)/b/n/18.06749 位 110 | .....\glue 0.0 plus 0.9078 111 | .....\TU/FandolSong(0)/b/n/18.06749 论 112 | .....\glue 0.0 plus 0.9078 113 | .....\TU/FandolSong(0)/b/n/18.06749 文 114 | .....\glue 0.0 plus 0.9078 115 | .....\TU/FandolSong(0)/b/n/18.06749 独 116 | .....\glue 0.0 plus 0.9078 117 | .....\TU/FandolSong(0)/b/n/18.06749 创 118 | .....\glue 0.0 plus 0.9078 119 | .....\TU/FandolSong(0)/b/n/18.06749 性 120 | .....\glue 0.0 plus 0.9078 121 | .....\TU/FandolSong(0)/b/n/18.06749 声 122 | .....\glue 0.0 plus 0.9078 123 | .....\TU/FandolSong(0)/b/n/18.06749 明 124 | .....\kern -0.00017 125 | .....\kern 0.00017 126 | .....\penalty 10000 127 | .....\glue(\parfillskip) 0.0 128 | .....\glue(\rightskip) 0.0 plus 1.0fil 129 | ....\penalty -51 130 | ....\glue 13.0 plus 6.0 minus 8.0 131 | ....\rule(0.0+0.0)x* 132 | ....\penalty 10000 133 | ....\glue 11.38092 134 | ....\glue 0.0 135 | ....\glue(\parskip) 0.0 plus 1.0 136 | ....\glue(\parskip) 0.0 137 | ....\glue(\baselineskip) 13.63498 138 | ....\hbox(9.45532+2.32468)x416.54877, glue set - 0.27818 139 | .....\hbox(0.0+0.0)x24.09 140 | .....\TU/FandolSong(0)/m/it/12.045 本 141 | .....\glue 0.0 plus 0.59575 142 | .....\TU/FandolSong(0)/m/it/12.045 人 143 | .....\glue 0.0 plus 0.59575 144 | .....\TU/FandolSong(0)/m/it/12.045 郑 145 | .....\glue 0.0 plus 0.59575 146 | .....\TU/FandolSong(0)/m/it/12.045 重 147 | .....\glue 0.0 plus 0.59575 148 | .....\TU/FandolSong(0)/m/it/12.045 声 149 | .....\glue 0.0 plus 0.59575 150 | .....\TU/FandolSong(0)/m/it/12.045 明 151 | .....\penalty 10000 152 | .....\TU/FandolSong(0)/m/it/12.045 : 153 | .....\rule(0.0+0.0)x-8.39537 154 | .....\glue 8.39537 minus 6.0225 155 | .....\glue 0.0 plus 0.59575 156 | .....\TU/FandolSong(0)/m/it/12.045 所 157 | .....\glue 0.0 plus 0.59575 158 | .....\TU/FandolSong(0)/m/it/12.045 呈 159 | .....\glue 0.0 plus 0.59575 160 | .....\TU/FandolSong(0)/m/it/12.045 交 161 | .....\glue 0.0 plus 0.59575 162 | .....\TU/FandolSong(0)/m/it/12.045 的 163 | .....\glue 0.0 plus 0.59575 164 | .....\TU/FandolSong(0)/m/it/12.045 学 165 | .....\glue 0.0 plus 0.59575 166 | .....\TU/FandolSong(0)/m/it/12.045 位 167 | .....\glue 0.0 plus 0.59575 168 | .....\TU/FandolSong(0)/m/it/12.045 论 169 | .....\glue 0.0 plus 0.59575 170 | .....\TU/FandolSong(0)/m/it/12.045 文 171 | .....\penalty 10000 172 | .....\TU/FandolSong(0)/m/it/12.045 , 173 | .....\rule(0.0+0.0)x-8.33514 174 | .....\glue 8.33514 minus 6.0225 175 | .....\glue 0.0 plus 0.59575 176 | .....\TU/FandolSong(0)/m/it/12.045 是 177 | .....\glue 0.0 plus 0.59575 178 | .....\TU/FandolSong(0)/m/it/12.045 本 179 | .....\glue 0.0 plus 0.59575 180 | .....\TU/FandolSong(0)/m/it/12.045 人 181 | .....\glue 0.0 plus 0.59575 182 | .....\TU/FandolSong(0)/m/it/12.045 在 183 | .....\glue 0.0 plus 0.59575 184 | .....\TU/FandolSong(0)/m/it/12.045 导 185 | .....\glue 0.0 plus 0.59575 186 | .....\TU/FandolSong(0)/m/it/12.045 师 187 | .....\glue 0.0 plus 0.59575 188 | .....\TU/FandolSong(0)/m/it/12.045 的 189 | .....\glue 0.0 plus 0.59575 190 | .....\TU/FandolSong(0)/m/it/12.045 指 191 | .....\glue 0.0 plus 0.59575 192 | .....\TU/FandolSong(0)/m/it/12.045 导 193 | .....\glue 0.0 plus 0.59575 194 | .....\TU/FandolSong(0)/m/it/12.045 下 195 | .....\penalty 10000 196 | .....\TU/FandolSong(0)/m/it/12.045 , 197 | .....\rule(0.0+0.0)x-8.33514 198 | .....\glue 8.33514 minus 6.0225 199 | .....\glue 0.0 plus 0.59575 200 | .....\TU/FandolSong(0)/m/it/12.045 独 201 | .....\glue 0.0 plus 0.59575 202 | .....\TU/FandolSong(0)/m/it/12.045 立 203 | .....\glue 0.0 plus 0.59575 204 | .....\TU/FandolSong(0)/m/it/12.045 进 205 | .....\glue 0.0 plus 0.59575 206 | .....\TU/FandolSong(0)/m/it/12.045 行 207 | .....\glue 0.0 plus 0.59575 208 | .....\TU/FandolSong(0)/m/it/12.045 研 209 | .....\glue 0.0 plus 0.59575 210 | .....\TU/FandolSong(0)/m/it/12.045 究 211 | .....\glue(\rightskip) 0.0 212 | ....\penalty 150 213 | ....\glue(\baselineskip) 14.2854 214 | ....\hbox(9.40715+2.32468)x416.54877, glue set 0.38005 215 | .....\TU/FandolSong(0)/m/it/12.045 工 216 | .....\glue 0.0 plus 0.59575 217 | .....\TU/FandolSong(0)/m/it/12.045 作 218 | .....\glue 0.0 plus 0.59575 219 | .....\TU/FandolSong(0)/m/it/12.045 所 220 | .....\glue 0.0 plus 0.59575 221 | .....\TU/FandolSong(0)/m/it/12.045 取 222 | .....\glue 0.0 plus 0.59575 223 | .....\TU/FandolSong(0)/m/it/12.045 得 224 | .....\glue 0.0 plus 0.59575 225 | .....\TU/FandolSong(0)/m/it/12.045 的 226 | .....\glue 0.0 plus 0.59575 227 | .....\TU/FandolSong(0)/m/it/12.045 成 228 | .....\glue 0.0 plus 0.59575 229 | .....\TU/FandolSong(0)/m/it/12.045 果 230 | .....\penalty 10000 231 | .....\TU/FandolSong(0)/m/it/12.045 。 232 | .....\rule(0.0+0.0)x-7.75697 233 | .....\glue 7.75697 minus 6.02249 234 | .....\glue 0.0 plus 0.59575 235 | .....\TU/FandolSong(0)/m/it/12.045 论 236 | .....\glue 0.0 plus 0.59575 237 | .....\TU/FandolSong(0)/m/it/12.045 文 238 | .....\glue 0.0 plus 0.59575 239 | .....\TU/FandolSong(0)/m/it/12.045 中 240 | .....\glue 0.0 plus 0.59575 241 | .....\TU/FandolSong(0)/m/it/12.045 除 242 | .....\glue 0.0 plus 0.59575 243 | .....\TU/FandolSong(0)/m/it/12.045 特 244 | .....\glue 0.0 plus 0.59575 245 | .....\TU/FandolSong(0)/m/it/12.045 别 246 | .....\glue 0.0 plus 0.59575 247 | .....\TU/FandolSong(0)/m/it/12.045 标 248 | .....\glue 0.0 plus 0.59575 249 | .....\TU/FandolSong(0)/m/it/12.045 注 250 | .....\glue 0.0 plus 0.59575 251 | .....\TU/FandolSong(0)/m/it/12.045 的 252 | .....\glue 0.0 plus 0.59575 253 | .....\TU/FandolSong(0)/m/it/12.045 内 254 | .....\glue 0.0 plus 0.59575 255 | .....\TU/FandolSong(0)/m/it/12.045 容 256 | .....\glue 0.0 plus 0.59575 257 | .....\TU/FandolSong(0)/m/it/12.045 外 258 | .....\penalty 10000 259 | .....\TU/FandolSong(0)/m/it/12.045 , 260 | .....\rule(0.0+0.0)x-8.33514 261 | .....\glue 8.33514 minus 6.0225 262 | .....\glue 0.0 plus 0.59575 263 | .....\TU/FandolSong(0)/m/it/12.045 不 264 | .....\glue 0.0 plus 0.59575 265 | .....\TU/FandolSong(0)/m/it/12.045 包 266 | .....\glue 0.0 plus 0.59575 267 | .....\TU/FandolSong(0)/m/it/12.045 含 268 | .....\glue 0.0 plus 0.59575 269 | .....\TU/FandolSong(0)/m/it/12.045 任 270 | .....\glue 0.0 plus 0.59575 271 | .....\TU/FandolSong(0)/m/it/12.045 何 272 | .....\glue 0.0 plus 0.59575 273 | .....\TU/FandolSong(0)/m/it/12.045 其 274 | .....\glue 0.0 plus 0.59575 275 | .....\TU/FandolSong(0)/m/it/12.045 他 276 | .....\glue 0.0 plus 0.59575 277 | .....\TU/FandolSong(0)/m/it/12.045 个 278 | .....\glue 0.0 plus 0.59575 279 | .....\TU/FandolSong(0)/m/it/12.045 人 280 | .....\glue 0.0 plus 0.59575 281 | .....\TU/FandolSong(0)/m/it/12.045 或 282 | .....\glue 0.0 plus 0.59575 283 | .....\TU/FandolSong(0)/m/it/12.045 机 284 | .....\glue 0.0 plus 0.59575 285 | .....\TU/FandolSong(0)/m/it/12.045 构 286 | .....\glue(\rightskip) 0.0 287 | ....\glue(\baselineskip) 14.29745 288 | ....\hbox(9.3951+2.32468)x416.54877, glue set 0.38005 289 | .....\TU/FandolSong(0)/m/it/12.045 已 290 | .....\glue 0.0 plus 0.59575 291 | .....\TU/FandolSong(0)/m/it/12.045 经 292 | .....\glue 0.0 plus 0.59575 293 | .....\TU/FandolSong(0)/m/it/12.045 发 294 | .....\glue 0.0 plus 0.59575 295 | .....\TU/FandolSong(0)/m/it/12.045 表 296 | .....\glue 0.0 plus 0.59575 297 | .....\TU/FandolSong(0)/m/it/12.045 或 298 | .....\glue 0.0 plus 0.59575 299 | .....\TU/FandolSong(0)/m/it/12.045 撰 300 | .....\glue 0.0 plus 0.59575 301 | .....\TU/FandolSong(0)/m/it/12.045 写 302 | .....\glue 0.0 plus 0.59575 303 | .....\TU/FandolSong(0)/m/it/12.045 过 304 | .....\glue 0.0 plus 0.59575 305 | .....\TU/FandolSong(0)/m/it/12.045 的 306 | .....\glue 0.0 plus 0.59575 307 | .....\TU/FandolSong(0)/m/it/12.045 研 308 | .....\glue 0.0 plus 0.59575 309 | .....\TU/FandolSong(0)/m/it/12.045 究 310 | .....\glue 0.0 plus 0.59575 311 | .....\TU/FandolSong(0)/m/it/12.045 成 312 | .....\glue 0.0 plus 0.59575 313 | .....\TU/FandolSong(0)/m/it/12.045 果 314 | .....\penalty 10000 315 | .....\TU/FandolSong(0)/m/it/12.045 。 316 | .....\rule(0.0+0.0)x-7.75697 317 | .....\glue 7.75697 minus 6.02249 318 | .....\glue 0.0 plus 0.59575 319 | .....\TU/FandolSong(0)/m/it/12.045 对 320 | .....\glue 0.0 plus 0.59575 321 | .....\TU/FandolSong(0)/m/it/12.045 本 322 | .....\glue 0.0 plus 0.59575 323 | .....\TU/FandolSong(0)/m/it/12.045 研 324 | .....\glue 0.0 plus 0.59575 325 | .....\TU/FandolSong(0)/m/it/12.045 究 326 | .....\glue 0.0 plus 0.59575 327 | .....\TU/FandolSong(0)/m/it/12.045 做 328 | .....\glue 0.0 plus 0.59575 329 | .....\TU/FandolSong(0)/m/it/12.045 出 330 | .....\glue 0.0 plus 0.59575 331 | .....\TU/FandolSong(0)/m/it/12.045 重 332 | .....\glue 0.0 plus 0.59575 333 | .....\TU/FandolSong(0)/m/it/12.045 要 334 | .....\glue 0.0 plus 0.59575 335 | .....\TU/FandolSong(0)/m/it/12.045 贡 336 | .....\glue 0.0 plus 0.59575 337 | .....\TU/FandolSong(0)/m/it/12.045 献 338 | .....\glue 0.0 plus 0.59575 339 | .....\TU/FandolSong(0)/m/it/12.045 的 340 | .....\glue 0.0 plus 0.59575 341 | .....\TU/FandolSong(0)/m/it/12.045 个 342 | .....\glue 0.0 plus 0.59575 343 | .....\TU/FandolSong(0)/m/it/12.045 人 344 | .....\glue 0.0 plus 0.59575 345 | .....\TU/FandolSong(0)/m/it/12.045 和 346 | .....\glue 0.0 plus 0.59575 347 | .....\TU/FandolSong(0)/m/it/12.045 集 348 | .....\glue 0.0 plus 0.59575 349 | .....\TU/FandolSong(0)/m/it/12.045 体 350 | .....\penalty 10000 351 | .....\TU/FandolSong(0)/m/it/12.045 , 352 | .....\rule(0.0+0.0)x-8.33514 353 | .....\glue 8.33514 minus 6.0225 354 | .....\glue 0.0 plus 0.59575 355 | .....\TU/FandolSong(0)/m/it/12.045 均 356 | .....\glue 0.0 plus 0.59575 357 | .....\TU/FandolSong(0)/m/it/12.045 已 358 | .....\glue 0.0 plus 0.59575 359 | .....\TU/FandolSong(0)/m/it/12.045 在 360 | .....\glue(\rightskip) 0.0 361 | ....\penalty 150 362 | ....\glue(\baselineskip) 14.29745 363 | ....\hbox(9.3951+2.26445)x416.54877, glue set 50.9108fil 364 | .....\TU/FandolSong(0)/m/it/12.045 论 365 | .....\glue 0.0 plus 0.59575 366 | .....\TU/FandolSong(0)/m/it/12.045 文 367 | .....\glue 0.0 plus 0.59575 368 | .....\TU/FandolSong(0)/m/it/12.045 中 369 | .....\glue 0.0 plus 0.59575 370 | .....\TU/FandolSong(0)/m/it/12.045 作 371 | .....\glue 0.0 plus 0.59575 372 | .....\TU/FandolSong(0)/m/it/12.045 了 373 | .....\glue 0.0 plus 0.59575 374 | .....\TU/FandolSong(0)/m/it/12.045 明 375 | .....\glue 0.0 plus 0.59575 376 | .....\TU/FandolSong(0)/m/it/12.045 确 377 | .....\glue 0.0 plus 0.59575 378 | .....\TU/FandolSong(0)/m/it/12.045 的 379 | .....\glue 0.0 plus 0.59575 380 | .....\TU/FandolSong(0)/m/it/12.045 声 381 | .....\glue 0.0 plus 0.59575 382 | .....\TU/FandolSong(0)/m/it/12.045 明 383 | .....\glue 0.0 plus 0.59575 384 | .....\TU/FandolSong(0)/m/it/12.045 并 385 | .....\glue 0.0 plus 0.59575 386 | .....\TU/FandolSong(0)/m/it/12.045 表 387 | .....\glue 0.0 plus 0.59575 388 | .....\TU/FandolSong(0)/m/it/12.045 示 389 | .....\glue 0.0 plus 0.59575 390 | .....\TU/FandolSong(0)/m/it/12.045 了 391 | .....\glue 0.0 plus 0.59575 392 | .....\TU/FandolSong(0)/m/it/12.045 谢 393 | .....\glue 0.0 plus 0.59575 394 | .....\TU/FandolSong(0)/m/it/12.045 意 395 | .....\penalty 10000 396 | .....\TU/FandolSong(0)/m/it/12.045 。 397 | .....\rule(0.0+0.0)x-7.75697 398 | .....\glue 7.75697 minus 6.02249 399 | .....\glue 0.0 plus 0.59575 400 | .....\TU/FandolSong(0)/m/it/12.045 本 401 | .....\glue 0.0 plus 0.59575 402 | .....\TU/FandolSong(0)/m/it/12.045 声 403 | .....\glue 0.0 plus 0.59575 404 | .....\TU/FandolSong(0)/m/it/12.045 明 405 | .....\glue 0.0 plus 0.59575 406 | .....\TU/FandolSong(0)/m/it/12.045 的 407 | .....\glue 0.0 plus 0.59575 408 | .....\TU/FandolSong(0)/m/it/12.045 法 409 | .....\glue 0.0 plus 0.59575 410 | .....\TU/FandolSong(0)/m/it/12.045 律 411 | .....\glue 0.0 plus 0.59575 412 | .....\TU/FandolSong(0)/m/it/12.045 结 413 | .....\glue 0.0 plus 0.59575 414 | .....\TU/FandolSong(0)/m/it/12.045 果 415 | .....\glue 0.0 plus 0.59575 416 | .....\TU/FandolSong(0)/m/it/12.045 由 417 | .....\glue 0.0 plus 0.59575 418 | .....\TU/FandolSong(0)/m/it/12.045 本 419 | .....\glue 0.0 plus 0.59575 420 | .....\TU/FandolSong(0)/m/it/12.045 人 421 | .....\glue 0.0 plus 0.59575 422 | .....\TU/FandolSong(0)/m/it/12.045 承 423 | .....\glue 0.0 plus 0.59575 424 | .....\TU/FandolSong(0)/m/it/12.045 担 425 | .....\penalty 10000 426 | .....\TU/FandolSong(0)/m/it/12.045 。 427 | .....\rule(0.0+0.0)x-7.75697 428 | .....\kern 0.00047 429 | .....\kern -0.00047 430 | .....\kern -0.18753 431 | .....\kern 0.18753 432 | .....\penalty 10000 433 | .....\glue(\parfillskip) 0.0 plus 1.0fil 434 | .....\glue(\rightskip) 0.0 435 | ....\rule(0.0+0.0)x* 436 | ....\penalty 10000 437 | ....\glue 11.38092 438 | ....\glue 0.0 439 | ....\penalty -51 440 | ....\glue 13.0 plus 7.0 minus 8.0 441 | ....\glue(\parskip) 0.0 plus 1.0 442 | ....\glue(\parskip) 0.0 443 | ....\glue(\baselineskip) 14.36972 444 | ....\hbox(9.38306+2.71011)x416.54877, glue set 163.6038fil 445 | .....\glue(\leftskip) 0.0 plus 1.0fil 446 | .....\hbox(0.0+0.0)x0.0 447 | ......\glue 0.0 448 | ......\glue 0.0 449 | ......\glue -6.0 450 | ......\hbox(0.0+0.0)x0.0 451 | .......\special{color push gray 0} 452 | .......\special{color pop} 453 | ......\glue 6.0 454 | .....\penalty 0 455 | .....\TU/FandolSong(0)/m/it/12.045 作 456 | .....\glue 0.0 plus 0.59575 457 | .....\TU/FandolSong(0)/m/it/12.045 者 458 | .....\glue 0.0 plus 0.59575 459 | .....\TU/FandolSong(0)/m/it/12.045 签 460 | .....\glue 0.0 plus 0.59575 461 | .....\TU/FandolSong(0)/m/it/12.045 名 462 | .....\penalty 10000 463 | .....\TU/FandolSong(0)/m/it/12.045 : 464 | .....\rule(0.0+0.0)x-8.39537 465 | .....\kern 0.00052 466 | .....\kern -0.00052 467 | .....\kern -0.99649 468 | .....\kern 0.99649 469 | .....\glue 8.39537 minus 6.0225 470 | .....\hbox(0.0+2.71011)x72.26999 471 | ......\rule(-2.31012+2.71011)x72.26999 472 | .....\glue 12.045 473 | .....\TU/FandolSong(0)/m/it/12.045 日 474 | .....\glue 0.0 plus 0.59575 475 | .....\TU/FandolSong(0)/m/it/12.045 期 476 | .....\penalty 10000 477 | .....\TU/FandolSong(0)/m/it/12.045 : 478 | .....\rule(0.0+0.0)x-8.39537 479 | .....\kern 0.00052 480 | .....\kern -0.00052 481 | .....\kern -0.99649 482 | .....\kern 0.99649 483 | .....\glue 8.39537 minus 6.0225 484 | .....\hbox(0.0+2.71011)x72.26999 485 | ......\rule(-2.31012+2.71011)x72.26999 486 | .....\penalty 10000 487 | .....\glue(\parfillskip) 0.0 488 | .....\glue(\rightskip) 0.0 489 | ....\penalty -51 490 | ....\glue 13.0 plus 6.0 minus 8.0 491 | ....\rule(0.0+0.0)x* 492 | ....\penalty 10000 493 | ....\glue 0.0 plus 2.5fill 494 | ....\glue 0.0 495 | ....\penalty -51 496 | ....\glue 13.0 plus 7.0 minus 8.0 497 | ....\glue(\parskip) 0.0 plus 1.0 498 | ....\glue(\parskip) 0.0 499 | ....\glue(\baselineskip) 9.44923 500 | ....\hbox(13.85776+2.89078)x416.54877, glue set 172.1394fil 501 | .....\glue(\leftskip) 0.0 plus 1.0fil 502 | .....\hbox(0.0+0.0)x0.0 503 | ......\glue 0.0 504 | ......\glue 0.0 505 | ......\glue -6.0 506 | ......\hbox(0.0+0.0)x0.0 507 | .......\special{color push gray 0} 508 | .......\special{color pop} 509 | ......\glue 6.0 510 | .....\penalty 0 511 | .....\TU/FandolSong(0)/b/n/18.06749 复 512 | .....\glue 0.0 plus 0.9078 513 | .....\TU/FandolSong(0)/b/n/18.06749 旦 514 | .....\glue 0.0 plus 0.9078 515 | .....\TU/FandolSong(0)/b/n/18.06749 大 516 | .....\glue 0.0 plus 0.9078 517 | .....\TU/FandolSong(0)/b/n/18.06749 学 518 | .....\kern -0.00017 519 | .....\kern 0.00017 520 | .....\penalty 10000 521 | .....\glue(\parfillskip) 0.0 522 | .....\glue(\rightskip) 0.0 plus 1.0fil 523 | ....\glue 0.0 plus -1.0 524 | ....\glue(\parskip) 0.0 plus 1.0 525 | ....\glue(\parskip) 0.0 526 | ....\glue(\baselineskip) 9.32277 527 | ....\hbox(13.80356+2.92693)x416.54877, glue set 117.93694fil 528 | .....\glue(\leftskip) 0.0 plus 1.0fil 529 | .....\hbox(0.0+0.0)x0.0 530 | .....\TU/FandolSong(0)/b/n/18.06749 学 531 | .....\glue 0.0 plus 0.9078 532 | .....\TU/FandolSong(0)/b/n/18.06749 位 533 | .....\glue 0.0 plus 0.9078 534 | .....\TU/FandolSong(0)/b/n/18.06749 论 535 | .....\glue 0.0 plus 0.9078 536 | .....\TU/FandolSong(0)/b/n/18.06749 文 537 | .....\glue 0.0 plus 0.9078 538 | .....\TU/FandolSong(0)/b/n/18.06749 使 539 | .....\glue 0.0 plus 0.9078 540 | .....\TU/FandolSong(0)/b/n/18.06749 用 541 | .....\glue 0.0 plus 0.9078 542 | .....\TU/FandolSong(0)/b/n/18.06749 授 543 | .....\glue 0.0 plus 0.9078 544 | .....\TU/FandolSong(0)/b/n/18.06749 权 545 | .....\glue 0.0 plus 0.9078 546 | .....\TU/FandolSong(0)/b/n/18.06749 声 547 | .....\glue 0.0 plus 0.9078 548 | .....\TU/FandolSong(0)/b/n/18.06749 明 549 | .....\kern -0.00017 550 | .....\kern 0.00017 551 | .....\penalty 10000 552 | .....\glue(\parfillskip) 0.0 553 | .....\glue(\rightskip) 0.0 plus 1.0fil 554 | ....\penalty -51 555 | ....\glue 13.0 plus 6.0 minus 8.0 556 | ....\rule(0.0+0.0)x* 557 | ....\penalty 10000 558 | ....\glue 11.38092 559 | ....\glue 0.0 560 | ....\glue(\parskip) 0.0 plus 1.0 561 | ....\glue(\parskip) 0.0 562 | ....\glue(\baselineskip) 13.6952 563 | ....\hbox(9.3951+2.32468)x416.54877, glue set - 0.27818 564 | .....\hbox(0.0+0.0)x24.09 565 | .....\TU/FandolSong(0)/m/it/12.045 本 566 | .....\glue 0.0 plus 0.59575 567 | .....\TU/FandolSong(0)/m/it/12.045 人 568 | .....\glue 0.0 plus 0.59575 569 | .....\TU/FandolSong(0)/m/it/12.045 完 570 | .....\glue 0.0 plus 0.59575 571 | .....\TU/FandolSong(0)/m/it/12.045 全 572 | .....\glue 0.0 plus 0.59575 573 | .....\TU/FandolSong(0)/m/it/12.045 了 574 | .....\glue 0.0 plus 0.59575 575 | .....\TU/FandolSong(0)/m/it/12.045 解 576 | .....\glue 0.0 plus 0.59575 577 | .....\TU/FandolSong(0)/m/it/12.045 复 578 | .....\glue 0.0 plus 0.59575 579 | .....\TU/FandolSong(0)/m/it/12.045 旦 580 | .....\glue 0.0 plus 0.59575 581 | .....\TU/FandolSong(0)/m/it/12.045 大 582 | .....\glue 0.0 plus 0.59575 583 | .....\TU/FandolSong(0)/m/it/12.045 学 584 | .....\glue 0.0 plus 0.59575 585 | .....\TU/FandolSong(0)/m/it/12.045 有 586 | .....\glue 0.0 plus 0.59575 587 | .....\TU/FandolSong(0)/m/it/12.045 关 588 | .....\glue 0.0 plus 0.59575 589 | .....\TU/FandolSong(0)/m/it/12.045 收 590 | .....\glue 0.0 plus 0.59575 591 | .....\TU/FandolSong(0)/m/it/12.045 藏 592 | .....\glue 0.0 plus 0.59575 593 | .....\TU/FandolSong(0)/m/it/12.045 和 594 | .....\glue 0.0 plus 0.59575 595 | .....\TU/FandolSong(0)/m/it/12.045 利 596 | .....\glue 0.0 plus 0.59575 597 | .....\TU/FandolSong(0)/m/it/12.045 用 598 | .....\glue 0.0 plus 0.59575 599 | .....\TU/FandolSong(0)/m/it/12.045 博 600 | .....\glue 0.0 plus 0.59575 601 | .....\TU/FandolSong(0)/m/it/12.045 士 602 | .....\penalty 10000 603 | .....\TU/FandolSong(0)/m/it/12.045 、 604 | .....\rule(0.0+0.0)x-7.85333 605 | .....\glue 7.85333 minus 6.02249 606 | .....\glue 0.0 plus 0.59575 607 | .....\TU/FandolSong(0)/m/it/12.045 硕 608 | .....\glue 0.0 plus 0.59575 609 | .....\TU/FandolSong(0)/m/it/12.045 士 610 | .....\glue 0.0 plus 0.59575 611 | .....\TU/FandolSong(0)/m/it/12.045 学 612 | .....\glue 0.0 plus 0.59575 613 | .....\TU/FandolSong(0)/m/it/12.045 位 614 | .....\glue 0.0 plus 0.59575 615 | .....\TU/FandolSong(0)/m/it/12.045 论 616 | .....\glue 0.0 plus 0.59575 617 | .....\TU/FandolSong(0)/m/it/12.045 文 618 | .....\glue 0.0 plus 0.59575 619 | .....\TU/FandolSong(0)/m/it/12.045 的 620 | .....\glue 0.0 plus 0.59575 621 | .....\TU/FandolSong(0)/m/it/12.045 规 622 | .....\glue 0.0 plus 0.59575 623 | .....\TU/FandolSong(0)/m/it/12.045 定 624 | .....\penalty 10000 625 | .....\TU/FandolSong(0)/m/it/12.045 , 626 | .....\rule(0.0+0.0)x-8.33514 627 | .....\glue 8.33514 minus 6.0225 628 | .....\glue 0.0 plus 0.59575 629 | .....\TU/FandolSong(0)/m/it/12.045 即 630 | .....\penalty 10000 631 | .....\TU/FandolSong(0)/m/it/12.045 : 632 | .....\rule(0.0+0.0)x-8.39537 633 | .....\glue 8.39537 minus 6.0225 634 | .....\glue 0.0 plus 0.59575 635 | .....\TU/FandolSong(0)/m/it/12.045 学 636 | .....\glue(\rightskip) 0.0 637 | ....\penalty 150 638 | ....\glue(\baselineskip) 14.18904 639 | ....\hbox(9.50351+2.16809)x416.54877, glue set 0.38005 640 | .....\TU/FandolSong(0)/m/it/12.045 校 641 | .....\glue 0.0 plus 0.59575 642 | .....\TU/FandolSong(0)/m/it/12.045 有 643 | .....\glue 0.0 plus 0.59575 644 | .....\TU/FandolSong(0)/m/it/12.045 权 645 | .....\glue 0.0 plus 0.59575 646 | .....\TU/FandolSong(0)/m/it/12.045 收 647 | .....\glue 0.0 plus 0.59575 648 | .....\TU/FandolSong(0)/m/it/12.045 藏 649 | .....\penalty 10000 650 | .....\TU/FandolSong(0)/m/it/12.045 、 651 | .....\rule(0.0+0.0)x-7.85333 652 | .....\glue 7.85333 minus 6.02249 653 | .....\glue 0.0 plus 0.59575 654 | .....\TU/FandolSong(0)/m/it/12.045 使 655 | .....\glue 0.0 plus 0.59575 656 | .....\TU/FandolSong(0)/m/it/12.045 用 657 | .....\glue 0.0 plus 0.59575 658 | .....\TU/FandolSong(0)/m/it/12.045 并 659 | .....\glue 0.0 plus 0.59575 660 | .....\TU/FandolSong(0)/m/it/12.045 向 661 | .....\glue 0.0 plus 0.59575 662 | .....\TU/FandolSong(0)/m/it/12.045 国 663 | .....\glue 0.0 plus 0.59575 664 | .....\TU/FandolSong(0)/m/it/12.045 家 665 | .....\glue 0.0 plus 0.59575 666 | .....\TU/FandolSong(0)/m/it/12.045 有 667 | .....\glue 0.0 plus 0.59575 668 | .....\TU/FandolSong(0)/m/it/12.045 关 669 | .....\glue 0.0 plus 0.59575 670 | .....\TU/FandolSong(0)/m/it/12.045 部 671 | .....\glue 0.0 plus 0.59575 672 | .....\TU/FandolSong(0)/m/it/12.045 门 673 | .....\glue 0.0 plus 0.59575 674 | .....\TU/FandolSong(0)/m/it/12.045 或 675 | .....\glue 0.0 plus 0.59575 676 | .....\TU/FandolSong(0)/m/it/12.045 机 677 | .....\glue 0.0 plus 0.59575 678 | .....\TU/FandolSong(0)/m/it/12.045 构 679 | .....\glue 0.0 plus 0.59575 680 | .....\TU/FandolSong(0)/m/it/12.045 送 681 | .....\glue 0.0 plus 0.59575 682 | .....\TU/FandolSong(0)/m/it/12.045 交 683 | .....\glue 0.0 plus 0.59575 684 | .....\TU/FandolSong(0)/m/it/12.045 论 685 | .....\glue 0.0 plus 0.59575 686 | .....\TU/FandolSong(0)/m/it/12.045 文 687 | .....\glue 0.0 plus 0.59575 688 | .....\TU/FandolSong(0)/m/it/12.045 的 689 | .....\glue 0.0 plus 0.59575 690 | .....\TU/FandolSong(0)/m/it/12.045 印 691 | .....\glue 0.0 plus 0.59575 692 | .....\TU/FandolSong(0)/m/it/12.045 刷 693 | .....\glue 0.0 plus 0.59575 694 | .....\TU/FandolSong(0)/m/it/12.045 本 695 | .....\glue 0.0 plus 0.59575 696 | .....\TU/FandolSong(0)/m/it/12.045 和 697 | .....\glue 0.0 plus 0.59575 698 | .....\TU/FandolSong(0)/m/it/12.045 电 699 | .....\glue 0.0 plus 0.59575 700 | .....\TU/FandolSong(0)/m/it/12.045 子 701 | .....\glue 0.0 plus 0.59575 702 | .....\TU/FandolSong(0)/m/it/12.045 版 703 | .....\glue 0.0 plus 0.59575 704 | .....\TU/FandolSong(0)/m/it/12.045 本 705 | .....\penalty 10000 706 | .....\TU/FandolSong(0)/m/it/12.045 ; 707 | .....\rule(0.0+0.0)x-8.32309 708 | .....\glue 8.32309 minus 6.02249 709 | .....\glue 0.0 plus 0.59575 710 | .....\TU/FandolSong(0)/m/it/12.045 允 711 | .....\glue(\rightskip) 0.0 712 | ....\glue(\baselineskip) 14.45404 713 | ....\hbox(9.3951+2.32468)x416.54877, glue set - 0.27818 714 | .....\TU/FandolSong(0)/m/it/12.045 许 715 | .....\glue 0.0 plus 0.59575 716 | .....\TU/FandolSong(0)/m/it/12.045 论 717 | .....\glue 0.0 plus 0.59575 718 | .....\TU/FandolSong(0)/m/it/12.045 文 719 | .....\glue 0.0 plus 0.59575 720 | .....\TU/FandolSong(0)/m/it/12.045 被 721 | .....\glue 0.0 plus 0.59575 722 | .....\TU/FandolSong(0)/m/it/12.045 查 723 | .....\glue 0.0 plus 0.59575 724 | .....\TU/FandolSong(0)/m/it/12.045 阅 725 | .....\glue 0.0 plus 0.59575 726 | .....\TU/FandolSong(0)/m/it/12.045 和 727 | .....\glue 0.0 plus 0.59575 728 | .....\TU/FandolSong(0)/m/it/12.045 借 729 | .....\glue 0.0 plus 0.59575 730 | .....\TU/FandolSong(0)/m/it/12.045 阅 731 | .....\penalty 10000 732 | .....\TU/FandolSong(0)/m/it/12.045 ; 733 | .....\rule(0.0+0.0)x-8.32309 734 | .....\glue 8.32309 minus 6.02249 735 | .....\glue 0.0 plus 0.59575 736 | .....\TU/FandolSong(0)/m/it/12.045 学 737 | .....\glue 0.0 plus 0.59575 738 | .....\TU/FandolSong(0)/m/it/12.045 校 739 | .....\glue 0.0 plus 0.59575 740 | .....\TU/FandolSong(0)/m/it/12.045 可 741 | .....\glue 0.0 plus 0.59575 742 | .....\TU/FandolSong(0)/m/it/12.045 以 743 | .....\glue 0.0 plus 0.59575 744 | .....\TU/FandolSong(0)/m/it/12.045 公 745 | .....\glue 0.0 plus 0.59575 746 | .....\TU/FandolSong(0)/m/it/12.045 布 747 | .....\glue 0.0 plus 0.59575 748 | .....\TU/FandolSong(0)/m/it/12.045 论 749 | .....\glue 0.0 plus 0.59575 750 | .....\TU/FandolSong(0)/m/it/12.045 文 751 | .....\glue 0.0 plus 0.59575 752 | .....\TU/FandolSong(0)/m/it/12.045 的 753 | .....\glue 0.0 plus 0.59575 754 | .....\TU/FandolSong(0)/m/it/12.045 全 755 | .....\glue 0.0 plus 0.59575 756 | .....\TU/FandolSong(0)/m/it/12.045 部 757 | .....\glue 0.0 plus 0.59575 758 | .....\TU/FandolSong(0)/m/it/12.045 或 759 | .....\glue 0.0 plus 0.59575 760 | .....\TU/FandolSong(0)/m/it/12.045 部 761 | .....\glue 0.0 plus 0.59575 762 | .....\TU/FandolSong(0)/m/it/12.045 分 763 | .....\glue 0.0 plus 0.59575 764 | .....\TU/FandolSong(0)/m/it/12.045 内 765 | .....\glue 0.0 plus 0.59575 766 | .....\TU/FandolSong(0)/m/it/12.045 容 767 | .....\penalty 10000 768 | .....\TU/FandolSong(0)/m/it/12.045 , 769 | .....\rule(0.0+0.0)x-8.33514 770 | .....\glue 8.33514 minus 6.0225 771 | .....\glue 0.0 plus 0.59575 772 | .....\TU/FandolSong(0)/m/it/12.045 可 773 | .....\glue 0.0 plus 0.59575 774 | .....\TU/FandolSong(0)/m/it/12.045 以 775 | .....\glue 0.0 plus 0.59575 776 | .....\TU/FandolSong(0)/m/it/12.045 采 777 | .....\glue 0.0 plus 0.59575 778 | .....\TU/FandolSong(0)/m/it/12.045 用 779 | .....\glue 0.0 plus 0.59575 780 | .....\TU/FandolSong(0)/m/it/12.045 影 781 | .....\glue 0.0 plus 0.59575 782 | .....\TU/FandolSong(0)/m/it/12.045 印 783 | .....\penalty 10000 784 | .....\TU/FandolSong(0)/m/it/12.045 、 785 | .....\rule(0.0+0.0)x-7.85333 786 | .....\glue 7.85333 minus 6.02249 787 | .....\glue 0.0 plus 0.59575 788 | .....\TU/FandolSong(0)/m/it/12.045 缩 789 | .....\glue(\rightskip) 0.0 790 | ....\penalty 150 791 | ....\glue(\baselineskip) 14.22519 792 | ....\hbox(9.46736+2.21626)x416.54877, glue set 75.0008fil 793 | .....\TU/FandolSong(0)/m/it/12.045 印 794 | .....\glue 0.0 plus 0.59575 795 | .....\TU/FandolSong(0)/m/it/12.045 或 796 | .....\glue 0.0 plus 0.59575 797 | .....\TU/FandolSong(0)/m/it/12.045 其 798 | .....\glue 0.0 plus 0.59575 799 | .....\TU/FandolSong(0)/m/it/12.045 它 800 | .....\glue 0.0 plus 0.59575 801 | .....\TU/FandolSong(0)/m/it/12.045 复 802 | .....\glue 0.0 plus 0.59575 803 | .....\TU/FandolSong(0)/m/it/12.045 制 804 | .....\glue 0.0 plus 0.59575 805 | .....\TU/FandolSong(0)/m/it/12.045 手 806 | .....\glue 0.0 plus 0.59575 807 | .....\TU/FandolSong(0)/m/it/12.045 段 808 | .....\glue 0.0 plus 0.59575 809 | .....\TU/FandolSong(0)/m/it/12.045 保 810 | .....\glue 0.0 plus 0.59575 811 | .....\TU/FandolSong(0)/m/it/12.045 存 812 | .....\glue 0.0 plus 0.59575 813 | .....\TU/FandolSong(0)/m/it/12.045 论 814 | .....\glue 0.0 plus 0.59575 815 | .....\TU/FandolSong(0)/m/it/12.045 文 816 | .....\penalty 10000 817 | .....\TU/FandolSong(0)/m/it/12.045 。 818 | .....\rule(0.0+0.0)x-7.75697 819 | .....\glue 7.75697 minus 6.02249 820 | .....\glue 0.0 plus 0.59575 821 | .....\TU/FandolSong(0)/m/it/12.045 涉 822 | .....\glue 0.0 plus 0.59575 823 | .....\TU/FandolSong(0)/m/it/12.045 密 824 | .....\glue 0.0 plus 0.59575 825 | .....\TU/FandolSong(0)/m/it/12.045 学 826 | .....\glue 0.0 plus 0.59575 827 | .....\TU/FandolSong(0)/m/it/12.045 位 828 | .....\glue 0.0 plus 0.59575 829 | .....\TU/FandolSong(0)/m/it/12.045 论 830 | .....\glue 0.0 plus 0.59575 831 | .....\TU/FandolSong(0)/m/it/12.045 文 832 | .....\glue 0.0 plus 0.59575 833 | .....\TU/FandolSong(0)/m/it/12.045 在 834 | .....\glue 0.0 plus 0.59575 835 | .....\TU/FandolSong(0)/m/it/12.045 解 836 | .....\glue 0.0 plus 0.59575 837 | .....\TU/FandolSong(0)/m/it/12.045 密 838 | .....\glue 0.0 plus 0.59575 839 | .....\TU/FandolSong(0)/m/it/12.045 后 840 | .....\glue 0.0 plus 0.59575 841 | .....\TU/FandolSong(0)/m/it/12.045 遵 842 | .....\glue 0.0 plus 0.59575 843 | .....\TU/FandolSong(0)/m/it/12.045 守 844 | .....\glue 0.0 plus 0.59575 845 | .....\TU/FandolSong(0)/m/it/12.045 此 846 | .....\glue 0.0 plus 0.59575 847 | .....\TU/FandolSong(0)/m/it/12.045 规 848 | .....\glue 0.0 plus 0.59575 849 | .....\TU/FandolSong(0)/m/it/12.045 定 850 | .....\penalty 10000 851 | .....\TU/FandolSong(0)/m/it/12.045 。 852 | .....\rule(0.0+0.0)x-7.75697 853 | .....\kern 0.00047 854 | .....\kern -0.00047 855 | .....\kern -0.18753 856 | .....\kern 0.18753 857 | .....\penalty 10000 858 | .....\glue(\parfillskip) 0.0 plus 1.0fil 859 | .....\glue(\rightskip) 0.0 860 | ....\rule(0.0+0.0)x* 861 | ....\penalty 10000 862 | ....\glue 11.38092 863 | ....\glue 0.0 864 | ....\penalty -51 865 | ....\glue 13.0 plus 7.0 minus 8.0 866 | ....\glue(\parskip) 0.0 plus 1.0 867 | ....\glue(\parskip) 0.0 868 | ....\glue(\baselineskip) 14.41791 869 | ....\hbox(9.38306+2.71011)x416.54877, glue set 19.06383fil 870 | .....\glue(\leftskip) 0.0 plus 1.0fil 871 | .....\hbox(0.0+0.0)x0.0 872 | ......\glue 0.0 873 | ......\glue 0.0 874 | ......\glue -6.0 875 | ......\hbox(0.0+0.0)x0.0 876 | .......\special{color push gray 0} 877 | .......\special{color pop} 878 | ......\glue 6.0 879 | .....\penalty 0 880 | .....\TU/FandolSong(0)/m/it/12.045 作 881 | .....\glue 0.0 plus 0.59575 882 | .....\TU/FandolSong(0)/m/it/12.045 者 883 | .....\glue 0.0 plus 0.59575 884 | .....\TU/FandolSong(0)/m/it/12.045 签 885 | .....\glue 0.0 plus 0.59575 886 | .....\TU/FandolSong(0)/m/it/12.045 名 887 | .....\penalty 10000 888 | .....\TU/FandolSong(0)/m/it/12.045 : 889 | .....\rule(0.0+0.0)x-8.39537 890 | .....\kern 0.00052 891 | .....\kern -0.00052 892 | .....\kern -0.99649 893 | .....\kern 0.99649 894 | .....\glue 8.39537 minus 6.0225 895 | .....\hbox(0.0+2.71011)x72.26999 896 | ......\rule(-2.31012+2.71011)x72.26999 897 | .....\glue 12.045 898 | .....\TU/FandolSong(0)/m/it/12.045 导 899 | .....\glue 0.0 plus 0.59575 900 | .....\TU/FandolSong(0)/m/it/12.045 师 901 | .....\glue 0.0 plus 0.59575 902 | .....\TU/FandolSong(0)/m/it/12.045 签 903 | .....\glue 0.0 plus 0.59575 904 | .....\TU/FandolSong(0)/m/it/12.045 名 905 | .....\penalty 10000 906 | .....\TU/FandolSong(0)/m/it/12.045 : 907 | .....\rule(0.0+0.0)x-8.39537 908 | .....\kern 0.00052 909 | .....\kern -0.00052 910 | .....\kern -0.99649 911 | .....\kern 0.99649 912 | .....\glue 8.39537 minus 6.0225 913 | .....\hbox(0.0+2.71011)x72.26999 914 | ......\rule(-2.31012+2.71011)x72.26999 915 | .....\glue 12.045 916 | .....\TU/FandolSong(0)/m/it/12.045 日 917 | .....\glue 0.0 plus 0.59575 918 | .....\TU/FandolSong(0)/m/it/12.045 期 919 | .....\penalty 10000 920 | .....\TU/FandolSong(0)/m/it/12.045 : 921 | .....\rule(0.0+0.0)x-8.39537 922 | .....\kern 0.00052 923 | .....\kern -0.00052 924 | .....\kern -0.99649 925 | .....\kern 0.99649 926 | .....\glue 8.39537 minus 6.0225 927 | .....\hbox(0.0+2.71011)x72.26999 928 | ......\rule(-2.31012+2.71011)x72.26999 929 | .....\penalty 10000 930 | .....\glue(\parfillskip) 0.0 931 | .....\glue(\rightskip) 0.0 932 | ....\penalty -51 933 | ....\glue 13.0 plus 6.0 minus 8.0 934 | ....\rule(0.0+0.0)x* 935 | ....\penalty 10000 936 | ....\glue 0.0 937 | ....\glue 0.0 938 | ....\rule(0.0+0.0)x* 939 | ....\penalty 10000 940 | ....\glue 0.0 plus 2.5fill 941 | ....\glue 0.0 942 | ....\glue 0.0 plus 1.0fil 943 | ....\glue 0.0 944 | ...\glue(\baselineskip) 30.0 945 | ...\hbox(0.0+0.0)x416.54877 946 | ....\special{color push gray 0} 947 | ....\hbox(0.0+0.0)x416.54877 948 | ....\special{color pop} 949 | -------------------------------------------------------------------------------- /testfiles/06-logo.luatex.tlg: -------------------------------------------------------------------------------- 1 | This is a generated file for the l3build validation system. 2 | Don't change this file in any respect. 3 | ============================================================ 4 | Checking compilation. No log file data expected. 5 | [1 6 | ] [2] 7 | ============================================================ 8 | -------------------------------------------------------------------------------- /testfiles/06-logo.lvt: -------------------------------------------------------------------------------- 1 | % Copyright (C) 2018 by Xiangdong Zeng 2 | 3 | \input{fduthesis-regression-test} 4 | 5 | \documentclass{article} 6 | \usepackage{fdulogo} 7 | 8 | \begin{document} 9 | 10 | \START 11 | 12 | \SEPARATOR 13 | 14 | \CHECKCOMPILATION 15 | 16 | \fduname[x=0.2pt, y=0.2pt] 17 | 18 | \fduemblem[x=0.2pt, y=0.2pt] 19 | 20 | \fduemblem+[x=0.2pt, y=0.2pt] 21 | 22 | \fduemblem*[x=0.2pt, y=0.2pt, color=FudanRed] 23 | 24 | \fduemblem+*[x=0.2pt, y=0.2pt, color=FudanBlue] 25 | 26 | \fdumotto[x=0.2pt, y=0.2pt] 27 | 28 | \clearpage 29 | 30 | \SEPARATOR 31 | 32 | \END 33 | 34 | \end{document} 35 | -------------------------------------------------------------------------------- /testfiles/06-logo.tlg: -------------------------------------------------------------------------------- 1 | This is a generated file for the l3build validation system. 2 | Don't change this file in any respect. 3 | ============================================================ 4 | Checking compilation. No log file data expected. 5 | [1 6 | ] [2] 7 | ============================================================ 8 | -------------------------------------------------------------------------------- /testfiles/support/fduthesis-regression-test.tex: -------------------------------------------------------------------------------- 1 | % Copyright (C) 2018, 2019 by Xiangdong Zeng 2 | 3 | \input{regression-test} 4 | 5 | \ExplSyntaxOn 6 | \debug_on:n { check-declarations } 7 | \ExplSyntaxOff 8 | 9 | \def\MAKECOVERFALSE{% 10 | \fdusetup{style/auto-make-cover = false}} 11 | 12 | \def\DEFAULTSETUP{% 13 | \fdusetup{ 14 | info = { 15 | title = {这是一个论文标题}, 16 | title* = {This is a Thesis Title}, 17 | date = {2019 年 1 月 1 日}, 18 | author = {某某}, 19 | supervisor = {某某某\quad 教授}, 20 | major = {物理学}, 21 | department = {物理系}, 22 | student-id = {12300000000}, 23 | instructors = { 24 | {张\quad 三 \quad 教\quad 授}, 25 | {王五六 \quad 教\quad 授}, 26 | {李\quad 四 \quad 副教授} 27 | }, 28 | keywords = {关键词一, 关键词二, 关键词三}, 29 | keywords* = {Keyword 1, keyword 2, keyword 3}, 30 | clc = {TS803.23} 31 | } 32 | } 33 | } 34 | 35 | % To skip log for font setup, PDF strings etc. 36 | \ExplSyntaxOn 37 | \cs_set:Npn \EMPTYPAGE 38 | { 39 | \clist_map_inline:nn 40 | { \normalfont, \sffamily, \ttfamily, \bfseries, \itshape } 41 | { \mbox { ##1 X ~ 字} ~ } 42 | \clist_map_inline:nn 43 | { 44 | \tiny, \scriptsize, \footnotesize, \small, \normalsize, 45 | \large, \Large, \LARGE, \huge, \HUGE 46 | } 47 | { \mbox { ##1 $\sin x^{x^x}$ } ~ } 48 | \newpage 49 | } 50 | \ExplSyntaxOff 51 | 52 | % For testing entire page. 53 | \def\COMPLETEPAGE{\vfil\break} 54 | 55 | \def\CHECKCOMPILATION{% 56 | \TYPE{Checking compilation. No log file data expected.}} 57 | -------------------------------------------------------------------------------- /testfiles/support/fudan-emblem-new.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stone-zeng/fduthesis/af18bb38a6d937e9734e9b9cf19daccd45ba4061/testfiles/support/fudan-emblem-new.pdf -------------------------------------------------------------------------------- /testfiles/support/fudan-emblem.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stone-zeng/fduthesis/af18bb38a6d937e9734e9b9cf19daccd45ba4061/testfiles/support/fudan-emblem.pdf -------------------------------------------------------------------------------- /testfiles/support/fudan-name.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stone-zeng/fduthesis/af18bb38a6d937e9734e9b9cf19daccd45ba4061/testfiles/support/fudan-name.pdf -------------------------------------------------------------------------------- /testfiles/support/luaotfload.conf: -------------------------------------------------------------------------------- 1 | [run] 2 | log-level = -1 3 | --------------------------------------------------------------------------------