Problem
tex-to-docx 的 DOCX 輸出格式與 preamble.tex / commands.tex 定義有多處不一致。
核心原因:converter 沒有完整解析 preamble 的設定,部分值用了錯誤的 fallback。
差異對照
| 元素 |
LaTeX preamble |
converter 實際 |
問題 |
| 摘要 bg |
summaryBg=#FFFF00 (黃色) |
F5F5F5 (灰色) |
fallback 沒被 preamble 覆蓋 |
| 摘要 border |
black!40 ≈ 666666 |
999999 |
顏色不對 |
| 摘要文字 |
14pt \songti 無特殊色 |
14pt ✓ 但沒設字體 |
缺字體 |
| 篇名色 |
titlePink=#C71585 |
fallback CC0066 |
preamble 有定義但沒讀到 |
| section 字號 |
24pt |
16pt |
應讀 preamble titlesec 定義 |
| subsection 字號 |
22pt |
16pt |
應讀 preamble titlesec 定義 |
| subsection 對齊 |
置中 (\filcenter) |
左對齊 |
缺 alignment |
| kw 色 |
keywordBlue=#1F4E79 |
fallback 002060 |
preamble 有定義但沒讀到 |
| 字體 |
內文=凝書體, 標題=\songti=思源宋體 TC |
無字體設定 |
需要 font mapping |
Root Causes
- 顏色 fallback key 不匹配 — preamble 定義
summaryBg 但 fallback 用 summaryBg key 時沒找到(可能大小寫或名稱不符)
- titlesec 格式未解析 —
\titleformat{\section} 裡的 \fontsize{24pt}{30pt} 沒被讀取
- 字體映射缺失 —
\songti → "Noto Serif TC" 的映射沒建立
- 摘要 border 顏色計算 —
black!40 是 xcolor 的混合語法,需解析
Expected Behavior
converter 應:
- 從
\definecolor 讀取所有顏色定義 → 已有但 key 匹配有問題
- 從
\titleformat 讀取各級標題的 fontsize、color、alignment
- 從
\newcommand 讀取自訂命令的格式(\摘要 的 fontsize、border 等)
- 建立字體映射:
\songti → "Noto Serif TC"、CJKmainfont → "凝書體"
- Fallback 值只在 preamble 沒有定義時才使用
Problem
tex-to-docx 的 DOCX 輸出格式與 preamble.tex / commands.tex 定義有多處不一致。
核心原因:converter 沒有完整解析 preamble 的設定,部分值用了錯誤的 fallback。
差異對照
summaryBg=#FFFF00(黃色)F5F5F5(灰色)black!40≈666666999999\songti無特殊色titlePink=#C71585CC0066\filcenter)keywordBlue=#1F4E79002060\songti=思源宋體 TCRoot Causes
summaryBg但 fallback 用summaryBgkey 時沒找到(可能大小寫或名稱不符)\titleformat{\section}裡的\fontsize{24pt}{30pt}沒被讀取\songti→ "Noto Serif TC" 的映射沒建立black!40是 xcolor 的混合語法,需解析Expected Behavior
converter 應:
\definecolor讀取所有顏色定義 → 已有但 key 匹配有問題\titleformat讀取各級標題的 fontsize、color、alignment\newcommand讀取自訂命令的格式(\摘要的 fontsize、border 等)\songti→ "Noto Serif TC"、CJKmainfont → "凝書體"