├── wiki
├── public
│ ├── bithesis.png
│ ├── favicon.ico
│ ├── favicon-16x16.png
│ ├── favicon-32x32.png
│ ├── apple-touch-icon.png
│ ├── android-chrome-192x192.png
│ ├── android-chrome-512x512.png
│ ├── assets
│ │ └── watermark
│ │ │ ├── background-pdf.pdf
│ │ │ └── background-word.pdf
│ └── site.webmanifest
├── assets
│ ├── cover-dash.png
│ ├── hyphen-tex.png
│ ├── longtable.png
│ ├── biber-backend.png
│ ├── clean-texpage.png
│ ├── math-boldface.png
│ ├── output-biber.png
│ ├── vs-code-log.png
│ ├── clean-VSCode-a.png
│ ├── clean-VSCode-b.png
│ ├── clean-overleaf.png
│ ├── hyphen-diffpdf.jpg
│ ├── symbols-variant.png
│ ├── vs-code-compile.png
│ ├── vs-code-config.png
│ ├── bib-split-chapter.jpg
│ ├── bib-split-outline.png
│ ├── biber-winunicode.png
│ ├── clean-TeXstudio-1.png
│ ├── clean-TeXstudio-2.png
│ ├── equation-sep-wide.png
│ ├── float-page-figure.png
│ ├── float-page-table.png
│ ├── install-tl
│ │ ├── basic.png
│ │ ├── close.png
│ │ ├── advanced.png
│ │ ├── finished.png
│ │ └── mac-basic-tex.png
│ ├── watermark-diffpdf.png
│ ├── watermark-preview.png
│ ├── weird-font-comma.png
│ ├── weird-font-oblique.png
│ ├── weird-font-table.png
│ ├── equation-sep-narrow.png
│ ├── image-gray-line-img.png
│ ├── image-gray-line-pdf.jpg
│ ├── overleaf-false-error.png
│ ├── screenshot-undergrad.png
│ ├── writing-with-vscode.png
│ ├── download-texlive-mirror.png
│ ├── output-xelatex-latexmk.png
│ ├── templates-from-release.png
│ ├── codicon-go-to-file.svg
│ ├── word-font-ctex-fontset-windows.def
│ ├── chinese.svg
│ └── english.svg
├── guide
│ ├── troubleshooting.md
│ ├── intro.md
│ ├── downloading-using-templates.md
│ ├── commands.md
│ ├── acknowledgements.md
│ ├── resources.md
│ ├── converting-to-word.md
│ ├── ask-computer.md
│ └── preface.md
├── faq
│ ├── conclusion-section.md
│ ├── pub-disorder.md
│ ├── empty-twoside.md
│ ├── symbols-bracket.md
│ ├── vs-code-log.md
│ ├── blind-peer-review.md
│ ├── bib-compress.md
│ ├── bitbook-not-found.md
│ ├── bithesis-dtx.md
│ ├── edit-cls.md
│ ├── float-page.md
│ ├── enumitem-nosep.md
│ ├── where-doc.md
│ ├── clear-double-page.md
│ ├── special-paper-translation.md
│ ├── hyphen.md
│ ├── false-duplicate.md
│ ├── cover-dash.md
│ ├── equation-sep.md
│ ├── gb7714-not-found.md
│ ├── pub-manual.md
│ ├── bib-author.md
│ ├── image-gray-line.md
│ ├── bib-url.md
│ ├── bib-keyword.md
│ ├── overleaf-false-error.md
│ ├── clear-double-page-style.md
│ ├── null-page.md
│ ├── font-not-found.md
│ ├── edit-const.md
│ ├── bithesis-version.md
│ ├── biber-backend.md
│ ├── index.md
│ ├── symbols-variant.md
│ ├── clean.md
│ ├── weird-font.md
│ ├── array-stretch.md
│ ├── bib-comma.md
│ ├── longtable.md
│ ├── bib-cite-author.md
│ ├── char-missing.md
│ ├── biber-perl-cache.md
│ ├── compiler-xelatex.md
│ ├── bib-split.md
│ ├── subsubsection.md
│ ├── bitsetup.md
│ ├── pub-author-an.md
│ ├── bib-sort.md
│ ├── algorithm.md
│ ├── autoref-name.md
│ ├── watermark.md
│ ├── bib-conference.md
│ ├── minted.md
│ ├── slow.md
│ ├── word-font.md
│ ├── math-font.md
│ └── bib-entry.md
├── .vitepress
│ ├── theme
│ │ ├── faq.data.ts
│ │ ├── index.ts
│ │ ├── util.ts
│ │ ├── contributors.data.ts
│ │ ├── Layout.vue
│ │ ├── FAQList.vue
│ │ ├── news.data.ts
│ │ ├── Contribution.vue
│ │ ├── custom.css
│ │ ├── link_render.ts
│ │ ├── PubAuthorAnnotation.vue
│ │ ├── contributors_data.ts
│ │ ├── faq_data.ts
│ │ └── BITSetupExample.vue
│ ├── util.ts
│ ├── naive-ui-adapter
│ │ ├── config.ts
│ │ └── theme.ts
│ └── sitemap_page.ts
├── news
│ ├── 2026.md
│ ├── index.md
│ ├── 2024.md
│ ├── 2021.md
│ ├── 2023.md
│ └── 2025.md
├── video
│ ├── episode-1.md
│ ├── episode-6.md
│ ├── episode-2.md
│ ├── episode-5.md
│ ├── episode-4.md
│ ├── intro.md
│ └── episode-3.md
└── index.md
├── .gitignore
├── .prettierignore
├── context7.json
├── .prettierrc
├── .eslintrc.js
├── .github
├── workflows
│ ├── autofix.yml
│ ├── push-to-everything411-repo.yml
│ └── test.yml
├── lychee.toml
└── stale.yml
├── renovate.json
├── package.json
├── README.md
└── assets
├── chinese.svg
└── english.svg
/wiki/public/bithesis.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/public/bithesis.png
--------------------------------------------------------------------------------
/wiki/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/public/favicon.ico
--------------------------------------------------------------------------------
/wiki/assets/cover-dash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/assets/cover-dash.png
--------------------------------------------------------------------------------
/wiki/assets/hyphen-tex.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/assets/hyphen-tex.png
--------------------------------------------------------------------------------
/wiki/assets/longtable.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/assets/longtable.png
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | wiki/.vitepress/dist
3 | .DS_Store
4 | wiki/.vitepress/cache
5 | .lycheecache
6 |
--------------------------------------------------------------------------------
/wiki/assets/biber-backend.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/assets/biber-backend.png
--------------------------------------------------------------------------------
/wiki/assets/clean-texpage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/assets/clean-texpage.png
--------------------------------------------------------------------------------
/wiki/assets/math-boldface.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/assets/math-boldface.png
--------------------------------------------------------------------------------
/wiki/assets/output-biber.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/assets/output-biber.png
--------------------------------------------------------------------------------
/wiki/assets/vs-code-log.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/assets/vs-code-log.png
--------------------------------------------------------------------------------
/wiki/public/favicon-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/public/favicon-16x16.png
--------------------------------------------------------------------------------
/wiki/public/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/public/favicon-32x32.png
--------------------------------------------------------------------------------
/wiki/assets/clean-VSCode-a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/assets/clean-VSCode-a.png
--------------------------------------------------------------------------------
/wiki/assets/clean-VSCode-b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/assets/clean-VSCode-b.png
--------------------------------------------------------------------------------
/wiki/assets/clean-overleaf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/assets/clean-overleaf.png
--------------------------------------------------------------------------------
/wiki/assets/hyphen-diffpdf.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/assets/hyphen-diffpdf.jpg
--------------------------------------------------------------------------------
/wiki/assets/symbols-variant.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/assets/symbols-variant.png
--------------------------------------------------------------------------------
/wiki/assets/vs-code-compile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/assets/vs-code-compile.png
--------------------------------------------------------------------------------
/wiki/assets/vs-code-config.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/assets/vs-code-config.png
--------------------------------------------------------------------------------
/wiki/assets/bib-split-chapter.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/assets/bib-split-chapter.jpg
--------------------------------------------------------------------------------
/wiki/assets/bib-split-outline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/assets/bib-split-outline.png
--------------------------------------------------------------------------------
/wiki/assets/biber-winunicode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/assets/biber-winunicode.png
--------------------------------------------------------------------------------
/wiki/assets/clean-TeXstudio-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/assets/clean-TeXstudio-1.png
--------------------------------------------------------------------------------
/wiki/assets/clean-TeXstudio-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/assets/clean-TeXstudio-2.png
--------------------------------------------------------------------------------
/wiki/assets/equation-sep-wide.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/assets/equation-sep-wide.png
--------------------------------------------------------------------------------
/wiki/assets/float-page-figure.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/assets/float-page-figure.png
--------------------------------------------------------------------------------
/wiki/assets/float-page-table.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/assets/float-page-table.png
--------------------------------------------------------------------------------
/wiki/assets/install-tl/basic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/assets/install-tl/basic.png
--------------------------------------------------------------------------------
/wiki/assets/install-tl/close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/assets/install-tl/close.png
--------------------------------------------------------------------------------
/wiki/assets/watermark-diffpdf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/assets/watermark-diffpdf.png
--------------------------------------------------------------------------------
/wiki/assets/watermark-preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/assets/watermark-preview.png
--------------------------------------------------------------------------------
/wiki/assets/weird-font-comma.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/assets/weird-font-comma.png
--------------------------------------------------------------------------------
/wiki/assets/weird-font-oblique.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/assets/weird-font-oblique.png
--------------------------------------------------------------------------------
/wiki/assets/weird-font-table.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/assets/weird-font-table.png
--------------------------------------------------------------------------------
/wiki/public/apple-touch-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/public/apple-touch-icon.png
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 | /pnpm-lock.yaml
2 | /node_modules
3 | /wiki/.vitepress/dist
4 | /wiki/.vitepress/cache
5 |
6 | .DS_Store
7 |
--------------------------------------------------------------------------------
/wiki/assets/equation-sep-narrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/assets/equation-sep-narrow.png
--------------------------------------------------------------------------------
/wiki/assets/image-gray-line-img.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/assets/image-gray-line-img.png
--------------------------------------------------------------------------------
/wiki/assets/image-gray-line-pdf.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/assets/image-gray-line-pdf.jpg
--------------------------------------------------------------------------------
/wiki/assets/install-tl/advanced.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/assets/install-tl/advanced.png
--------------------------------------------------------------------------------
/wiki/assets/install-tl/finished.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/assets/install-tl/finished.png
--------------------------------------------------------------------------------
/wiki/assets/overleaf-false-error.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/assets/overleaf-false-error.png
--------------------------------------------------------------------------------
/wiki/assets/screenshot-undergrad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/assets/screenshot-undergrad.png
--------------------------------------------------------------------------------
/wiki/assets/writing-with-vscode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/assets/writing-with-vscode.png
--------------------------------------------------------------------------------
/wiki/guide/troubleshooting.md:
--------------------------------------------------------------------------------
1 | ---
2 | redirect-to: /faq/
3 | ---
4 |
5 | # 🥑 疑难杂症
6 |
7 | 已拆分到[单独页面](../faq/index.md)。
8 |
--------------------------------------------------------------------------------
/context7.json:
--------------------------------------------------------------------------------
1 | {
2 | "url": "https://context7.com/bitnp/bithesis-wiki",
3 | "public_key": "pk_7GeEl3S2LjF5GU4qBXXmX"
4 | }
5 |
--------------------------------------------------------------------------------
/wiki/assets/download-texlive-mirror.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/assets/download-texlive-mirror.png
--------------------------------------------------------------------------------
/wiki/assets/output-xelatex-latexmk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/assets/output-xelatex-latexmk.png
--------------------------------------------------------------------------------
/wiki/assets/templates-from-release.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/assets/templates-from-release.png
--------------------------------------------------------------------------------
/wiki/public/android-chrome-192x192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/public/android-chrome-192x192.png
--------------------------------------------------------------------------------
/wiki/public/android-chrome-512x512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/public/android-chrome-512x512.png
--------------------------------------------------------------------------------
/wiki/assets/install-tl/mac-basic-tex.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/assets/install-tl/mac-basic-tex.png
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "trailingComma": "es5",
3 | "tabWidth": 2,
4 | "semi": false,
5 | "singleQuote": true,
6 | "printWidth": 120
7 | }
8 |
--------------------------------------------------------------------------------
/wiki/public/assets/watermark/background-pdf.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/public/assets/watermark/background-pdf.pdf
--------------------------------------------------------------------------------
/wiki/public/assets/watermark/background-word.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITNP/BIThesis-wiki/HEAD/wiki/public/assets/watermark/background-word.pdf
--------------------------------------------------------------------------------
/wiki/faq/conclusion-section.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag: par
3 | ---
4 |
5 | # 结论里怎么加 section?
6 |
7 | 学校要求结论不加章号,导致结论里的 section 也无法编号。
8 |
9 | 建议给`\section`加星号,放弃编号。
10 |
11 | ```latex
12 | \section*{总结}
13 |
14 | \section*{展望}
15 | ```
16 |
--------------------------------------------------------------------------------
/wiki/.vitepress/theme/faq.data.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * FAQ list, to be used at runtime.
3 | */
4 |
5 | import { factory, type FAQItem } from './faq_data'
6 |
7 | declare const data: FAQItem[]
8 | export { data }
9 |
10 | export default factory()
11 |
--------------------------------------------------------------------------------
/wiki/faq/pub-disorder.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag:
3 | - pub
4 | - bithesis
5 | ---
6 |
7 | # 成果清单编号顺序错乱
8 |
9 | 请[清除缓存](./clean.md)重新编译。
10 |
11 | ## 现象
12 |
13 | 1. 之前按统一列表编译过「攻读学位期间发表论文与研究成果清单」。
14 | 2. 现改为多个列表,能编译,但编号乱了——项目分成了多个列表,但每项的编号还和统一列表时相同,而不是各列表分别编号。
15 | 3. 反复编译也无效。
16 |
--------------------------------------------------------------------------------
/wiki/faq/empty-twoside.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag: bithesis
3 | ---
4 |
5 | # 为什么我的研究生模板开头有间隔的空白页?
6 |
7 | 根据《北京理工大学研究生学位论文撰写规范》,摘要前的页面需要单面打印,之后的内容需要双面打印。因此多出的空白页可以让你免于切换单、双面打印的烦恼——统一使用双面打印即可。
8 |
9 | 或者,你可以关闭 `twoside` 选项来去除这些空白。
10 |
11 | ```latex
12 | \documentclass[…, twoside=false]{bithesis}
13 | ```
14 |
--------------------------------------------------------------------------------
/wiki/.vitepress/theme/index.ts:
--------------------------------------------------------------------------------
1 | import { Theme } from 'vitepress'
2 | import DefaultTheme from 'vitepress/theme'
3 | import { Layout, enhanceApp } from '../naive-ui-adapter/theme'
4 | import './custom.css'
5 |
6 | export default {
7 | extends: DefaultTheme,
8 | Layout,
9 | enhanceApp,
10 | } satisfies Theme
11 |
--------------------------------------------------------------------------------
/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | env: {
3 | browser: true,
4 | es2021: true,
5 | },
6 | extends: ['plugin:vue/essential', 'xo', 'prettier'],
7 | parserOptions: {
8 | ecmaVersion: 'latest',
9 | parser: '@typescript-eslint/parser',
10 | sourceType: 'module',
11 | },
12 | plugins: ['vue', '@typescript-eslint'],
13 | rules: {},
14 | }
15 |
--------------------------------------------------------------------------------
/wiki/news/2026.md:
--------------------------------------------------------------------------------
1 | # 更新说明:2025年11月至 +∞
2 |
3 | 相关通知:
4 |
5 | - **本科生**
6 | - [关于2025-2026学年本科生毕业设计(论文)工作安排的通知 - 教务部 | 北京理工大学](https://jwb.bit.edu.cn/tzgg/0c5fcab0455140d383ab0db6c92e09e7.htm)(2025年10月27日)
7 |
8 | - **研究生**
9 | - [北京理工大学研究生学位论文撰写规范-文件下载-北京理工大学研究生院](https://grd.bit.edu.cn/xwgz/xwgz2/wjxz_xwgz/b117825.htm)
10 |
11 | `北京理工大学研究生学位论文撰写规范(研函〔2018〕60 号).pdf`
12 |
--------------------------------------------------------------------------------
/wiki/public/site.webmanifest:
--------------------------------------------------------------------------------
1 | {
2 | "name": "",
3 | "short_name": "",
4 | "icons": [
5 | { "src": "/android-chrome-192x192.png", "sizes": "192x192", "type": "image/png" },
6 | { "src": "/android-chrome-512x512.png", "sizes": "512x512", "type": "image/png" }
7 | ],
8 | "theme_color": "#ffffff",
9 | "background_color": "#ffffff",
10 | "display": "standalone"
11 | }
12 |
--------------------------------------------------------------------------------
/wiki/faq/symbols-bracket.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag:
3 | - bithesis
4 | - text
5 | ---
6 |
7 | # 「主要符号对照表」如何写中括号?
8 |
9 | 编译器无法正常解析`\item[$[A]_n$]`,可套大括号改成`\item[{…}]`,帮助解析器分组。
10 |
11 | ```latex
12 | \begin{symbols}
13 | \item[{$[A]_n$}] 「主要符号对照表」中这样写括号
14 | \end{symbols}
15 | ```
16 |
17 | 具体解释请参考:[LaTeX 命令的可选参数不能有方括号么? - 刘海洋的回答 - 知乎](https://www.zhihu.com/question/27515460/answer/36948635)。
18 |
--------------------------------------------------------------------------------
/wiki/video/episode-1.md:
--------------------------------------------------------------------------------
1 | # 第一节 综述
2 |
3 |
4 |
5 |
6 |
7 | ## 视频相关说明
8 |
9 | 为获得更多内容,同学们可以前往查阅[官方 GitHub 项目](https://github.com/BITNP/BIThesis)。
10 |
--------------------------------------------------------------------------------
/wiki/faq/vs-code-log.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag: meta
3 | ---
4 |
5 | # VS Code 中如何查看日志?
6 |
7 | ::: tip ⚙ 初次使用时的配置
8 |
9 | 初次使用时,请参考 [📃 编辑器配置与模板编译:使用 VS Code 配合 LaTeX Workshop 编写与编译](../guide/configure-and-compile.md#使用-vs-code-撰写与编译-latex-模板)。
10 | :::
11 |
12 | 底部面板 → 输出(Ctrl +Shift +U )→ LaTeX Compiler。
13 |
14 | 
15 |
16 | 此外,可按Ctrl +F 搜索日志。
17 |
--------------------------------------------------------------------------------
/wiki/faq/blind-peer-review.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag: bithesis
3 | lastUpdated: 2024-05-18
4 | ---
5 |
6 | # 如何输出盲审版文章?
7 |
8 | 编辑`main.tex`,找到开头`\documentclass`,参考注释加上`blindPeerReview=true`:
9 |
10 | ```latex /blindPeerReview=true/
11 | % 开启盲审格式 blindPeerReview=true (如:[type=bachelor,blindPeerReview=true])
12 |
13 | \documentclass[type=bachelor]{bithesis} % [!code --]
14 | \documentclass[type=bachelor, blindPeerReview=true]{bithesis} % [!code ++]
15 | ```
16 |
--------------------------------------------------------------------------------
/wiki/faq/bib-compress.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag: biblatex-gb7714-2015
3 | ---
4 |
5 | # 同一处引用多篇序号连续的文献时,怎么避免压缩成`[255-256]`?
6 |
7 | [国标](https://lib.tsinghua.edu.cn/wj/GBT7714-2015.pdf)规定:
8 |
9 | > 10.1.2 同一处引用多篇文献时,……如遇连续序号,起讫序号间用短横线连接。……
10 | >
11 | > 示例:莫拉德对稳定区的节理格式的研究[255-256] ……
12 |
13 | 但宇航学院个别盲评专家提出,应该写`[255,256]`。如果你想改,可以增加判为连续编号的阈值,例如连续三篇再压缩:
14 |
15 | ```latex
16 | \setcounter{gbrefcompress}{3}
17 | ```
18 |
19 | 详见[[texdoc:biblatex-gb7714-2015]]。
20 |
--------------------------------------------------------------------------------
/wiki/faq/bitbook-not-found.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag:
3 | - bithesis
4 | - upgrade
5 | lastUpdated: 2023-02-13 10:52:26 +08:00
6 | # commit 1b33eb7d5386a835f668e1299f8afa99f0b76be4
7 | ---
8 |
9 | # 编译时报错`bitbook.cls not found`
10 |
11 | :::warning `v3.x.x` 观看提示
12 | 该问题只可能在老版本上出现。如遇到此问题,建议使用最新版本代码。
13 | :::
14 |
15 | 原因是:你使用了 V2.x 的模板,但是本机的 LaTeX 环境没有更新到最新,并未包含 `bithesis` 宏集。
16 |
17 | 解决方案:安装最新的 LaTeX 环境,或通过包管理器手动安装[[pkg:bithesis]]。(更多内容请参考 [文档 - 🍌 如何开始](../guide/getting-started.md)。)
18 |
--------------------------------------------------------------------------------
/wiki/faq/bithesis-dtx.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag:
3 | - bithesis
4 | - meta
5 | ---
6 |
7 | # `bithesis.cls`和`bithesis.dtx`是什么关系?
8 |
9 | `bithesis.cls`由`bithesis.dtx`转换生成,cls(class)供最终作者使用,dtx(documented tex)在仓库中开发。
10 |
11 | 如果你想把某个 pull request 的修改手动复制给自己的`bithesis.cls`,那么基本只需知道:
12 |
13 | - cls 与 dtx 的行号不同,因为 dtx 中顶格的注释会被删掉,且 dtx 包含多个模板。
14 |
15 | - dtx 里的`@@`表示`_bithesis`。
16 |
17 | 更多细节请移步[`DEVELOPMENT.md` · BITNP/BIThesis](https://github.com/BITNP/BIThesis/blob/main/DEVELOPMENT.md)或查阅[[texdoc:docstrip]]。
18 |
--------------------------------------------------------------------------------
/wiki/.vitepress/theme/util.ts:
--------------------------------------------------------------------------------
1 | export function normalizeTag(tag: string[] | string | undefined): string[] {
2 | return typeof tag === 'string' ? [tag] : (tag ?? [])
3 | }
4 |
5 | export function tagURL(tag: string | null): string {
6 | // `tag === null` ⇒ all tags
7 | return '/faq/' + (tag ? `?tag=${tag}` : '') + '#faq-list'
8 | }
9 |
10 | export function with_anchor(news_post_url: string, release: string): string {
11 | return news_post_url + '#_' + release.replaceAll(/[\s\[\]]/g, '').replaceAll(/[.]/g, '-')
12 | }
13 |
--------------------------------------------------------------------------------
/wiki/faq/edit-cls.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag: bithesis
3 | lastUpdated: 2022-03-24 09:00:26 +08:00
4 | # commit cb928d1b23885d5f41bdcc34e24141896b4a0421
5 | ---
6 |
7 | # 想要修改部分样式,但是找不到样式在哪里定义
8 |
9 | 将样式和内容分离是我们采用宏集的主要原因之一。
10 |
11 | 如果想要手动微调的话,可以将相应的样式文件手动拷贝到项目目录下:
12 |
13 | ```shell
14 | # 根据模板中使用的 documentclass 选择 bitbook/bitart
15 | # 路径仅为示例
16 | $ kpsewhich bitbook.cls
17 | /home/xxx/texmf/tex/latex/bithesis/bitbook.cls
18 |
19 | $ cp /home/xxx/texmf/tex/latex/bithesis/bitbook.cls .
20 | ```
21 |
22 | 再次编译时,编译器会自动使用项目路径下的样式文件。
23 |
--------------------------------------------------------------------------------
/wiki/assets/codicon-go-to-file.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/wiki/faq/float-page.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag: page
3 | ---
4 |
5 | # 某些表和图单独占了一页
6 |
7 |
8 |
9 | 有些时候表和图单独占了一页,前后文字直接跳过了,有没有办法让这几页中也有文字?
10 |
11 | ::: details 情况截图
12 |
13 | 
14 | 
15 | :::
16 |
17 | 目前能想到这些方法:
18 |
19 | - 前后多写点儿字;或者调整下表和图的的位置,强行让这页塞点字。
20 | - 缩小浮动体内容的尺寸,比如`\includegraphics[width=0.6\textwidth]{…}`。
21 | - 每个子图的宽度改小一些,凑到一行之内。
22 | - 就保持独占整页了,只是想办法更美观,比如增加表格行高、修改子图排列方式,让内容充满整页。
23 |
24 | (人工智能还能列出一些方法,但我都没试过,就不抄录了。)
25 |
--------------------------------------------------------------------------------
/wiki/faq/enumitem-nosep.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag: package
3 | ---
4 |
5 | # 列表项的间距过大该如何解决?
6 |
7 | 相比 Word,LaTeX 的列表项间距会比行间距更大一些。这样做在一个列表项中包含多行时,可以更好地区分不同的列表项。
8 |
9 | 但是,如果你只是想要一个简单的列表,这种间距可能会显得过大。想要**临时**取消这种间距,可以在环境中添加选项`nosep`:
10 |
11 | ```latex
12 | \begin{itemize}[nosep]
13 | \item 选项一
14 | \item 选项二
15 | \end{itemize}
16 | ```
17 |
18 | 想要**永久**取消这种间距,可以在导言区添加如下代码:
19 |
20 | ```latex
21 | \setlist{nosep}
22 | ```
23 |
24 | 详见:[列表项的行距过大 · Issue #293 · BITNP/BIThesis · GitHub](https://github.com/BITNP/BIThesis/issues/293)
25 |
26 | 以上功能由[[pkg:enumitem]]支持,详见[[texdoc:enumitem]]。([[pkg:bithesis]]已经自动导入该宏包。)
27 |
--------------------------------------------------------------------------------
/wiki/faq/where-doc.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag:
3 | - bithesis
4 | - meta
5 | ---
6 |
7 | # 宏包手册在哪里?
8 |
9 | ## BIThesis
10 |
11 | [[texdoc:bithesis]]正常在[最初下载的模板压缩包](../guide/downloading-using-templates.md)里就有,与`main.tex`并排。
12 |
13 | 如果找不到了,可重新[从 CTAN 下载](https://mirrors.ctan.org/macros/unicodetex/latex/bithesis/bithesis.pdf)。
14 |
15 | ## 一般宏包
16 |
17 | - 终端:[使用 texdoc 查找帮助文档](../guide/commands.md#texdoc)。
18 | - 浏览器
19 | - 使用 [texdoc 在线版](https://texdoc.org)搜索宏包名称,例如[[texdoc:hyperref]]。
20 | - 前往 [CTAN: Comprehensive TeX Archive Network](https://www.ctan.org/),搜索宏包名称,打开相应页面(例如[[pkg:hyperref]]),再找 Documentation/Manual 链接。
21 |
--------------------------------------------------------------------------------
/wiki/.vitepress/theme/contributors.data.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * Validate contributors data at build-time.
3 | *
4 | * Do NOT import this file.
5 | */
6 |
7 | import assert from 'node:assert'
8 | import { defineLoader } from 'vitepress'
9 |
10 | import { type Contributor, contributors } from './contributors_data.ts'
11 |
12 | assert.equal(
13 | contributors.length,
14 | new Set(contributors.map((c) => c.name)).size,
15 | 'Contributors’ names should be unique, but they are not.'
16 | )
17 |
18 | declare const data: Contributor[]
19 | export { data }
20 |
21 | export default defineLoader({
22 | load: () => contributors,
23 | })
24 |
--------------------------------------------------------------------------------
/wiki/faq/clear-double-page.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag: page
3 | ---
4 |
5 | # 想要让某一个页面自动从奇数页开始
6 |
7 | ## 只让部分页面从奇数页开始(如正文 chapter)
8 |
9 | 首先,请保证开启了 `twoside` 模式。
10 |
11 | 然后,请在你想要奇数页排版的页面之前(`\chapter`之前)插入`\cleardoublepage`。
12 |
13 | ## 让所有 chapter 从奇数页开始(含结论、参考文献、致谢等)
14 |
15 | 请同时开启`twoside`和`openright`。
16 |
17 | ```latex
18 | \documentclass[type=bachelor]{bithesis} % [!code --]
19 | \documentclass[type=bachelor, twoside=true]{bithesis} % [!code ++]
20 | \makeatletter \@openrighttrue \makeatother % [!code ++]
21 | ```
22 |
23 |
24 |
--------------------------------------------------------------------------------
/wiki/faq/special-paper-translation.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag: bithesis
3 | lastUpdated: 2024-06-20
4 | ---
5 |
6 | # 网安学院如何提交文献翻译?
7 |
8 | 采用[[pkg:bithesis]]的`paper-translation`模板,一般学院提交生成的PDF即可,不过网安学院的要求有些特殊。
9 |
10 | ## “见附件”与水印
11 |
12 | 有几位网安学院本科同学收到通知:文献翻译请将“见附件”替换为原文和译文,原文可以采用图片的形式插入 Word(保留页眉),再转 PDF。不过不用交 Word。
13 |
14 | 解决方案:封面请用系统导出的 Word,中文翻译[用 LaTeX 添加水印](./watermark.md),最后拼接 PDF。
15 |
16 | ## 关于封面有无自己英文题目
17 |
18 | [[pkg:bithesis]]:`paper-translation`模板封面中,除了有所翻译文献的英文题目,还有自己毕业设计的英文题目。
19 |
20 | 网安学院通知:`附件3 2024年本科毕业设计(论文)模板及打印装订要求.rar`中,`外文翻译-封面.doc`有自己英文题目;然而知网毕设系统导出的 Word 没有。——通知自相矛盾了。`(・_・;`
21 |
22 | 如果纠结,建议咨询自己学院的教学干事。
23 |
--------------------------------------------------------------------------------
/wiki/faq/hyphen.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag: text
3 | ---
4 |
5 | # 控制西文断字
6 |
7 |
8 |
9 | ::: details 效果截图
10 |
11 | 希望控制英文摘要中的断字,想下图左→右。
12 |
13 | 
14 |
15 | :::
16 |
17 | 一般情况下,超出该行宽度的最后一个单词会被排版引擎尝试(在适合的地方)插入连字符(hyphen)换行。然而,当单词本身比较生僻的情况下,LaTeX 可能会保留完整单词,从而导致该行宽度绕过限制。
18 |
19 | 以“aaaaaabbb”为例,有如下两种方法指定插入连字符的位置:
20 |
21 | - 设置`\hyphenation{aaaaaa-bbb}`,影响**所有**出现的地方。
22 | - 在正文中使用`aaaaaa\-bbb`,手动指定**这个**单词在`ab`之间换行;如果这里无需换行,则会正常输出`aaaabbbb`。
23 |
24 | 以上两种方法都能让引擎在 ab 交界处插入连字符,从而正常换行。
25 |
26 | 
27 |
--------------------------------------------------------------------------------
/.github/workflows/autofix.yml:
--------------------------------------------------------------------------------
1 | name: autofix.ci # needed to securely identify the workflow
2 |
3 | on:
4 | pull_request:
5 | push:
6 | branches: ['main']
7 | permissions:
8 | contents: read
9 |
10 | jobs:
11 | autofix:
12 | runs-on: ubuntu-latest
13 | steps:
14 | - uses: actions/checkout@v4
15 | - uses: pnpm/action-setup@v4
16 | with:
17 | version: 9
18 | - uses: actions/setup-node@v4
19 | with:
20 | node-version: 20
21 | cache: pnpm
22 | - run: pnpm install
23 | - run: pnpm format
24 | - uses: autofix-ci/action@635ffb0c9798bd160680f18fd73371e355b85f27
25 |
--------------------------------------------------------------------------------
/renovate.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://docs.renovatebot.com/renovate-schema.json",
3 | "extends": ["config:recommended"],
4 | "schedule": ["every 3 months on the first day of the month"],
5 | "lockFileMaintenance": {
6 | "enabled": true,
7 | "schedule": ["every 3 months on the first day of the month"],
8 | "automerge": true,
9 | "automergeType": "pr",
10 | "platformAutomerge": true
11 | },
12 | "packageRules": [
13 | {
14 | "enabled": true,
15 | "matchUpdateTypes": ["minor", "patch"],
16 | "automergeType": "pr",
17 | "automerge": true,
18 | "platformAutomerge": true
19 | }
20 | ]
21 | }
22 |
--------------------------------------------------------------------------------
/wiki/faq/false-duplicate.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag: font
3 | ---
4 |
5 | # 查重时,macOS 编译结果有大量虚警
6 |
7 | 使用 macOS 上编译的 PDF,知网可能会错误地将参考文献、研究成果声明等标为重复。
8 |
9 | 这种 PDF 渲染正常,但文字复制出来是乱码,可能是无意中替换为了非通用的字体。
10 |
11 | ## 解决方案
12 |
13 | - 更新到 [TeX Live / MacTeX 2023 或更新版本](https://www.tug.org/mactex/mactex-download.html)。
14 | - 如果不行,还可以尝试[使用 Windows 字体](./word-font.md)。
15 | - 或者干脆在提交的版本中删去原创性声明,或[使用盲审版本](./blind-peer-review.md)。
16 |
17 | ## 历史分析
18 |
19 | - [知网会查重「研究成果声明」 · BITNP/BIThesis · Discussion #317](https://github.com/BITNP/BIThesis/discussions/317?sort=top)
20 | - [macOS 下编译后,查重参考文献大面积标红 · Issue #326 · BITNP/BIThesis](https://github.com/BITNP/BIThesis/issues/326)
21 |
--------------------------------------------------------------------------------
/.github/lychee.toml:
--------------------------------------------------------------------------------
1 | cache = true
2 | max_cache_age = "30 days"
3 |
4 | max_retries = 5
5 | retry_wait_time = 30 # seconds
6 |
7 | exclude = [
8 | # 无需检查
9 | '^https://github\.com/BITNP/BIThesis-wiki/edit/main/',
10 | '^file://.*/\.vitepress/dist/assets/.+\.(css|js|woff2)',
11 |
12 | # 经常被屏蔽或访问不到
13 | '^https://(grd|jwb|mirrors|cs|mirror)\.bit\.edu\.cn',
14 | '^https://tex\.stackexchange\.com',
15 | '^https://www\.tablesgenerator\.com',
16 | '^https://.+\.zhihu\.com',
17 | # 已坏,但仅用于 URL 示例
18 | '^https://www\.cnnic\.net\.cn/hlwfzyj/hlwxzbg/201201/P020120709345264469680',
19 | # 经常超时或 403 Forbidden
20 | '^https://www\.adobe\.com/acrobat/online',
21 | ]
22 |
--------------------------------------------------------------------------------
/.github/stale.yml:
--------------------------------------------------------------------------------
1 | # Number of days of inactivity before an issue becomes stale
2 | daysUntilStale: 7
3 | # Number of days of inactivity before a stale issue is closed
4 | daysUntilClose: 7
5 | # Issues with these labels will never be considered stale
6 | exemptLabels:
7 | - pinned
8 | - security
9 | - important
10 | # Label to use when marking an issue as stale
11 | staleLabel: 🥀 stale
12 | # Comment to post when marking an issue as stale. Set to `false` to disable
13 | markComment: >
14 | 这一 issue 很久没有动静了,我会将其按照「已过期」进行处理。如果之后仍然没有动静,
15 | 我会直接关闭这一 issue,感谢您对项目做出的贡献。💗
16 | # Comment to post when closing a stale issue. Set to `false` to disable
17 | closeComment: false
18 |
--------------------------------------------------------------------------------
/wiki/faq/cover-dash.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag:
3 | - bithesis
4 | - text
5 | ---
6 |
7 | # 封面竖排标题中的连接号
8 |
9 |
10 |
11 | 硕博模板封面中,连接号(短横线、一字线等)在横排标题中要水平,在竖排标题中要竖直。
12 |
13 | ::: details 效果截图
14 | 
15 | :::
16 |
17 | 相关链接:
18 |
19 | - [GB/T 15834—2011《标点符号用法》](https://openstd.samr.gov.cn/bzgk/gb/newGbInfo?hcno=22EA6D162E4110E752259661E1A0D0A8)
20 |
21 | ## 暂时解决办法
22 |
23 | 目前没有特别好的办法,只能用`{\quad}$\mid${\quad}`凑活。
24 |
25 | ```latex {4}
26 | \BITSetup{
27 | info = {
28 | title = {吐鲁番\textendash{}哈密盆地},
29 | verticalTitle = {吐鲁番{\quad}$\mid${\quad}哈密盆地},
30 | },
31 | }
32 | ```
33 |
--------------------------------------------------------------------------------
/.github/workflows/push-to-everything411-repo.yml:
--------------------------------------------------------------------------------
1 | name: push-to-everything411-repo
2 |
3 | on:
4 | push:
5 | branches:
6 | - main
7 | workflow_dispatch:
8 |
9 | jobs:
10 | sync:
11 | name: Sync to everything411 repo
12 | runs-on: ubuntu-latest
13 | steps:
14 | - uses: actions/checkout@v4
15 | with:
16 | token: ${{ secrets.E411_GITHUB_TOKEN }}
17 | fetch-depth: 0
18 | - name: Push
19 | uses: wangchucheng/git-repo-sync@v0.1.0
20 | with:
21 | target-url: https://github.com/everything411/BIThesis-wiki.git
22 | target-username: everything411
23 | target-token: ${{ secrets.E411_GITHUB_TOKEN }}
24 |
--------------------------------------------------------------------------------
/wiki/faq/equation-sep.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag: par
3 | ---
4 |
5 | # 两行公式中间怎么有空行?
6 |
7 | 
8 |
9 | ```latex
10 | \begin{equation}
11 | F\alpha = \lambda \alpha,
12 | \end{equation}
13 | \begin{equation}
14 | 3+3 = 3.
15 | \end{equation}
16 | ```
17 |
18 | 连写两个`equation`环境,看起来会有空行。
19 |
20 | 因为中文全是方块字,必须有行距,不然密密麻麻一片;而公式中的字母数字有升降部,即使行距为零,视觉上也有空白。二者排版需要不同,但又共同行文,不得不采用相同行距,于是并置时公式往往显得很空。
21 |
22 | ## 解决方案
23 |
24 | - 在公式之间写些字,比如介绍一下怎么推导的。
25 |
26 | - 将连续的多个`equation`换成单个`align`(该环境由[[pkg:amsmath]]提供):
27 |
28 | ```latex
29 | \begin{align}
30 | F\alpha &= \lambda \alpha, \\
31 | 3+3 &= 3.
32 | \end{align}
33 | ```
34 |
35 | 
36 |
--------------------------------------------------------------------------------
/wiki/video/episode-6.md:
--------------------------------------------------------------------------------
1 | # 第六节 项目介绍与疑难解惑
2 |
3 |
4 |
5 |
6 |
7 | ## 视频相关说明
8 |
9 | - BIThesis 疑难解答页面:[BIThesis - Troubleshooting](https://github.com/BITNP/BIThesis/wiki/Troubleshooting)
10 | - 项目提问:[BIThesis GitHub issues](https://github.com/BITNP/BIThesis/issues)
11 |
12 | ## 相关参考文献
13 |
14 | - [BIThesis - Wiki](https://github.com/BITNP/BIThesis-wiki)
15 | - [配置 VS Code 作为 LaTeX 编辑器](https://www.jianshu.com/p/dc0ffa4368e3)
16 | - [Overleaf - Learn LaTeX in 30 minutes](https://www.overleaf.com/learn/latex/Learn_LaTeX_in_30_minutes)
17 |
--------------------------------------------------------------------------------
/wiki/faq/gb7714-not-found.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag: biblatex-gb7714-2015
3 | lastUpdated: 2023-12-13 13:47:53 +08:00
4 | # commit 8749324e0ececc2788ef82c6e3e2a55cc3914c94
5 | ---
6 |
7 | # 参考文献样式找不到,编译失败
8 |
9 | ::: warning 本问答整理于2023年
10 |
11 | 若按最新指南操作,应当无此问题。
12 | :::
13 |
14 | 毕业论文的参考文献使用了[[pkg:biblatex-gb7714-2015]]生成符合《GB/T 7714—2015 信息与文献 参考文献著录规则》规定的参考文献。这一参考文献宏包仅适用于最新版本的 TeX Live 发行版(TeX Live 2019)。如果你在编译过程中出现了类似如下的报错:
15 |
16 | ```txt
17 | Error: Style 'gb7714-2015' not found.
18 | ```
19 |
20 | 那么就是由于你的 TeX Live 发行版中没有包含这一宏包。需要你手动将 TeX Live 更新为 2019 版本,或手动下载相应的宏包。(跨版本升级 TeX Live 可能出现一些问题,推荐卸载重新安装。)
21 |
22 | 之后,在开始菜单中寻找 TeX Live Manager,点击打开,并搜索 `biblatex-gb7714-2015`,有如下输出表明你的宏包安装成功。
23 |
24 | 
25 |
--------------------------------------------------------------------------------
/wiki/guide/intro.md:
--------------------------------------------------------------------------------
1 | # 简介
2 |
3 | 北京理工大学非官方 LaTeX 模板集合,包含本科、研究生毕业设计模板,本科全英文专业模板,外文翻译模板以及更多。🎉
4 |
5 | :::tip
6 | 本文档重点是帮助同学快速上手使用模板,更多相关文档及使用细节可参考[[texdoc:bithesis]]。
7 | :::
8 |
9 | ## What's BIThesis?
10 |
11 | (。・∀・)ノ゙嗨,欢迎来到 BIThesis。这里是北京理工大学本科生和研究生毕业设计论文,以及其他课程报告、实验报告等重要论文、报告的 LaTeX 模板聚集地。如果你厌烦了 Word 格式的不人性化、参考文献的难以管理、公式输入的差劲体验……那么欢迎来尝试用专业的学术稿件排版利器 —— LaTeX 来排版你的论文。专业高端、学界认可、开源免费,LaTeX 是你论文排版的最佳搭档。
12 |
13 | 
14 |
15 | BIThesis 为各位提供了基于北京理工大学教务部给出的「北京理工大学本科生毕业设计 · 论文模板」的 LaTeX 样版。基于 BIThesis 的 LaTeX 模板,你可以在不必过多在意论文格式的基础上,专注于学术研究、项目实现,从而顺利完成你的项目。
16 |
17 | ## 开始阅读文档
18 |
19 | 这里是 BIThesis 的项目 Wiki,提供了 LaTeX 的基本安装方法、LaTeX 项目的使用方法、BIThesis 的编译方法,等等。
20 |
21 | 在使用 BIThesis 之前,请务必仔细阅读相关章节,只有清晰理解 BIThesis 的各部分内容与功能,我们才能借助 BIThesis 模板撰写优秀的论文。
22 |
--------------------------------------------------------------------------------
/wiki/faq/pub-manual.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag:
3 | - pub
4 | - bithesis
5 | ---
6 |
7 | # 成果清单怎么绕过`pub.bib`直接记录项目?(例如获奖)
8 |
9 | 「攻读学位期间发表论文与研究成果清单」中,如果要记录不是文献的项目(例如获奖),或者盲审时希望隐藏,可以绕过`pub.bib`直接记录项目。
10 |
11 | 具体方法请参考`misc/4_pub.tex`结尾的[注释](https://github.com/BITNP/BIThesis/blob/25d9f7a8303dd1c056f20d6aba418cf93c27e7f3/templates/graduate-thesis/misc/4_pub.tex#L53-L61),在`\printbibliography`之后,共存一个自定义的列表。
12 |
13 | ```latex {5-12}
14 | \begin{publications}
15 | \addpubs{…}
16 | \printbibliography[…]
17 |
18 | \zihao{5} % 字号改为五号
19 | \renewcommand{\labelenumi}{[\theenumi]} % 编号改用中括号
20 |
21 | \begin{enumerate}[nosep, leftmargin=4ex-2pt, labelsep=1ex]
22 | \setcounter{enumi}{4} % 下一项为 5。
23 | \item 于《新青年》发表论文一篇,本人第一作者。
24 | \item 于\textit{La Jeunesse}发表论文一篇,导师第一作者,本人第二作者。
25 | \end{enumerate}
26 | \end{publications}
27 | ```
28 |
--------------------------------------------------------------------------------
/wiki/.vitepress/theme/Layout.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
15 |
16 |
17 |
18 |
19 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/wiki/faq/bib-author.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag:
3 | - pub
4 | - bithesis
5 | - biblatex-gb7714-2015
6 | ---
7 |
8 | # 如何修改成果清单中的作者为“第一发明人”等(如奖项、专利、书籍、项目)
9 |
10 |
11 |
12 | 在盲审模式中,默认模板只会标注为“第一作者”,但是实际上专利叫“第一发明人”,奖项叫“第一完成人”,翻译的书籍叫“第一译者”。怎样才能在盲审模式正确显示?
13 |
14 | 可以自定义`\Author`。在`pub.bib`中修改:
15 |
16 | ```bibtex{4}
17 | @article{key,
18 | title = {…},
19 | author = {我 and …},
20 | author+an = {1:myself="\Author[][][第一发明人]"},
21 | }
22 | ```
23 |
24 | 具体解释请参考[`pub.bib`中的注释](https://github.com/BITNP/BIThesis/blob/424e5b851df44d42cbf26900874480b5de58484a/templates/graduate-thesis/reference/pub.bib#L32-L33),或者[[texdoc:bithesis]]。
25 |
26 | ```latex
27 | % 再比如,若论文作者为「李四、张三、王五、赵六」(你是共同二作),则应该写成:
28 | % `author+an = {2:myself="\Author[][][共同二作]"}`
29 | ```
30 |
31 | 相关问题:[成果清单`pub.bib`怎么标`author+an`](./pub-author-an.md)。
32 |
--------------------------------------------------------------------------------
/wiki/news/index.md:
--------------------------------------------------------------------------------
1 |
5 |
6 | # 更新说明
7 |
8 |
9 |
10 | ::: tip 并非详细更新日志
11 | 此处备份 [GitHub Releases][releases] 中人工撰写的说明,主要介绍更新内容,提供升级建议。
12 |
13 | 详细更新日志请移步[`CHANGELOG.md`](https://github.com/BITNP/BIThesis/blob/main/CHANGELOG.md)。
14 |
15 |
16 |
17 | :::
18 |
19 | [releases]: https://github.com/BITNP/BIThesis/releases/ 'Releases · BITNP/BIThesis'
20 |
21 |
22 | {{ p.period }}
23 |
28 |
29 |
--------------------------------------------------------------------------------
/wiki/faq/image-gray-line.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag: par
3 | ---
4 |
5 | # 有些图片在 Overleaf 上正常,但下载 PDF 后会有灰线?
6 |
7 | 因为图片本身触发了 PDF 阅读器抗锯齿算法的漏洞,在“白色”与“透明”的交界处会出现灰线。请修改图片,例如把文本框的填充颜色从“白色”改成“无颜色”。
8 |
9 | 
10 |
11 | ## 具体现象
12 |
13 | 各种 PDF 阅读器渲染效果不同:
14 |
15 | - Firefox 及多数在线平台用的 [PDF.js](https://mozilla.github.io/pdf.js/) 渲染正常。
16 |
17 | - Chrome/Edge 和 SumatraPDF 缩小看有灰线,但放大看正常。
18 |
19 | Windows 照片会在图片背后垫灰底,用它打开图片,发现部分白色部分透明:
20 |
21 | 
22 |
23 | ## 原理
24 |
25 | > PDF是怎么渲染的?为什么“白色”和“透明”的边界处,缩小看时有线,而放大时没有?
26 |
27 | 以下是[人工智能的回答](https://yuanbao.tencent.com/bot/app/share/chat/s4IRHpBNNrtf)。
28 |
29 | - 缩小视图时
30 |
31 | PDF渲染器会对边缘进行抗锯齿处理,通过插入半透明像素平滑锯齿。当白色(RGB 255, 255, 255)与透明区域(α=0)相邻时,抗锯齿会生成中间灰度的半透明像素(例如:RGB 255, 255, 255,α=128)。这些半透明像素与背景或其他颜色混合后,可能形成一条视觉上的“灰线”(尤其在深色背景下更明显)。
32 |
33 | - 放大视图时
34 |
35 | 像素级显示时,抗锯齿的中间像素被实际渲染为独立像素,边界清晰可见,不再有模糊的过渡,因此“线”消失。
36 |
--------------------------------------------------------------------------------
/wiki/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: home
3 |
4 | hero:
5 | name: BIThesis
6 | text: null
7 | tagline: 北京理工大学非官方本科生、研究生学位论文 LaTeX 模板与更多
8 | image:
9 | src: /bithesis.png
10 | alt: BIThesis
11 | actions:
12 | - theme: brand
13 | text: 进入文档 🍌
14 | link: /guide/preface
15 | - theme: alt
16 | text: 下载模板 📁
17 | link: /guide/downloading-using-templates
18 | - theme: alt
19 | text: 疑难杂症 🥑
20 | link: /faq/
21 |
22 | features:
23 | - icon: 📝
24 | title: 专业的排版格式
25 | details: LaTeX 样式与内容分离的设计,一次撰写、处处开花
26 | - icon: 🔣
27 | title: 畅快的公式插入
28 | details: 极具学术风范的专业公式书写,让理工同学直呼厉害
29 | - icon: 🚀
30 | title: 稳健的参考文献管理
31 | details: 用 BibTeX 管理文献库,妈妈再也不用担心参考文献格式问题了
32 | ---
33 |
34 |
40 |
--------------------------------------------------------------------------------
/wiki/faq/bib-url.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag:
3 | - biblatex-gb7714-2015
4 | ---
5 |
6 | # 参考文献中的 URL 没有折行
7 |
8 |
9 |
10 | ## 通常无需 URL,删除即可
11 |
12 | [国标](https://lib.tsinghua.edu.cn/wj/GBT7714-2015.pdf)规定“获取和访问路径”只有电子资源必备,其余有无均可。因此,删除`*.bib`中的 URL 即可。
13 |
14 | 如果你使用 Zotero,可以[安装 Better BibTeX for Zotero 插件](https://retorque.re/zotero-better-bibtex/installation/),然后确认 [Add URLs to BibTeX export](https://retorque.re/zotero-better-bibtex/installation/preferences/export/index.html#add-urls-to-bibtex-export)(将 URL 添加到 BibTeX 导出的)已设置为 no(否),正常已默认设置。
15 |
16 | ## 如需记录 URL,请用`url`字段
17 |
18 | 如果是电子资源,确实要记录 URL,那么请用`url`字段。可参考[电子资源的示例](./bib-entry.md#电子文献)。
19 |
20 | ```bibtex {3}
21 | @misc{key,
22 | …,
23 | url = {http://www.greenwood.com/can_b_b#abc},
24 | }
25 | ```
26 |
27 | 不要使用`howpublished`字段。若用`howpublished`字段,URL 不含空格或`-`字符时,断行可能出现问题,必须手动处理;此外还要专门转义特殊字符。详见[[texdoc:biblatex-gb7714-2015]]。
28 |
--------------------------------------------------------------------------------
/wiki/faq/bib-keyword.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag:
3 | - pub
4 | - bithesis
5 | - biblatex-gb7714-2015
6 | ---
7 |
8 | # 博士论文的学术成果清单部分,如何进一步细分?
9 |
10 |
11 |
12 | 例如细分SCI、EI论文,已授权、实审中专利等。
13 |
14 | 可以通过`keyword`/`keywords`区分。
15 |
16 | [`misc/4_pub.tex`](https://github.com/BITNP/BIThesis/blob/743c8a7340f8697d75f69c843b80ef397e80fc44/templates/graduate-thesis/misc/4_pub.tex#L46):
17 |
18 | ```latex
19 | \printbibliography[…, keyword=dummy, …]{}
20 | \printbibliography[…, keyword=sci, …]{}
21 | ```
22 |
23 | [`reference/pub.bib`](https://github.com/BITNP/BIThesis/blob/743c8a7340f8697d75f69c843b80ef397e80fc44/templates/graduate-thesis/reference/pub.bib#L88):
24 |
25 | ```bibtex
26 | @article{
27 | …
28 | keywords = {dummy},
29 | …
30 | }
31 | @article{
32 | …
33 | keywords = {sci},
34 | …
35 | }
36 | ```
37 |
38 | 此外`printbibliography`还支持`notkeyword=`、`subtype=`等筛选选项,详情请参考[[texdoc:biblatex]]。
39 |
--------------------------------------------------------------------------------
/wiki/faq/overleaf-false-error.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag: meta
3 | ---
4 |
5 | # Overleaf 语法检查器报假错
6 |
7 |
11 |
12 | [Overleaf 内置了 Code Check 语法检查器](https://www.overleaf.com/learn/how-to/Code_Check),它会在编辑区域左侧报告错误。不过有时错误并不存在,忽略即可。(若确实无法编译,应查看界面右边的日志。)
13 |
14 | 
15 |
16 | 如果看着烦,也可以[关闭 Code Check](https://www.overleaf.com/learn/how-to/Code_Check#Disabling_Code_Check_for_part_of_a_file):
17 |
18 | ```latex
19 | %%begin novalidate // [!code focus]
20 | \documentclass[under_score]{foo}
21 | %%end novalidate // [!code focus]
22 | ```
23 |
24 | ## 会报假错的已知例子
25 |
26 | ```latex
27 | \documentclass[type=bachelor_translation]{bithesis}
28 | ```
29 |
30 | > `_` must be inside math mode
31 |
32 | ```latex
33 | \documentclass[…, ctex={fontset=windows}]{bithesis}
34 | ```
35 |
36 | > invalid documentclass option: unexpected close group `}`
37 |
--------------------------------------------------------------------------------
/wiki/faq/clear-double-page-style.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag:
3 | - page
4 | - bithesis
5 | ---
6 |
7 | # 怎样让空白页有页眉页脚?
8 |
9 | 可以[通过`\cleardoublepage`或`openright`在正文插入空白页](./clear-double-page.md)。[[pkg:bithesis]]默认这种空白页无页眉页脚,不标页码但计入页码。这种做法与很多专业出版社排的纸书一致。
10 |
11 | 如果你想让空白页也有页眉页脚,可以编辑`main.tex`,**在`\mainmatter`之后**加入以下代码。
12 |
13 | ```latex
14 | \makeatletter
15 | \ExplSyntaxOn
16 | \RenewDocumentCommand \cleardoublepage { }
17 | {
18 | \clearpage
19 | \bool_if:NT \g__bithesis_twoside_bool
20 | {
21 | \int_if_odd:nF \c@page
22 | { \hbox:n { } \thispagestyle { BIThesis } \newpage }
23 | }
24 | }
25 | \ExplSyntaxOff
26 | \makeatother
27 | ```
28 |
29 | ::: details 代码来源
30 |
31 | [模板原有类似代码](https://github.com/BITNP/BIThesis/blob/f505c9d3076af58b6991e3501c2d354cd78e8d73/bithesis.dtx#L2593-L2608),只不过`\thispagestyle { empty }`。这里改成了`\thispagestyle { BIThesis }`。
32 |
33 | 另请参阅[`fancyhdr`宏包手册的 Those blank pages 一节](https://texdoc.org/serve/fancyhdr/0#section.2.24)。
34 |
35 | :::
36 |
--------------------------------------------------------------------------------
/wiki/faq/null-page.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag:
3 | - page
4 | - bithesis
5 | ---
6 |
7 | # 如何在封面后加空白页
8 |
9 |
10 |
11 | ## 法一:自动双页排版
12 |
13 | 可设置`twoside = true`开启双页排版,自动将某些页面空到奇数页。
14 |
15 | ```latex
16 | \documentclass[…, twoside=true]{bithesis}
17 | ```
18 |
19 | ## 法二:手动加空白页
20 |
21 | 在`twoside = false`的情况下,编辑`main.tex`,加`\null`(给这一页填点儿东西)和`\clearpage`(另起一页)可加空白页。
22 |
23 | ```latex {3}
24 | \MakeCover
25 |
26 | \null\clearpage % 👈 在封面后加空白页
27 |
28 | \begin{blindPeerReview}
29 | \includepdf{misc/1_originality.pdf}\newpage
30 | \end{blindPeerReview}
31 |
32 | \frontmatter
33 | \input{chapters/0_abstract.tex}
34 | ```
35 |
36 | 更多信息:
37 |
38 | - [header footer - Add a new empty page - TeX - LaTeX Stack Exchange](https://tex.stackexchange.com/questions/34934/add-a-new-empty-page)
39 | - [memoir - Insert extra blank pages after title - TeX - LaTeX Stack Exchange](https://tex.stackexchange.com/questions/340065/insert-extra-blank-pages-after-title)
40 |
--------------------------------------------------------------------------------
/wiki/faq/font-not-found.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag: font
3 | lastUpdated: 2023-04-16 09:46:14 +08:00
4 | # commit d79fb16c39401332e4fe858a8e6b84c14da27574
5 | ---
6 |
7 | # 字体缺失,编译失败
8 |
9 | 一般情况下,如果你在编译「毕业设计论文」模板时出现了类似下面的编译报错:
10 |
11 | ```txt
12 | Package fontspec Error: The font "STXihei" cannot be found. ...
13 | ```
14 |
15 | 这是由于你的电脑中尚未安装「华文细黑」这一字体,或你的电脑上安装的「华文细黑」字体文件名称不是 `STXIHEI.TTF`,导致 LaTeX 编译器找不到这一字体,也就导致无法正常编译模板。(毕业论文模板的封面中,中文标题要求字体为「华文细黑」。)
16 |
17 | 你可以通过下面的方法对这一问题进行排查。首先,在终端中运行:
18 |
19 | ```powershell
20 | fc-list :lang-zh > fclist.txt
21 | ```
22 |
23 | 这一命令会将你系统中安装的字体全部列出并保存在你执行命令所在目录下的 `fclist.txt` 文件中,你可以用文本编辑器打开这一文件,全局搜索「华文细黑」:
24 |
25 | 
26 |
27 | 如果你发现自己系统中并没有这一字体,需要手动安装,那么你需要确保安装之后字体文件的名称为 `STXIHEI.TTF`。你可以在 Windows 的 `C:\Windows\Fonts` 目录下找到你系统全局安装的字体,找到「华文细黑」并「右键 » 属性」,确认如下图所示:
28 |
29 |
30 |
31 | 之后,重启电脑,刷新字体缓存,确认编译状况。
32 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "module",
3 | "scripts": {
4 | "dev": "vitepress dev wiki",
5 | "build": "vitepress build wiki",
6 | "preview": "vitepress preview wiki",
7 | "format": "prettier --write --ignore-path .prettierignore .",
8 | "lint:prettier": "prettier --check --ignore-path .prettierignore ."
9 | },
10 | "devDependencies": {
11 | "@css-render/vue3-ssr": "^0.15.14",
12 | "@types/markdown-it": "^14.1.2",
13 | "@types/node": "^22.17.0",
14 | "@typescript-eslint/eslint-plugin": "^8.38.0",
15 | "@typescript-eslint/parser": "^8.38.0",
16 | "eslint": "^9.32.0",
17 | "eslint-config-prettier": "^10.1.8",
18 | "eslint-plugin-vue": "^10.3.0",
19 | "gray-matter": "^4.0.3",
20 | "markdown-it-footnote": "^4.0.0",
21 | "naive-ui": "^2.42.0",
22 | "prettier": "^3.6.2",
23 | "typescript": "^5.8.3",
24 | "vitepress": "1.6.4",
25 | "vue": "^3.5.18"
26 | },
27 | "pnpm": {
28 | "peerDependencyRules": {
29 | "ignoreMissing": [
30 | "@algolia/client-search"
31 | ]
32 | }
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/wiki/faq/edit-const.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag:
3 | - bithesis
4 | - text
5 | ---
6 |
7 | # 如何更改模板中的字符串?(例:“毕业设计”→“课程报告”,“结论”→“结论与展望”)
8 |
9 |
10 |
11 | 1. 常见修改需求:用选项设置
12 |
13 | 搜索[[texdoc:bithesis]],找到相关设置,然后编辑`main.tex`,设置`\BITSetup{…}`,例如:
14 |
15 | ```latex
16 | \BITSetup{
17 | const/info/major = {专业名称},
18 | style/headline = {本科生课程报告},
19 | }
20 | ```
21 |
22 | 从 v3.8.4 开始,有些局部常量支持在局部设置:
23 |
24 | ```latex
25 | \begin{conclusion}[title = 结论与展望]
26 | ……
27 | \end{conclusion}
28 | ```
29 |
30 | 2. 不常见修改需求:编辑`bithesis.cls`
31 |
32 | 编辑`bithesis.cls`,替换字符串。
33 |
34 | 不过`*.cls`中有些原始字符串比较复杂,可能搜整词搜不到,必须搜单字或用正则表达式。一些原始字符串的例子如下:
35 |
36 | ```latex
37 | % 整词,最容易搜
38 | {symbols} {主要符号对照表} {Nomenclature},
39 |
40 | % 字间可能混杂空格
41 | {school} {学\qquad 院} {School},
42 |
43 | % 还有更复杂的空格——本科模板为`\quad`,而硕博模板不空格
44 | {figure} {插\__bithesis_label_space: 图} {Illustrations},
45 | ```
46 |
47 | ::: tip 欢迎反馈
48 | 如果你的修改是学院、教务部或答辩老师要求的,比较普遍,欢迎[反馈](https://github.com/BITNP/BIThesis/issues/new)。模板可以更新。
49 | :::
50 |
--------------------------------------------------------------------------------
/wiki/.vitepress/theme/FAQList.vue:
--------------------------------------------------------------------------------
1 |
21 |
22 |
23 |
29 | {{ currentTag }}
30 |
35 |
36 |
--------------------------------------------------------------------------------
/wiki/faq/bithesis-version.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag:
3 | - bithesis
4 | - meta
5 | ---
6 |
7 | # 如何查看版本号?
8 |
9 | 在`bithesis.cls`开头有写:
10 |
11 | ```latex
12 | \ProvidesExplClass{bithesis}
13 | {2025-04-18} {3.8.4} {BIT Thesis Templates}
14 | ```
15 |
16 | 另外在日志中搜索“Document Class”也能找到:
17 |
18 | ```log {1}
19 | Document Class: bithesis 2025-04-18 v3.8.4 BIT Thesis Templates
20 | Document Class: ctexbook 2022/07/14 v2.5.10 Chinese adapter for class book (CTEX)
21 | Document Class: book 2024/06/29 v1.4n Standard LaTeX document class
22 | ```
23 |
24 | ::: tip 🔼 如何升级?
25 | 如欲升级,请参考 [📁 下载与使用模板](../guide/downloading-using-templates.md#日后更新升级)。
26 | :::
27 |
28 | ## 找不到类似内容?
29 |
30 | 如果你找不到类似内容,而且发现以下迹象,那么你使用的恐怕并不是这个模板。
31 |
32 | - 文件夹中有`BIT-thesis-run.{sh,cmd,cls}`
33 | - 日志中出现[[pkg:natbib]]
34 | - ……
35 |
36 | 我校历史上存在[十余个名称类似的 LaTeX 模板](https://ydx-2147483647.github.io/best-of-bits/#template):BIT-Thesis、BITthesis、BIT_Thesis……不过大都因作者毕业等原因不再维护,没有持续跟进学校新版要求并兼容 LaTeX 新版基础设施。而 BIThesis [有学生组织牵头](../guide/acknowledgements.md),是目前[^present]唯一积极维护的 LaTeX 模板。
37 |
38 | [^present]: 2025年10月。
39 |
40 | 若是新建文档,可参考 [📁 下载与使用模板](../guide/downloading-using-templates.md)重新创建。
41 |
--------------------------------------------------------------------------------
/wiki/video/episode-2.md:
--------------------------------------------------------------------------------
1 | # 第二节 LaTeX 的下载和安装
2 |
3 |
4 |
5 |
6 |
7 | ## 视频相关说明
8 |
9 | - 官方的安装指南:[Installing TeX Live over the Internet](https://www.tug.org/texlive/acquire-netinstall.html)
10 | - 以 Ubuntu 为例子,安装 TeX Live 发行版。
11 |
12 | ```bash
13 | sudo apt install texlive
14 | ```
15 |
16 | - macOS 系统下载使用 [MacTeX 发行版](https://www.tug.org/mactex/)
17 | - [MaxTeX 的下载页面](https://www.tug.org/mactex/mactex-download.html)
18 |
19 | - 使用 Homebrew 包管理的同学,通过 Homebrew Cask 直接安装 MacTeX:
20 |
21 | ```bash
22 | # 加载 Homebrew Cask
23 | brew tap caskroom/cask
24 |
25 | # 利用 Cask 安装 MacTeX
26 | brew cask install mactex
27 | ```
28 |
29 | - 验证 `xelatex` LaTeX 编译器的安装情况:
30 |
31 | ```powershell
32 | xelatex --version
33 | ```
34 |
35 | - 验证 `biber` 参考文献编译器的安装情况:
36 |
37 | ```powershell
38 | biber --version
39 | ```
40 |
41 | - VS Code 编辑器:[Visual Studio Code - Code editing. Redefined.](https://code.visualstudio.com/)
42 |
--------------------------------------------------------------------------------
/wiki/.vitepress/util.ts:
--------------------------------------------------------------------------------
1 | import matter from 'gray-matter'
2 |
3 | export function getTitleFromSrc(src: string): string | undefined {
4 | const lines = matter(src).content.split('\n')
5 |
6 | for (const line of lines) {
7 | // https://github.com/jooy2/vitepress-sidebar/blob/c6102e0d4aa2fa1395ab60af370d43d9b344fe67/lib/helper.ts#L164-L186
8 | if (/^# /.test(line)) {
9 | let title = line.replace(/^# /, '')
10 |
11 | if (/\[(.*)]\(.*\)/.test(title)) {
12 | // Remove hyperlink from h1 if exists
13 | const execValue = /(.*)?\[(.*)]\((.*)\)(.*)?/.exec(title) || ''
14 |
15 | title = execValue.length > 0 ? `${execValue[1] || ''}${execValue[2] || ''}${execValue[4] || ''}` : ''
16 | }
17 |
18 | // Remove certain Markdown format
19 | // https://github.com/jooy2/vitepress-sidebar/blob/c6102e0d4aa2fa1395ab60af370d43d9b344fe67/lib/helper.ts#L88-L94
20 | title = title
21 | .replace(/\*{1,2}([^*]+?)\*{1,2}/g, '$1')
22 | .replace(/_{1,2}([^_]+?)_{1,2}/g, '$1')
23 | .replace(/~{1,2}([^~]+?)~{1,2}/g, '$1')
24 | .replace(/`{1,3}([^`]+?)`{1,3}/g, '“$1”')
25 |
26 | return title
27 | }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/wiki/faq/biber-backend.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag:
3 | - meta
4 | - biblatex-gb7714-2015
5 | - bithesis
6 | ---
7 |
8 | # 参考文献空白,BibTeX 报错`I found no \citation commands`(如何换用 biber?)
9 |
10 | ::: tip 应当无此问题
11 | 如果您按照 [📃 编辑器配置与模板编译](../guide/configure-and-compile.md)使用 latexmk、VS Code、TeXstudio 或在线平台,并且没有删除`main.tex`中的魔术注释`% !BIB program = biber`,应当无此问题。
12 |
13 |
14 |
15 | :::
16 |
17 | ## 现象
18 |
19 | 若出现以下所有现象,很可能是此问题。
20 |
21 | - 能生成 PDF,但参考文献
22 | - 正文引用处显示 key 而非编号
23 | - 文末著录列表完全空白
24 |
25 | - BibTeX 报错`I found no \citation commands`
26 |
27 | 
28 |
29 | `main.blg`也有如下内容:
30 |
31 | ```log
32 | This is BibTeX, Version 0.99d (TeX Live 2025)
33 | I found no \citation commands---while reading file main.aux
34 | I found no \bibdata command---while reading file main.aux
35 | I found no \bibstyle command---while reading file main.aux
36 | ```
37 |
38 | ## 应对
39 |
40 | **原因**:模板要求用 biber 程序编译,但实际用了 bibtex 程序。
41 |
42 | **背景原因**:LaTeX 传统上用 BibTeX 排版参考文献,但这种方法对中文支持差。因此,[[pkg:bithesis]]等国内 LaTeX 模板多用[[pkg:biblatex]],其默认后端是 biber 程序。
43 |
44 | **解决方法**:换用 biber。具体请结合自己的编辑器查询互联网或[人工智能](../guide/ask-computer.md)。
45 |
--------------------------------------------------------------------------------
/wiki/faq/index.md:
--------------------------------------------------------------------------------
1 |
4 |
5 | # 🥑 疑难杂症
6 |
7 | ## 问题目录 {#faq-list}
8 |
9 |
10 |
11 | ## 如何贡献
12 |
13 | ### 改进已有页面
14 |
15 | 页面下方有“**帮助我们改善此页面!**”按钮,单击它[跳转至 GitHub 仓库](https://github.com/BITNP/BIThesis-wiki/),按提示操作即可。
16 |
17 | ### 增添全新页面
18 |
19 | [在`/wiki/faq/`文件夹内创建](https://github.com/BITNP/BIThesis-wiki/new/main/wiki/faq/)`*.md`文件,编辑并提交 PR 。
20 |
21 | ::: details 模板
22 |
23 | ````markdown
24 | ---
25 | tag:
26 | - bithesis # 仅适用于 bithesis 的,加上此标签
27 | - package # 需要用到其它宏包的,加上此标签
28 | ---
29 |
30 | # 标题
31 |
32 | 引入宏包时,要加上选项`algochapter`才能按学校要求分章编号,示例如下。
33 |
34 | ```latex
35 | \documentclass[…, twoside=false]{bithesis}
36 | ```
37 |
38 | 可以添加链接:[改进“疑难杂症”页面 · Issue #475 · BITNP/BIThesis-wiki](https://github.com/BITNP/BIThesis-wiki/issues/475)
39 | ````
40 |
41 | 可用如下方式指代宏包、手册。
42 |
43 | - `[[pkg:bithesis]]` ⇒ [[pkg:bithesis]]
44 | - `[[pkg:algorithms|algorithmic]]` ⇒ [[pkg:algorithms|algorithmic]]
45 | - `[[texdoc:unicode-math]]` ⇒ [[texdoc:unicode-math]]
46 | - ``[[texdoc:lshort-zh-cn|那份介绍(`lshort`中文版)]]`` ⇒ [[texdoc:lshort-zh-cn|那份介绍(`lshort`中文版)]]
47 |
48 | :::
49 |
--------------------------------------------------------------------------------
/wiki/.vitepress/naive-ui-adapter/config.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * 接入 Naive UI
3 | * https://www.naiveui.com/zh-CN/os-theme/docs/vitepress
4 | */
5 |
6 | import type { SSGContext, Awaitable } from 'vitepress'
7 |
8 | const fileAndStyles: Record = {}
9 |
10 | export const vite_ssr = {
11 | noExternal: ['naive-ui', 'date-fns', 'vueuc'],
12 | }
13 |
14 | export function postRender(context: SSGContext): Awaitable {
15 | const styleRegex = /((.|\s)+)<\/css-render-style>/
16 | const vitepressPathRegex = /(.+)<\/vitepress-path>/
17 | const style = styleRegex.exec(context.content)?.[1]
18 | const vitepressPath = vitepressPathRegex.exec(context.content)?.[1]
19 | if (vitepressPath && style) {
20 | fileAndStyles[vitepressPath] = style
21 | }
22 | context.content = context.content.replace(styleRegex, '')
23 | context.content = context.content.replace(vitepressPathRegex, '')
24 | }
25 |
26 | export function transformHtml(code: string, id: string): Awaitable {
27 | const html = id.split('/').pop()
28 | if (!html) return
29 | const style = fileAndStyles[`/${html}`]
30 | if (style) {
31 | return code.replace(/<\/head>/, `${style}`)
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/wiki/faq/symbols-variant.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag: bithesis
3 | ---
4 |
5 | # 如何构造「缩略词表」?(替代`symbols`环境)
6 |
7 |
8 |
9 | 硕博模板的`symbols`环境实现了「主要符号对照表」,那么怎样构造「缩略词表」?
10 |
11 | 
12 |
13 | [「主要符号对照表」的实现很简单](https://github.com/BITNP/BIThesis/blob/eb2b93d358eda69cbdb0e6dced1d80c53d8958b4/bithesis.dtx#L3318-L3347),并不支持改成三列的「缩略词表」。
14 |
15 | 如果想要「缩略词表」,可以编辑`misc/0_symbols.tex`,直接写表格:
16 |
17 | ```latex {15-18}
18 | \chapter*{缩略词表} % 星号表示不写入目录
19 | \currentpdfbookmark{缩略词表}{ch:acronym} % 但仍加入PDF书签(详见hyperref手册)
20 |
21 | \vspace{-1ex} % 在竖直方向略微删除空白
22 |
23 | \begin{center}
24 | \BITSetup{
25 | misc = {
26 | tabularFontSize = -4, % 字号从五号恢复为小四
27 | tabularRowSeparation = 1.1, % 各行之间的距离设为默认的 1.1 倍
28 | },
29 | }
30 |
31 | \begin{tabular}{lll} % 三列都左对齐
32 | \textbf{英文缩写} & \textbf{英文全称} & \textbf{中文全称} \\
33 | EVA & extravehicular activity & 舱外活动 \\
34 | EVA & ethylene-vinyl acetate & 聚乙酸乙烯酯 \\
35 | EVA & extreme value analysis & 极值分析 \\
36 | \end{tabular}
37 | \end{center}
38 |
39 | \clearpage
40 | ```
41 |
42 | 顺便,如需表格生成器,可参考 [LaTeX 学习与使用资源](../guide/resources.md#基础)。
43 |
44 | ::: tip 欢迎反馈
45 | 如果你的「缩略词表」是统一要求,有具体规范,欢迎[反馈](https://github.com/BITNP/BIThesis/issues/new)。之后可以加到模板里。
46 | :::
47 |
--------------------------------------------------------------------------------
/wiki/video/episode-5.md:
--------------------------------------------------------------------------------
1 | # 第五节 格式转化
2 |
3 |
4 |
5 |
6 |
7 | ## 视频相关说明
8 |
9 | ### 安装
10 |
11 | Pandoc 详细的安装说明:[Installing pandoc](https://pandoc.org/installing.html).
12 |
13 | - Windows 上你可以直接在 [Pandoc 的 GitHub Release 页面](https://github.com/jgm/pandoc/releases/latest) 下载 Windows MSI 安装文件手动安装。
14 | - 在 macOS 上你可以使用 Homebrew 包管理工具安装 pandoc:
15 |
16 | ```bash
17 | brew install pandoc
18 | ```
19 |
20 | - 在 Linux 上你可以使用你所用发行版的包管理工具安装 pandoc,比如:
21 |
22 | ```bash
23 | sudo apt install pandoc
24 | ```
25 |
26 | 终端中检测 Pandoc 的安装:
27 |
28 | ```bash
29 | pandoc --version
30 | ```
31 |
32 | ### 使用
33 |
34 | - 朴素格式转化:
35 |
36 | ```bash
37 | # 命令格式如下:
38 | pandoc {LaTeX 文档文件} -o {输出 Word 文档}
39 | # 比如:
40 | pandoc main.tex -o main.docx
41 | ```
42 |
43 | - 含有目标模板 Word 文档的格式转换:
44 |
45 | ```bash
46 | # 命令格式如下:
47 | pandoc {LaTeX 文档文件} --reference-doc={参考模板 Word 文档} -o {输出 Word 文档}
48 | # 比如:
49 | pandoc main.tex --reference-doc=template.docx -o main.docx
50 | ```
51 |
52 | - 含有参考文献文档的格式转换:
53 |
54 | ```bash
55 | pandoc main.tex --bibliography=refs.bib --reference-doc=template.docx -o main.docx
56 | ```
57 |
--------------------------------------------------------------------------------
/wiki/faq/clean.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag: meta
3 | ---
4 |
5 | # 如何清除缓存?
6 |
7 | 编译 LaTeX 时除了生成 PDF,还可能生成`*.aux`等辅助文件和日志。
8 |
9 | 偶尔先前编译有错,缓存了错误的辅助文件,会导致下一次编译异常。这时可清除缓存从最干净的状态重试。当然,清除缓存也能释放硬盘空间,保持文件整洁。
10 |
11 | ::: details “编译异常”的可能现象
12 |
13 | - 之前加了错误代码导致编译失败,现已撤销,但仍无法编译生成 PDF。
14 |
15 | - 更换了编译器或文档类,编译失败。
16 |
17 | - [成果清单编号顺序错乱](./pub-disorder.md)
18 |
19 | :::
20 |
21 | ::: tip 另法
22 | 如果您使用终端,也可直接[运行`latexmk -c`](../guide/commands.md#latexmk-c) 删除。
23 | :::
24 |
25 | ## 使用 VS Code(LaTeX Workshop 插件) {#vscode}
26 |
27 | 主侧栏 → LaTeX → 构建 LaTeX 项目 → 清理辅助文件。
28 |
29 | 
30 |
31 | ::: details 该按钮单击后没有反馈,如何确认成功了?
32 |
33 | 底部面板 → 输出(Ctrl +Shift +U )→ LaTeX Workshop,搜索“clean”。
34 |
35 | :::
36 |
37 | 若找不到按钮,可按F1 直接搜索命令 LaTeX Workshop: Clean up auxiliary files,Enter 。
38 |
39 | 
40 |
41 | ## 使用 TeXstudio {#texstudio}
42 |
43 | 顶栏 → 工具 → 清理辅助文件,确定。
44 |
45 | 
46 |
47 | 
48 |
49 | ## 使用在线平台
50 |
51 | ### Overleaf
52 |
53 | 重新编译 → 从头开始重新编译。
54 |
55 | 
56 |
57 | ### TeXPage
58 |
59 | 日志 →(最下面)原始日志 → 清空编译缓存,清除缓存。
60 |
61 | 
62 |
63 | ## 手动删除
64 |
65 | 找到`main.tex`所在文件夹,删除与之并列的`main.aux`、`main.bbl`等文件。
66 |
--------------------------------------------------------------------------------
/wiki/faq/weird-font.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag:
3 | - font
4 | - bithesis
5 | ---
6 |
7 | # 字体奇怪:逗号不像宋体、定理环境中汉字倾斜……
8 |
9 |
10 |
11 | 如果您遇到以下任何现象,请参考[如何换用中易字库](./word-font.md)。
12 |
13 | - [逗号不像宋体](https://ask.latexstudio.net/ask/question/8035.html)
14 |
15 | 
16 |
17 | - [[pkg:bithesis]]的`them`定理环境中汉字倾斜
18 |
19 | (正常情况:楷体)
20 |
21 | 
22 |
23 | ::: details 如需确认问题,可加入字体测试表格
24 |
25 | 在文档中加入下面这段,编译,正常效果如图。
26 |
27 | ```latex
28 | \begin{table}[htb]
29 | \linespread{1.5}
30 | \zihao{5}
31 | \centering
32 | \caption{字体效果表格}
33 | \begin{tabular}{@{}lllll@{}}
34 | & Regular & Bold & Italic & Bold Italic \\ \hline
35 | 宋体 & 宋体 & \textbf{宋体粗体} & \textit{楷体} & \textbf{\textit{楷书粗斜体}} \\
36 | 黑体 & {\heiti{}黑体} & \textbf{\heiti{}黑体粗体} & \textit{\heiti{}黑体斜体} & \textit{\textbf{\heiti{}黑体粗斜体}} \\
37 | 楷体 & {\kaishu{}楷书} & \textbf{\kaishu{}楷书粗体} & \textit{\kaishu{}斜体楷体} & \textbf{\textit{\kaishu{}楷书粗斜体}} \\
38 | \end{tabular}
39 | \end{table}
40 | ```
41 |
42 | 
43 |
44 | 如果以上测试不够,还可使用[完整版](https://github.com/BITNP/BIThesis/blob/66c063676db20d7b040777e994f8ab0e8643a033/templates/undergraduate-thesis/chapters/1_chapter1.tex#L83-L107)。
45 |
46 | :::
47 |
--------------------------------------------------------------------------------
/wiki/faq/array-stretch.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag:
3 | - bithesis
4 | - par
5 | ---
6 |
7 | # 如何调整表格行高?
8 |
9 | ## BIThesis(v3.7.8+)
10 |
11 | 请编辑`main.tex`,用`\BITSetup`设置`misc/tabularRowSeparation`选项,例如:
12 |
13 | ```latex
14 | \BITSetup{
15 | misc / tabularRowSeparation = 1.6,
16 | % 设为 1.25 更接近本科 Word 模板实作
17 | % 设为 1.6 更接近硕博 Word 模板实作
18 | }
19 | ```
20 |
21 | 这种方式会影响全文所有表格。若只需调整个别表格,可在正文`\BITSetup`,并用大括号`{}`限制作用范围,例如:
22 |
23 | ```latex {1-2,18}
24 | {
25 | \BITSetup{ misc / tabularRowSeparation = 1.6 }
26 | \begin{table}[htbp]
27 | \centering
28 | \caption{统计表}
29 | \begin{tabular}{ccccc}
30 | \toprule
31 | 项目 & 产量 & 销量 & 产值 & 比重 \\
32 | \midrule
33 | 手机 & 1000 & 10000 & 500 & 50\% \\
34 | 计算机 & 5500 & 5000 & 220 & 22\% \\
35 | 笔记本电脑 & 1100 & 1000 & 280 & 28\% \\
36 | \midrule
37 | 合计 & 17600 & 16000 & 1000 & 100\% \\
38 | \bottomrule
39 | \end{tabular}
40 | \end{table}
41 | }
42 | ```
43 |
44 | ## 一般 LaTeX 文档
45 |
46 | 请参考 [How do I change column or row separation in LaTeX tables? - Overleaf](https://www.overleaf.com/learn/latex/Questions/How_do_I_change_column_or_row_separation_in_LaTeX_tables%3F),重定义`\arraystretch`:
47 |
48 | ```latex
49 | \renewcommand*{\arraystretch}{1.6}
50 | ```
51 |
52 | 不过这会同时影响表格和矩阵,用于中文并不合适——表格里写方块字,矩阵里写字母,前者行高应大于后者。[[pkg:bithesis]]的`misc/tabularRowSeparation`选项也用`\arraystretch`实现,不过只影响表格,不影响矩阵。
53 |
--------------------------------------------------------------------------------
/wiki/faq/bib-comma.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag: biblatex-gb7714-2015
3 | ---
4 |
5 | # biber 报错`syntax error: found "茂录聦"`
6 |
7 |
8 |
9 | ```log
10 | syntax error: found "茂录聦", expected end of entry ("}" or ")")
11 | ```
12 |
13 | 请检查`*.bib`,应该是有 ASCII 逗号`,`误写成全宽逗号`,`了。
14 |
15 | 以下是报错如此迷惑的原因。
16 |
17 | ## 为何会出现`茂录聦`或`ï¼\x8c`?
18 |
19 | ### 显示日志
20 |
21 | `biber main.bcf`会把日志存到`main.blg`里,这个文件中存的字节是`b'\xc3\xaf\xc2\xbc\xc2\x8c'`,它按 GB 18030 解码是`'茂录聦'`,按UTF-8解码是`'ï¼\x8c'`。因此,有些环境下报错说`found "茂录聦"`,有些则说`found "ï¼\x8c"`。
22 |
23 | ### 生成日志
24 |
25 | 那么为什么会有`b'\xc3\xaf\xc2\xbc\xc2\x8c'`呢?将全宽逗号`','`按UTF-8编码,然后将结果作为Unicode码位再按UTF-8编码,两次编码后即为这串字节。
26 |
27 | ```python
28 | >>> from unicodedata import lookup, name
29 |
30 | >>> '茂录聦'
31 | '茂录聦'
32 |
33 | >>> _.encode('gb18030')
34 | b'\xc3\xaf\xc2\xbc\xc2\x8c'
35 |
36 | >>> bytes(map(ord, _.decode('utf8')))
37 | b'\xef\xbc\x8c'
38 |
39 | >>> _.decode('utf8')
40 | ','
41 |
42 | >>> name(_)
43 | 'FULLWIDTH COMMA'
44 |
45 | >> ','
46 | ','
47 |
48 | >> _.encode('utf8')
49 | b'\xef\xbc\x8c'
50 |
51 | >> ''.join(map(chr, _))
52 | 'ï¼\x8c'
53 | ```
54 |
55 | ### 验证
56 |
57 | 往`*.bib`里写各种乱七八糟东西,发现报错都符合预期。
58 |
59 | ```bibtex
60 | @article{Jiang2005Size,
61 | title = {形状记忆聚合物研究现状与发展},
62 | author = {姜敏 and 彭少贤 and 郦华兴},
63 | journal = {现代塑料加工应用},
64 | volume = {17},
65 | number = {2},
66 | pages = {53-56},
67 | year = {3001},,©孔乙己äüïabc,,
68 | }
69 | ```
70 |
--------------------------------------------------------------------------------
/wiki/faq/longtable.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag: package
3 | ---
4 |
5 | # 跨页三线表(续表)
6 |
7 |
8 |
9 | 使用[[pkg:longtable]]制作跨页三线表(续表)。
10 |
11 | ::: details 效果截图
12 | 
13 | :::
14 |
15 | ```latex
16 | \usepackage{longtable}
17 | % 此外还需要 booktabs,不过 bithesis 已经引入,不必重复
18 | ```
19 |
20 | ```latex
21 | \begin{longtable}[htbp]{cccc}
22 | \caption{标题} \label{tab:标题} \\
23 | % 👇第一个表头
24 | \toprule
25 | 甲 & 乙 & 丙 & 丁 \\
26 | \midrule
27 | \endfirsthead
28 | % 👇每次跨页后的表头
29 | \multicolumn{4}{l}{续表} \\
30 | \toprule
31 | 甲 & 乙 & 丙 & 丁 \\
32 | \midrule
33 | \endhead
34 | % 👇每次临跨页前的结尾
35 | \midrule
36 | \multicolumn{4}{r}{{续下页}} \\
37 | \endfoot
38 | \bottomrule
39 | \endlastfoot
40 | % 👇表的内容
41 | 1 & 2 & 3 & 4 \\
42 | 1 & 2 & 3 & 4 \\
43 | 1 & 2 & 3 & 4 \\
44 | 1 & 2 & 3 & 4 \\
45 | 1 & 2 & 3 & 4 \\
46 | 1 & 2 & 3 & 4 \\
47 | 1 & 2 & 3 & 4 \\
48 | \end{longtable}
49 | ```
50 |
51 | 相关链接:
52 |
53 | - [CY/T 170—2019《学术出版规范 表格》](https://www.nppa.gov.cn/xxgk/fdzdgknr/hybz/202210/t20221004_445179.html)
54 |
55 | > - 7.4.2 转页接排
56 | > - 7.4.2.1 表格一面排不下时,可采用转页接排的方法处理。
57 | > - 7.4.2.2 转页接排的表格应重复排横表头和关于单位的陈述,并在横表头上方加“表××(续)” 或“续表”字样。
58 | > - 7.4.2.3 前页表格最下端的行线应用细线,转页接排表格的顶线应用粗线。
59 |
60 | - [GB/T 7713.2—2022《学术论文编写规则》](https://lib.tsinghua.edu.cn/wj/GBT7713_2-2022.pdf)
61 |
62 | > - 5.5.5 表格宜紧置于首次提及该表编号的正文之后,先见文字后见表。如果某个表格需要转页接排,则应在随后接排该表的表格上方加“表×(续)”或“续表”字样。续表应重复表头。
63 |
--------------------------------------------------------------------------------
/wiki/faq/bib-cite-author.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag:
3 | - biblatex-gb7714-2015
4 | ---
5 |
6 | # citeauthor 引用作者时,如何始终用“等”而非“et al.”?
7 |
8 | `\citeauthor{…}`命令可带作者引用。默认情况下,它会给中文多人作者加“等”,给非中文多人作者加“et al.”,并且二者前均有空格,如下例所示。
9 |
10 | ```latex
11 | \citeauthor{吴伟仁2017}\cite{吴伟仁2017}和\citeauthor{su2025}\cite{su2025}都研究“嫦娥”任务。
12 | ```
13 |
14 | > 吴伟仁 等[1] 和 Su et al.[2] 都涉及“嫦娥”任务。
15 |
16 | 若想把“et al.”也改成“等”,请以下两方案之一操作。(两方案都只影响正文引用,不会影响文末著录格式。)
17 |
18 | ::: details 国标基本没有规定
19 |
20 | 对于我们一般采用的顺序编码制,国标没有描述如何引用作者,示例中也无相关情况。
21 |
22 | 对于著者-出版年制,国标 §10.2.2 规定:
23 |
24 | > 正文中引用多著者文献时,对欧美著者只需标注第一个著者的姓,其后附“et al.”;对于中国著者应标注第一著者的姓名,其后附“等”字。姓氏与“et al.”“等”之间留适当空隙。
25 |
26 | [[pkg:biblatex-gb7714-2015]]的默认样式可能是由此外推而来。
27 |
28 | :::
29 |
30 | ## 若想始终用“等”并保留空格
31 |
32 | 请编辑`main.tex`,在导入[[pkg:biblatex]]时设置`gbcitelocal=chinese`。
33 |
34 | ```latex {5}
35 | \usepackage[
36 | backend=biber,
37 | style=gb7714-2015,
38 | gbalign=gb7714-2015,
39 | gbcitelocal=chinese,
40 | …
41 | ]{biblatex}
42 | ```
43 |
44 | > 吴伟仁 等[1] 和 Su 等[2] 都涉及“嫦娥”任务。
45 |
46 | `gbcitelocal`默认为`gb7714`,会区分中英文;现改为`chinese`,会全部按中文。
47 |
48 | ## 若想始终用“等”并去除空格
49 |
50 | 请编辑`main.tex`,在导言区用以下代码修改本地化字符串。
51 |
52 | ```latex
53 | \DefineBibliographyStrings{english}{
54 | andincite = {和},
55 | andincitecn = {和},
56 | andothersincitecn = {\unspace 等},
57 | andothersincite = {\unspace 等},
58 | }
59 | ```
60 |
61 | > 吴伟仁等[1] 和 Su 等[2] 都涉及“嫦娥”任务。
62 |
63 | 更新信息请参考[[texdoc:biblatex-gb7714-2015]]。
64 |
--------------------------------------------------------------------------------
/wiki/faq/char-missing.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag: font
3 | ---
4 |
5 | # 生僻字无法显示(例:彧、璟)
6 |
7 |
11 |
12 | - **Windows 平台**预装了中易字库,字符较全,一般正常。
13 |
14 | 如果您那儿确实有问题,请参考下文[另外定义字体](#另外定义字体)。
15 |
16 | - **其它平台**默认用 Fandol 等字库,可能缺字。请优先参考[如何换用中易字库](./word-font.md)。
17 |
18 | ## 另外定义字体
19 |
20 |
21 |
22 | 1. 定义一个包含生僻字的字体`custom-font`,注意要确保你的系统存在[该字体](https://www.ctan.org/tex-archive/fonts/notocjksc)。
23 |
24 | ```latex
25 | \setCJKfamilyfont{custom-font}{Noto Serif CJK SC}
26 | ```
27 |
28 | 2. 使用自己定义的字体
29 |
30 | ```latex
31 | 荀{\CJKfamily{custom-font} 彧}不是苟或。
32 | ```
33 |
34 | `\CJKfamily`会切换字体,影响之后所有内容。故另套`{}`来分组,限制其作用范围。
35 |
36 | 更多解释请参考[[texdoc:lshort-zh-cn]]或[[texdoc:ctex]]。
37 |
38 | ::: warning ↕️ 字可能上下错位
39 | 有个别同学反映,自定义字体的字会上下错位。这是因为不同字体的基线没对齐。可以考虑用`\raisebox{<竖直位移>}{<内容>}`等方法微调,或者忽略。
40 | :::
41 |
42 | ## 备用办法
43 |
44 | 万一您非常“幸运”,问题到这里仍未解决,可以再试试以下办法,或者咨询身边朋友。
45 |
46 | - 关闭`\BITSetup`里`style`中的选项`windowsSimSunFakeBold = true`。(删除或修改为`false`)
47 |
48 | - 直接设置[[pkg:ctex]]:
49 |
50 | ```latex
51 | \PassOptionsToClass{fontset=windows}{ctexbook} % [!code ++]
52 | \documentclass[…]{bithesis}
53 | ```
54 |
55 | - 在`\BITSetup{…}`之后再次设置字体:
56 |
57 | ```latex
58 | \setCJKmainfont{SimSun}[ItalicFont=KaiTi, AutoFakeBold]
59 | ```
60 |
--------------------------------------------------------------------------------
/wiki/.vitepress/theme/news.data.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * News posts, to be used at runtime.
3 | */
4 |
5 | import { createContentLoader } from 'vitepress'
6 |
7 | export interface NewsPost {
8 | /** @example `"−∞ 至2020年10月"` */
9 | period: string
10 | /** @example `"/news/2020"` */
11 | url: string
12 | /**
13 | * 按时间倒序排列。
14 | * @example `["[1.2.0-beta-3] - 2020-06-01", "[1.1.0] - 2020-05-19"]
15 | */
16 | releases: string[]
17 | }
18 |
19 | declare const data: NewsPost[]
20 | export { data }
21 |
22 | export default createContentLoader('news/*.md', {
23 | includeSrc: true,
24 | transform(raw): NewsPost[] {
25 | return raw
26 | .filter(({ url }) => url !== '/news/') // Ignore `index.md`
27 | .map(({ url, src }) => parse(url, src as string))
28 | .sort((a, b) => b.url.localeCompare(a.url)) // 按时间倒序排列
29 | },
30 | })
31 |
32 | function parse(url: string, src: string): NewsPost {
33 | const lines = src.split('\n')
34 |
35 | const period = lines.find((l) => /^# 更新说明:/.test(l))?.replace('# 更新说明:', '')
36 | if (!period) {
37 | console.warn(`未能从 ${url} 中提取一级标题,将用 URL 替代`)
38 | }
39 |
40 | const releases = lines
41 | .filter((l) => /^## /.test(l))
42 | ?.map((line) => {
43 | const release = /^## (.+?)(?:\{.+\})?$/.exec(line.trim())?.at(1)?.trim()
44 | if (!release) {
45 | console.warn(`未能从 ${url} 中提取二级标题,将跳过:“${line}”`)
46 | }
47 | return release
48 | })
49 | .filter((r) => r !== undefined)
50 |
51 | return { period: period ?? url, url, releases }
52 | }
53 |
--------------------------------------------------------------------------------
/wiki/faq/biber-perl-cache.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag:
3 | - meta
4 | - biblatex-gb7714-2015
5 | ---
6 |
7 | # 参考文献空白,biber 报错`Can't call method "binmode"`
8 |
9 | ## 现象
10 |
11 | 若出现以下所有现象,才可能是此问题。
12 |
13 | - 能生成 PDF,但参考文献
14 | - 正文引用处显示 key 而非编号
15 | - 文末著录列表完全空白
16 |
17 | - biber 报错:
18 |
19 | ```log
20 | Can't call method "binmode" on an undefined value at C:\Users\中文名\AppData\Local\Temp\par-b2dcbae8eeda\cache-8f3580e5758dcf9e518781a55b95cc7413268871\inc\lib/Biber/Utils.pm line 114.
21 | ```
22 |
23 | - 即使注释掉`main.tex`中所有章节和`*.bib`大部分项目,只保留单个`\cite`,也仍如此
24 |
25 | ## 应对
26 |
27 | **原因**:Windows 用户名有 ASCII 以外的汉字,导致 biber 无法读取缓存。
28 |
29 | **背景原因**:biber 是个 perl 程序,perl 缓存在`$env:TEMP`里,`$env:TEMP`默认在用户目录下。
30 |
31 | **解决方法**:(任选其一)
32 |
33 | - 给 biber 加`-winunicode`选项,修改解码方式。
34 |
35 | ::: details TeXstudio 设置方法
36 |
37 | (顶栏)选项 → 设置 TeXstudio → 命令 → Biber,从`biber.exe %`改成`biber.exe -winunicode %`。
38 |
39 | 
40 |
41 | :::
42 |
43 | - 修改用户名(记得先备份),或者换其它设备或在线平台。
44 |
45 | - 每次使用时在 PowerShell 里设置 `$env:TEMP`到一个纯 ASCII 路径,然后从 shell 里启动 TeXstudio 等编辑器或手动用 latexmk 编译。
46 |
47 | ::: warning 谨慎操作
48 | 如果您头一次听说 shell,建议寻求有经验者帮助。
49 | :::
50 |
51 | ::: tip 本问答主要整理于2025年5月
52 |
53 | 此问题[从 Windows 10 1803 开始出现](https://github.com/plk/biber/issues/369),以上解决方法针对 biber 2.20(2024年3月发布)测试过。
54 |
55 | [2024年10月 biber 改进了解码方式](https://github.com/plk/biber/commit/c8017572331ac55e6ab74553b291a57b1c60efd6),[2025年7月发布的 biber 2.21](https://github.com/plk/biber/releases/tag/v2.21)可能已修复这个问题。
56 |
57 | :::
58 |
--------------------------------------------------------------------------------
/wiki/assets/word-font-ctex-fontset-windows.def:
--------------------------------------------------------------------------------
1 | %% Modified from `texmf-dist/tex/latex/ctex/fontset/ctex-fontset-windows.def'.
2 | %% The LaTeX Project Public License 1.3c
3 |
4 | \GetIdInfo$Id: ctex.dtx 13a2256 2022-07-14 18:54:09 +0800 Qing Lee $
5 | {
6 | Windows fonts definition (CTEX, by file name)
7 | See https://bithesis.bitnp.net/faq/word-font.html
8 | }
9 | \ProvidesExplFile{ctex-fontset-windows.def}
10 | {\ExplFileDate}{2.5.10}{\ExplFileDescription}
11 |
12 | % SimSun → simsun.ttc, SimHei → simhei.ttf, KaiTi → simkai.ttf, FangSong → simfang.ttf
13 | \setCJKmainfont { simsun.ttc } [ BoldFont = simhei.ttf , ItalicFont = simkai.ttf ]
14 | \setCJKsansfont { Microsoft~YaHei } [ BoldFont = *~Bold ]
15 | \setCJKmonofont { simfang.ttf }
16 | \setCJKfamilyfont { zhsong } { simsun.ttc }
17 | \setCJKfamilyfont { zhhei } { simhei.ttf }
18 | \setCJKfamilyfont { zhfs } { simfang.ttf }
19 | \setCJKfamilyfont { zhkai } { KaiTi }
20 | \setCJKfamilyfont { zhyahei } { Microsoft~YaHei } [ BoldFont = *~Bold ]
21 | \setCJKfamilyfont { zhli } { LiSu }
22 | \setCJKfamilyfont { zhyou } { YouYuan }
23 |
24 | \NewDocumentCommand \songti { } { \CJKfamily { zhsong } }
25 | \NewDocumentCommand \heiti { } { \CJKfamily { zhhei } }
26 | \NewDocumentCommand \fangsong { } { \CJKfamily { zhfs } }
27 | \NewDocumentCommand \kaishu { } { \CJKfamily { zhkai } }
28 | \NewDocumentCommand \lishu { } { \CJKfamily { zhli } }
29 | \NewDocumentCommand \youyuan { } { \CJKfamily { zhyou } }
30 | \NewDocumentCommand \yahei { } { \CJKfamily { zhyahei } }
31 |
--------------------------------------------------------------------------------
/wiki/faq/compiler-xelatex.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag:
3 | - bithesis
4 | - meta
5 | ---
6 |
7 | # 空模板无法编译(如何换用 XeLaTeX?)
8 |
9 | 很可能是编译器设置成了 pdfLaTeX。该编译器几乎不支持汉字,请换成[[pkg:bithesis]]支持的 XeLaTeX。
10 |
11 | - 本地平台——请参考 [📃 编辑器配置与模板编译](../guide/configure-and-compile.md)
12 | - **徒手`latexmk`和 TeXstudio**——默认识别`! TeX`魔术注释和`latexmkrc`,正常没有问题。
13 | - **VS Code**——必须专门设置,详见[使用 VS Code 配合 LaTeX Workshop 编写与编译](../guide/configure-and-compile.md#使用-vs-code-撰写与编译-latex-模板)。
14 |
15 | - 在线平台
16 | - [**Overleaf**](https://www.overleaf.com)——左上角 Menu/菜单 → Settings/设置 → Compiler/编译器,改为 XeLaTeX。
17 | - [**TeXPage**](https://www.texpage.com)——默认用 XeLaTeX,正常没有问题。
18 |
19 | ## 可能的报错
20 |
21 | 为方便搜索,列出几种可能报错。
22 |
23 | Linux、macOS 及大部分在线平台:
24 |
25 | ```log
26 | …/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-fandol.def
27 | ! Critical Class ctexbook Error:
28 | CTeX fontset `fandol' is unavailable in current mode.
29 | ```
30 |
31 | Windows:
32 |
33 | ```log
34 | …/texmf-dist/tex/xelatex/xecjk/xeCJK.sty
35 | ! Critical Package xeCJK Error:
36 | The xeCJK package requires XeTeX to function.
37 |
38 | You must change your typesetting engine to "xelatex"
39 | instead of plain "latex" or "pdflatex" or "lualatex".
40 | Loading xeCJK will abort!
41 | ```
42 |
43 | [在 Overleaf 等在线平台自定义`ctex-fontset-windows.def`](./word-font.md#overleaf)时:
44 |
45 | ```log
46 | ./ctex-fontset-windows.def
47 | File: ctex-fontset-windows.def 2022/07/14 v2.5.10 Windows fonts definition (CTEX, by file name)
48 | See https://bithesis.bitnp.net/faq/word-font.html
49 | ! Undefined control sequence.
50 | l.13 \setCJKmainfont { simsun.ttc } [ BoldFont = simhei.ttf , ItalicFont =...
51 | ```
52 |
--------------------------------------------------------------------------------
/wiki/faq/bib-split.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag:
3 | - biblatex-gb7714-2015
4 | - bithesis
5 | ---
6 |
7 | # 参考文献分章
8 |
9 |
10 |
11 | 文章较长时,可能想在每一章之后添加参考文献,并不统一甩到最后。
12 |
13 | ::: details 效果截图
14 | 
15 | 
16 | :::
17 |
18 | [[pkg:biblatex]]提供了`refsection=chapter`选项自动实现,但[[pkg:bithesis]]间接使用了[[pkg:titletoc]],会冲突,无效。于是暂时只能手动实现。
19 |
20 | ## 手动方法
21 |
22 | 1. 编辑`main.tex`,给每一章套个`refsection`环境,并将原来的`2_reference.tex`移动、复制到每个`refsection`内:
23 |
24 | ```latex
25 | \mainmatter
26 |
27 | % 请根据论文内容,按照顺序添加章节。
28 | \begin{refsection} % [!code ++]
29 | \input{./chapters/chapter1.tex}
30 | \input{./misc/2_reference.tex} % [!code ++]
31 | \end{refsection} % [!code ++]
32 |
33 | \begin{refsection} % [!code ++]
34 | \input{./chapters/chapter2.tex}
35 | \input{./misc/2_reference.tex} % [!code ++]
36 | \end{refsection} % [!code ++]
37 |
38 | \backmatter
39 |
40 | % 结论
41 | \input{./misc/1_conclusion.tex}
42 | % 参考文献 // [!code --]
43 | \input{./misc/2_reference.tex} % [!code --]
44 | ```
45 |
46 | 解释:biblatex会在每个`refsection`中单独统计参考文献,现在人为每章设置一个`refsection`。
47 |
48 | 2. 编辑`bithesis.cls`,搜索`bibprint`,往下十几行,把`\chapter`改为`\section`:
49 |
50 | ```latex
51 | \NewDocumentEnvironment {bibprint} {}
52 | {
53 | % …
54 |
55 | \__bithesis_if_thesis_english:TF {
56 | \chapter{\c__bithesis_label_reference_en_tl} % [!code --]
57 | \section{\c__bithesis_label_reference_en_tl} % [!code ++]
58 | } {
59 | \chapter{\c__bithesis_label_reference_tl} % [!code --]
60 | \section{\c__bithesis_label_reference_tl} % [!code ++]
61 | }
62 | }
63 | {}
64 | ```
65 |
66 | 解释:原本参考文献是单独一章(标题居中),现在改为每章的一节(标题居左并编号)。
67 |
--------------------------------------------------------------------------------
/wiki/faq/subsubsection.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag:
3 | - par
4 | - package
5 | ---
6 |
7 | # 如何让 subsubsection 显示在目录或书签中?
8 |
9 |
10 |
11 | `\subsubsection{…}`是第四级标题,编号形如 0.0.0.0。正文之前的目录(以下简称“目录”)和 PDF 的`/Outline`(以下简称“书签”)默认只收录到第三级,不包含它。
12 |
13 | ## 如需目录、书签都包含
14 |
15 | 请编辑 `main.tex`,在`\documentclass[…]{bithesis}`与`\MakeTOC`之间的任意地方,加上下面这行。
16 |
17 | ```latex
18 | \ctexset{tocdepth = subsubsection}
19 | ```
20 |
21 | 更多用法请参考[[texdoc:ctex]]。
22 |
23 | 如需进一步调整目录样式,请使用[[pkg:titletoc]]的`\titlecontents`命令。
24 |
25 | - 用法
26 |
27 | ```latex
28 | \titlecontents{⟨section⟩}[⟨left⟩]{⟨above-code⟩}
29 | {⟨numbered-entry-format⟩}{⟨numberless-entry-format⟩}
30 | {⟨filler-page-format⟩}[⟨below-code⟩]
31 | ```
32 |
33 | - [[pkg:bithesis]]示例
34 |
35 | ::: code-group
36 |
37 | ```latex [硕博模板]
38 | % subsubsection 缩进六字,全部小四。
39 | \titlecontents{subsubsection}[14pt * 6]{\songti \zihao{-4}}
40 | {\thecontentslabel\hspace{\ccwd}}{}
41 | {\hspace{.5em}\titlerule*{.}\contentspage}
42 | ```
43 |
44 | ```latex [本科和其它模板]
45 | % subsubsection 标题为宋体小四号。
46 | \titlecontents{subsubsection}[3\ccwd]{\songti \zihao{-4}}
47 | {\thecontentslabel\hspace{\ccwd}}{}
48 | {\hspace{.5em}\titlerule*{.}\contentspage}
49 | ```
50 |
51 | :::
52 |
53 | 学校没有规定目录如何收录 subsubsection,以上样式由 section、subsection 类推而来,可以再根据实际情况调整,例如减小`⟨left⟩`缩进的汉字字宽`\ccwd`[^ccwd]倍数。
54 |
55 | [^ccwd]: 硕博模板各级标题字号不同。为尽可能视觉对齐,缩进的字宽统一按四号`14pt`,未使用`\ccwd`。
56 |
57 | ## 如只需书签包含
58 |
59 | 请编辑 `main.tex`,在`\documentclass[…]{bithesis}`与`\MakeTOC`之间的任意地方,加上下面这行。
60 |
61 | ```latex
62 | \hypersetup{bookmarksdepth = subsubsection}
63 | ```
64 |
65 | 在[[pkg:ctex]]统一设置目录和书签后,以上代码用[[pkg:hyperref]]重新设置了书签。更多用法请参考[[texdoc:hyperref]]。
66 |
--------------------------------------------------------------------------------
/wiki/faq/bitsetup.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag:
3 | - bithesis
4 | - meta
5 | ---
6 |
7 |
8 |
9 | # 如何用`\BITSetup`设置选项?
10 |
11 | ## 代码示例
12 |
13 |
19 |
20 |
21 |
22 |
23 |
24 | ```latex-vue
25 | \documentclass[type=…]{bithesis}
26 |
27 | \BITSetup{
28 | {{ generated?.code }}
29 | }
30 | ```
31 |
32 | 注意,以上只展示`\BITSetup`用法,不会验证选项是否有效;具体请参考[[texdoc:bithesis]]。
33 |
34 | ## 用法说明
35 |
36 | > [!TIP]
37 | > 以下删改自[[texdoc:bithesis]]“参数设置”一节。
38 |
39 | BIThesis 模板提供了一系列选项,您(文章作者)可用`\BITSetup`命令设置它们。该命令的参数是 LaTeX3 风格的多层键值列表。
40 |
41 | 具体而言:
42 |
43 | - `\BITSetup`的参数是用 ASCII 逗号`,`分隔的选项**列表**
44 | - 列表中间允许换行,也可用`%`添加注释;不过不能出现空行。
45 | - 最后一项之后的`,`可有可无。
46 |
47 | - 列表中**每项**的形式基本是`⟨key⟩ = { ⟨value⟩ }`
48 | - `⟨key⟩`、`=`、大括号左右的空格不影响设置,可以任意缩进。
49 | - 若`⟨value⟩`不含`,`,也可省略大括号写为`⟨key⟩ = ⟨value⟩`。
50 |
51 | - 大部分选项分**多层**,此时既可在`⟨value⟩`内嵌套,也可压平`⟨key⟩`
52 |
53 | 例如设置`cover/date`、`info/author`和`info/title`,有以下两种等价方式。
54 |
55 | ```latex
56 | \BITSetup{
57 | cover = {
58 | date = 2340年1月17日,
59 | },
60 | info = {
61 | author = {RO Laren, Ensign},
62 | title = 标题,
63 | },
64 | }
65 | ```
66 |
67 | ```latex
68 | \BITSetup{
69 | cover / date = 2340年1月17日,
70 | info / author = {RO Laren, Ensign},
71 | info / title = 标题,
72 | }
73 | ```
74 |
75 | - `\BITSetup`通常只在**导言区**使用,全局生效
76 |
77 | 对于某些特殊需求,`\BITSetup`也可在正文使用,局部生效,例如[用`misc/tabularRowSeparation`调整表格行高](./array-stretch.md)。
78 |
79 | (对于一般文档,导言区是指`main.tex`中从`\documentclass`到`\begin{document}`的部分。)
80 |
--------------------------------------------------------------------------------
/wiki/guide/downloading-using-templates.md:
--------------------------------------------------------------------------------
1 | # 📁 下载与使用模板
2 |
3 | :::warning 📖 初次使用?
4 | 若是初次使用,请先阅读本 Wiki 全部内容或快速使用指南,再开始写作。
5 |
6 | - 阅读本 **Wiki**:[从这里开始](./preface.md)。
7 | - **快速使用指南**:[本科][undergraduate-handbook]/[硕博][graduate-handbook]。
8 |
9 | :::
10 |
11 | ## 下载模板包并解压
12 |
13 | 👉 最新版本:[🏫 校内开源镜像站][mirror]/[👽 校外 GitHub release][latest-release]。
14 |
15 | 下载你需要的模板包,解压到本地即可使用。
16 |
17 | - 硕博·学位论文 — `graduate-thesis.zip`
18 | - 本科·毕业设计
19 | - 论文 — `undergraduate-thesis.zip`
20 | - 论文(全英文专业) — `undergraduate-thesis-en.zip`
21 | - 外文翻译 — `paper-translation.zip`
22 | - 本科·读书报告 — `reading-report.zip`
23 | - 演示文档 — `presentation-slide.zip`
24 | - 实验报告 — `lab-report.zip`
25 |
26 | 
27 |
28 | :::tip ⛔ 无须克隆仓库
29 | 若从 GitHub 下载,只从 [Releases][releases] 下载压缩包即可,不需要也不建议`git clone …`。
30 |
31 | 为了方便各位同学使用,项目已按照发布 Release 流程,将每个模板单独打包,解压即可使用。而仓库围绕开发,缺少自动生成的文件,并且包含多个模板,并不方便使用。
32 |
33 | 另外,即使您日后要更新模板,也是下载新的`*.cls`替换原有的,并非`git pull`。
34 | :::
35 |
36 | ## 日后更新升级
37 |
38 | BIThesis 会不时更新,主要是满足学校、同学新的细节要求,此外适配宏包、改善文档。如果使用遇到问题,可考虑升级模板:
39 |
40 | 1. 从上文地址下载新的文档类(论文`bithesis.cls`/幻灯片`bitbeamer.cls`/实验报告`bitreport.cls`)
41 | 2. 替换原有`*.cls`文件
42 | 3. 重新编译
43 |
44 | 更新说明请移步 [GitHub Releases][latest-release] 或[本站备份](../news/index.md)。
45 |
46 | [mirror]: https://mirror.bit.edu.cn/github-release/BITNP/BIThesis/LatestRelease/ '北京理工大学开源镜像站 - BIThesis镜像'
47 | [releases]: https://github.com/BITNP/BIThesis/releases/ 'Releases · BITNP/BIThesis'
48 | [latest-release]: https://github.com/BITNP/BIThesis/releases/latest 'Latest Release · BITNP/BIThesis'
49 | [undergraduate-handbook]: https://mirrors.ctan.org/macros/unicodetex/latex/bithesis/bithesis-handbook-undergraduate.pdf
50 | [graduate-handbook]: https://mirrors.ctan.org/macros/unicodetex/latex/bithesis/bithesis-handbook-graduate.pdf
51 |
--------------------------------------------------------------------------------
/wiki/video/episode-4.md:
--------------------------------------------------------------------------------
1 | # 第四节 模板的下载与使用
2 |
3 |
4 |
5 |
6 |
7 | ## 视频相关说明
8 |
9 | ### 初步配置
10 |
11 | - 本项目的 [GitHub Release 页面](https://github.com/BITNP/BIThesis/releases/)
12 | - [BIThesis 项目首页](https://github.com/BITNP/BIThesis)
13 | - 个人信息的定义位于 `main.tex` 的 [此处](https://github.com/BITNP/BIThesis/blob/main/templates/undergraduate-thesis/main.tex#L63-L70)
14 | - `\deptName`:你所在学院
15 | - `\majorName`:你所就读的专业
16 | - `\yourName`:你的姓名
17 | - `\yourStudentID`:你的学号
18 | - `\mentorName`:你的指导教师
19 | - 章节文件的相对路径引用:
20 |
21 | ```latex
22 | % 第一章
23 | \input {chapters/1_chapter1.tex}
24 | % 在这里添加第二章、第三章……TeX 文件的引用
25 | \input {chapters/2_chapter2.tex}
26 | \input {chapters/3_chapter3.tex}
27 | ```
28 |
29 | 之后,你可以分别在每个章节独立的 TeX 文件中撰写每一章节的内容。
30 |
31 | ### 后续模块
32 |
33 | 在正文之后,我们的论文还剩下:结论、参考文献、附录与致谢这四个模块。它们依次位于:
34 |
35 | :::vue
36 | .
37 | ├── Conclusion 结论:`misc/3_conclusion.tex`
38 | ├── Reference 参考文献:`misc/4_reference.tex`
39 | ├── Appendix 附录:`misc/5_appendix.tex`
40 | └── Acknowledgements 致谢:`misc/6_acknowledgements.tex`
41 | :::
42 |
43 | 复制得到的参考文献 BibTeX 类似:
44 |
45 | ```bibtex
46 | @inproceedings {szegedy2016rethinking,
47 | title={Rethinking the inception architecture for computer vision},
48 | author={Szegedy, Christian and Vanhoucke, Vincent and Ioffe, Sergey and Shlens, Jon and Wojna, Zbigniew},
49 | booktitle={Proceedings of the IEEE conference on computer vision and pattern recognition},
50 | pages={2818--2826},
51 | year={2016}
52 | }
53 | ```
54 |
55 | - 引用这一标签为 `szegedy2016rethinking` 的参考文献:
56 |
57 | ```latex
58 | 正文,正文正文 \cite{szegedy2016rethinking} 正文正文……
59 | ```
60 |
--------------------------------------------------------------------------------
/wiki/.vitepress/sitemap_page.ts:
--------------------------------------------------------------------------------
1 | import { readFile, writeFile } from 'node:fs/promises'
2 | import path from 'node:path'
3 |
4 | import type { SiteConfig } from 'vitepress'
5 |
6 | import { getTitleFromSrc } from './util'
7 |
8 | /**
9 | * 生成网站地图
10 | *
11 | * 注意是单独页面,并非`sitemap.xml`。用于给智能体导入知识库。
12 | *
13 | * 参考 [VitePress 的`src/node/build/generateSitemap.ts`](https://github.com/vuejs/vitepress/blob/26cb685adf54f07fe3e9fd7bfd49a0ff79956923/src/node/build/generateSitemap.ts)。
14 | */
15 | export async function generate_sitemap_page(site: SiteConfig) {
16 | const pages = site.pages.map((page) => ({
17 | file: path.join(site.srcDir, page),
18 | url: (site.rewrites.map[page] ?? page)
19 | .replace(/(^|\/)index\.md$/, '$1')
20 | .replace(/\.md$/, site.cleanUrls ? '' : '.html'),
21 | }))
22 |
23 | const links = await Promise.all(
24 | pages.map(async ({ file, url }) => {
25 | const src = await readFile(file, 'utf-8')
26 | // url 也可能空,例如`/index.md`
27 | const title = getTitleFromSrc(src) ?? (url || '首页')
28 | return { url, title }
29 | })
30 | )
31 | links.sort(
32 | (a, b) =>
33 | by_category(a, b, (x) => x.url === '') ??
34 | by_category(a, b, (x) => x.url.startsWith('guide/')) ??
35 | a.url.localeCompare(b.url)
36 | )
37 |
38 | await writeFile(
39 | path.join(site.outDir, 'sitemap.html'),
40 | [
41 | '',
42 | ...links.map(({ url, title }) => `${title} `),
43 | ' ',
44 | ].join('\n')
45 | )
46 | }
47 |
48 | function by_category- (a: Item, b: Item, is_superior: (x: Item) => boolean): number | undefined {
49 | const a_superior = is_superior(a)
50 | const b_superior = is_superior(b)
51 | if (a_superior !== b_superior) {
52 | return a_superior ? -1 : +1
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/wiki/faq/pub-author-an.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag:
3 | - pub
4 | - bithesis
5 | ---
6 |
7 | # 成果清单`pub.bib`怎么标`author+an`?
8 |
9 | ## 生成代码
10 |
11 |
17 |
18 |
19 |
20 | ```bibtex-vue {2}
21 | {{ generated?.code }}
22 | ```
23 |
24 |
25 |
26 | ## 用法说明
27 |
28 | > [!TIP]
29 | > 以下摘自[[texdoc:bithesis]]。
30 |
31 | ### `author+an`字段
32 |
33 | ```bibtex {4}
34 | @article{key,
35 | title = {标题},
36 | author = {张三 and 李杰 and 罗运军},
37 | author+an = {1:myself="\Author"},
38 | }
39 | ```
40 |
41 | 以上这样的`author+an`字段用于标注(annotate)论文作者的位置,其中
42 |
43 | - `1`——论文作者的位置,即论文作者的位置是第1个。
44 | - `myself`——[[pkg:bithesis]]固定标记,不需要修改。
45 | - `\Author`——[[pkg:bithesis]]提供的 LaTeX 命令,普通模式显示作者姓名,盲审模式显示`第一作者`,更多用法见下。
46 |
47 | ### `\Author`和`\AuthorEn`命令
48 |
49 | ```latex
50 | \Author[⟨n(表示第几作者,默认为 1)⟩][⟨覆盖普通模式下内容⟩][⟨覆盖盲审模式下内容⟩]
51 | ```
52 |
53 | #### 使用示例
54 |
55 | | 命令 | 普通模式下 | 盲审模式下 |
56 | | ------------------------- | ---------- | --------------- |
57 | | `\Author` | 作者姓名 | `第一作者` |
58 | | `\Author[][][第一发明人]` | 作者姓名 | `第一发明人` |
59 | | `\Author[2]` | 作者姓名 | `第二作者` |
60 | | `\Author[][][共同二作]` | 作者姓名 | `共同二作` |
61 | | `\AuthorEn` | 作者姓名 | `First Author` |
62 | | `\AuthorEn[2]` | 作者姓名 | `Second Author` |
63 |
64 | #### 详细解释
65 |
66 | - **普通模式**
67 | - 默认输出作者姓名。
68 |
69 | (作者姓名由用户在`info/author`中配置。)
70 |
71 | - 如果指定了覆盖普通模式下内容,则输出该覆盖内容。
72 |
73 | - **盲审模式**
74 | - 默认输出「第n作者」。
75 |
76 | (具体情况:`\Author`输出中文,如`第一作者`;`\AuthorEn`输出英文,如`First Author`。)
77 |
78 | - 如果指定了覆盖盲审模式下内容,则输出覆盖内容。
79 |
--------------------------------------------------------------------------------
/wiki/.vitepress/theme/Contribution.vue:
--------------------------------------------------------------------------------
1 |
21 |
22 |
23 |
24 |
25 |
32 |
33 |
34 | {{ cell.contributor.name }}
35 |
36 |
37 | {{ cell.contributor.name }}
38 |
39 |
40 | {{ cell.contribution }}
41 |
42 |
43 |
44 |
45 |
71 |
--------------------------------------------------------------------------------
/wiki/video/intro.md:
--------------------------------------------------------------------------------
1 | # BIThesis 系列视频教程
2 |
3 | :::tip 🎞 视频教程
4 | BIThesis 主创团队也联合北京理工大学「京工拾光工作室」为各位初入 LaTeX 世界的同学制作了详细周全的系列视频教程,如果文字版 BIThesis 使用教程看起来吃力乏味,同学们也可以来这里或者直接去哔哩哔哩平台在线观看 BIThesis 的系列视频教程。
5 | :::
6 |
7 | :::danger `v3.x.x` 观看提示
8 | 此系列视频制作于 2020 年年初,主要针对 `v1.x` 版本(2019 - 2020)的 BIThesis 进行解说。但在 `v3.x.x` 版本(2022 - 今)中,BIThesis 的使用方式与原有版本有些出入(详见下文)。我们十分建议你在观看视频的同时,也阅读相应的 [文档指南](../guide/intro.md) 作为补充。
9 | :::
10 |
11 | ## BIThesis `v3.x.x`、`v2.x.x` 和 `v1.x.x` 的区别是什么?
12 |
13 | :::warning
14 | 此部分内容更新于 2021 年,主要留存给历史用户查阅。`v1.x.x` 版本已经不再维护。
15 | :::
16 |
17 | **首先,推荐使用最新版本(代码托管在 GitHub 上)的 BIThesis。**
18 |
19 | `v3.x.x` 版本的使用方式比较简单,在有任意 LaTeX 发行版的基础上,直接下载模板使用即可。
20 |
21 | ~~对于用户来说,V2.x 的改动 **在于要求用户使用 2021 年及以上版本的 LaTeX 环境,或者手动安装 [bithesis 宏集](https://ctan.org/pkg/bithesis?lang=en);并使用 [V2.x 以上的最新 LaTeX 模板](https://github.com/BITNP/BIThesis/releases)** 。~~
22 |
23 | **V3/V2 版本其实是对 V1 的重构,以提供更简介的模板和更方便的更新方式。** 如果你使用过 V1 版本,就会发现在模板开始,有较长的一段文档样式定义代码。这些代码并不需要作为使用者的你直接修改。但是随着版本的迭代,这部分的代码有可能会被开发者进行修改。为了更新本地的版本,作为使用者的你就不得不将自己的论文重新拷贝到新版本的模板中。
24 |
25 | 因此 `v2.x.x` 着力解决这一问题。为此我们将样式文件迁移到了自己的 [宏集 bithesis](https://ctan.org/pkg/bithesis?lang=en) 中。bithesis 宏集将随着 TeX 发型版一起被分发到下游,进而供我们在模板中使用。这样,每次的样式更新就只需要用户更新 bithesis 宏集,而不影响用户正在编写的 `*.tex` 文件。
26 |
27 | 另外,`v2.x.x` 版本会提升可配置性的问题,并引入最新的更新。
28 |
29 | `v3.x.x` 重写了全部代码,引入了更多功能。
30 |
31 | ## 视频章节
32 |
33 | - [第一节 综述](episode-1.md)
34 | - [第二节 LaTeX 的下载和安装](episode-2.md)
35 | - [第三节 LaTeX 基本介绍](episode-3.md)
36 | - [第四节 模板的下载与使用](episode-4.md)
37 | - [第五节 格式转化](episode-5.md)
38 | - [第六节 项目介绍与疑难解惑](episode-6.md)
39 |
40 | ## BIThesis 预告片
41 |
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/wiki/faq/bib-sort.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag:
3 | - pub
4 | - bithesis
5 | - biblatex-gb7714-2015
6 | ---
7 |
8 | # 怎么调整「攻读学位期间发表论文与研究成果清单」的顺序
9 |
10 | > (十二)攻读学位期间发表的论文与研究成果清单
11 | >
12 | > 应列出攻读学位期间发表的与学位论文内容相关的学术论文和研究成果,**按发表的时间顺序列出**,研究成果可以是在学期间参加的研究项目、获得专利、获奖情况等。
13 |
14 | 学校要求「攻读学位期间发表论文与研究成果清单」中的论文按发表时间排序,但实际可能有别的需求,想自定义排序。
15 |
16 | `\BITSetup{…}`的`publications/sorting`选项用于控制是否按照发表时间排序。您大致有以下三种选择。
17 |
18 | - [完全按发表时间排序](#true)——保留默认的`true`即可。
19 | - [完全手动指定顺序](#false)——修改为`false`。
20 | - [在发表时间顺序上微调,把个别的提到最前](#sortkey)——保留默认的`true`,同时使用`sortkey`字段。
21 |
22 | ## 完全按发表时间排序(默认){#true}
23 |
24 | 保留默认的`true`即可。(严格来说,这是按年份、姓名、标题排序。)
25 |
26 | ## 完全手动指定顺序 {#false}
27 |
28 | 编辑`main.tex`,在`\BITSetup{…}`中将`publications/sorting`设置为`false`:
29 |
30 | ```latex
31 | \BITSetup{
32 | …,
33 | publications/sorting = {false},
34 | }
35 | ```
36 |
37 | 这样会按照`\addpubs`或`\addpub`引用顺序来排。
38 |
39 | ## 在发表时间顺序上微调,把个别的提到最前 {#sortkey}
40 |
41 |
42 |
43 | [保留默认的`true`](#true),同时在`reference/pub.bib`文件中给个别项加上`sortkey`字段:
44 |
45 | ```bibtex{6}
46 | @article{myCiteKey2,
47 | title = {交联型与线形水性聚氨酯的形状记忆性能比较},
48 | author = {李杰 and 张三 and 罗运军},
49 | author+an = {2:myself="\Author[][][共同二作]"},
50 | date = {2007},
51 | sortkey = {002},
52 | }
53 | ```
54 |
55 | 例如,上面这样可保证它在`sortkey = {001}`那项后面,且在没标`sortkey`的其它项前面。
56 |
57 | 详细解释可参考[[texdoc:biblatex-gb7714-2015]](中文)或[[texdoc:biblatex]](英文)。
58 |
59 | ::: details 更全面的例子
60 |
61 | 如果在`reference/pub.bib`中定义以下三项并引用(其它项不指定`sortkey`),那么可以保证`wandering-earth`、`wandering-earth-2`、`three-body`依次出现在清单开头,且其它项在后面按发表时间排序。
62 |
63 | ```bibtex
64 | @misc{wandering-earth, …, sortkey = {1}, …}
65 | @misc{wandering-earth-2, …, sortkey = {2}, …}
66 | @misc{three-body, …, sortkey = {13}, …}
67 | ```
68 |
69 | :::
70 |
71 | ::: info ♻ 有错误?清空缓存重试
72 | 注意,如果编译后编号产生错误,请使用 `latexmk -c` 或手动清空缓存后再编译,参考[如何清除缓存](./clean.md)。
73 | :::
74 |
--------------------------------------------------------------------------------
/wiki/faq/algorithm.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag:
3 | - bithesis
4 | - package
5 | ---
6 |
7 | # 如何排版算法(伪代码)?
8 |
9 | 有以下三种互不兼容的方式。
10 |
11 | ## [[pkg:algorithm2e]]方式(推荐){#algorithm2e}
12 |
13 | 引入宏包时,要加上选项 `algochapter` 才能按学校要求分章编号,示例如下。
14 |
15 | ```latex
16 | \usepackage[ruled, algochapter]{algorithm2e}
17 | ```
18 |
19 | 使用示例请参考 [Algorithms - Overleaf 文档的 The `algorithm2e` package 一节](https://www.overleaf.com/learn/latex/Algorithms#The_algorithm2e_package)或者 [BIThesis 的测试用例](https://github.com/BITNP/BIThesis/blob/main/tests/algorithm2e/main.tex),也可直接查询互联网及人工智能。
20 |
21 | ::: tip 📥 报错 file not found?请补装宏包
22 | 如果您之前精简了 TeX Live 安装内容,需要补装宏包:
23 |
24 | ```shell
25 | tlmgr install algorithm2e endfloat ifoddpage tocbibind
26 | ```
27 |
28 | :::
29 |
30 | ## [[pkg:algorithms|algorithm]] + X 方式
31 |
32 | 引入[[pkg:algorithms|algorithm]]时,要加上选项 `chapter` 才能按学校要求分章编号,示例如下。
33 |
34 | ```latex
35 | \usepackage[chapter]{algorithm}
36 | \usepackage{algorithmic} % 也可替换为 algpseudocode 或 algcompatible
37 | ```
38 |
39 | 使用示例请参考 [Algorithms - Overleaf 文档](https://www.overleaf.com/learn/latex/Algorithms)。
40 |
41 | ::: warning 🧓 不推荐
42 | [[pkg:algorithms]]2009年后就未再更新,有些小问题,我们不推荐使用(除非您已有现成代码)。例如,`algorithm`环境按`H`与`h/t/b/p`方式浮动时,算法内部的行距不同;再比如`\IF`等命令设计得不好,LaTeX 源代码难以自动缩进。
43 | :::
44 |
45 | ::: tip 📏 微调下边线宽度
46 |
47 | `algorithm`环境默认采用[[pkg:float]]提供的`ruled`样式,这种样式会在算法内容上下画边线。
48 |
49 | 然而下边线默认会比上边线细,有部分盲评专家建议改粗。如果你想改粗,请在`\usepackage{algorithmic}`之后加上以下代码。
50 |
51 | ```latex
52 | \makeatletter
53 | \patchcmd{\fs@ruled}
54 | {\def\@fs@post{\kern2pt\hrule\relax}}
55 | {\def\@fs@post{\kern2pt\hrule height 0pt depth .8pt\relax}}
56 | {}{}
57 | \makeatother
58 | ```
59 |
60 | 参考:
61 |
62 | - [Tune rule height in ruled float - TeX - LaTeX Stack Exchange](https://tex.stackexchange.com/a/248941/266758)
63 | - [`float.dtx`中的`\newcommand\fs@ruled{…}`](https://mirrors.ctan.org/macros/latex/contrib/float/float.dtx)
64 |
65 | :::
66 |
67 | ## 使用模板提供的 `algo` 环境
68 |
69 | 这是模板“预定义的数学环境”之一,不额外依赖宏包,但功能有限,基本只支持编号。
70 |
--------------------------------------------------------------------------------
/wiki/faq/autoref-name.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag:
3 | - package
4 | - text
5 | - bithesis
6 | ---
7 |
8 | # `\autoref`中文引用名称
9 |
10 |
14 |
15 | [[pkg:hyperref]]提供的`\autoref`可以在交叉引用时自动带上 figure, table, chapter 等名称。
16 |
17 | - `\autoref`是给空格分词的语言准备的,按现在[[pkg:bithesis]]的实现,`\autoref{fig:sth}啊` ⇒ `图 1-1啊`,数字前有空格,数字后没空格。改为`\autoref{fig:sth} 啊`(⇒ `图 1-1 啊`)或再像下面那样定义`\figureautorefname`即可。
18 |
19 | - 在导言区加下面这段可实现`\autoref{ch:whatever}` ⇒ `第2章`等。
20 |
21 | ```latex
22 | \usepackage{hyperref}
23 | % https://bithesis.bitnp.net/faq/autoref-name.html
24 | \def\chapterautorefname~#1\null{第~#1~章\null}
25 | \def\sectionautorefname~#1\null{第~#1~节\null}
26 | \def\subsectionautorefname~#1\null{第~#1~节\null}
27 | % 严格按学校标准:\def\equationautorefname~#1\null{式(#1)\null}
28 | \def\equationautorefname~#1\null{式~(#1)~\null}
29 | ```
30 |
31 | 来源:
32 |
33 | - [hyperref - How to use the command `\autoref` to implement the same effect when use the command `\eqref`? - TeX - LaTeX Stack Exchange](https://tex.stackexchange.com/a/66150/82731)
34 | - [中国科学技术大学 USTC thesis](https://github.com/ustctug/ustcthesis/blob/3900c0d711c01972ccf57fedb14911d1d7dc711b/ustcthesis.cls#L3232-L3250)、[西南交通大学 SWJTU thesis](https://github.com/swjtutug/swjtuthesis/blob/4b2869b8de1ebe87b24028d59a6f2f6751788772/swjtuthesis.dtx#L810-L824)
35 |
36 | ## 已知的问题
37 |
38 | 附录中也有 section,传入的`#1`形如`附录 A`,`\autoref{…}`会变成`第 附录 A 节`。
39 |
40 | 在`\autoref`前重定义`\sectionautorefname`可解决,但那样反而不如直接`\ref{…} ` ⇒ `附录 A `方便。
41 |
42 | ## 相关讨论
43 |
44 | - [如何在宏两侧自动插入CJKecglue · Issue #23 · CTeX-org/forum](https://github.com/CTeX-org/forum/issues/23)
45 | - [`\ref` 中出现数字时,与随后紧跟的汉字之间缺少空格 · Issue #392 · CTeX-org/ctex-kit](https://github.com/CTeX-org/ctex-kit/issues/392)
46 |
47 | ## 题外话
48 |
49 | [Reference Function – Typst Documentation](https://typst.app/docs/reference/model/ref/#parameters-supplement)
50 |
51 | ```typst
52 | #set ref(supplement: it => {
53 | if it.func() == heading {
54 | "Chapter"
55 | } else {
56 | "Thing"
57 | }
58 | })
59 | ```
60 |
--------------------------------------------------------------------------------
/.github/workflows/test.yml:
--------------------------------------------------------------------------------
1 | # This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node
2 | # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs
3 |
4 | name: Node.js CI
5 |
6 | on:
7 | push:
8 | branches: ['main']
9 | pull_request:
10 | branches: ['main']
11 |
12 | jobs:
13 | build:
14 | runs-on: ubuntu-latest
15 | steps:
16 | - uses: actions/checkout@v4
17 | - uses: pnpm/action-setup@v4
18 | with:
19 | version: 9
20 | - uses: actions/setup-node@v4
21 | with:
22 | node-version: 20
23 | cache: pnpm
24 | - run: pnpm install
25 | - run: pnpm build
26 | - run: pnpm lint:prettier
27 | - uses: actions/upload-artifact@v4
28 | with:
29 | name: vitepress-dist
30 | path: wiki/.vitepress/dist/
31 |
32 | check-links:
33 | runs-on: ubuntu-latest
34 | needs: build
35 | steps:
36 | - uses: actions/checkout@v4
37 | - name: Restore the cache
38 | uses: actions/cache@v4
39 | with:
40 | path: .lycheecache
41 | key: lychee-${{ github.sha }}
42 | restore-keys: lychee-
43 | - name: Check links in README and other markdown files
44 | uses: lycheeverse/lychee-action@v2
45 | with:
46 | args: >-
47 | --verbose
48 | --no-progress
49 | --config .github/lychee.toml
50 | .
51 | - uses: actions/download-artifact@v4
52 | with:
53 | name: vitepress-dist
54 | path: wiki/.vitepress/dist/
55 | - name: Check links in the website
56 | uses: lycheeverse/lychee-action@v2
57 | with:
58 | # 必须检查构建结果,因为有些链接在 *.md 里没有,如 wiki/.vitepress/theme/link_render.ts
59 | args: >-
60 | --verbose
61 | --no-progress
62 | --config .github/lychee.toml
63 | --root-dir "${{ github.workspace }}/wiki/.vitepress/dist/"
64 | ./wiki/.vitepress/dist/
65 |
--------------------------------------------------------------------------------
/wiki/faq/watermark.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag: bithesis
3 | ---
4 |
5 | # 如何添加“北京理工大学”水印
6 |
7 |
11 |
12 | 计算机学院要求本科毕业设计必须有“北京理工大学”水印,添加方法如下。
13 |
14 | ::: details 效果截图
15 | 
16 | :::
17 |
18 | 1. **下载水印底图`background.pdf`,保存到`images/`目录,并重命名为`background.pdf`**
19 |
20 | 知网毕设系统会导出 Word 和 PDF,二者水印不一样。可任选一种下载:[Word 效果底图](/assets/watermark/background-word.pdf)、[PDF 效果底图](/assets/watermark/background-pdf.pdf)。
21 |
22 | ::: details 两种底图的区别
23 | - 左:Word效果——编辑系统导出的 Word,再导出 PDF 得到。
24 | - 右:PDF效果——直接编辑系统导出的 PDF 得到。
25 |
26 | 
27 |
28 | :::
29 |
30 | 2. **编辑`main.tex`**
31 |
32 | ```latex {1-8,12}
33 | \newcommand\BackgroundPicture{%
34 | \put(0,0){%
35 | \parbox[b][\paperheight]{\paperwidth}{%
36 | \vfill
37 | \centering%
38 | \includegraphics[width=\paperwidth]{images/background.pdf}
39 | \vfill
40 | }}}
41 |
42 | % 文档开始
43 | \begin{document}
44 | \AddToShipoutPicture{\BackgroundPicture}
45 | …
46 | ```
47 |
48 | 如需进一步调整水印透明度,可参考:[graphics - Includegraphics: set image opacity - TeX - LaTeX Stack Exchange](https://tex.stackexchange.com/questions/86500/includegraphics-set-image-opacity)。
49 |
50 | 3. **重新编译**
51 |
52 | ## 另法:直接操作 PDF
53 |
54 | 上述方法重新编译原有LaTeX项目,这种方法直接操作既有的`old.pdf`。
55 |
56 | 1. 同上下载水印底图`background.pdf`
57 |
58 | 2. 保存以下内容为`main.tex`
59 |
60 | ```latex
61 | % !TeX program = xelatex
62 | \documentclass{bithesis} % 需要用 bithesis 修改页面尺寸
63 |
64 | \usepackage{pdfpages}
65 |
66 | \newcommand\BackgroundPicture{%
67 | \put(0,0){%
68 | \parbox[b][\paperheight]{\paperwidth}{%
69 | \vfill
70 | \centering%
71 | \includegraphics[width=\paperwidth]{images/background.pdf}
72 | \vfill
73 | }}}
74 |
75 | \begin{document}
76 |
77 | \AddToShipoutPicture{\BackgroundPicture}
78 | \includepdf[pages=-]{old.pdf}
79 |
80 | \end{document}
81 | ```
82 |
83 | 3. 编译`main.tex`
84 |
--------------------------------------------------------------------------------
/wiki/faq/bib-conference.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag: biblatex-gb7714-2015
3 | ---
4 |
5 | # 引用会议的小技巧(魔改国标)
6 |
7 |
8 |
9 | 以下技巧用于满足一些个性化的引文格式要求。
10 |
11 | ## 仅去除`//`
12 |
13 | 如果仅需去除`//`双斜线,可以在下面新增选项 `gbpunctin=false`:
14 |
15 | ```latex {6}
16 | \usepackage[
17 | backend=biber,
18 | style=gb7714-2015,
19 | gbalign=gb7714-2015,
20 | gbnamefmt=lowercase,
21 | gbpunctin=false,
22 | gbpub=false,
23 | doi=false,
24 | url=false,
25 | eprint=false,
26 | isbn=false,
27 | ]{biblatex}
28 | ```
29 |
30 | 效果如下:
31 |
32 | ```bibtex
33 | @inproceedings{dwarkadasCashmereVLMRemoteMemory1999,
34 | title = {Cashmere-{{VLM}}: {{Remote}} Memory Paging for Software Distributed Shared Memory},
35 | shorttitle = {Cashmere-{{VLM}}},
36 | booktitle = {Proceedings 13th {{International Parallel Processing Symposium}} and 10th {{Symposium}} on {{Parallel}} and {{Distributed Processing}}. {{IPPS}}/{{SPDP}} 1999},
37 | author = {Dwarkadas, S. and Hardavellas, N. and Kontothanassis, L. and Nikhil, R. and Stets, R.},
38 | year = {1999},
39 | month = apr,
40 | pages = {153--159},
41 | doi = {10.1109/IPPS.1999.760451},
42 | }
43 | ```
44 |
45 | > Dwarkadas S, Hardavellas N, Kontothanassis L, et al. Cashmere-VLM: Remote Memory Paging for Software Distributed Shared Memory[C]. Proceedings 13th International Parallel Processing Symposium and 10th Symposium on Parallel and Distributed Processing. IPPS/SPDP 1999. 1999: 153-159.
46 |
47 | ## 去除`//`,同时移动`[C]`
48 |
49 | 国标要求的引用会议论文格式为
50 |
51 | - 贾东琴,柯平.面向数字素养的高校图书馆数字服务体系研究[C]//中国图书馆学会.中国图书馆学会年会论文集:2011年卷. 北京:国家图书馆出版社,2011:45-52.
52 |
53 | 需要满足个性化的引文格式——“作者. 文献名. 会议名[C] 地点. 举办者. 其他信息”,即
54 |
55 | - 贾东琴,柯平.面向数字素养的高校图书馆数字服务体系研究. 中国图书馆学会年会论文集:2011年卷.[C]北京:国家图书馆出版社,2011:45-52.
56 |
57 | 格式的,可以
58 |
59 | - 将`@inproceedings`改为`@proceedings`,
60 | - 然后将`booktitle`的内容挪入`title`标签内,并将`booktitle`删除,即修改题名为`面向数字素养的高校图书馆数字服务体系研究. 中国图书馆学会年会论文集:2011年卷`。
61 |
62 | ## 其它参考
63 |
64 | 还有其他需求可以参考:
65 |
66 | - 浙江大学:[去掉参考文献中的双斜线 · Issue #117 · TheNetAdmin/zjuthesis](https://github.com/TheNetAdmin/zjuthesis/issues/117)
67 | - 上海交通大学:[bibtex中inproceedings条目产生的“//”和\[s.n.\],\[S.l\]的问题 · Issue #337 · sjtug/SJTUThesis](https://github.com/sjtug/SJTUThesis/issues/337)
68 |
--------------------------------------------------------------------------------
/wiki/.vitepress/naive-ui-adapter/theme.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * 接入 Naive UI 并同步主题
3 | * https://www.naiveui.com/zh-CN/os-theme/docs/vitepress
4 | */
5 |
6 | import { setup } from '@css-render/vue3-ssr'
7 | import { darkTheme, lightTheme, NConfigProvider } from 'naive-ui'
8 | import { useData, useRoute } from 'vitepress'
9 | import { defineComponent, reactive, inject, h, watchEffect } from 'vue'
10 |
11 | import Layout from '../theme/Layout.vue'
12 |
13 | const CssRenderStyle = defineComponent({
14 | setup() {
15 | const collect = inject('css-render-collect') as () => any
16 | return {
17 | style: collect(),
18 | }
19 | },
20 | render() {
21 | return h('css-render-style', {
22 | innerHTML: this.style,
23 | })
24 | },
25 | })
26 |
27 | const VitepressPath = defineComponent({
28 | setup() {
29 | const route = useRoute()
30 | return () => {
31 | return h('vitepress-path', null, [route.path])
32 | }
33 | },
34 | })
35 |
36 | const NaiveUIProvider = defineComponent({
37 | // 同步主题
38 | // https://github.com/07akioni/naive-ui-vitepress-demo/issues/2
39 | // https://github.com/tusen-ai/naive-ui/pull/6057
40 | setup() {
41 | const isDark = useData().isDark
42 | const providerProps = reactive({
43 | abstract: true,
44 | inlineThemeDisabled: true,
45 | theme: isDark ? darkTheme : lightTheme, // set on SSR
46 | })
47 |
48 | return {
49 | isDark,
50 | providerProps,
51 | }
52 | },
53 | mounted() {
54 | watchEffect(() => {
55 | // set on client
56 | this.providerProps.theme = this.isDark ? darkTheme : lightTheme
57 | })
58 | },
59 | render() {
60 | return h(NConfigProvider, this.providerProps, {
61 | default: () => [
62 | h(Layout, null, { default: this.$slots.default?.() }),
63 | // @ts-ignore 没有识别 vite 的`import.meta.env`
64 | import.meta.env.SSR ? [h(CssRenderStyle), h(VitepressPath)] : null,
65 | ],
66 | })
67 | },
68 | })
69 | export { NaiveUIProvider as Layout }
70 |
71 | export function enhanceApp({ app }) {
72 | // @ts-ignore 没有识别 vite 的`import.meta.env`
73 | if (import.meta.env.SSR) {
74 | const { collect } = setup(app)
75 | app.provide('css-render-collect', collect)
76 | }
77 | }
78 |
--------------------------------------------------------------------------------
/wiki/.vitepress/theme/custom.css:
--------------------------------------------------------------------------------
1 | :root {
2 | --bithesis-green: 0, 153, 68;
3 | --vp-c-brand: rgb(var(--bithesis-green));
4 |
5 | --vp-custom-block-tip-text: var(--vp-c-brand);
6 | --vp-custom-block-tip-border: rgba(var(--bithesis-green), 0.25);
7 | --vp-custom-block-tip-bg: rgba(var(--bithesis-green), 0.05);
8 |
9 | --vp-button-brand-border: var(--vp-c-brand);
10 | --vp-button-brand-bg: rgba(var(--bithesis-green), 0.9);
11 | }
12 |
13 | #embed-video {
14 | position: relative;
15 | padding-top: 66%;
16 | margin-top: 16px;
17 | margin-bottom: 16px;
18 | }
19 |
20 | #embed-video > iframe {
21 | position: absolute;
22 | top: 0;
23 | left: 0;
24 | width: 100%;
25 | height: 100%;
26 | }
27 |
28 | img[src^='https://img.shields.io/badge/'],
29 | img.icon {
30 | display: inline;
31 | vertical-align: middle;
32 | }
33 | .dark img.icon {
34 | filter: invert();
35 | }
36 |
37 | .vp-doc :is(.vp-external-link-icon, .vp-doc a[href*="://"], .vp-doc a[target="_blank"]):not(:is(.no-icon, svg a, :has(img, svg)))::after
38 | {
39 | /* 默认图标用于方块字很怪,换成 https://primer.style/octicons/icon/link-external-16/ */
40 | --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3E%3Cpath d='M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z'%3E%3C/path%3E%3C/svg%3E");
41 | margin: 2px;
42 | width: 16px;
43 | height: 16px;
44 | vertical-align: middle;
45 | }
46 |
47 | .tag-row {
48 | padding: 1em 0;
49 |
50 | font-size: 0.8em;
51 |
52 | display: flex;
53 | flex-wrap: wrap;
54 | gap: 0.5em;
55 |
56 | a {
57 | display: inline-block;
58 |
59 | padding: 0.125em 0.75em;
60 | border-radius: 2em;
61 |
62 | text-decoration: none;
63 | color: var(--vp-c-brand);
64 | background-color: var(--vp-custom-block-tip-border);
65 | }
66 | }
67 |
68 | a.wikitext-ish-link > code.pkg {
69 | --vp-code-bg: none;
70 | --vp-custom-block-details-code-bg: none;
71 | padding: 0 0.25em;
72 | }
73 |
74 | .vp-doc a {
75 | text-decoration: none;
76 | }
77 |
78 | .vp-doc a:hover {
79 | text-decoration: underline;
80 | }
81 |
--------------------------------------------------------------------------------
/wiki/.vitepress/theme/link_render.ts:
--------------------------------------------------------------------------------
1 | import MarkdownIt from 'markdown-it'
2 |
3 | type ParsingResult = {
4 | url: string
5 | innerMarkdown: string
6 | }
7 |
8 | function parse(raw: string): ParsingResult {
9 | let [url, inner] = raw.split('|')
10 |
11 | if (url.startsWith('pkg:')) {
12 | const pkg = url.replace(/^pkg:/, '')
13 | url = `https://www.ctan.org/pkg/${pkg}`
14 | inner = '`' + (inner ?? pkg) + '`{.pkg}宏包'
15 | }
16 |
17 | if (url.startsWith('texdoc:')) {
18 | const pkg = url.replace(/^texdoc:/, '')
19 | url = `https://texdoc.org/pkg/${pkg}`
20 | inner ??= '`' + pkg + '`{.pkg}手册'
21 | }
22 |
23 | inner ??= url
24 |
25 | return { url, innerMarkdown: inner }
26 | }
27 |
28 | /**
29 | * Wikitext-ish links
30 | *
31 | * # Examples
32 | * - `[[pkg:bithesis]]` ⇒ [`bithesis`宏包](https://www.ctan.org/pkg/bithesis)
33 | * - `[[pkg:algorithms|algorithmic]]` ⇒ [`algorithmic`宏包](https://www.ctan.org/pkg/algorithms)
34 | * - `[[texdoc:unicode-math]]` ⇒ [`unicode-math`手册](https://texdoc.org/pkg/unicode-math)
35 | * - ``[[texdoc:lshort-zh-cn|那份介绍(`lshort`中文版)]]`` ⇒ [那份介绍(`lshort`中文版)](https://texdoc.org/pkg/lshort-zh-cn)
36 | */
37 | export default function LinkRender(md: MarkdownIt) {
38 | md.inline.ruler.before('link', 'wikitext-ish-link', function (state, silent) {
39 | const max = state.posMax
40 | const start = state.pos
41 |
42 | if (state.src.charCodeAt(start) !== 0x5b /* [ */ || state.src.charCodeAt(start + 1) !== 0x5b /* [ */) {
43 | return false
44 | }
45 |
46 | let pos = start + 2
47 | while (pos < max) {
48 | if (state.src.charCodeAt(pos) === 0x5d /* ] */ && state.src.charCodeAt(pos + 1) === 0x5d /* ] */) {
49 | break
50 | }
51 | pos++
52 | }
53 |
54 | if (pos === max) {
55 | return false
56 | }
57 |
58 | const raw = state.src.slice(start + 2, pos)
59 | const parsed = parse(raw)
60 |
61 | if (!silent) {
62 | const token = state.push('link_open', 'a', 1)
63 | token.attrs = [
64 | ['href', parsed.url],
65 | ['class', 'wikitext-ish-link no-icon'], // Disable https://vitepress.dev/reference/default-theme-config#externallinkicon
66 | ]
67 | token.info = 'auto'
68 |
69 | const inner = state.push('html_inline', '', 0)
70 | inner.content = md.renderInline(parsed.innerMarkdown)
71 | inner.meta ||= { slug: parsed.innerMarkdown }
72 |
73 | state.push('link_close', 'a', -1)
74 | }
75 |
76 | state.pos = pos + 2
77 | return true
78 | })
79 | }
80 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 📖 [_非官方本科生毕业设计论文/研究生学位论文 LaTeX 模板(以及更多)在线文档_](https://bithesis.bitnp.net)
5 |
6 | [](https://github.com/BITNP/BIThesis)
7 | [](./LICENSE)
8 | [](https://jq.qq.com/?_wv=1027&k=KYDrmS5z)
9 | [](https://vercel.com/everything411/bithesis-wiki/deployments)
10 | [](https://app.netlify.com/sites/bithesis-wiki/deploys)
11 |
12 |
13 |
14 | 欢迎
15 |
16 | BIThesis 是针对北京理工大学本科生毕业毕业论文、研究生学位论文的一个非官方的 LaTeX 模板,BIThesis 同时也包括其他本科学习中涉及到的文献综述、实验报告等的 LaTeX 模板。
17 |
18 | **本项目为 [BIThesis 在线文档](https://bithesis.bitnp.net) 的代码仓库。如果你仅仅想使用 BIThesis,请访问 [BIThesis](https://github.com/BITNP/BIThesis) 仓库。**
19 |
20 | > [!NOTE]
21 | > 本项目获得了[北京理工大学研究生院](https://grd.bit.edu.cn/xwgz/xwgz2/wjxz_xwgz/b117824.htm)、[北京理工大学教务部](https://jwb.bit.edu.cn/)和[北京理工大学计算机学院](https://cs.bit.edu.cn/) 的认可、背书与大力支持。详见:[致谢 - 官方赞助](https://bithesis.bitnp.net/guide/acknowledgements.html#%E5%AE%98%E6%96%B9%E8%B5%9E%E5%8A%A9-official-sponsors)。
22 |
23 | 交流社区
24 |
25 | > 订阅更新,询问问题,提出需求……请加入北理 BIThesis 官方社区!
26 |
27 | [](https://jq.qq.com/?_wv=1027&k=KYDrmS5z)
28 |
29 | ## 本地编译运行
30 |
31 | ### 克隆仓库
32 |
33 | ```Bash
34 | git clone https://github.com/BITNP/BIThesis-wiki
35 |
36 | cd BIThesis-wiki
37 | ```
38 |
39 | ### 安装依赖
40 |
41 | ```Bash
42 | pnpm install
43 | ```
44 |
45 | ### 编译运行
46 |
47 | 你可以构建出所有文件(在 `wiki/.vitepress/dist/` 下):
48 |
49 | ```Bash
50 | pnpm build
51 | ```
52 |
53 | 或者实时预览:
54 |
55 | ```Bash
56 | pnpm dev
57 | ```
58 |
59 | ## 贡献者指南
60 |
61 | 详情请查看[贡献者指南](https://github.com/BITNP/BIThesis/blob/main/contributing-zh.md)。
62 |
63 | ## 贡献者
64 |
65 | > 本项目的存在离不开以下所有贡献者的辛勤贡献。参见 [GitHub Contributors](https://github.com/BITNP/BIThesis/graphs/contributors) 与 [BIThesis - 致谢](https://bithesis.bitnp.net/guide/acknowledgements.html)。
66 |
67 | ---
68 |
69 | 📖 **BIThesis** ©BITNP. Released under the [CC0 1.0 Universal License](./LICENSE).
70 |
71 | Maintained with help from [contributors](https://github.com/BITNP/BIThesis-wiki/graphs/contributors).
72 |
--------------------------------------------------------------------------------
/wiki/news/2024.md:
--------------------------------------------------------------------------------
1 | # 更新说明:2023年11月至2024年10月
2 |
3 | 相关通知:
4 |
5 | - **本科生**
6 | - [关于2023-2024学年本科生毕业设计(论文)工作安排的通知 - 教务部 | 北京理工大学](https://jwb.bit.edu.cn/tzgg/209ca646b5a84480b460faf21fb3d6e3.htm)(2023年11月7日)
7 |
8 | - [毕设加油站之BIThesis毕设LaTeX模板 - 北京理工大学教务部微信公众号](https://mp.weixin.qq.com/s/I1SsP9VSaQ90a_2tW4zQUg)(2024年4月24日)
9 |
10 | - **研究生**
11 | - [文件下载-研究生学位论文模版-北京理工大学研究生院](https://web.archive.org/web/20240806045855/https://grd.bit.edu.cn/xwgz/xwgz2/wjxz_xwgz/b119746.htm)
12 |
13 | `研究生论文模版 - {全体硕士及2020级以前博士,2020级及以后博士}适用.doc`
14 |
15 | - [文件下载-LaTeX学位论文模板-北京理工大学研究生院](https://web.archive.org/web/20240921003837/https://grd.bit.edu.cn/xwgz/xwgz2/wjxz_xwgz/b117824.htm)(2024年4月8日)
16 |
17 | `BIThesis-graduate-thesis-template-3.7.3.zip`
18 |
19 | ## [3.8.0] - 2024-10-07
20 |
21 | ## [3.8.0-alpha-3] - 2024-09-15
22 |
23 | ## [3.8.0-alpha-2] - 2024-08-30
24 |
25 | ## [3.7.10-alpha-1] - 2024-07-25
26 |
27 | > [!TIP]
28 | > 若是初次使用,可先参考**快速使用指南**([本科][undergraduate-handbook]/[硕博][graduate-handbook])或者 [Wiki 网站](https://bithesis.bitnp.net/)。有需要再进一步参考[详细配置手册`bithesis.pdf`][bithesis-pdf]。
29 |
30 | [undergraduate-handbook]: https://github.com/BITNP/BIThesis/releases/download/v3.7.10-alpha-1/undergraduate-handbook.pdf
31 | [graduate-handbook]: https://github.com/BITNP/BIThesis/releases/download/v3.7.10-alpha-1/graduate-handbook.pdf
32 | [bithesis-pdf]: https://github.com/BITNP/BIThesis/releases/download/v3.7.10-alpha-1/bithesis.pdf
33 |
34 | ## [3.7.9] - 2024-05-30
35 |
36 | ## [3.7.8] - 2024-05-27
37 |
38 | ## [3.7.7] - 2024-05-04
39 |
40 | ## [3.7.6] - 2024-04-29
41 |
42 | > [!TIP]
43 | >
44 | > 这一错误是 [v3.7.5](https://github.com/BITNP/BIThesis/releases/tag/v3.7.5) 引入的。如果您受到影响,请替换`bithesis.cls`。
45 |
46 | ## [3.7.5] - 2024-04-25
47 |
48 | > [!CAUTION]
49 | >
50 | > #469 导致`\usepackage[chapter]{algorithm}`时出现多余“algorithm2ealgochaper”字样,#481 已修复,下个版本会解决。
51 |
52 | ## [3.7.4] - 2024-04-16 {title="v3.7.4 (Public Release) 600 stars achieved!"}
53 |
54 | > [!TIP]
55 | >
56 | > 写伪代码一般有`algorithm`+X或`algorithm2e`两种方式,BIThesis 最近几个版本适配了它们,您引入相关宏包即可使用。只需注意采用`algorithm2e`方式时,要加上选项`algochapter`才能按学校要求分章编号(例如`\usepackage[ruled,algochapter]{algorithm2e}`),详见手册`bithesis.pdf`(搜索“算法”)。
57 |
58 | ## [3.7.3] - 2024-04-12
59 |
60 | ## [3.7.2] - 2024-04-06
61 |
62 | > [!IMPORTANT]
63 | >
64 | > 在研究生模板的“研究成果声明”一页,之前第二段“论文中的研究数据及结果……”漏掉了☑,现在补上了。
65 | >
66 | > 请研究生同学升级到此版本及以上。(替换`bithesis.cls`即可)
67 |
68 | ## [3.7.1] - 2024-03-26
69 |
70 | ## [3.7.1-alpha-1] - 2024-03-23 {title="Test only"}
71 |
72 | ## [3.7.0] - 2024-03-22
73 |
74 | **已经根据最新的(2024)研究生模板更新样式,请研究生同学升级到此版本及以上。特别鸣谢:@Manpopp 。**
75 |
76 | ## [3.6.2] - 2024-02-27
77 |
78 | ### 重要修改
79 |
80 | 对于研究生模板,在 `main.tex` 中存在这样一行配置:
81 |
82 | ```
83 | pageVerticalAlign = scattered,
84 | ```
85 |
86 | 请删去它,删去以后文本会顶部对齐(更类似于 word 文档)。
87 |
--------------------------------------------------------------------------------
/assets/chinese.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/wiki/assets/chinese.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/wiki/guide/commands.md:
--------------------------------------------------------------------------------
1 | # 🍖常用命令
2 |
3 | 如果您使用终端,可用以下命令补充图形界面缺失的功能。
4 |
5 | ## 清除缓存 {#latexmk-c}
6 |
7 | 编译 LaTeX 时除了生成 PDF,还可能生成`*.aux`等辅助文件和日志。
8 |
9 | 偶尔先前编译有错,缓存了错误的辅助文件,会导致下一次编译异常。这时可清除缓存从最干净的状态重试:
10 |
11 | ```shell
12 | $ latexmk -c
13 | …
14 | Latexmk: Doing main (small) clean up for 'main.tex'
15 | …
16 | ```
17 |
18 | 此命令也可用于释放磁盘空间或保持文件整洁。
19 |
20 | 更多细节请查阅[[texdoc:latexmk]]或 [tldr 太长不看版](https://tldr.inbrowser.app/pages/common/latexmk)。
21 |
22 | ## 统计字数
23 |
24 | 统计全文:
25 |
26 | ```shell
27 | $ texcount main.tex -merge -chinese -stat -total
28 | …
29 | Han: 2224 👈总汉字数
30 | …
31 | All words: 2382 👈总词数(西文按词计,中文每个汉字计一词)
32 | ```
33 |
34 | 分章统计:
35 |
36 | ```shell
37 | $ texcount main.tex -merge -sub=chapter
38 | …
39 | Subcounts:
40 | text+headers+captions (#headers/#floats/#inlines/#displayed)
41 | 391+1+0 (1/0/1/0) _top_
42 | 👆第一章以前的部分,例如摘要
43 | 730+68+27 (7/2/0/0) Chapter: 绪论
44 | 👆此章正文有730字,标题有68字,图注、表注有27字
45 | 553+6+0 (1/3/21/2) Chapter: 具体研究内容
46 | 👆此章包括1个标题、3个浮动体、21个行内公式、2个行间公式
47 | …
48 | ```
49 |
50 | :::tip 🤨 乱码怎么办
51 | 请将终端编码设为 UTF-8。对于 PowerShell,请执行:
52 |
53 | ```powershell
54 | [console]::InputEncoding = [console]::OutputEncoding = [System.Text.UTF8Encoding]::new()
55 | ```
56 |
57 | :::
58 |
59 | 更多细节请查阅[[texdoc:TeXcount]]或 [tldr 太长不看版](https://tldr.inbrowser.app/pages/common/texcount)。
60 |
61 | ## 查找帮助文档 {#texdoc}
62 |
63 | 用 [texdoc](https://tug.org/texdoc/) 可按关键词查找、打开各种帮助文档。
64 |
65 | - `texdoc biblatex-gb7714-2015`
66 |
67 | 👆打开指定宏包的文档,这里会弹出《[[texdoc:biblatex-gb7714-2015|符合 GB/T 7714-2015 标准的 biblatex 参考文献样式]]》
68 |
69 | - `texdoc texcount`
70 |
71 | 👆打开指定工具的文档
72 |
73 | - `texdoc lshort-zh-cn`
74 |
75 | 👆打开指定参考资料,这里会弹出《[[texdoc:lshort-zh-cn|一份(不太)简短的 LaTeX2e 介绍]]》
76 |
77 | ## 补充安装缺失的包 {#tlmgr}
78 |
79 | 可使用 tlmgr(TeX Live package manager)。
80 |
81 | ```shell
82 | # 安装某个包
83 | $ tlmgr install minted
84 | …
85 |
86 | # 升级所有包
87 | $ tlmgr update --all
88 | …
89 |
90 | # 按正则表达式搜索文件,确定某个文件由哪个包提供
91 | # 其中 --global 代表搜索整个发行版,无论是否安装过
92 | $ tlmgr search --global --file 'bit.+\.cls'
93 | tlmgr.pl: package repository https://mirrors.cernet.edu.cn/CTAN/systems/texlive/tlnet (verified)
94 | bithesis:
95 | texmf-dist/tex/latex/bithesis/bithesis.cls
96 | texmf-dist/tex/latex/bithesis/bitbeamer.cls
97 | texmf-dist/tex/latex/bithesis/bitreport.cls
98 | fbithesis:
99 | texmf-dist/tex/latex/fbithesis/fbithesis.cls
100 |
101 | # 同上,但要求完全匹配文件名开头
102 | $ tlmgr search --global --file '/times.sty'
103 | tlmgr.pl: package repository https://mirrors.cernet.edu.cn/CTAN/systems/texlive/tlnet (verified)
104 | psnfss:
105 | texmf-dist/tex/latex/psnfss/times.sty
106 | ```
107 |
108 | 更多细节请查阅[[texdoc:tlmgr]]或 [tldr 太长不看版](https://tldr.inbrowser.app/pages/common/tlmgr)。
109 |
--------------------------------------------------------------------------------
/wiki/guide/acknowledgements.md:
--------------------------------------------------------------------------------
1 |
4 |
5 | # 🙇♂️ 致谢
6 |
7 | **BIThesis 项目的实现离不开以下单位、领导、老师和同学们的大力支持与卓越贡献。**
8 |
9 |
14 |
15 | ## Maintainers
16 |
17 | ### 2025
18 |
19 |
25 |
26 | ### 2024
27 |
28 |
33 |
34 | ### 2023
35 |
36 |
40 |
41 | ### 2022
42 |
43 |
46 |
47 | **感谢[北京理工大学硕士(博士)学位论文 LaTeX 模板](https://github.com/BIT-thesis/LaTeX-template)提供的研究生学位论文模板。向它的维护者和贡献者致敬!**
48 |
49 | ### 2021
50 |
51 |
57 |
58 | ### 2020
59 |
60 |
69 |
70 | ## Video Tutorials
71 |
72 | > 视频教程由「京工拾光工作室」制作、配音与剪辑,感谢。
73 |
74 |
79 |
80 | ## 官方赞助 Official sponsors
81 |
82 | **本项目获得了北京理工大学教务部、北京理工大学计算机学院的认可、背书与大力支持。**
83 |
84 |
85 |
86 | ---
87 |
88 | 附录:Emoji 索引
89 |
90 | | Emoji | 代表 | 注释 |
91 | | :---: | :--------------------: | :--------------------------------: |
92 | | 💻 | Code | 撰写项目代码内容 |
93 | | 🚧 | Maintenance | 日常项目维护者 |
94 | | 📆 | Project Management | 项目日程管理与规划 |
95 | | 💬 | Answering Questions | 对 issue 中的问题进行解答 |
96 | | 📖 | Documentation | 撰写项目文档、手册、Wiki |
97 | | 🎨 | Design | 项目 logo、图标等素材设计 |
98 | | 🌍 | Translation | 国际化,文档、注释与参考资料的翻译 |
99 | | 📓 | User Testing | 参与测试 |
100 | | 🎞 | Video Tutorial Editing | 视频教程文案、剪辑 |
101 | | 🎙 | Voice/Sound | 视频教程配音、调音 |
102 |
--------------------------------------------------------------------------------
/wiki/.vitepress/theme/PubAuthorAnnotation.vue:
--------------------------------------------------------------------------------
1 |
49 |
50 |
51 |
52 |
53 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 | 中文
71 | English
72 |
73 |
74 |
75 | 效果
76 |
77 |
78 | 普通模式下:{{ normal_out }}作者姓名
80 |
81 |
82 | 盲审模式下:{{ blind_out }}{{ blind_notes }}
84 |
85 |
86 |
87 |
--------------------------------------------------------------------------------
/wiki/guide/resources.md:
--------------------------------------------------------------------------------
1 | # 👩🏫 LaTeX 学习与使用资源
2 |
3 | ## 基础
4 |
5 | 如果你之前没有接触过 LaTeX,请先阅读 Overleaf 的[「30 分钟学习 LaTeX」](https://www.overleaf.com/learn/latex/Learn_LaTeX_in_30_minutes),有大致印象。
6 |
7 | 之后若需特定功能,可再前往 [Overleaf 官方文档](https://www.overleaf.com/learn)专门阅读。下面这些你可能会首先关注。
8 |
9 | - 结构与格式
10 | - [设定章节(Sections and chapters)](https://www.overleaf.com/learn/latex/Sections_and_chapters)
11 | - [段落格式(Paragraphs and new lines)](https://www.overleaf.com/learn/latex/Paragraphs_and_new_lines)
12 | - [粗体、斜体与下划线(Bold, italics and underlining)](https://www.overleaf.com/learn/latex/Bold,_italics_and_underlining)
13 | - [有序列表、无序列表(Lists)](https://www.overleaf.com/learn/latex/Lists)
14 |
15 | - 插入
16 | - [图片(Inserting Images)](https://www.overleaf.com/learn/latex/Inserting_Images)
17 |
18 | - [表格(Tables)](https://www.overleaf.com/learn/latex/Tables)
19 |
20 | 另外可用 [TablesGenerator.com](https://www.tablesgenerator.com/)、[LaTeX-Tables.com](https://www.latex-tables.com/) 等生成。
21 |
22 | - [数学公式(Mathematical expressions)](https://www.overleaf.com/learn/latex/Mathematical_expressions)
23 |
24 | 此外可用 [Detexify](https://detexify.kirelabs.org/classify.html) 识别“≳”这样的特殊符号。
25 |
26 | - [代码及高亮(Code Highlighting with minted)](https://www.overleaf.com/learn/latex/Code_Highlighting_with_minted)
27 |
28 | - [算法伪代码描述(Algorithms)](https://www.overleaf.com/learn/latex/algorithms)
29 |
30 | 其中`algorithm`+X和`algorithm2e`两种方式都适配了,不过为了按学校要求分章编号,引入`algorithm`宏包时要加上选项`chapter`,引入`algorithm2e`则要加`algochapter`。更完整的示例请在手册搜索“[如何排版算法](../faq/algorithm.md)”。
31 |
32 | - [使用 BibLaTeX 管理参考文献(Bibliography management in LaTeX)](https://www.overleaf.com/learn/latex/Bibliography_management_in_LaTeX)
33 |
34 | ## 进阶
35 |
36 | 如欲进一步了解,可尝试搜索或阅读以下资料。
37 |
38 | 1. 手册《[**一份(不太)简短的 LaTeX2e 介绍**——或 111 分钟了解 LaTeX2e](https://mirrors.ctan.org/info/lshort/chinese/lshort-zh-cn.pdf '通常你也可在终端运行“texdoc lshort-zh-cn”获取')》
39 | - [[texdoc:lshort|`lshort`]]中文版,考虑了中文的特殊之处。
40 |
41 | - 有许多小技巧。
42 |
43 | 例如写作中,可能有尚待斟酌的常用术语,§8.1.1 提示您可定义新命令。
44 |
45 | ```latex
46 | % 在 main.tex 开头定义新命令
47 | \newcommand*{\game}{元神}
48 | ```
49 |
50 | ```latex
51 | % 在正文中使用
52 | \game 是一款由哈米游开发并发行的开放世界玩法的冒险类角色扮演游戏。
53 | ```
54 |
55 | - 附有常见 LaTeX 错误及解决方案,还介绍了如何查找帮助文档。
56 |
57 | 例如“Undefined control sequences”这一错误:
58 |
59 | > 使用了未定义的命令。拼写错误是原因之一,如把`\LaTeX`写作`\Latex`这样。也有可能是没有调用某个宏包,但用了该宏包定义的命令。
60 |
61 | - 持续维护,摒弃了“历史的垃圾桶”,且覆盖 LaTeX 的大多数应用。
62 |
63 | 2. 问答平台 [TeX - LaTeX **Stack Exchange**](https://tex.stackexchange.com/)
64 |
65 | 3. 网站 [**The TeX FAQ**](https://texfaq.org)
66 |
67 | 解答“[怎样打印变量的内容?](https://texfaq.org/FAQ-printvar)”等常见问题。
68 |
69 | 或者深入特定方面:
70 |
71 | - 幻灯片《[漫谈 LaTeX **排版常见概念误区**——别把 LaTeX 当 Word 用!](https://static.latexstudio.net/wp-content/uploads/2018/03/LianTze-presentation-0320-forReading.pdf)》
72 | - 博客《[在 LaTeX 中使用 OpenType 字体](https://stone-zeng.site/2019-07-06-use-opentype-fonts-ii)》
73 | - 文档 [_Tips for Writing a **Research Paper** using LaTeX_](https://github.com/guanyingc/latex_paper_writing_tips)
74 |
--------------------------------------------------------------------------------
/wiki/faq/minted.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag: package
3 | ---
4 |
5 | # 如何使用 minted 宏包代码高亮?
6 |
7 |
8 |
9 | 在论文中不可避免的要加入「代码块」。一般我们代码高亮使用的都是[[pkg:minted]]。
10 |
11 | ## 使用示例
12 |
13 | 编辑`main.tex`,在导言区导入宏包:
14 |
15 | ```latex
16 | \usepackage[chapter, newfloat]{minted} % chatper按章编号,newfloat 用于下一行
17 | \SetupFloatingEnvironment{listing}{name = 代码} % 修改caption和autorefname为中文
18 | \renewcommand*{\thelisting}{\thechapter-\arabic{listing}} % 编号格式中 1.1 改为 1-1
19 | \captionsetup[listing]{font=small, labelsep=space} % 修改 caption 的样式
20 | ```
21 |
22 | 在正文写:
23 |
24 | ```latex
25 | \begin{listing}[ht]
26 | \begin{minted}{python3}
27 | >>> import antigravity
28 | \end{minted}
29 | \caption{反重力} \label{raw:antigravity}
30 | \end{listing}
31 | ```
32 |
33 | ## 排查问题
34 |
35 | 如果你发现插入 `minted` 环境后,编译失败,你可以尝试如下的方法解决:
36 |
37 | ### 删除 `minted` 宏包的缓存文件夹
38 |
39 | 如果你出现了类似如下的编译报错:
40 |
41 | ```txt
42 | ! Undefined control sequence.
43 | ```
44 |
45 | 则可能是由于 `minted` 缓存导致。一般如果你编译过带有 `minted` 环境的 LaTeX 项目,根目录都会有一个名称为 `_minted` 或 `_minted-{jobname}` 的缓存文件夹。你可以尝试将这一文件夹删除,重新编译,排查问题。
46 |
47 | 
48 |
49 | ### 排查是否正确安装 Python 与 `pygments` 包
50 |
51 | :::tip 仅限 minted v2
52 | 该问题只可能在 minted v2 上出现。如遇到此问题,也可考虑升级到 v3。
53 | :::
54 |
55 | 如果你出现了类似如下的编译报错:
56 |
57 | ```txt
58 | "Package minted Error: You must have `pygmentize' installed to use this package."
59 | ```
60 |
61 | 那么是由于你的 Python 环境中缺少必要的库。`minted` 背后事实上用的是 Python 的 `pygments` 库进行代码渲染和高亮,因此你也必须安装 Python 环境和 `pygments` 库。你可以使用 Python 的官方包管理工具 pip 安装 `pygments`:
62 |
63 | ```bash
64 | pip install pygments
65 | ```
66 |
67 | 之后,你需要确认可执行文件 `pygmentize.exe` 位于系统路径上。用如下的方法进行验证,如果出现类似输出,说明你的安装应该没有问题:
68 |
69 | ```bash
70 | pygmentize -V
71 | ```
72 |
73 | 
74 |
75 | ### 添加额外的编译参数
76 |
77 | :::tip 仅限 minted v2
78 | 该问题只可能在 minted v2 上出现。如遇到此问题,也可考虑升级到 v3。
79 | :::
80 |
81 | 如果你出现了类似如下的编译报错:
82 |
83 | ```txt
84 | Package minted Error: You must invoke LaTeX with the -shell-escape flag.
85 | ```
86 |
87 | 这是由于你的编译命令中没有添加 `-shell-escape` 参数,`minted` 宏包需要这一参数才能正确编译 LaTeX 文档。以 VS Code 的 LaTeX Workshop 为例,如果你使用 `xelatex` 编译,那么你需要将 `xelatex` 的编译参数修改如下:
88 |
89 | ```diff
90 | {
91 | "name": "xelatex",
92 | "command": "xelatex",
93 | "args": [
94 | "-synctex=1",
95 | "-interaction=nonstopmode",
96 | "-file-line-error",
97 | "-pdf",
98 | + "-shell-escape",
99 | "-outdir=%OUTDIR%",
100 | "-cd",
101 | "%DOC%"
102 | ],
103 | "env": {}
104 | }
105 | ```
106 |
107 | 如果你使用 `latexmk` 编译,那么你需要将 `latexmk` 的编译参数修改如下:
108 |
109 | ```diff
110 | {
111 | "name": "latexmk",
112 | "command": "latexmk",
113 | "args": [
114 | "-synctex=1",
115 | "-interaction=nonstopmode",
116 | "-file-line-error",
117 | "-xelatex",
118 | + "-shell-escape",
119 | "-outdir=%OUTDIR%",
120 | "-cd",
121 | "%DOC%"
122 | ],
123 | "env": {}
124 | },
125 | ```
126 |
--------------------------------------------------------------------------------
/wiki/.vitepress/theme/contributors_data.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * Contributors data, to be used at both build-time and runtime.
3 | */
4 |
5 | export interface Contributor {
6 | /** Name, must be unique */
7 | name: string
8 | /** URL to the avatar */
9 | avatar: string
10 | /** URL of the homepage, e.g. GitHub user page. */
11 | homepage?: string
12 | /**
13 | * An alternative text description of the avatar
14 | * Default: `name`
15 | */
16 | avatar_alt?: string
17 | }
18 |
19 | export const contributors: Contributor[] = [
20 | {
21 | name: '子衿',
22 | homepage: 'https://github.com/ZIJIN-Evan',
23 | avatar: 'https://i.loli.net/2020/04/22/1REvcJuP4iLYfQp.jpg',
24 | },
25 | {
26 | name: '甲²级的胖头鱼',
27 | avatar: 'https://i.loli.net/2020/04/22/d93DQvqIABJcPOm.jpg',
28 | },
29 | {
30 | name: '乌鸢',
31 | avatar: 'https://i.loli.net/2020/04/22/81cFkyVpwQZq4O5.jpg',
32 | },
33 | {
34 | name: 'Spencer Woo',
35 | homepage: 'https://github.com/BITNP',
36 | avatar: 'https://i.loli.net/2020/03/10/KqToYeg1buLGwsh.png',
37 | },
38 | {
39 | name: 'Silvester',
40 | homepage: 'https://github.com/Silverster98',
41 | avatar: 'https://i.loli.net/2020/03/10/pYkbBwm3nRrhzcT.png',
42 | },
43 | {
44 | name: 'Lancern',
45 | homepage: 'https://github.com/Lancern',
46 | avatar: 'https://i.loli.net/2020/05/29/SL6KApDxuYqPjk3.png',
47 | },
48 | {
49 | name: 'Felinae',
50 | homepage: 'https://github.com/felinae98',
51 | avatar: 'https://i.loli.net/2020/03/10/rRogJdmUFv7iDx3.png',
52 | },
53 | {
54 | name: 'FKY',
55 | homepage: 'https://github.com/fky2015',
56 | avatar: 'https://i.loli.net/2020/05/29/Z1YFSty6LRJl8Oc.png',
57 | },
58 | {
59 | name: 'Zephyr',
60 | homepage: 'https://github.com/Zephyr1106',
61 | avatar: 'https://i.loli.net/2020/03/10/fTCIvEurgi5ezWA.png',
62 | avatar_alt: '1s Zhan',
63 | },
64 | {
65 | name: 'mwl0811',
66 | homepage: 'https://github.com/mwl0811',
67 | avatar: 'https://i.loli.net/2020/03/27/w2EyRtAsxpivJMO.png',
68 | },
69 | {
70 | name: 'guguguxiao',
71 | homepage: 'https://github.com/guguguxiao',
72 | avatar: 'https://i.loli.net/2021/01/14/zDawdylekZKq9op.png',
73 | },
74 | {
75 | name: 'Kayaks99',
76 | homepage: 'https://github.com/Kayaks99',
77 | avatar: 'https://i.loli.net/2021/01/14/QAMhBaGvle9PbjY.png',
78 | },
79 | {
80 | name: 'DeltaHao',
81 | homepage: 'https://github.com/DeltaHao',
82 | avatar: 'https://i.loli.net/2021/01/14/s9RAkaCFWpoBLub.png',
83 | },
84 | {
85 | name: 'YDX-2147483647',
86 | homepage: 'https://github.com/YDX-2147483647',
87 | avatar: 'https://s2.loli.net/2023/10/09/jXiDgmCd865HAue.png',
88 | },
89 | {
90 | name: 'everything411',
91 | homepage: 'https://github.com/everything411',
92 | avatar: 'https://freeimghost.com/images/2025/04/13/32010059.jpg',
93 | },
94 | {
95 | name: 'Peng Gao',
96 | homepage: 'https://github.com/Aaron-Gp',
97 | avatar: 'https://i0.wp.com/wx4.sinaimg.cn/mw690/0096VMbkgy1i6vhh13qj9j30v40v441g.jpg?crop=5,5,85,85',
98 | },
99 | ]
100 |
101 | /** Get a `Contributor` by his/her `name` */
102 | export function get_contributor(name: string): Contributor {
103 | const one = contributors.find((c) => c.name === name)
104 | if (one === undefined) {
105 | throw new Error(`Failed to find a contributor with name “${name}”.`)
106 | }
107 | return one
108 | }
109 |
--------------------------------------------------------------------------------
/wiki/faq/slow.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag: meta
3 | ---
4 |
5 | # 编译过慢,一次更改需要编译半分钟
6 |
7 |
8 |
9 | ::: tip ⌛ 受限于免费版 Overleaf?
10 | 如果只是受限于 [Overleaf 免费编译时长 10 s](https://cn.overleaf.com/blog/changes-to-free-compile-timeout#:~:text=timeout%20limit%20to-,10%20seconds,-.%20We%20made),可以考虑换用[免费编译 30 s](https://www.texpage.com/zh/pricing/) 的国产 [TeXPage](https://www.texpage.com/),或[其它平台](https://github.com/BITNP/BIThesis/discussions/536),或者[本地编译](../guide/getting-started.md)。
11 |
12 |
13 |
14 | :::
15 |
16 | ::: details 在线平台玄学使用技巧
17 |
18 | LaTeX 分多步编译,每步之后会缓存文件。超时的那次编译即使没完成,也会留下缓存。此时若**再点一次编译**,LaTeX 会利用先前缓存跳过一些步骤,有时候就不超时了。
19 |
20 | 此玄学特别适用于增加文献后才超时的文档。
21 |
22 | :::
23 |
24 | ## 减少编译步骤
25 |
26 | - **全量编译 → latexmk**
27 |
28 | 如果你觉得模板中 xelatex → biber → xelatex → xelatex 四步编译太慢,每次都全量编译,需要等待半分钟才能出结果,你可以尝试使用 latexmk 进行编译。latexmk 每次会根据你 LaTeX 文档的更改,增量编译,从而加快对原文档进行微小变化后(比如只修改一个字)的编译速度。
29 |
30 | - **完整编译 → 部分编译**
31 |
32 | 在论文写作初期,主要关注文字内容,可以先部分编译;待文章基本定型,需要精调时,再完整编译。
33 | - 若没有修改文献引用,只需 xelatex → xelatex。
34 | - 若还不关心超链接,只需单次 xelatex。
35 |
36 | ## 更换平台
37 |
38 | 有人反映编译速率与平台高度相关。
39 |
40 | - **编辑环境**:VS Code → TeX studio
41 |
42 | > 从我自己使用来看,TeX studio 的编译速度一般都比 VS Code 快一些,如果你觉得 VS Code 的 LaTeX Workshop 编译太慢,可以考虑尝试使用 TeX studio。
43 |
44 | - **操作系统**:Windows → Unix
45 |
46 | 在 Linux、macOS 等 Unix 操作系统上编译 LaTeX 可能比 Windows 上快,有人报告 Windows 两分钟而 macOS 只需十秒。
47 |
48 | 另外据说在 Windows 上安装 WSL(Windows Subsystem for Linux),在 WSL 里面编译 LaTeX 都比直接在 Windows 上编译快。
49 |
50 | ::: details 典型效果:xelatex 快两倍,biber 快三倍
51 |
52 | 用空的`undergraduate-thesis`测试,结果如下。
53 |
54 | | 操作系统 | 单次xelatex用时 | 单次biber用时 |
55 | | :------: | :---------------: | :---------------: |
56 | | Windows | 6.518 s ± 0.882 s | 4.421 s ± 1.219 s |
57 | | Ubuntu | 3.268 s ± 0.257 s | 1.437 s ± 0.155 s |
58 | | 改善倍数 | 2.0 ± 0.3 | 3.1 ± 0.9 |
59 |
60 | :::
61 |
62 | ## 禁用PDF压缩
63 |
64 | 每次 xelatex 编译结尾会调用 dvipdfmx 生成 PDF。关闭 dvipdfmx 的压缩PDF功能可以加快编译,具体有如下两种方法。
65 |
66 | 参考:[小技巧:加快LaTeX论文的编译 - 知乎](https://zhuanlan.zhihu.com/p/357926809)。
67 |
68 | ::: details 典型效果:生成PDF变快五倍(数秒),但文件增大六倍
69 |
70 | 用一份80页文档试了一下,0级比默认的9级快5倍。0级生成的PDF有 39 MB,9级则仅 5.5 MB。
71 |
72 | ```shell
73 | $ hyperfine 'xdvipdfmx -E -o "main.pdf" "main.xdv" -z 0' 'xdvipdfmx -E -o "main.pdf" "main.xdv" -z 9'
74 | Benchmark 1: xdvipdfmx -E -o "main.pdf" "main.xdv" -z 0
75 | Time (mean ± σ): 774.7 ms ± 23.6 ms [User: 530.6 ms, System: 205.3 ms]
76 | Range (min … max): 744.5 ms … 820.7 ms 10 runs
77 |
78 | Benchmark 2: xdvipdfmx -E -o "main.pdf" "main.xdv" -z 9
79 | Time (mean ± σ): 3.875 s ± 0.510 s [User: 3.538 s, System: 0.255 s]
80 | Range (min … max): 3.411 s … 4.704 s 10 runs
81 |
82 | Summary
83 | xdvipdfmx -E -o "main.pdf" "main.xdv" -z 0 ran
84 | 5.00 ± 0.68 times faster than xdvipdfmx -E -o "main.pdf" "main.xdv" -z 9
85 | ```
86 |
87 | 不过 xdvipdfmx 只是编译中的一步,最终增量编译仍需要十几秒。
88 |
89 | :::
90 |
91 | ### 修改 TeX
92 |
93 | 编辑`main.tex`,在最开头设置。
94 |
95 | ```latex {1-2}
96 | % Set zlib compression level to 0
97 | \special{dvipdfmx:config z 0}
98 |
99 | \documentclass{article}
100 |
101 | \begin{document}
102 | hello world.
103 | \end{document}
104 | ```
105 |
106 | ### 修改编译命令
107 |
108 | 也可不改`*.tex`,向`latexmkrc`加入下面这段,通过`-z 0`指定压缩级别。
109 |
110 | ```perl
111 | # Disable compression for faster compilation
112 | $xdvipdfmx = "xdvipdfmx -z 0 -E -o %D %O %S";
113 | ```
114 |
115 | `latexmkrc`是 perl 代码,也可检测环境变量之类的。
116 |
117 | ```perl
118 | # Disable compression for faster compilation
119 | if (exists $ENV{'LATEX_NO_PDF_COMPRESSION'}) {
120 | $xdvipdfmx = "xdvipdfmx -z 0 -E -o %D %O %S";
121 | }
122 | ```
123 |
--------------------------------------------------------------------------------
/wiki/.vitepress/theme/faq_data.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * FAQ list, to be used at build-time.
3 | */
4 |
5 | import { writeFileSync } from 'node:fs'
6 | import path from 'node:path'
7 |
8 | import { createContentLoader, type PageData, type SiteConfig } from 'vitepress'
9 |
10 | import { normalizeTag, tagURL } from './util'
11 | import { getTitleFromSrc } from '../util'
12 |
13 | export interface FAQItem {
14 | title: string
15 | url: string
16 | tag: string[]
17 | }
18 |
19 | /**
20 | * A factory to create a content loader.
21 | *
22 | * The loader cannot be created before the config is resolved.
23 | * Therefore, the creation must be delayed, resulting in this factory.
24 | */
25 | export const factory = () =>
26 | createContentLoader('faq/*.md', {
27 | includeSrc: true,
28 | transform(raw): FAQItem[] {
29 | return raw
30 | .filter(({ url }) => url !== '/faq/') // Ignore `index.md`
31 | .map(({ url, frontmatter, src }) => {
32 | const title = getTitleFromSrc(src as string)
33 | if (!title) {
34 | console.warn(`未能从 ${url} 中提取 title,将用 URL 替代`)
35 | }
36 |
37 | const tag = normalizeTag(frontmatter.tag)
38 | if (tag.length === 0) {
39 | console.warn(`${url}(${title})应当在 frontmatter 中标注至少一个 tag,但目前缺失`)
40 | }
41 |
42 | return { title: title ?? url, url, tag }
43 | })
44 | .sort((a, b) => a.url.localeCompare(b.url))
45 | },
46 | })
47 |
48 | /**
49 | * Generate `faq/index.tex` for the development of `bithesis.pdf`.
50 | */
51 | export async function generate_index_tex(site: SiteConfig) {
52 | const pages = await factory().load()
53 |
54 | const index_tex = [
55 | '\\begin{itemize}',
56 | ...pages.map(({ title, url }) => ' \\item ' + as_latex_href(title, `https://bithesis.bitnp.net${url}`)),
57 | '\\end{itemize}',
58 | ].join('\n')
59 |
60 | writeFileSync(path.join(site.outDir, 'faq/index.tex'), index_tex)
61 | }
62 |
63 | // https://github.com/roosta/yank/blob/57373daffcbc15d48e69a3aa67ad7678e6ad26a1/src/format.js
64 |
65 | /**
66 | * Replace in string `s`, with an array of [[regex, replacement], …]
67 | * https://github.com/roosta/yank/blob/57373daffcbc15d48e69a3aa67ad7678e6ad26a1/src/format.js#L2-L7
68 | */
69 | function str_esc(s: string, m: [string, string][]): string {
70 | return m.reduce((acc, [re, repl]) => {
71 | return acc.replace(new RegExp(`${re}`, 'g'), repl)
72 | }, s)
73 | }
74 |
75 | /**
76 | * Format as a LaTeX `\href`
77 | * https://github.com/roosta/yank/blob/57373daffcbc15d48e69a3aa67ad7678e6ad26a1/src/format.js#L60-L80
78 | */
79 | function as_latex_href(title: string, url: string): string {
80 | const escaped = str_esc(title, [
81 | ['\\\\', '\\textbackslash{}'],
82 | ['(?', '\\textgreater{}'],
92 | ['\\^', '\\textasciicircum{}'],
93 | ])
94 | return `\\href{${url}}{${escaped}}`
95 | }
96 |
97 | /**
98 | * Generate [prev/next links](https://vitepress.dev/reference/default-theme-prev-next-links).
99 | */
100 | export function generate_prev_next_links(page: PageData): {
101 | prev: { text: string; link: string }
102 | next?: { text: string; link: string }
103 | } {
104 | const prev = { text: '疑难解答', link: '/faq/' }
105 |
106 | const tag = normalizeTag(page.frontmatter.tag).at(0)
107 | const next = tag ? { text: `${tag} 问题目录`, link: tagURL(tag) } : undefined
108 |
109 | return { prev, next }
110 | }
111 |
--------------------------------------------------------------------------------
/wiki/.vitepress/theme/BITSetupExample.vue:
--------------------------------------------------------------------------------
1 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
123 |
124 |
125 |
126 | 🔗 分享链接
127 |
128 |
129 | 请编辑main.tex,用\BITSetup设置{{ key }}选项为{{ value }} :
133 |
134 |
135 |
--------------------------------------------------------------------------------
/wiki/news/2021.md:
--------------------------------------------------------------------------------
1 | # 更新说明:2020年11月至2021年10月
2 |
3 |
4 |
5 | ## [2.1.1] - 2021-09-10
6 |
7 | 修复 https://github.com/BITNP/BIThesis/issues/89 。
8 |
9 | 暂无其他改动。
10 |
11 | ## [2.1.0] - 2021-09-10
12 |
13 | ## [2.1.0-alpha] - 2021-09-10
14 |
15 | 经过数月的工作后,我们根据上个毕业季收集到的各种问题,对 BIThesis 项目进行了常规的升级维护。
16 |
17 | 主要进行了一些 bug fixes,并对使用率较高的毕业论文模板提供了更多选项。
18 |
19 | 现在,我们已经将最新的 bithesis 宏集更新到了 CTAN,并发布这个 Preview Release 版本进行公开测试,欢迎提出你的意见和建议。
20 |
21 | ## [2.0.0] - 2021-01-12
22 |
23 | 三月春暖,学子归来。在返校季,我们的 `v2.0.0` 正式发布。这意味着:
24 |
25 | - 你的 Scaffold(模板)将更加精简。
26 | - 你获得可选的更多个性化的配置。
27 | - 你的论文写作将不受限于我们的版本更新。
28 |
29 | 同时我们保持了文档样式的兼容性:
30 |
31 | - `v2` 和 `v1` 的文档样式完全一样的。👍🏼
32 | - **你完全可以使用 `v2` 进行毕业论文的撰写。** 🤗(当然是推荐使用 `v2` 版本的!)
33 |
34 | 现在,你可以开始使用这个预览版以尝试这些新的体验。
35 |
36 | ::: details 不过首先,你需要确保 `bithesis` 存在于你的发行版中(**详情请参见 [BIThesis 在线手册](https://bithesis.bitnp.net)**)。
37 |
38 | ### 更新 LaTeX 发行版至最新
39 |
40 | `bithesis` 跟随 CTAN 的其它宏包一起(比如 `CTeX`),被自动打包到了最新的 LaTeX 发行版中。如果你安装 LaTeX 的时间早于2021年,那么建议你运行以下语句,通过包管理器更新自己的包:
41 |
42 | ```
43 | tlmgr update --self --all
44 | ```
45 |
46 | _如果你在使用其他的发行版(如 `MikTex`),可以使用相应的包管理器更新或者安装 `bithesis`_。
47 |
48 | ### 验证 `bithesis` 成功安装
49 |
50 | 一般来说,你可以尝试运行
51 |
52 | ```
53 | texdoc bithesis
54 | ```
55 |
56 | 来打开 `bithesis` 的宏集手册(目前手册中没有内容)。
57 |
58 | 
59 |
60 | 如果能够打开文档,就意味着 `bithesis` 正确安装。
61 |
62 | :::
63 |
64 | ### 下载 v2.0.0 的模板
65 |
66 | 在这个 Release 下方,有最新的模板下载链接。下载并解压以后,就可以愉快地使用啦!
67 |
68 | ---
69 |
70 |
71 |
72 | 欢迎通过 Slack 社区、Github Issue 或者其他方式对我们的 v2 版本提供反馈与建议!
73 |
74 | [](https://join.slack.com/t/bithesis/shared_invite/zt-epmzkyk0-fJRsUS36AlwMNB2AI_Q~Vw)
75 |
76 |
77 |
78 | ## [2.0.0-beta-1] - 2021-01-08
79 |
80 | 这同样是一个 Preview Release,仅对文档做了更新。
81 |
82 | ## [2.0.0-alpha] - 2021-01-06
83 |
84 | 🥶 新年快乐!
85 |
86 | 在 2021 年,我们在 CTAN 上发布了[bithesis 宏集](https://www.ctan.org/pkg/bithesis) —— 以版本号 `v2.0.0` 为标识。这意味着:
87 |
88 | - 你的 Scaffold(模板)将更加精简。
89 | - 你获得可选的更多个性化的配置。
90 | - 你的论文写作将不受限于我们的版本更新。
91 |
92 | 同时我们保持了文档样式的兼容性:
93 |
94 | - `v2` 和 `v1` 的文档样式完全一样的。👍🏼
95 | - **你完全可以使用 `v2` 进行毕业论文的撰写。** 🤗(当然是推荐使用 `v2` 版本的!)
96 |
97 | 现在,你可以开始使用这个预览版以尝试这些新的体验。不过首先,你需要确保 `bithesis` 存在于你的发行版中:
98 |
99 | ### 更新 LaTeX 发行版至最新
100 |
101 | `bithesis` 跟随 CTAN 的其它宏包一起(比如 `CTeX`),被自动打包到了最新的 LaTeX 发行版中。如果你安装 LaTeX 的时间早于2021年,那么建议你运行以下语句,通过包管理器更新自己的包:
102 |
103 | ```
104 | tlmgr update --self --all
105 | ```
106 |
107 | _如果你在使用其他的发行版(如 `MikTex`),可以使用相应的包管理器更新或者安装 `bithesis`_。
108 |
109 | ### 验证 `bithesis` 成功安装
110 |
111 | 一般来说,你可以尝试运行
112 |
113 | ```
114 | texdoc bithesis
115 | ```
116 |
117 | 来打开 `bithesis` 的宏集手册(目前手册中没有内容)。
118 |
119 | 
120 |
121 | 如果能够打开文档,就意味着 `bithesis` 正确安装。
122 |
123 | ### 下载 v2.0.0 的模板
124 |
125 | 在这个 Release 下方,有最新的模板下载链接。下载并解压以后,就可以愉快地使用啦!
126 |
127 | ---
128 |
129 |
130 |
131 | 欢迎通过 Slack 社区、Github Issue 或者其他方式对我们的 v2 版本提供反馈与建议!
132 |
133 | [](https://join.slack.com/t/bithesis/shared_invite/zt-epmzkyk0-fJRsUS36AlwMNB2AI_Q~Vw)
134 |
135 |
136 |
137 | ## [1.2.1] - 2020-12-30
138 |
139 | ☃️ Time flies! Welcome to 2021!
140 |
141 | In v1.2.1, we did not ship any new features or issue fixes. We focused on refining our documents, indicating the completion of the project’s migration.
142 |
143 | ### 🎉 Official Support
144 |
145 | This project (2021) is verified as compatible with the latest final-year thesis formatting standards of BIT. In short, you are more than welcome to use it in your graduation thesis.
146 |
147 | ### 📦 Maintainer Change
148 |
149 | Finally, we are proud to announce that, as of 2021, this project will be officially maintained and developed by the Net Pioneer Association of BIT.
150 |
151 | ---
152 |
153 |
154 |
155 | For more support, please join the discussion in the Slack community!
156 |
157 | [](https://join.slack.com/t/bithesis/shared_invite/zt-epmzkyk0-fJRsUS36AlwMNB2AI_Q~Vw)
158 |
159 |
160 |
--------------------------------------------------------------------------------
/assets/english.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/wiki/assets/english.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/wiki/faq/word-font.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag: font
3 | ---
4 |
5 | # 中文字体如何才能与 Word 模板完全相同?(换用中易字库)
6 |
7 | 首先明确,Word 模板中的中文字体属于「中易字库」,包括`simsun.ttc`(宋体,SimSun)等。
8 |
9 | - **Windows**——这是默认设置,无需修改,开箱即用。
10 | - **其它平台**——需强制 LaTeX 使用中易字库,并确保字体文件可用,详见下文。
11 |
12 | ## 强制 LaTeX 使用中易字库 {#ctex-fontset}
13 |
14 | 请编辑`main.tex`,在开头如下设置:
15 |
16 | ```latex
17 | \documentclass[…]{bithesis} % [!code --]
18 | \documentclass[…, ctex={fontset=windows}]{bithesis} % [!code ++]
19 | ```
20 |
21 | 这会让[[pkg:ctex]]跳过操作系统检测,直接使用 Windows 平台默认的中易字库。
22 |
23 | ::: details 其它 LaTeX 文档怎么办?
24 |
25 | 以上方法仅限[[pkg:bithesis]]。自己直接用[[pkg:ctex]]请如下设置:
26 |
27 | ```latex
28 | \documentclass{ctexbook} % [!code --]
29 | \documentclass[fontset=windows]{ctexbook} % [!code ++]
30 | ```
31 |
32 | 其它模板请如下设置:
33 |
34 | ```latex
35 | \PassOptionsToClass{fontset=windows}{ctexbook} % [!code ++]
36 | \documentclass[…]{任何基于ctexbook的文档类}
37 | ```
38 |
39 | :::
40 |
41 | 如上设置后,若[[pkg:fontspec]]报错`The font "SimSun" cannot be found`,说明您的平台并无中易字库,需补充准备字体文件,请继续操作。
42 |
43 | ## 准备字体文件
44 |
45 | 各平台最简方法不同,以下由易到难介绍。(📥表示需在本地[下载 LaTeX 发行版](../guide/getting-started.md))
46 |
47 | ### [TeXPage](https://www.texpage.com) 等国产在线平台(难度:😀){#texpage}
48 |
49 | 已预装中易字库,如上强制 LaTeX 使用即可,无此问题。
50 |
51 | ### WSL (Windows Subsystem for Linux)(难度:🙂+📥){#wsl}
52 |
53 | 直接使用外面 Windows 的字体文件。
54 |
55 | 请通过 WSL 的命令行按序执行:
56 |
57 | ```shell
58 | # 将 Windows 的字体目录软链接到 WSL 的字体目录,
59 | sudo ln -s /mnt/c/Windows/Fonts /usr/share/fonts/win-fonts
60 |
61 | # 刷新字体缓存
62 | fc-cache -fv
63 | ```
64 |
65 | ### Linux、macOS 等其它本地平台(难度:🤨+📥){#unix}
66 |
67 | 在系统中安装中易字库,通常双击字体文件即可。
68 |
69 | 中易字库包括 SimSun、SimHei、KaiTi、FangSong 等。然而由于版权和历史原因,它不太有正经下载渠道……
70 |
71 | - 若是 **macOS 且安装了 Word**,可切换到以下目录,找到`Simsun.ttc`、`SimHei.ttf`、`Kaiti.ttf`(注意并非 SimKai)、`Fangsong.ttf`,双击安装。
72 |
73 |
74 |
75 | ```log
76 | /Applications/Microsoft Word.app/Contents/Resources/DFonts/
77 | ```
78 |
79 | 然后打开“字体册”,确认有新安装的字体。
80 |
81 | - 若是**其它情况**,建议找个 Windows 系统,从`C:/Windows/Fonts/`拷贝`sim{sun,hei,kai,fang}*.{ttf,ttc}`,双击安装。
82 |
83 | ### [Overleaf](https://www.overleaf.com/) 等在线平台(难度:🤨😥😖){#overleaf}
84 |
85 | 上传字体到 LaTeX 项目,同时用`ctex-fontset-windows.def`定义字体。
86 |
87 | ::: details 原因
88 |
89 | [[pkg:ctex]]使用[[pkg:fontspec]]调用字体,调用时按**字体名**(如 SimSun),而非**文件名**(如`simsun.ttc`)。这可能是考虑到文件名能随意更改,不反映文件中的实际字体。
90 |
91 | 根据[[texdoc:fontspec]] §2 Font selection,按字体名调用时,只支持 XeTeX/LuaTeX 已知的系统字体(≈ 操作系统字体目录的字体);按文件名调用时,才会搜索当前工作目录(≈ LaTeX 项目)中的字体文件。
92 |
93 | 然而在线平台上,我们没有权限添加系统字体。于是只好绕过[[pkg:ctex]]默认机制,自己按文件名调用字体。
94 |
95 | :::
96 |
97 | 1. 找个 Windows 系统,在`C:/Windows/Fonts/`找到`simsun.ttc`和`sim{hei,kai,fang}.ttf`,上传到 LaTeX 项目,与`main.tex`并列。
98 |
99 | 2. 创建`ctex-fontset-windows.def`,与`main.tex`并列,内容如下。
100 |
101 | :::: details `ctex-fontset-windows.def`(单击展开)
102 |
103 | <<< ../assets/word-font-ctex-fontset-windows.def{latex}
104 |
105 | ::: warning 📅 最后检查于2025年10月
106 | 以上内容修改自[[pkg:ctex]] 2.5.10 2022-07-14 的`ctex-fontset-windows.def`,以后可能需要参考 [CTeX-org/ctex-kit 源代码](https://github.com/CTeX-org/ctex-kit/blob/1ee66c6f130802d3400f893db01fd6a6701ab164/ctex/ctex.dtx#L11065-L11172)更新。
107 | :::
108 |
109 | ::::
110 |
111 | 3. 如果您之前没有操作,请[强制 LaTeX 使用中易字库](#ctex-fontset)。
112 |
113 | ### 自行部署的 [Overleaf Community 版](https://github.com/overleaf/toolkit/)(难度:😀+📥👷♀️🚧){#overleaf-community}
114 |
115 | 如果您[采用北大 LCPU 版 Overleaf 自行部署](https://github.com/lcpu-club/overleaf/wiki/快速开始),可以使用以下镜像替换原有的`ghcr.io/lcpu-club/sharelatex-base`,它们已经包含了中易字库。
116 |
117 | - `docker.io/everything411/sharelatex-base:2024.1`
118 | - `docker.io/everything411/sharelatex-base:2022.1`
119 | - `docker.io/everything411/sharelatex-base:2020.1`
120 |
121 | ::: warning 📅 最后检查于2025年4月
122 | 这些镜像违反了[微软的再分发规则][ms-font-faq],有潜在失效风险。
123 | :::
124 |
125 | 另见:[提供自建Overleaf实例的教程 · Issue #445 · BITNP/BIThesis-wiki](https://github.com/BITNP/BIThesis-wiki/issues/445#issuecomment-2728226319)
126 |
127 | ::: info 也许能更简单
128 | 也许可以修改[`services/clsi/app/js/DockerRunner.js`](https://github.com/lcpu-club/overleaf/blob/3ebfd0a523adfef3164a1b14419eb9e2c968c78f/services/clsi/app/js/DockerRunner.js#L4)中的 docker 调用规则,允许创建容器时额外挂载,从而添加字体。待测试补充。
129 | :::
130 |
131 | ::: tip 🏃♀️ 树挪死,人挪活
132 | 可以考虑换到容易的平台,甚至请同学帮忙在 Windows 上编译最终版 PDF。
133 | :::
134 |
135 | ## 参考
136 |
137 | - [[texdoc:ctex]]
138 | - [[texdoc:xeCJK]]
139 | - [[texdoc:fontspec]]
140 | - [Overleaf 中的 CJK 字体设置 | sikouhjw.github.io](https://sikouhjw.github.io/2021/02/14/2021-02-14-fontset-overleaf/)
141 | - [SimSun font family - Typography | Microsoft Learn](https://learn.microsoft.com/zh-cn/typography/font-list/simsun)
142 | - [字体重新分发常见问题解答 - Typography | Microsoft Learn][ms-font-faq]
143 |
144 | [ms-font-faq]: https://learn.microsoft.com/zh-cn/typography/fonts/font-faq
145 |
--------------------------------------------------------------------------------
/wiki/guide/converting-to-word.md:
--------------------------------------------------------------------------------
1 | # 🔁 将 LaTeX 格式的文档转换为 Word
2 |
3 | :::warning ❗ 请注意:很难完全自动转换
4 | 由于 Word 文档的封闭性,LaTeX 几乎无法保留完整格式地转到 Word。因此我们强烈建议在任何场合提交 PDF 或 LaTeX 相关代码,而不是 Word。
5 | :::
6 |
7 | 如果你决定使用 LaTeX 进行论文撰写,但是你的导师希望你提供 Word 版本的论文进行方便的批注等,你可以使用下面的方法来将你的 LaTeX 论文转换为 Word 格式的文档。需要注意的是,这种方式的转换并不能完整的将 LaTeX 论文的全部格式进行转换,**仅能保证正文部分内容的不丢失**,其余包括「论文封面」、「表格」等等部分的内容,在转换的过程中都可能丢失。这些部分需要你后期手动进行添加。
8 |
9 | 大致有两类思路:
10 |
11 | - LaTeX 正常编译成 PDF,然后 **PDF → Word**([在线](#online-pdf)/[本地](#offline-pdf))
12 | - 直接 **LaTeX → Word**([本地](#offline-latex))
13 |
14 | 一般前者整体效果好,后者公式效果好。
15 |
16 | ## 在线转换 PDF → Word {#online-pdf}
17 |
18 |
22 |
23 | ::: danger ⚠ 注意安全
24 | 将未发表论文上传至网络有风险,请注意安全,谨慎使用。
25 | :::
26 |
27 | 无需注册的:
28 |
29 | - [iLovePDF](https://www.ilovepdf.com/pdf_to_word):整体效果好,包括页眉和页脚;公式支持差。
30 |
31 | - [Adobe Acrobat online tools](https://www.adobe.com/acrobat/online/pdf-to-word.html):效果与 iLovePDF 类似;虽然是大公司,但访问性差,可能超时或提示“Access Denied”。
32 |
33 | 需要注册的:
34 |
35 | - [nitro](https://cloud.gonitro.com/):对超链接、目录、段落格式和字体等支持较好;公式支持差。
36 |
37 | ## 本地转换 PDF → Word {#offline-pdf}
38 |
39 | - 用 **Adobe Acrobat** 打开 PDF,转换为 Word 文档:可以保持大体的文档结构;但公式之类依旧会比较凌乱;实测知网可以查重。
40 |
41 | - 直接用 **MS Word** 打开 PDF:效果一般。
42 |
43 | ## 本地转换 LaTeX → Word {#offline-latex}
44 |
45 | 图形化界面:未知。
46 |
47 | 命令行界面:
48 |
49 | - [Pandoc](https://pandoc.org)(详见[后文](#pandoc)):通用工具,可以结合 Word 模板达到较好效果;不支持多级嵌套表格。
50 |
51 | - [Mingzefei/latex2word](https://github.com/Mingzefei/latex2word):pandoc + [pandoc-crossref](https://lierdakil.github.io/pandoc-crossref/) + [python 包](https://pypi.org/project/tex2docx/),据称支持公式转换、多子图导入、交叉引用;2023年国人新创,但只有单个开发者,稳定性存疑。
52 |
53 | ## 使用 Pandoc 本地转换 {#pandoc}
54 |
55 | ::: details 准备工作:安装 Pandoc 命令行工具
56 |
57 | Pandoc 是一个支持几乎所有 Markup 格式文档的「通用文档转换器」,是一个命令行工具,支持所有常用操作系统。我们可以借助 pandoc 进行格式转换。
58 |
59 | Pandoc 详细的安装说明请见官方文档:[Installing pandoc](https://pandoc.org/installing.html).
60 |
61 | 简单来说:
62 |
63 | - 在 Windows 上你可以使用 scoop 包管理工具安装 pandoc(为了方便设置命令行工具的环境变量,推荐使用 scoop 进行安装):
64 |
65 | ```powershell
66 | scoop install pandoc
67 | ```
68 |
69 | **关联阅读:**[「一行代码」搞定软件安装卸载,用 Scoop 管理你的 Windows 软件](https://sspai.com/post/52496)
70 |
71 | 当然你也可以直接在 [Pandoc 的 GitHub Release 页面](https://github.com/jgm/pandoc/releases/latest) 下载 Windows MSI 安装文件手动安装。
72 |
73 | - 在 macOS 上你可以使用 Homebrew 包管理工具安装 pandoc:
74 |
75 | ```bash
76 | brew install pandoc
77 | ```
78 |
79 | - 在 Linux 上你可以使用你所用发行版的包管理工具安装 pandoc,比如:
80 |
81 | ```bash
82 | sudo apt install pandoc
83 | ```
84 |
85 | 之后,在终端中输入:
86 |
87 | ```powershell
88 | pandoc --version
89 | ```
90 |
91 | 如果出现类似下面的输出,说明你的 pandoc 安装成功。
92 |
93 | 
94 |
95 | :::
96 |
97 | ### 完善 Word 格式的模板文件
98 |
99 | 为了保证导出的 Word 文档格式和学校提供的模板大体一致,我们需要确认 Word 版本的模板**已经准确定义了各级标题、正文等部分的格式。**
100 |
101 | 
102 |
103 | 之后,我们需要将这一文件(`doc` 或 `docx`)保存,**留作 pandoc 的格式参考。**
104 |
105 | ### 进行格式转换
106 |
107 | 最后,我们进行格式的转换。
108 |
109 | :::warning ❗ 特别强调
110 | Pandoc 格式转换功能有限,无法处理 LaTeX 多级嵌套表格(本模板的「毕业论文」使用了多级嵌套表格,直接调用 pandoc 默认情况下会报错。需要删掉 LaTeX 文档中的表格,并后期手动录入 Word 之中),也无法保证格式与 LaTeX 原文档 **完全一致**,都需要我们后期手动进行调整。
111 | :::
112 |
113 | #### 朴素格式转换
114 |
115 | 如果你只希望将文本内容导出为 Word,不在意格式或其他内容的正确性,你可以直接使用下面的命令进行最普通的文本转换:
116 |
117 | ```bash
118 | pandoc {LaTeX 文档文件} -o {输出 Word 文档}
119 | ```
120 |
121 | 比如:
122 |
123 | ```bash
124 | pandoc main.tex -o main.docx
125 | ```
126 |
127 | 没有特别指明模板 Word 文档格式与参考文献文档的情况下,pandoc 仅会处理你 LaTeX 文档中的文字内容,按照标题、正文的格式整理进入 Word。
128 |
129 | #### 含有目标模板 Word 文档的格式转换
130 |
131 | 如果你希望按照模板 Word 文档的规定格式进行转换,那么你可以直接使用下面的命令进行格式转换:
132 |
133 | ```bash
134 | pandoc {LaTeX 文档文件} --reference-doc={参考模板 Word 文档} -o {输出 Word 文档}
135 | ```
136 |
137 | 比如,我们的 LaTeX 文档文件名称为 `main.tex`,参考模板 Word 文档名称为 `template.docx`,希望输出名为 `main.docx` 的 Word 文档,我们即可如下组织 pandoc 转换命令:
138 |
139 | ```bash
140 | pandoc main.tex --reference-doc=template.docx -o main.docx
141 | ```
142 |
143 | #### 含有参考文献文档的格式转换
144 |
145 | 如果你的 LaTeX 文档中包含有参考文献的引用,那么你需要特别明确参考文献 BibTeX 文件,将文件以 `--bibliography={参考文献文件}` 的参数告知 pandoc,从而让 pandoc 正确处理你的参考文献。比如:
146 |
147 | ```bash
148 | pandoc main.tex --bibliography=refs.bib --reference-doc=template.docx -o main.docx
149 | ```
150 |
151 | ## 另可参阅
152 |
153 | - [日经问题:LaTeX 如何转为 Word? · Issue #22 · CTeX-org/forum](https://github.com/CTeX-org/forum/issues/22)
154 | - [msword - How to convert a scientific manuscript from LaTeX to Word using Pandoc? - TeX - LaTeX Stack Exchange](https://tex.stackexchange.com/questions/111886/how-to-convert-a-scientific-manuscript-from-latex-to-word-using-pandoc)
155 | - [LaTeX(XeLaTeX)写的文档如何一键转为word? - 知乎](https://www.zhihu.com/question/31850346)
156 | - [文件格式相关 - README - BUAAthesis: 北航毕设论文LaTeX模板](https://github.com/BHOSC/BUAAthesis/tree/master?tab=readme-ov-file#文件格式相关)
157 |
--------------------------------------------------------------------------------
/wiki/faq/math-font.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag:
3 | - font
4 | - package
5 | ---
6 |
7 | # 如何修改数学公式的字体?
8 |
9 | :::: details 效果对比
10 |
11 | 
12 |
13 | - **非 Unicode 方法**
14 |
15 | 直接书写、使用原生的`\mathbf`、使用[[pkg:bm]]提供的`\bm`。
16 |
17 | - **Unicode 方法**(简称 unimath)
18 |
19 | 使用[[pkg:unicode-math]]设置字体为 TeX Gyre Termes Math(具体方法见后)。TeX 样式即默认样式,ISO 样式需手动导入宏包并设置`\unimathsetup{ math-style = ISO, bold-style = ISO }`。
20 |
21 | ::: details 测试细节
22 |
23 | 排除字体差异后,非 Unicode 方法和 Unicode 方法的关键区别是映射的字符不同。从 PDF 中复制公式出来,会得到以下这些字符,可以看到只有 Unicode 方法会采用粗体字符。
24 |
25 | ```
26 | (a, z, B, X) (α, β, Γ, Ξ) (∂, ∁, ∇, ⊥)
27 | (a, z, B, X) (α, β, ?, ?) (∂, ∁, ∇, ⊥)
28 | (a, z, B, X) (α, β, Γ, Ξ) (∂, ∁∁∁, ∇, ⊥)
29 |
30 | (𝑎, 𝑧, 𝐵, 𝑋) (𝛼, 𝛽, Γ, Ξ) (𝜕, ∁, ∇, ⟂)
31 | (𝐚, 𝐳, 𝐁, 𝐗) (𝜶, 𝜷, 𝚪, 𝚵) (𝝏, ∁, 𝛁, ⟂)
32 |
33 | (𝑎, 𝑧, 𝐵, 𝑋) (𝛼, 𝛽, 𝛤, 𝛯) (𝜕, ∁, ∇, ⟂)
34 | (𝒂, 𝒛, 𝑩, 𝑿) (𝜶, 𝜷, 𝜞, 𝜩) (𝝏, ∁, 𝛁, ⟂)
35 | ```
36 |
37 | 此外,字体缺少字形时(比如加粗`∁`),Unicode 方法会放弃,而[[pkg:bm]]可能通过复制三份叠加来制造字形(所以出现了`∁∁∁`)。
38 |
39 | 用于测试的具体代码如下,包含大小写拉丁和希腊字母,以及几个特殊符号。
40 |
41 | ```latex
42 | \begin{equation}
43 | \begin{aligned}
44 | & (a, z, B, X) && (\alpha, \beta, \Gamma, \Xi) && (\partial, \complement, \nabla, \perp) \\
45 | & \symbf{(a, z, B, X)} && \symbf{(\alpha, \beta, \Gamma, \Xi)} && \symbf{(\partial, \complement, \nabla, \perp)}
46 | % & \mathbf{(a, z, B, X)} && \mathbf{(\alpha, \beta, \Gamma, \Xi)} && \mathbf{(\partial, \complement, \nabla, \perp)} \\
47 | % & \bm{(a, z, B, X)} && \bm{(\alpha, \beta, \Gamma, \Xi)} && \bm{(\partial, \complement, \nabla, \perp)}
48 | \end{aligned}
49 | \end{equation}
50 | ```
51 |
52 | :::
53 |
54 | ::::
55 |
56 | ## BIThesis
57 |
58 | 请编辑`main.tex`,用`\BITSetup`设置`style/mathFont`选项,例如:
59 |
60 | ```latex {4}
61 | \BITSetup{
62 | …,
63 | style = {
64 | mathFont = termes,
65 | },
66 | }
67 | ```
68 |
69 | 这里`terms`指 TeX Gyre Termes Math 字体,它相当接近 Times New Roman。
70 |
71 | ::: details 二者可见区别
72 | Termes 的斜体`𝑧`和粗斜体`𝒛`最后一笔都是弯的(弯的样子参考上面的效果对比),而 Times 只有粗斜体`𝒛`如此,普通斜体`𝑧`则是直的。
73 |
74 | 以下设置能混合两种字体,让斜体使用 Times;不过数学字体的细节对于学位论文并不重要,而且这种设置方法还会导致 Times 缺少的`∂`等字符无法显示,所以非常不建议使用。
75 |
76 | ```latex
77 | \usepackage{unicode-math}
78 | \setmathfont{texgyretermes-math.otf}
79 | \setmathfont[range=it]{timesi.ttf} % 把斜体替换为 Times,但非常不建议 ⛔
80 | ```
81 |
82 | :::
83 |
84 | 更多字体选择请参考[[texdoc:bithesis]]。
85 |
86 | ::: tip 📥 报错 font cannot be found?请补装字体
87 |
88 | > ! Package fontspec Error:
89 | >
90 | > The font "texgyretermes-math" cannot be found; this may be but usually is not a fontspec bug.
91 | > Either there is a typo in the font name/file, the font is not installed (correctly), or there is a
92 | > bug in the underlying font loading engine (XeTeX/luaotfload).
93 |
94 | 如果您之前精简了 TeX Live 安装内容,报告以上错误,那么需要补装字体:
95 |
96 | ```shell
97 | tlmgr install tex-gyre-math
98 | ```
99 |
100 | :::
101 |
102 | ## 一般 LaTeX 文档
103 |
104 |
105 |
106 | 可以在导言区引入[[pkg:unicode-math]],并使用 `\setmathfont{…}` 修改数学环境下字体,例如:
107 |
108 | ```latex
109 | \usepackage{unicode-math}
110 | \unimathsetup{
111 | math-style = ISO,
112 | bold-style = ISO,
113 | }
114 | \setmathfont{XITSMath-Regular.otf}
115 | ```
116 |
117 | (部分环境需手动安装字体)
118 |
119 | 更多字体与使用方法请参考[[texdoc:unicode-math]]。
120 |
121 | ## 可能存在的问题
122 |
123 | ### 粗体:`\boldsymbol` → `\symbf`
124 |
125 | [[pkg:unicode]]与上世纪的字体管理方式不兼容。使用[[pkg:unicode]]后,加粗无法使用[[pkg:amsbsy]]的`\boldsymbol`、[[pkg:bm]]的`\bm`、[[pkg:physics]]的`\vb`等。
126 |
127 | 建议使用`\symbf`加粗,`\symup`、`\symit`、`\symcal`等同理。
128 |
129 | ::: details 另法:采用兼容手段
130 |
131 | 也可以考虑兼容手段,例如使用[[pkg:physics2]]的`bm-um.legacy`,或者自己[`\renewcommand*`](https://texfaq.org/FAQ-newcmdstar):
132 |
133 | ```latex
134 | % Overwrite some commands from physics to be compatible with unicode-math
135 | \RenewCommandCopy\vb\symbf
136 | \renewcommand*{\vdot}{\symbf{\cdot}}
137 | \renewcommand*{\grad}{\symbf{\nabla}}
138 | \renewcommand*{\divergence}{\symbf{\nabla} \vdot}
139 | ```
140 |
141 | :::
142 |
143 | 参考:[LaTeX 排版国标样式的数学符号 - LaTeX工作室](https://www.latexstudio.net/archives/51494)。
144 |
145 | ### 如需兼容[[pkg:mathtools]]
146 |
147 | [[pkg:mathtools]]提供了`gather`环境、`\coloneqq`符号(:=)等命令,但个别命令与[[pkg:unicode-math]]冲突。如需使用,可在导入时关闭警告:
148 |
149 | ```latex {5}
150 | % 注意导入顺序
151 | \usepackage{amsmath}
152 | \usepackage{mathtools}
153 | \usepackage[
154 | warnings-off={mathtools-colon, mathtools-overbracket},
155 | ]{unicode-math}
156 |
157 | \unimathsetup{…}
158 | ```
159 |
160 | ### 字体字面较大
161 |
162 | 如果使用 TeX Gyre Pagella Math 等字面较大的字体,略微增加数学行距可能更美观:
163 |
164 | ```latex
165 | \setmathfont{texgyrepagella-math.otf}
166 | \SetMathEnvironmentSinglespace{1.05}
167 | ```
168 |
169 | 请参考[[texdoc:zhlineskip]]。
170 |
171 | ### 混用字体
172 |
173 | 下例中,主要使用 Latin Modern Math,双线体(如 ℕℤℚℝℂ)使用 TeX Gyre Pagella Math,[空集符号 ∅ 使用 Asana Math](https://tex.stackexchange.com/questions/208014/empty-set-symbols-confused)。
174 |
175 | ```latex
176 | \setmathfont{latinmodern-math.otf}
177 | \setmathfont[range=\mathbb]{texgyrepagella-math.otf}
178 | \setmathfont[range=\varnothing]{Asana-Math.otf}
179 | ```
180 |
181 | 详情请参考[[texdoc:unicode-math]]。
182 |
--------------------------------------------------------------------------------
/wiki/news/2023.md:
--------------------------------------------------------------------------------
1 | # 更新说明:2022年11月至2023年10月
2 |
3 | 相关通知:
4 |
5 | - [关于2023届本科生毕业设计(论文)工作安排的通知 - 教务部 | 北京理工大学](https://jwb.bit.edu.cn/tzgg/9b6fd5d2adda4185bafe988347225292.htm)(2022年10月31日)
6 |
7 | ## [3.6.1] - 2023-10-26
8 |
9 | - 修复了公式与上下文的间距问题。
10 | - 增加了快速使用手册,为替换研究生院官方模板作准备。
11 |
12 | ## [3.6.0] - 2023-10-02
13 |
14 | ## [3.6.0-beta-11-test-2] - 2023-07-13
15 |
16 | ## [3.6.0-beta-11] - 2023-07-13
17 |
18 | ## [3.6.0-beta-10] - 2023-07-08
19 |
20 | ## [3.6.0-beta-9] - 2023-06-01
21 |
22 | 修复了研究生模板在双面打印的情况下,第一章有可能出现在偶数页的问题。
23 |
24 | ## [3.6.0-beta-8] - 2023-05-29
25 |
26 | ## [3.6.0-beta-7] - 2023-05-22
27 |
28 | 关于本科生盲审导出删除封面的配置,需要按照最新的模板中 `main.tex` 里的示例更新一下配置。
29 |
30 | ## [3.6.0-beta-6] - 2023-05-18
31 |
32 | ## [3.6.0-beta-5] - 2023-05-17
33 |
34 | - 修复了 listings 标题样式问题。
35 |
36 | ## [3.6.0-beta-4] - 2023-05-16
37 |
38 | - 大幅度精简了 bithesis.pdf 手册体积。
39 | - 修复了本科模板中附录格式的问题。
40 |
41 | ## [3.6.0-beta-3] - 2023-05-09
42 |
43 | 与之前版本类似。除了:
44 |
45 | - 在盲审模式下也不隐藏书脊和原创性声明。
46 | - 修复了 figure/table/equation 的 `\autoref` 标签。
47 |
48 | ## [3.6.0-beta-2] - 2023-05-08
49 |
50 | ### 本版本为针对研究生盲审的修复版本,主要修复了封面信息隐藏问题
51 |
52 | 本科生不用下载此版本。
53 |
54 | #### 修复错误的目录缩进长度,感谢 @ccyousa 。
55 |
56 | #### 修复 typo 「中图分类号」
57 |
58 | #### **在替换 `bithesis.cls` 以后,在盲审模式下,封面将不再隐藏。** 封面信息如下展示:
59 |
60 |
61 |
62 | 同时,我们提供了 `\SecretInfo` 接口,用于让你自己控制隐藏信息。
63 |
64 |
65 |
66 | ## [3.5.4] - 2023-04-30
67 |
68 | ### :clinking_glasses: 五一快乐!预祝盲审顺利!
69 |
70 | 主要修复了:
71 |
72 | - 三级节标题(`\subsubsection`)的样式问题(变为不加粗)。
73 | - 增加了一个可以打开链接颜色的开关(`misc/hideLinks`)。
74 |
75 | ## [3.5.4-alpha-1] - 2023-04-25
76 |
77 | 预览版本,供测试使用。
78 |
79 | ## [3.5.3] - 2023-04-23
80 |
81 | 本次更新提供以下样式修复:
82 |
83 | 1. 表格字号默认设置为 5 号字,更符合学校规范要求。
84 |
85 | 
86 |
87 | 2. 预设了 `\autoref` 的默认文字。
88 |
89 | 
90 |
91 | ## [3.5.2] - 2023-04-14
92 |
93 | 本次更新引入了大量针对样式的修复:
94 |
95 | - 修复盲审模式下「攻读学位期间发表论文与研究成果清单」作者对齐问题。
96 | - 修复 `\subsubsection` 前后间距问题
97 | - 调整本科生模板图片、表格前后一行空白行距离
98 | - 修复图片、表格目录的标题和行间距问题。
99 | - 显示增加班级字段的配置选项。
100 |
101 | ## [3.5.1] - 2023-04-07
102 |
103 | - 修复了 `listofx` 邻接 `\mainmatter` 时错误的页眉格式。
104 |
105 | ## [3.5.0] - 2023-04-04
106 |
107 | 此版本带来了一些更新与问题修复:
108 |
109 | - 新功能:文本默认垂直对齐上方(而不是分散对齐),更接近 Word 样式。在多图的时候排版更美观。用户可以选择还原到旧样式。
110 | - 新功能:增加多种数学字体的选项。
111 | - 修复 `listoffigure` 和 `listoftable` 目录的错误样式,目前和旧 $\LaTeX$ 模板一致(Word 没有给出这部分模板)。
112 | - 在文档中增加了关于“如何得到类似于 Word 中文字体”的方法说明。
113 |
114 | 请根据手册中提供的方法进行升级,升级前请做好备份。
115 |
116 | ## [3.4.3] - 2023-03-16
117 |
118 | **此版本带来了很多更新**:
119 |
120 | - 启用伪粗体以保证粗宋体可以得到类似 Word 中的效果。
121 | - 下线了本科毕设开题报告模板(计算机学院),因为学校已采用在线系统提交的方式。
122 | - 移除了默认对 `unicode-math` 的依赖,现在默认采用 `amsmath` ,更符合用户直觉。
123 | - 关闭了参考文献的 `gbpunctin` 以更接近北理工的论文格式。
124 | - 增加了 `english=true` 的模板选项,以支持研究生英文模板的使用。
125 | - 并修复了一些细节问题。
126 |
127 | 更新到新版本的方法请参考 `bithesis.pdf` 手册。
128 |
129 | ## [3.4.2] - 2023-03-05
130 |
131 | - 按照新的模板,修复了本科生毕设模板的封面问题。
132 | - 重命名了 `theorem` 环境,以解决冲突问题。(存在 break change)
133 |
134 | ## [3.4.1] - 2023-03-02
135 |
136 | 这一版本没有提供任何新功能或者修复。主要是增加了模板中的 `magic comments`,使得大部分编辑器能够自动识别编译所需要使用的工具链。
137 | 从这个版本开始,使用 `TeXstudio` 等工具应该不需要再手动配置工具链,直接编译即可。
138 |
139 | ## [3.4.0] - 2023-02-20
140 |
141 | - 新功能:可以通过选项配置「研究成果清单」中姓名的显示数量,以防止自己的名字被省略。
142 | - 修复:抑制了关于字体的警告消息,以防引起用户的疑惑。
143 |
144 | ## [3.3.2] - 2023-02-17
145 |
146 | 修复了研究生模板中关键词的字体字形问题。
147 |
148 | ## [3.3.1] - 2023-02-11
149 |
150 | - 研究生模板针对空白页问题进行修复,现在默认启用双页打印的格式(`twoside`)。(如果你从原有版本升级而来,可以在升级后手动开启 `twoside` 模式)
151 | - 修复多处文档问题,包括有关数学字体替换的兼容性问题和示例代码的吞字问题。
152 |
153 | ## [3.3.0] - 2023-02-03
154 |
155 | ### :firecracker: **新年快乐!又要开学啦!**
156 |
157 | - 增加了新的模板选项 `quirks` 用于兼容北理工特殊格式(详情请查看手册或 #209 )。
158 | - 更新、修复了多处文档问题。
159 |
160 | ## [3.3.0-alpha-1] - 2023-01-20
161 |
162 | 更新方式:从旧版本升级到此版本,只需要直接替换 bithesis.cls 文件即可。
163 |
164 | - 在模板类选项中,引入了 quirks 模式,开启后支持一些针对北理工特殊格式的细节上的适配。
165 |
166 | 开启方法:
167 |
168 | ```diff
169 | % 在 main.tex 中使用 quirks 即可。
170 | - \documentclass[type=master]{bithesis}
171 | + \documentclass[type=master,quirks]{bithesis}
172 | ```
173 |
174 | ## [3.2.3] - 2022-12-30
175 |
176 | - 修复了研究生模板中,PDF 中附录书签的错误索引(感谢 @oPengLuo 提供的反馈)。
177 | - 修复文件名错误拼写。
178 |
179 | 更新方式:从旧版本升级到此版本,只需要直接替换 bithesis.cls 文件即可。
180 |
181 | ## [3.2.3-alpha-1] - 2022-12-28
182 |
183 | 修复 PDF 中,附录目录的错误索引。(只有以章节(`\chapter`)为附录目录的模板存在此问题。)
184 |
185 | 从旧版本升级到此版本,只需要直接替换 `bithesis.cls` 文件即可。
186 |
187 | ## [3.2.2] - 2022-12-22
188 |
189 | 修复了本科生外文翻译模板中,重复的「参考文献」标题的问题。
190 | 对其他模板没有影响。
191 |
192 | ## [3.2.1] - 2022-12-19
193 |
194 | 感谢 @KaysinBIT 提供的反馈。
195 |
196 | 本次小版本提升主要优化了生成 PDF 的书签样式。
197 |
198 | ## [3.2.1-alpha-1] - 2022-12-15 {title="Preview Release for v3.2.1"}
199 |
200 | PR #194
201 |
202 | ## [3.2.0] - 2022-12-04
203 |
204 | 本次更新主要增加了以下内容:
205 |
206 | - 增加了自适应下划线的空白填充。简而言之,现在你可以通过 `cover/autoWidthPadding` 为封面的每个信息项的首尾添加一个空白间距,使得排版更美观。
207 | - 丰富了[开发者文档](https://github.com/BITNP/BIThesis/blob/main/DEVELOPMENT.md)
208 |
--------------------------------------------------------------------------------
/wiki/guide/ask-computer.md:
--------------------------------------------------------------------------------
1 | ---
2 | outline:
3 | level: 2 # 屏蔽人工智能回复中的标题
4 | ---
5 |
6 | # 🤖 询问人工智能
7 |
8 |
9 |
10 | 如果遇到问题,你可以——
11 |
12 | 1. 搜索本站 [🥑 疑难杂症](../faq/)(搜索栏在页面上方)
13 | 2. 查询互联网及 🤖 人工智能
14 | 3. 询问同学,可加入 [🐧 QQ 群:737548118](https://jq.qq.com/?_wv=1027&k=KYDrmS5z)
15 |
16 | 下面介绍“询问人工智能”的实例。
17 |
18 | [[toc]]
19 |
20 | > [!IMPORTANT] 🖖 欢迎贡献
21 | >
22 | > 如果你估计也能帮到别人,欢迎[增改疑难解答页面](../faq/index.md#如何贡献)甚至[修改模板本身](https://github.com/BITNP/BIThesis/blob/main/DEVELOPMENT.md)。
23 |
24 | ## 用 LaTeX 实现特定效果
25 |
26 | 直接加上“LaTeX”问通用大语言模型即可。例如:
27 |
28 | > [LaTeX 如何把`\listoffigures`加进目录?](https://www.doubao.com/thread/we453a08700029c49)
29 |
30 | ::: details 🤖 人工智能的回复
31 |
32 | 在 LaTeX 里,要把 `\listoffigures` 加入目录,可借助 `tocbibind` 宏包或者手动添加。下面为你分别介绍这两种方法:
33 |
34 | ### 方法一:使用 `tocbibind` 宏包
35 |
36 | `tocbibind` 宏包能够自动把目录、图目录、表目录等加入主目录。下面是示例代码:
37 |
38 | ```latex
39 | \documentclass{article}
40 | \usepackage{tocbibind} % 加载 tocbibind 宏包
41 |
42 | \begin{document}
43 | \tableofcontents % 生成目录
44 | \listoffigures % 生成图目录
45 |
46 | \section{示例部分}
47 | \begin{figure}[h]
48 | \centering
49 | \rule{2cm}{2cm} % 这里用一个方块代表图形
50 | \caption{示例图形}
51 | \end{figure}
52 | \end{document}
53 | ```
54 |
55 | 在这个示例中,`tocbibind` 宏包被加载之后,`\listoffigures` 就会自动被加入到主目录里。
56 |
57 | ### 方法二:手动添加
58 |
59 | 要是不想使用宏包,也能手动把 `\listoffigures` 加到目录中。示例代码如下:
60 |
61 | ```latex
62 | \documentclass{article}
63 |
64 | \begin{document}
65 | \tableofcontents % 生成目录
66 | \addcontentsline{toc}{section}{\listfigurename} % 手动添加图目录到目录
67 | \listoffigures % 生成图目录
68 |
69 | \section{示例部分}
70 | \begin{figure}[h]
71 | \centering
72 | \rule{2cm}{2cm} % 这里用一个方块代表图形
73 | \caption{示例图形}
74 | \end{figure}
75 | \end{document}
76 | ```
77 |
78 | 在这段代码里,`\addcontentsline{toc}{section}{\listfigurename}` 这行代码把图目录手动添加到了主目录中。`toc` 表示要添加到目录,`section` 表示添加的条目级别,`\listfigurename` 代表图目录的名称。
79 |
80 | 你可以把上述代码复制到 LaTeX 编辑器里进行编译,这样就能看到图目录被添加到主目录中的效果了。
81 |
82 | :::
83 |
84 | ::: tip 🧠 分析测试
85 |
86 | 1. 回复中的方法一使用[[pkg:tocbibind]],之前没听说过,也许不兼容我加的其它宏包,先看看方法二。
87 |
88 | 2. 回复中的方法二手动添加,按照提示编辑`main.tex`,重新编译。
89 |
90 | 3. 检查 PDF,发现确实加进目录了,但没对齐,比“第1章”靠右。
91 |
92 | 4. 仔细阅读回复,注意到“`section`表示添加的条目级别”,而新加的目录项也确实和 §1.1 对齐了。
93 |
94 | 5. 改成`chapter`重试,成功。最终设置如下。
95 |
96 | ```latex
97 | \addcontentsline{toc}{chapter}{\listfigurename}
98 | ```
99 |
100 | :::
101 |
102 | ## 调试错误
103 |
104 | 问通用大语言模型,并尽可能附上相关代码、报错日志。
105 |
106 | 很多在线平台已经集成。
107 |
108 | - Overleaf 每隔一段时间免费用一次,具体限制没有明写。
109 | - [TeXPage 免费版 5 次/天](https://www.texpage.com/zh/pricing)。
110 |
111 | (截至2025年10月)
112 |
113 | ## 使用 BIThesis 模板
114 |
115 | [我校智能体广场的LaTeX-BIThesis帮助](https://agent.bit.edu.cn/product/llm/chat/d05ee4rha6ps7396rueg)已导入知识库,可直接使用;不过没有那么聪明,最好看一下“回答来源”……
116 |
117 | > 请问封面这个横线中的内容不用靠左吗?
118 |
119 | ::: details 🤖 人工智能的初次回复
120 |
121 | 封面横线中的内容对齐方式可以进行设置。你可以通过`cover/valueAlign`选项来设置封面信息中值(也就是横线中的内容)的对齐方式,该选项有`c`(居中)、`l`(左对齐)、`r`(右对齐)三种可选值。不过需要注意的是,此选项仅当`cover/autoWidth = false`时生效。你可以查阅相关文档以确保设置的准确性。
122 |
123 | 📃找到 3 个回答来源
124 |
125 | :::
126 |
127 | 回复提到“仅当……时生效”,于是选一下推荐问题:
128 |
129 | > `cover/autoWidth`怎么设置
130 |
131 | ::: details 🤖 人工智能的补充回复
132 |
133 | `cover/autoWidth` 选项一般不需要用户自行修改,它可以设置为 `true` 或 `false`。设置为 `true` 时,会自动计算封面中下划线的长度;若设置为 `false`,则建议配合 `cover/labelMaxWidth = ⟨ 长度 ⟩` 和 `cover/valueMaxWidth = ⟨ 长度 ⟩` 使用,以控制下划线的长度。你可以查阅相关文档以确保设置的准确性。
134 |
135 | 📃找到 3 个回答来源(和初次回复相同)
136 |
137 | :::
138 |
139 | 最终设置如下。
140 |
141 | ```latex {4-5}
142 | \BITSetup{
143 | cover = {
144 | …,
145 | autoWidth = false,
146 | valueAlign = l,
147 | },
148 | …
149 | }
150 | ```
151 |
152 | ## 使用一般模板、宏包
153 |
154 | 1. 从 [texdoc 在线版](https://texdoc.org)或其它地方[下载宏包手册](../faq/where-doc.md)
155 | 2. 将问题与手册一并发给通用大语言模型
156 |
157 | > [请问封面这个横线中的内容不用靠左吗?](https://chatglm.cn/share/F3rJt)
158 | >
159 | > (同时发送`bithesis.pdf`)
160 |
161 | ::: details 🤖 人工智能的回复
162 |
163 | 根据您提供的文档内容,封面横线中的内容默认对齐方式是 **居中**,而不是靠左。
164 | **文档中相关内容**:
165 |
166 | - **5.3.1 封面选项** 部分的 `cover/labelAlign` 选项用于设置封面信息中标签的对齐方式,其默认值为 `c`,代表 **居中** 对齐。【P14】
167 | - **5.3.1 封面选项** 部分的 `cover/valueAlign` 选项用于设置封面信息中值的对齐方式,其默认值为 `c`,代表 **居中** 对齐。【P14】
168 |
169 | **结论**:
170 |
171 | 封面横线中的内容默认是居中对齐的,如果您需要将其改为靠左对齐,可以修改 `cover/labelAlign` 和 `cover/valueAlign` 选项的值为 `l`,代表 **左对齐**。
172 |
173 | :::
174 |
175 | 然后选择页码,跳转阅读手册原文。
176 |
177 | ## 修改 BIThesis 模板
178 |
179 | 1. 在`bithesis.cls`中找到相关代码
180 | 2. 将问题与代码一并发给通用大语言模型
181 |
182 | > [LaTeX 插图列表的编号既有一位数又有两位数,目前设置如下,编号与标题间距固定,导致标题没对齐。如何让标题左对齐?](https://yuanbao.tencent.com/bot/app/share/chat/S2RzZyfJtmeK)
183 | >
184 | > ```latex
185 | > \titlecontents{figure}[0pt]{\songti\zihao{-4}}
186 | > {\figurename~\thecontentslabel\quad}{\hspace*{-1.5cm}}
187 | > {\hspace{.5em}\titlerule*{.}\contentspage}
188 | > ```
189 |
190 | 最初未启用“深度思考”,回复太离谱,于是启用重试。
191 |
192 | ::: details 🤖 人工智能“深度思考”后的回复
193 |
194 | 要让插图列表的标题左对齐,无论编号位数如何,可以通过固定编号的显示宽度实现。修改你的 `\titlecontents` 设置如下:
195 |
196 | ```latex
197 | \usepackage{titletoc}
198 | % 在导言区添加以下代码:
199 |
200 | \titlecontents{figure}[0pt]% 左缩进设为0
201 | {\songti\zihao{-4}\filright}% 整体格式(右对齐编号部分)
202 | {\figurename~\makebox[2em][l]{\thecontentslabel}}% 编号格式(固定2em左对齐)
203 | {}% 无编号条目格式(通常图表都有编号)
204 | {\titlerule*{.}\contentspage}% 填充和页码格式
205 | ```
206 |
207 | 原理解释:
208 |
209 | 1. `\makebox[2em][l]` 为编号创建固定宽度(2em)的盒子,强制编号左对齐,无论1位还是2位数字都会占满这个宽度
210 | 2. 删除原代码中破坏对齐的 `\hspace*{-1.5cm}`,改用固定宽度策略
211 | 3. `\filright` 确保编号部分右对齐,标题文本从固定位置开始
212 |
213 | 效果:
214 |
215 | ```
216 | 图 1 标题内容.............1
217 | 图 10 标题内容.............5
218 | ```
219 |
220 | 调整建议:
221 | 如果发现间距不合适,可通过修改 `2em` 的数值适配你的具体字体宽度。建议先测试 2em,如果两位数显示不全,可尝试增大到 3em。
222 |
223 | :::
224 |
225 | ::: tip 🧠 分析测试
226 |
227 | 1. 回复中改了三处,看起来只有`\makebox`这处相关,先忽略其它两处看看。
228 | 2. 在[[texdoc:lshort-zh-cn]]中搜索`\makebox`,发现有相关介绍,看来比较可靠。
229 | 3. 编辑`main.tex`在导言区粘贴原始代码,然后按提示给`\thecontentslabel`套上`\makebox[2em][l]{…}`,重新编译。
230 | 4. 检查 PDF,效果还行。
231 | 5. 再微调下具体数值,最终设置如下。
232 |
233 | ```latex {2}
234 | \titlecontents{figure}[0pt]{\songti\zihao{-4}}
235 | {\figurename~\makebox[4em][l]{\thecontentslabel}}{\hspace*{-1.5cm}}
236 | {\hspace{.5em}\titlerule*{.}\contentspage}
237 | ```
238 |
239 | :::
240 |
--------------------------------------------------------------------------------
/wiki/video/episode-3.md:
--------------------------------------------------------------------------------
1 | # 第三节 LaTeX 基本介绍
2 |
3 |
4 |
5 |
6 |
7 | ## 视频相关说明
8 |
9 | ### 编译
10 |
11 | - 定义 `latexmk` 这一工具:
12 |
13 | ```json
14 | "latex-workshop.latex.tools": [
15 | {
16 | "name": "latexmk",
17 | "command": "latexmk",
18 | "args": [
19 | "-synctex=1",
20 | "-interaction=nonstopmode",
21 | "-file-line-error",
22 | "-xelatex",
23 | "-outdir=% OUTDIR%",
24 | "-cd",
25 | "% DOC%"
26 | ],
27 | "env": {}
28 | },
29 | ]
30 | ```
31 |
32 | - 定义整个工具链:
33 |
34 | ```json
35 | "latex-workshop.latex.recipes": [
36 | {
37 | "name": "latexmk",
38 | "tools": [
39 | "latexmk"
40 | ]
41 | },
42 | ]
43 | ```
44 |
45 | ### 初步使用 LaTeX
46 |
47 | - LaTeX 初尝试:
48 |
49 | ```latex
50 | \documentclass{article}
51 |
52 | \begin{document}
53 | First document. This is a simple example, with no
54 | extra parameters or packages included.
55 | \end{document}
56 | ```
57 |
58 | - 标题,作者和日期示例:
59 |
60 | ```latex
61 | \documentclass{article}
62 |
63 | \title{First document}
64 | \author{Hubert Farnsworth
65 | \thanks{funded by the Overleaf team}}
66 | \date{February 2017}
67 | \begin{document}
68 | \maketitle
69 | We have now added a title, author and date to our first \LaTeX{} document!
70 | \end{document}
71 | ```
72 |
73 | - 文本格式化命令:
74 |
75 | ```latex
76 | \documentclass{article}
77 | \usepackage{graphicx}
78 | \graphicspath{{images/}}
79 | \begin{document} The universe is immense and it seems to be homogeneous, in a large scale, everywhere we look at.
80 | \begin{center}\includegraphics{universe}\end{center}
81 | There's a picture of a galaxy above.
82 | \end{document}
83 | ```
84 |
85 | - 添加图片示例:
86 |
87 | ```latex
88 | \documentclass{article}
89 | \usepackage{graphicx}
90 | \graphicspath{{images/}}
91 |
92 | \begin{document}
93 | The universe is immense and it seems to be homogeneous, in a large scale, everywhere we look at.
94 |
95 | \begin{center}
96 | \includegraphics{universe}
97 | \end{center}
98 |
99 | There's a picture of a galaxy above.
100 | \end{document}
101 | ```
102 |
103 | - 图片添加标题,标签和参考示例:
104 |
105 | ```latex
106 | \documentclass{article}
107 | \usepackage{graphicx}
108 | \graphicspath{{images/}}
109 |
110 | \begin{document}
111 |
112 | \begin{figure}[h]
113 | \centering
114 | \includegraphics[width=0.25\textwidth]{universe}
115 | \caption{a nice plot}
116 | \label{fig:mesh1}
117 | \end{figure}
118 |
119 | As you can see in the figure\ref{fig:mesh1}, the function grows near 0. Also, in the page\pageref{fig:mesh1} is the same example.
120 | \end{document}
121 | ```
122 |
123 | - 表格示例:
124 |
125 | ```latex
126 | \documentclass{article}
127 |
128 | \begin{document}
129 | \begin{center}
130 | \begin{tabular}{c c c}
131 | cell1 & cell2 & cell3 \\
132 | cell4 & cell5 & cell6 \\
133 | cell7 & cell8 & cell9
134 | \end{tabular}
135 | \end{center}
136 | \end{document}
137 | ```
138 |
139 | - 无序列表示例:
140 |
141 | ```latex
142 | \documentclass{article}
143 |
144 | \begin{document}
145 | \begin{itemize}
146 | \item The individual entries are indicated with a black dot, a so-called bullet.
147 | \item The text in the entries may be of any length.
148 | \end{itemize}
149 | \end{document}
150 | ```
151 |
152 | - 有序列表示例:
153 |
154 | ```latex
155 | \documentclass{article}
156 |
157 | \begin{document}
158 | \begin{enumerate}
159 | \item This is the first entry in our list
160 | \item The list numbers increase with each entry we add
161 | \end{enumerate}
162 | \end{document}
163 | ```
164 |
165 | - 添加数学公式示例:
166 |
167 | ```latex
168 | \documentclass{article}
169 |
170 | \begin{document}
171 | The mass-energy equivalence is described by the famous equation\[E=mc^2\] discovered in 1905 by Albert Einstein. In natural units ($c=1$), the formula expresses the identity
172 |
173 | \begin{equation}
174 | E=m
175 | \end{equation}
176 | \end{document}
177 | ```
178 |
179 | - 论文摘要示例:
180 |
181 | ```latex
182 | \documentclass{article}
183 |
184 | \begin{document}
185 | \begin{abstract}
186 | This is a simple paragraph at the beginning of the document. A brief introduction about the main subject.
187 | \end{abstract}
188 | \end{document}
189 | ```
190 |
191 | - 换行示例:
192 |
193 | ```latex
194 | \documentclass{article}
195 | \begin{document}
196 |
197 | Now that we have written our abstract, we can begin writing our first paragraph.
198 |
199 | This line will start a second Paragraph.
200 | \end{document}
201 | ```
202 |
203 | - 添加章节示例:
204 |
205 | ```latex
206 | \documentclass{article}
207 | \begin{document}
208 |
209 | \section{Introduction}
210 | This is the first section.Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam lobortisfacilisis sem.
211 |
212 | \section{Second Section}
213 | Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam lobortis facilisissem.
214 |
215 | \subsection{First Subsection}
216 | Praesent imperdietmi nec ante. Donec ullamcorper, felis non sodales...
217 |
218 | \section*{Unnumbered Section}
219 | Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam lobortis facilisissem
220 | \end{document}
221 | ```
222 |
223 | - 添加目录示例:
224 |
225 | ```latex
226 | \documentclass{article}
227 | \usepackage[utf8]{inputenc}
228 |
229 | \title{Sections and Chapters}
230 | \author{Gubert Farnsworth}
231 | \date{}
232 |
233 | \begin{document}
234 | \maketitle
235 | \tableofcontents
236 |
237 | \section{Introduction} This is the first section.
238 | \addcontentsline{toc}{section}{Unnumbered Section}
239 | \section*{Unnumbered Section} Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
240 | \section{Second Section} Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
241 | \end{document}
242 | ```
243 |
244 | - [Overleaf 官方文档](https://www.overleaf.com/learn/latex/Main_Page)
245 |
--------------------------------------------------------------------------------
/wiki/news/2025.md:
--------------------------------------------------------------------------------
1 | # 更新说明:2024年11月至2025年10月
2 |
3 | 相关通知:
4 |
5 | - **本科生**
6 | - [关于2024-2025学年本科生毕业设计(论文)工作安排的通知 - 教务部 | 北京理工大学](https://jwb.bit.edu.cn/tzgg/9285cb76d5d94deea31e5c632bc58a70.htm)(2024年10月28日)
7 |
8 | - [关于开展2025年本科毕业设计(论文)检测、评阅、抽检及答辩相关工作的通知 - 教务部 | 北京理工大学](https://jwb.bit.edu.cn/tzgg/2775d173038b465299f6e32818d09912.htm)(2025年5月8日)
9 |
10 | `附件3 本科毕业设计(论文)模板及打印装订要求.rar`
11 |
12 | - [毕设加油站之BIThesis毕设LaTeX模板 - 北京理工大学教务部微信公众号](https://mp.weixin.qq.com/s/9lfXYmImLLL1Nc3BR6si4A)(2025年5月19日)
13 |
14 | - **研究生**
15 | - [关于2025年夏季研究生学位论文评阅、学位答辩及申请相关工作的通知-通知公告-北京理工大学研究生院](https://grd.bit.edu.cn/xwgz/xwgz2/tzgg_xwgz/eee4d72dc39b437dbacb3786dd8a4baf.htm)(2025年4月2日)
16 |
17 | - [研究生学位论文模版-2025更新-文件下载-北京理工大学研究生院](https://grd.bit.edu.cn/xwgz/xwgz2/wjxz_xwgz/b119746.htm)
18 |
19 | `封面-{学术型,专业型}-2025.docx`、`学位论文模版-{学术型,专业型}-2025.doc`
20 |
21 | - [LaTeX学位论文模板-2025更新-文件下载-北京理工大学研究生院](https://grd.bit.edu.cn/xwgz/xwgz2/wjxz_xwgz/b117824.htm)(2025年4月8日)
22 |
23 | `BIThesis-graduate-thesis-template-3.8.3.zip`、`升级指南.pdf`
24 |
25 | - [北京理工大学研究生学位论文撰写规范-文件下载-北京理工大学研究生院](https://grd.bit.edu.cn/xwgz/xwgz2/wjxz_xwgz/b117825.htm)
26 |
27 | `北京理工大学研究生学位论文撰写规范(研函〔2018〕60 号).pdf`
28 |
29 | ## [3.8.6] - 2025-10-17
30 |
31 | ## [3.8.6-beta-1] - 2025-05-21
32 |
33 | ## [3.8.5] - 2025-05-15
34 |
35 | 与 v3.8.4 相比,主要是修复小问题。如无需要,可以不升级。
36 |
37 | ### 🐛 Bug Fixes
38 |
39 | - 汉化 algorithms 和 algorithm2e 包,并更正字号 ([76579b9](https://github.com/BITNP/BIThesis/commit/76579b9cff54fd08495feb0df50dbfed9c47cf2b)) by @YDX-2147483647
40 |
41 | 若已在`*.tex`中自行汉化或调整字号,应该仍然生效,无需专门改动。
42 |
43 | - TeX Live 2022/2023 或更早版本无法发出警告 ([bdfc3cc](https://github.com/BITNP/BIThesis/commit/bdfc3cce8d88362392af7624b1326bad8b42212b)) by @YDX-2147483647 in [#636](https://github.com/BITNP/BIThesis/pull/636)
44 |
45 | 对于硕博模板,如果未按[硕博升级指南](https://bithesis.bitnp.net/news/2025.html#硕博升级指南)操作就升级到 v3.8.3+,会警告缺少文件。然而若使用旧版 TeX Live,该警告操作会导致文档无法编译,引发困惑。此次修复让警告能正常发出了;当然,仍需按警告提示下载缺失的文件。
46 |
47 | ## [3.8.5-alpha-3] - 2025-05-03
48 |
49 | ## [3.8.5-alpha-2] - 2025-04-24
50 |
51 | 这个测试版主要是修复小问题。如无需要,可以不升级。
52 |
53 | ### 🐛 Bug Fixes
54 |
55 | - 汉化 algorithms 和 algorithm2e 包,并更正字号 ([76579b9](https://github.com/BITNP/BIThesis/commit/76579b9cff54fd08495feb0df50dbfed9c47cf2b)) by @YDX-2147483647
56 |
57 | 若已在`*.tex`中自行汉化或调整字号,应该仍然生效,无需专门改动。
58 |
59 | - TeX Live 2022/2023 或更早版本无法发出警告 ([bdfc3cc](https://github.com/BITNP/BIThesis/commit/bdfc3cce8d88362392af7624b1326bad8b42212b)) by @YDX-2147483647 in [#636](https://github.com/BITNP/BIThesis/pull/636)
60 |
61 | 对于硕博模板,如果未按[硕博升级指南](https://bithesis.bitnp.net/news/2025.html#硕博升级指南)操作就升级到 v3.8.3+,会警告缺少文件。然而若使用旧版 TeX Live,该警告操作会导致文档无法编译,引发困惑。此次修复让警告能正常发出了;当然,仍需按警告提示下载缺失的文件。
62 |
63 | ## [3.8.5-alpha-1] - 2025-04-24
64 |
65 | (存在问题,请忽略)
66 |
67 | ## [3.8.4] - 2025-04-18
68 |
69 |
70 |
71 | 此版本只修改了封面、摘要等前置内容,对正文无影响。如无需要,可以不更新。
72 |
73 | ### 🚀 Features
74 |
75 | - 支持在PDF书签中隐去封面、书脊、题名页、声明,如`\MakeCover[bookmarked = false]` ([186e09a](https://github.com/BITNP/BIThesis/commit/186e09a741f2e4e8d712afc7db4dd59627554100)) by @YDX-2147483647
76 |
77 | ```latex
78 | \MakeCover[bookmarked = false]
79 | \MakePaperBack[bookmarked = false]
80 | \MakeTitle % 默认 bookmarked = true
81 | \MakeOriginality[bookmarked = false]
82 | ```
83 |
84 | - 支持用`title`修改`conclusion`环境内的标题 ([0eb90b6](https://github.com/BITNP/BIThesis/commit/0eb90b699246895cbb5a9b25dc00b27d6d33a92e)) by @YDX-2147483647
85 |
86 | ```latex
87 | \begin{conclusion}[title = 结论与 $\lim_{t \to +\infty}$]
88 | 如需更改,可设置 title。
89 | \end{conclusion}
90 | ```
91 |
92 | ## [3.8.3] - 2025-04-08
93 |
94 | 这个版本主要是适应2025年三月末新研究生模板。
95 |
96 | - 硕博模板
97 | - 若已在用[之前 v3.8.3-alpha-1 测试版](https://github.com/BITNP/BIThesis/releases/tag/v3.8.3-alpha-1):这次基本没有变化,可以不升级;如想升级,替换`bithesis.cls`即可。
98 | - 若在用 [v3.8.2](https://github.com/BITNP/BIThesis/releases/tag/v3.8.2) 或更早版本:因为要填信息,不能像往常一样单纯替换`bithesis.cls`;请参考以下升级指南。
99 |
100 | - 本科模板:升级仍只需替换`bithesis.cls`。
101 |
102 | ### 硕博升级指南
103 |
104 | 0. 下载新的[模板包](https://github.com/BITNP/BIThesis/releases/download/v3.8.3/graduate-thesis.zip)并解压。
105 | 1. 用新的`bithesis.cls`替换旧的`bithesis.cls`。
106 | 2. 将新的`misc/icon_{academic,professional}.jpg`复制到旧的`misc/`。
107 | 3. 参考新的`main.tex`重新填写`\BITSetup{ info = {…} }`:
108 | - 增加学号`studentId`(用于封皮)、研究生类型`degreeType`(学术型`academic`、专业型`professional`)。
109 | - 若是专业型研究生,增加行业合作导师`industrialMentor{,En}`。
110 | - 若是工程硕博士专项,增加`工程硕博士专项 = true`。
111 | 4. 重新编译。
112 |
113 | 此外,关于 #584 图表标题与周围文字的间距异常(特别是 float 宏包),可以用`\captionsetup[figure]{belowskip = 0pt}`微调。
114 |
115 | ::: details 补充:如果三种类型都不是,封面「学生类型」信息框为美观默认关闭,可以手动开启。
116 |
117 | 请编辑`main.tex`:
118 |
119 | ```diff
120 | \BITSetup{
121 | cover = {
122 | …
123 | autoWidthPadding = 0.25em,
124 | + showSpecialTypeBox = true,
125 | },
126 | ```
127 |
128 | 以前和研究生院确认过这个信息框重要程度比较低,这回还没有问。如果有人通知要始终保留,欢迎分享,LaTeX模板可以改一下默认行为。
129 |
130 | :::
131 |
132 | ## [3.8.3-alpha-1] - 2025-03-31
133 |
134 | ### 硕博升级指南
135 |
136 | 这个测试版主要是适应2025年三月末新研究生模板。因为要填信息,不能像往常一样单纯替换`bithesis.cls`;请如下操作。
137 |
138 | 0. 下载新的[模板包](https://github.com/BITNP/BIThesis/releases/download/v3.8.3-alpha-1/graduate-thesis.zip)并解压。
139 | 1. 用新的`bithesis.cls`替换旧的`bithesis.cls`。
140 | 2. 将新的`misc/icon_{academic,professional}.jpg`复制到旧的`misc/`。
141 | 3. 参考新的`main.tex`重新填写`\BITSetup{ info = {…} }`:
142 | - 增加学号`studentId`(用于封皮)、研究生类型`degreeType`(学术型`academic`、专业型`professional`)。
143 | - 若是专业型研究生,增加行业合作导师`industrialMentor{,En}`。
144 | - 若是工程硕博士专项,增加`工程硕博士专项 = true`。
145 | 4. 重新编译。
146 |
147 | 此外,关于 #584 图表标题与周围文字的间距异常(特别是 float 宏包),可以用`\captionsetup[figure]{belowskip = 0pt}`微调。
148 |
149 | (本科不受影响,升级仍只需替换`bithesis.cls`,当然不升级也可以。)
150 |
151 | #### 补充(2025年4月3日傍晚)
152 |
153 | 如果三种类型都不是,封面「学生类型」信息框为美观默认关闭。如需开启,请编辑`main.tex`:
154 |
155 | ```diff
156 | \BITSetup{
157 | cover = {
158 | …
159 | autoWidthPadding = 0.25em,
160 | + showSpecialTypeBox = true,
161 | },
162 | ```
163 |
164 | 以前和研究生院确认过这个信息框重要程度比较低,这回还没有问。如果有人通知要始终保留,欢迎分享,LaTeX模板可以改一下默认行为。
165 |
166 | ## [3.8.2] - 2025-03-25
167 |
168 | v3.8.2 主要更改:
169 |
170 | - 改善文档,特别是将以前散落各处的FAQ整理成了 [🥑 疑难杂症 (bithesis.bitnp.net/faq)](https://bithesis.bitnp.net/faq/)。
171 | - 对于硕博模板,参考学校规定调整了图表前后的间距,原先间距过大。
172 |
173 | 如果使用本科模板,或者不介意间距,可以不更新`bithesis.cls`。
174 |
175 | ## [3.8.1] - 2025-01-03
176 |
--------------------------------------------------------------------------------
/wiki/faq/bib-entry.md:
--------------------------------------------------------------------------------
1 | ---
2 | tag:
3 | - biblatex-gb7714-2015
4 | ---
5 |
6 | # 参考文献书写示例
7 |
8 |
13 |
14 | 利用以下代码,可以生成北京理工大学本科Word模板中“不同类别文献书写规范要求”的示例。
15 |
16 | 更多例子与说明请参考:
17 |
18 | - [GB/T 7714—2015《信息与文献 参考文献著录规则》](https://lib.tsinghua.edu.cn/wj/GBT7714-2015.pdf)
19 | - [[texdoc:biblatex-gb7714-2015]]
20 |
21 | ## 期刊
22 |
23 | 主要责任者. 文献题名[J]. 刊名, 出版年份, 卷号(期号): 起止页码.
24 |
25 | - 余雄庆. 飞机总体多学科设计优化的现状与发展方向[J]. 南京航空航天大学学报, 2008(04): 417-426.
26 | - Hajela P, Bloebaum C L, Sobieszczanski-Sobieski J. Application of Global Sensitivity Equations in Multidisciplinary Aircraft Synthesis[J]. Journal of Aircraft, 1990, 27(12): 1002-110.
27 |
28 | ```bibtex
29 | @article{yuFeiJiZongTiDuoXueKeSheJiYouHuaDeXianZhuangYuFaZhanFangXiang2008,
30 | title = {飞机总体多学科设计优化的现状与发展方向},
31 | author = {余, 雄庆},
32 | date = {2008},
33 | journaltitle = {南京航空航天大学学报},
34 | pages = {417--426},
35 | issn = {1005-2615},
36 | url = {https://kns.cnki.net/kcms/detail/detail.aspx?filename=NJHK200804000&dbcode=CJFQ&dbname=CJFD2008&v=},
37 | urldate = {2020-02-29},
38 | keywords = {aircraft design,multidisciplinary design optimization,optimization,优化,多学科设计优化,飞行器设计},
39 | langid = {中文;},
40 | number = {04}
41 | }
42 | @article{Hajela2012Application,
43 | title={Application of Global Sensitivity Equations in Multidisciplinary Aircraft Synthesis},
44 | author={Hajela, P. and Bloebaum, C. L. and Sobieszczanski-Sobieski, Jaroslaw},
45 | journal={Journal of Aircraft},
46 | volume={27},
47 | number={12},
48 | pages = {1002-110},
49 | year={1990},
50 | }
51 | ```
52 |
53 | ## 普通图书
54 |
55 | 主要责任者. 文献题名[M]. 出版地: 出版者, 出版年: 起止页码.
56 |
57 | - 张伯伟. 全唐五代诗格会考[M]. 南京: 江苏古籍出版社, 2002.
58 | - O’BRIEN J A. Introduction to information systems[M]. 7th ed. Burr Ridge, III: Irwin, 1994.
59 |
60 | ```bibtex
61 | @book{张伯伟2002全唐五代诗格会考,
62 | title={全唐五代诗格会考},
63 | author={张伯伟},
64 | publisher={江苏古籍出版社},
65 | location={南京},
66 | year={2002},
67 | language={zh},
68 | keywords={book},
69 | }
70 | @book{OBRIEN1994Aircraft,
71 | title={Introduction to information systems},
72 | author={O'BRIEN, James A},
73 | location={$\text{7}^\text{th}$ ed. Burr Ridge, III},
74 | publisher={Irwin},
75 | year={1994},
76 | keywords={book},
77 | }
78 | ```
79 |
80 | ## 会议论文集
81 |
82 | 主要责任者.题名:其他题名信息[C]. 出版地: 出版者, 出版年.
83 |
84 | - 雷光春. 综合湿地管理: 综合湿地管理国际研讨会论文集[C]. 北京: 海洋出版社, 2012.
85 |
86 | ```bibtex
87 | @proceedings{雷光春2012,
88 | author = {雷光春},
89 | title = {综合湿地管理: 综合湿地管理国际研讨会论文集},
90 | location = {北京},
91 | publisher = {海洋出版社},
92 | year = {2012},
93 | }
94 | ```
95 |
96 | ## 专著中析出的文献
97 |
98 | 析出文献主要责任者. 析出题名[M]//专著主要责任者. 专著题名. 出版地: 出版者, 出版年: 起止页码.
99 |
100 | - 白书农. 植物开花研究[M]//李承森. 植物科学进展. 北京: 高等教育出版社, 1998: 146-163.
101 |
102 | ```bibtex
103 | @inbook{白书农,
104 | title={植物开花研究},
105 | author={白书农},
106 | location = {北京},
107 | publisher={高等教育出版社},
108 | year={1998},
109 | pages = {146-163},
110 | editor = {李承森},
111 | booktitle = {植物科学进展},
112 | }
113 | ```
114 |
115 | ## 学位论文
116 |
117 | 主要责任者. 文献题名[D]. 保存地: 保存单位, 年份.
118 |
119 | - 张和生. 嵌入式单片机系统设计[D]. 北京: 北京理工大学, 1998.
120 | - Sobieski I P. Multidisciplinary Design Using Collaborative Optimization[D]. United States – California: Stanford University, 1998.
121 |
122 | ```bibtex
123 | @phdthesis{zhanghesheng,
124 | author = {张和生},
125 | title = {嵌入式单片机系统设计},
126 | location = {北京},
127 | school = {北京理工大学},
128 | year = {1998},
129 | language={zh},
130 | keywords={thesis},
131 | }
132 | @phdthesis{Sobieski,
133 | author = {Sobieski, I. P.},
134 | title = {Multidisciplinary Design Using Collaborative Optimization},
135 | location = {United States -- California},
136 | school = {Stanford University},
137 | year = {1998},
138 | keywords={thesis},
139 | }
140 | ```
141 |
142 | ## 报告
143 |
144 | 主要责任者. 文献题名[R]. 报告地: 报告会主办单位, 年份.
145 |
146 | - 冯西桥. 核反应堆压力容器的 LBB 分析[R]. 北京: 清华大学核能技术设计研究院, 1997.
147 | - Sobieszczanski-Sobieski J. Optimization by Decomposition: A Step from Hierarchic to Non-Hierarchic Systems[R]. NASA CP-3031, 1989.
148 |
149 | ```bibtex
150 | @techreport{fengxiqiao,
151 | author = {冯西桥},
152 | title = {核反应堆压力容器的LBB分析},
153 | address = {北京},
154 | institution = {清华大学核能技术设计研究院},
155 | year = {1997},
156 | language={zh},
157 | keywords={techreport},
158 | }
159 | @techreport{Sobieszczanski,
160 | author = {Sobieszczanski-Sobieski, J.},
161 | title = {Optimization by Decomposition: A Step from Hierarchic to Non-Hierarchic Systems},
162 | institution = {NASA CP-3031},
163 | year = {1989},
164 | keywords={techreport},
165 | }
166 | ```
167 |
168 | ## 专利文献
169 |
170 | 专利所有者. 专利题名:专利号[P]. 公告日期或公开日期[引用日期]. 获取和访问路径. 数字对象唯一标识符.
171 |
172 | - 姜锡洲. 一种温热外敷药制备方案: 881056078[P]. 1983-08-12.
173 |
174 | ```bibtex
175 | @patent{jiangxizhou,
176 | author = {姜锡洲},
177 | title = {一种温热外敷药制备方案},
178 | number = {881056078},
179 | date = {1983-08-12},
180 | }
181 | ```
182 |
183 | ::: tip 加空格换行
184 |
185 | 如果专利号太长,想提前换行,请直接加空格。
186 |
187 |
188 |
189 | :::
190 |
191 | ::: tip quirks 模式
192 |
193 | 以上`@patent`默认按国标格式;而目前北理工官方示例的专利格式如下。
194 |
195 | - 姜锡洲. 一种温热外敷药制备方案[P], 881056078, 1983-08-12.
196 |
197 | 考虑到二者差异不大,并且[本科教务部反馈不一致处以国标为准](https://github.com/BITNP/BIThesis/discussions/401),模板默认按国标处理。若需按学校示例,请编辑`main.tex`,设置`quirks=true`:
198 |
199 | ```latex
200 | \documentclass[…]{bithesis} % [!code --]
201 | \documentclass[…, quirks=true]{bithesis} % [!code ++]
202 | ```
203 |
204 | :::
205 |
206 | ## 国际、国家标准
207 |
208 | 主要责任人. 题名: 其他题名信息[S]. 出版地: 出版者, 出版年: 引文页码.
209 |
210 | - 全国信息与文献标准化技术委员会. 文献著录: 第 4 部分 非书资料: GB/T 3792.4-2009[S]. 北京: 中国标准出版社, 2010: 3.
211 |
212 | ```bibtex
213 | @standard{GB/T3792.4-2009,
214 | publisher ={中国标准出版社},
215 | title={全国信息与文献标准化技术委员会. 文献著录: 第4部分$\,$非书资料: GB/T 3792.4-2009},
216 | location = {北京},
217 | year={2010},
218 | language={zh},
219 | pages = {3},
220 | keywords={standard},
221 | }
222 | ```
223 |
224 | ## 报纸文章
225 |
226 | 主要责任者. 文献题名[N]. 报纸名, 年(期): 页码.
227 |
228 | - 谢希德. 创造学习的思路[N]. 人民日报, 1998-12-25(10).
229 |
230 | ```bibtex
231 | @newspaper{xiexide,
232 | author = {谢希德},
233 | title={创造学习的思路},
234 | date={1998-12-25},
235 | number = {10},
236 | journal = {人民日报},
237 | keywords = {newspaper},
238 | }
239 | ```
240 |
241 | ## 电子文献
242 |
243 | 主要责任者. 电子文献题名[文献类型/载体类型]. (发表或更新日期) [引用日期]. 获取和访问路径. 数字对象唯一标识符.
244 |
245 | - 姚伯元. 毕业设计(论文)规范化管理与培养学生综合素质[EB/OL]. 中国高等教育网教学研究. (2005-02-02) [2013-03-26]. https://www.cnnic.net.cn/hlwfzyj/hlwxzbg/201201/P020120709345264469680.
246 |
247 | ```bibtex
248 | @online{yaoboyuan,
249 | author = {姚伯元},
250 | title = {毕业设计(论文)规范化管理与培养学生综合素质},
251 | organization = {中国高等教育网教学研究},
252 | date = {2005-02-02},
253 | url = {https://www.cnnic.net.cn/hlwfzyj/hlwxzbg/201201/P020120709345264469680},
254 | urldate = {2013-03-26},
255 | keywords = {online},
256 | }
257 | ```
258 |
--------------------------------------------------------------------------------
/wiki/guide/preface.md:
--------------------------------------------------------------------------------
1 | # BIThesis
2 |
3 | ## BIThesis 是什么?
4 |
5 | BIThesis 是针对北京理工大学本科以及研究生同学毕业论文制作的一个非官方的 LaTeX 模板,BIThesis 同时也包括其他本科学习中涉及到的外文翻译、实验报告等的 LaTeX 模板。
6 |
7 | ## 重要提醒
8 |
9 | 1. _尽管已有大量往届学生使用此项目进行论文撰写,但你仍需要仔细斟酌后决定是否使用我们的项目。_
10 | 2. _本模板仍处于积极维护中,因此仍有微小可能会修改部分接口。在论文撰写的过程中,请慎重考虑是否需要同步更新模板。_
11 | 3. 请对自己的撰写内容做好备份(甚至是版本管理)。
12 | 4. 尽管本项目的排版符合学校的要求,但很多时候盲审老师会有一些「自己的想法」;这是本项目无法预料的。
13 |
14 | ## Q&A
15 |
16 | ### Q:我真的可以直接将 BIThesis 模板用于我的毕业设计吗?
17 |
18 | **A:可以的。**
19 |
20 | - 本项目已经与北京理工大学[教务部](https://mp.weixin.qq.com/s/I1SsP9VSaQ90a_2tW4zQUg)、[研究生院](https://grd.bit.edu.cn/xwgz/xwgz2/wjxz_xwgz/b117824.htm)确认,可以用于撰写北京理工大学本科生、研究生毕业设计(论文)。
21 | - 本项目同时也获得了 [北京理工大学教务部](https://jwb.bit.edu.cn/)、[北京理工大学计算机学院](https://cs.bit.edu.cn/) 的认可、背书与大力支持。详见:[致谢 - 官方赞助](./acknowledgements.md)。
22 |
23 | **我们正在对项目持续更新!目前,你完全可以使用现有版本开始编写毕业设计总论文;不过与此同时,我们也在持续推进代码的升级和更新(主要是不影响使用的底层逻辑)。更多开发计划请访问我们的 [Roadmap](https://github.com/BITNP/BIThesis/projects)。想帮助这个项目持续前进?参见我们的[贡献者指南](https://github.com/BITNP/BIThesis/blob/main/contributing-zh.md)。**
24 |
25 | ### Q:BIThesis 都包含哪些模板?
26 |
27 | **A:如下表。**
28 |
29 | | 预览 | 模板及特性 |
30 | | :----------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
31 | | | **研究生·学位论文** 包括封面,摘要,参考文献和附录等支持 包括公式,表格和图片等支持 按 GB/T 7714—2015 规范编排的书目 符合研究生学位论文模版的格式要求。 2025年3月末研究生院开始使用新的研究生学位论文模板[^1],请使用BIThesis v3.8.3或更新的版本。 [![open in overleaf][open-in-overleaf]][graduate-thesis] |
32 | | | **本科生·毕业设计·论文** 包括封面,摘要,参考文献和附录等支持 包括公式,表格和图片等支持 按 GB/T 7714—2015 规范编排的书目 符合北京理工大学本科毕业设计论文的格式要求。 [![open in overleaf][open-in-overleaf]][undergraduate-thesis] |
33 | | | **本科生·毕业设计·论文(全英文专业)** 包括封面,摘要,参考文献和附录等支持 包括公式,表格和图片等支持 按 GB/T 7714—2015 规范编排的书目 符合北京理工大学本科毕业设计论文的格式要求。 [![open in overleaf][open-in-overleaf]][undergraduate-thesis-en] |
34 | | | **本科生·毕业设计·外文翻译** 由毕设模板迁移而来 符合北京理工大学本科毕业设计模板的格式要求。 [![open in overleaf][open-in-overleaf]][paper-translation] |
35 | | | **读书报告** 包括封面,BIT logo 格式为简化版本科毕业设计 适用于信息与电子学院“电磁场与电磁波”等课程和一些公选课 [![open in overleaf][open-in-overleaf]][reading-report] |
36 | | | **演示文档** 包括多种文字样式变化的支持 CJK 字体高亮支持 [![open in overleaf][open-in-overleaf]][presentation-slide] |
37 | | | **基本实验报告** 包括封面,BIT logo 适用于无格式要求的实验报告写作 [![open in overleaf][open-in-overleaf]][lab-report] |
38 |
39 | ### Q:我该如何使用 BIThesis?
40 |
41 | :::tip ✅ 使用注意
42 | 请一定在阅读完毕本 BIThesis 使用 Wiki 的全部内容之后,再着手开始正式的论文写作工作。
43 | :::
44 |
45 | **A:有几种选择。**
46 |
47 | 1. 「**快速使用指南**」([本科][undergraduate-handbook]/[硕博][graduate-handbook])
48 | - 面向没有太多计算机基础的同学
49 | - 附图的 PDF
50 |
51 | 2. 本 Wiki 「[**食用方法**](./intro.md)」
52 | - 面向有一定计算机基础的同学
53 | - 一系列网页
54 | - 详细介绍各种情况的使用方法和注意事项
55 |
56 | 此外也可直接前往「[系列视频指导](../video/intro.md)」,根据视频的介绍进行学习使用。(录制于 2020 年,与目前的模板使用方式有些许出入;仅供参考)
57 |
58 | 无论如何,BIThesis 的教程参考都几乎涵盖了全部使用 BIThesis 所需的编译环境和基础知识。请大家放心食用。
59 |
60 | 如果遇到问题,你可以——
61 |
62 | 1. 搜索本站 [🥑 疑难杂症](../faq/)(搜索栏在页面上方)
63 | 2. 查询互联网及 [🤖 人工智能](./ask-computer.md)
64 | 3. 询问同学,可加入 [🐧 QQ 群:737548118](https://jq.qq.com/?_wv=1027&k=KYDrmS5z)
65 |
66 | ### Q:我应该选择 LaTeX 还是 Word?
67 |
68 | 网上已经有大量文章进行讨论:比如我写的[这篇](https://blog.fkynjyq.com/should-i-choose-between-bithesis-or-word)。
69 |
70 | [undergraduate-thesis-en]: https://cn.overleaf.com/docs?engine=xelatex&snip_uri=https://github.com/BITNP/BIThesis/releases/latest/download/undergraduate-thesis-en.zip
71 | [undergraduate-thesis]: https://cn.overleaf.com/docs?engine=xelatex&snip_uri=https://github.com/BITNP/BIThesis/releases/latest/download/undergraduate-thesis.zip
72 | [reading-report]: https://cn.overleaf.com/docs?engine=xelatex&snip_uri=https://github.com/BITNP/BIThesis/releases/latest/download/reading-report.zip
73 | [presentation-slide]: https://cn.overleaf.com/docs?engine=xelatex&snip_uri=https://github.com/BITNP/BIThesis/releases/latest/download/presentation-slide.zip
74 | [paper-translation]: https://cn.overleaf.com/docs?engine=xelatex&snip_uri=https://github.com/BITNP/BIThesis/releases/latest/download/paper-translation.zip
75 | [lab-report]: https://cn.overleaf.com/docs?engine=xelatex&snip_uri=https://github.com/BITNP/BIThesis/releases/latest/download/lab-report.zip
76 | [graduate-thesis]: https://cn.overleaf.com/docs?engine=xelatex&snip_uri=https://github.com/BITNP/BIThesis/releases/latest/download/graduate-thesis.zip
77 | [open-in-overleaf]: https://img.shields.io/badge/open%20in-Overleaf-46a247?logo=overleaf&logoColor=white&labelColor=2b2b2b
78 | [undergraduate-handbook]: https://mirrors.ctan.org/macros/unicodetex/latex/bithesis/bithesis-handbook-undergraduate.pdf
79 | [graduate-handbook]: https://mirrors.ctan.org/macros/unicodetex/latex/bithesis/bithesis-handbook-graduate.pdf
80 |
81 | [^1]: [研究生学位论文模版;北京理工大学研究生院;2025](https://grd.bit.edu.cn/xwgz/xwgz2/wjxz_xwgz/b119746.htm)
82 |
--------------------------------------------------------------------------------