|
213 | 213 | % \end{macrocode}
|
214 | 214 | % \end{macro}
|
215 | 215 | %
|
| 216 | +% \begin{macro}{\@@_warning_footer:n} |
| 217 | +% 用 l3msg 创建警告时,需后缀的内容。 |
| 218 | +% 参数建议为 ⟨message⟩,即 |\msg_new:nnn| 系列函数的第二个参数。 |
| 219 | +% |
| 220 | +% 之所以设置此函数,是因为 VS Code 插件 LaTeX Workshop 无法识别随意放置的 |\msg_line_context:|,只好专门适配。 |
| 221 | +% https://github.com/James-Yu/LaTeX-Workshop/blob/c62e327b8233e20d61814bfda305811bea1ae83f/src/parse/parser/latexlog.ts#L17 |
| 222 | +% \begin{macrocode} |
| 223 | +\cs_new:Npn \@@_warning_footer:n #1 { |
| 224 | + —The~“#1”\\warning~on~input~line~\msg_line_number:. |
| 225 | + } |
| 226 | +% \end{macrocode} |
| 227 | +% \end{macro} |
| 228 | +% |
216 | 229 | % \begin{macro}{\@@_same_page:}
|
217 | 230 | % 取消换页。
|
218 | 231 | % \begin{macrocode}
|
|
2023 | 2036 | }
|
2024 | 2037 | % \end{macrocode}
|
2025 | 2038 | % \end{macro}
|
| 2039 | + |
| 2040 | +% \begin{macro}{|@@_cover_entry_rendered_width:} |
| 2041 | +% 预估 |\@@_render_cover_entry:nn| 会占用的宽度,可用于判断行是否会溢出 |
| 2042 | +% \begin{macrocode} |
| 2043 | +\cs_new:Nn \@@_cover_entry_rendered_width: { |
| 2044 | + \l_@@_cover_label_max_width_dim + 1ex + \l_@@_cover_value_max_width_dim |
| 2045 | +} |
| 2046 | +% \end{macrocode} |
| 2047 | +% \end{macro} |
2026 | 2048 | %
|
2027 | 2049 | % \begin{macro}{|@@_get_text_width:Nn,\@@_get_text_width:NV}
|
2028 | 2050 | % 计算 \#2 所占用的宽度,将结果存储在 \#1 中。
|
|
2103 | 2125 | % \begin{macro}{\@@_render_cover_entry}
|
2104 | 2126 | % 渲染封面信息项。此函数为主函数。
|
2105 | 2127 | % \begin{macrocode}
|
| 2128 | +\msg_new:nnn { bithesis } { render-cover-entry/overfull-hbox } |
| 2129 | + { |
| 2130 | + One~or~more~cover~entries~are~too~wide,~which~may~result~in~poor~layout.\\ |
| 2131 | + To~fix~it,~please~split~long~entries~into~multiple~lines~by~inserting~“\c_backslash_str\c_backslash_str”.\\ |
| 2132 | + \@@_warning_footer:n { render-cover-entry/overfull-hbox } |
| 2133 | + } |
2106 | 2134 | \cs_new:Npn \@@_render_cover_entry:N #1 {
|
2107 | 2135 | % 左边是标签,右边是值。
|
2108 | 2136 | % 形如:
|
|
2130 | 2158 | % 在 value 两边加上空白,避免文本太靠边。
|
2131 | 2159 | \dim_add:Nn \l_@@_cover_value_max_width_dim { \l_@@_cover_auto_width_padding_dim * 2 }
|
2132 | 2160 | }
|
| 2161 | + \dim_compare:nNnT { \linewidth } < { \@@_cover_entry_rendered_width: } { |
| 2162 | + \msg_warning:nn {bithesis} {render-cover-entry/overfull-hbox} |
| 2163 | + } |
2133 | 2164 |
|
2134 | 2165 |
|
2135 | 2166 | % 最后,根据宽度渲染 label 和 value 对。
|
|
2188 | 2219 | % \begin{macro}{\@@_make_paper_back:}
|
2189 | 2220 | % 制作书脊。
|
2190 | 2221 | % \begin{macrocode}
|
2191 |
| -% TODO: 使用统一方式警告 |
2192 | 2222 | \msg_new:nnn { bithesis } { paper-back/missing-degree-type-icon-file }
|
2193 | 2223 | {
|
2194 | 2224 | Failed~to~find~the~file~for~degree~type~in~the~paper~back:~#1.\\
|
2195 |
| - Please~download~from~https://github.com/BITNP/BIThesis/blob/main/templates/graduate-thesis/ #1. |
| 2225 | + Please~download~from~https://github.com/BITNP/BIThesis/blob/main/templates/graduate-thesis/ #1.\\ |
| 2226 | + \@@_warning_footer:n { paper-back/missing-degree-type-icon-file } |
2196 | 2227 | }
|
2197 | 2228 | \cs_new:Npn \@@_make_paper_back: {
|
2198 | 2229 | \cleardoublepage
|
|
2757 | 2788 | {\c_@@_label_author_tl} {\@@_secret_info_fixed:Nn \l_@@_value_author_tl {3}},
|
2758 | 2789 | {\c_@@_label_student_id_tl} {\@@_secret_info:N \l_@@_value_student_id_tl},
|
2759 | 2790 | {\c_@@_label_supervisor_tl} {\@@_secret_info_fixed:Nn \l_@@_value_supervisor_tl {5}},
|
2760 |
| - % co-supervisor 并非所有人都有,由最终作者自行处理 |
2761 |
| - {\c_@@_label_co_supervisor_tl} {\@@_secret_info:N \l_@@_value_external_supervisor_tl}, |
| 2791 | + {\c_@@_label_co_supervisor_tl} {\@@_secret_info_fixed:Nn \l_@@_value_external_supervisor_tl {5}}, |
2762 | 2792 | }
|
2763 | 2793 |
|
2764 | 2794 | \@@_render_cover_entry:N \l_@@_input_clist
|
|
0 commit comments