init
This commit is contained in:
90
docx_thesis/config.py
Normal file
90
docx_thesis/config.py
Normal file
@@ -0,0 +1,90 @@
|
||||
from dataclasses import dataclass
|
||||
|
||||
|
||||
@dataclass
|
||||
class ThesisFormat:
|
||||
"""毕业论文格式配置(桂林理工大学理工类标准)。
|
||||
|
||||
依据《要求.txt》中第2、3节的规定。
|
||||
所有尺寸单位:厘米(cm) 或 磅(pt),按字段说明为准。
|
||||
"""
|
||||
|
||||
# ════════════════════════════════════════════
|
||||
# 页面设置 (§2.2)
|
||||
# ════════════════════════════════════════════
|
||||
page_width: float = 21.0 # A4
|
||||
page_height: float = 29.7 # A4
|
||||
margin_top: float = 3.0 # 上3.0cm
|
||||
margin_bottom: float = 2.5 # 下2.5cm
|
||||
margin_left: float = 3.0 # 左3.0cm
|
||||
margin_right: float = 2.0 # 右2.0cm
|
||||
footer_distance: float = 1.5 # 页脚1.5cm
|
||||
|
||||
# ════════════════════════════════════════════
|
||||
# 字体 (§3.1) — 理工类全文宋体
|
||||
# ════════════════════════════════════════════
|
||||
font_cn: str = "宋体"
|
||||
font_cn_heading: str = "宋体" # 标题也用宋体(加粗区分)
|
||||
font_en: str = "Times New Roman"
|
||||
font_code: str = "Courier New"
|
||||
font_heading_en: str = "Times New Roman"
|
||||
|
||||
# ════════════════════════════════════════════
|
||||
# 字号(磅)(§3.2)
|
||||
# ════════════════════════════════════════════
|
||||
# 中文:三号=16pt 小三=15pt 四号=14pt 小四=12pt 五号=10.5pt 小五=9pt
|
||||
size_abstract_title: float = 16 # 三号 — 摘要题头
|
||||
size_chapter: float = 16 # 三号 — 第一层次(章)
|
||||
size_section: float = 15 # 小三 — 第二层次(节)
|
||||
size_subsection: float = 14 # 四号 — 第三层次(条)
|
||||
size_subsubsection: float = 12 # 小四 — 第四层次(款)
|
||||
size_body: float = 12 # 小四 — 正文
|
||||
size_keyword_label: float = 12 # 小四 — 关键词题头
|
||||
size_reference: float = 10.5 # 五号 — 参考文献条目
|
||||
size_code: float = 9 # 小五 — 代码块
|
||||
size_footer: float = 9 # 小五 — 页脚页码
|
||||
|
||||
# ════════════════════════════════════════════
|
||||
# 段落间距(磅)
|
||||
# ════════════════════════════════════════════
|
||||
spacing_before_chapter: int = 0
|
||||
spacing_after_chapter: int = 0
|
||||
spacing_before_section: int = 0
|
||||
spacing_after_section: int = 0
|
||||
spacing_before_subsection: int = 0
|
||||
spacing_after_subsection: int = 0
|
||||
|
||||
# ════════════════════════════════════════════
|
||||
# 行距 (§2.2) — 单倍行距
|
||||
# ════════════════════════════════════════════
|
||||
line_spacing_body: float = 1.0
|
||||
line_spacing_heading: float = 1.0
|
||||
line_spacing_reference: float = 1.0
|
||||
line_spacing_code: float = 1.0
|
||||
|
||||
# ════════════════════════════════════════════
|
||||
# 缩进
|
||||
# ════════════════════════════════════════════
|
||||
first_line_indent_chars: int = 2 # 正文首行缩进2字符
|
||||
|
||||
# ════════════════════════════════════════════
|
||||
# 文档网格 (§2.2) — 每页32行×每行42字
|
||||
# ════════════════════════════════════════════
|
||||
grid_chars_per_line: int = 42
|
||||
grid_lines_per_page: int = 32
|
||||
|
||||
# ════════════════════════════════════════════
|
||||
# 章节标题文字识别
|
||||
# ════════════════════════════════════════════
|
||||
abstract_title_cn: str = "摘 要"
|
||||
abstract_title_en: str = "Abstract"
|
||||
toc_title: str = "目 次"
|
||||
acknowledgement_title: str = "致谢"
|
||||
references_title: str = "参考文献"
|
||||
appendix_title: str = "附录"
|
||||
|
||||
# ════════════════════════════════════════════
|
||||
# 摘要关键词标记
|
||||
# ════════════════════════════════════════════
|
||||
keywords_label_cn: str = "关键词:"
|
||||
keywords_label_en: str = "Key words:"
|
||||
Reference in New Issue
Block a user