Skip to content

Commit

Permalink
Merge pull request #320 from BITNP/peer-review-hide-only-secret
Browse files Browse the repository at this point in the history
feat: hide only secret info in cover.
  • Loading branch information
fky2015 authored May 9, 2023
2 parents 3f8fe80 + 61483f5 commit 29c2061
Show file tree
Hide file tree
Showing 6 changed files with 351 additions and 118 deletions.
136 changes: 111 additions & 25 deletions bithesis.dtx
Original file line number Diff line number Diff line change
Expand Up @@ -531,6 +531,12 @@
% \begin{bitsyntax}[emph={[1]twoside}]
% twoside = (*<(false)|true>*)
% \end{bitsyntax}
%
% 打开双页排版。对于研究生模板来说,这意味着摘要前的内容都会
% 被插入空白页。这样,在你双面打印的时候,就可以获得单页打印
% 效果的封面。
%
% \textit{本科生模板一般不需要选择此选项。此选项会受到 |blindPeerReview| 的抑制。}
% \end{function}
%
% \begin{function}{ctex}
Expand Down Expand Up @@ -732,6 +738,14 @@
% 设置封面信息中下划线的偏移量。
% \end{function}
%
% \begin{function}[added=2023-05-09]{cover/hideCoverInPeerReview}
% \begin{bitsyntax}[emph={[1]hideCoverInPeerReview}]
% hideCoverInPeerReview = (*(false)|true*)
% \end{bitsyntax}
%
% 在盲审模式下,不渲染封面。
% \end{function}
%
% \subsubsection{论文基本信息}
%
% \begin{function}{info}
Expand Down Expand Up @@ -1287,6 +1301,15 @@
% 默认值会自动变成相应的英文格式(如|Figure|)。
%
% \end{variable}
%
% \begin{variable}[added=2023-05-09]{const/style/substituteSymbol}
% \begin{bitsyntax}[emph={[1]substituteSymbol}]
% substituteSymbol = (*(*)|\marg{字符串}*),
% \end{bitsyntax}
%
% 盲审模式下用于替换个人信息的替换符号。
% \end{variable}
%
% \section{正文编写}
%
% 请注意,请在\env{document} 之内使用以下命令 。
Expand Down Expand Up @@ -1316,6 +1339,18 @@
%
% 来指定下划线的宽度。一般情况下,我们不建议您这样做。
% \end{function}
%
% \begin{function}{\SecretInfo{}[]}
% \begin{itemize}
% \item 参数一为一般模式下显示的信息。
% \item 参数二(可选)为盲审模式下显示的信息。
% \end{itemize}
%
% 用于在盲审模式下隐藏个人隐私信息。
%
% 如果传入第二个参数,则会用等量的替换符号(一般是|*|)替换内容。
% 否则,将使用第二个参数替换内容。
% \end{function}
%
% \begin{function}{\MakePaperBack}
%
Expand Down Expand Up @@ -2021,6 +2056,33 @@
%
% \subsubsection{辅助函数与常量}
%
% \begin{macro}[added=2023-05-06]{\@@_secret_info:nn,\@@_secret_info:N,\@@_secret_info:n,\@@_secret_info:x}
% 普通模式下显示参数一,盲审模式下显示参数二。
% \begin{macrocode}
\cs_new:Npn \@@_hide:n #1 {
\g_@@_const_substitute_symbol_tl
}

\cs_new:Npn \@@_secret_info:nn #1 #2 {
\bool_if:nTF \g_@@_blind_mode_bool {
#2
} {
#1
}
}

\cs_new:Npn \@@_secret_info:N #1 {
\@@_secret_info:nn {#1} {\tl_map_function:NN #1 \@@_hide:n }
}
\cs_new:Npn \@@_secret_info:n #1 {
\@@_secret_info:nn {#1} {\tl_map_function:NN {#1} \@@_hide:n }
}

\cs_generate_variant:Nn \@@_secret_info:n {x}

% \end{macrocode}
%
% \end{macro}
%
% \begin{macro}[added=2023-03-16]{\@@_get_const:}
% 获取标题、章节、表格、图形等的常量名称。
Expand Down Expand Up @@ -2432,6 +2494,8 @@
underlineThickness .initial:n = {1pt},
underlineOffset .dim_set:N = \l_@@_cover_underline_offset_dim,
underlineOffset .initial:n = { -10pt },
hideCoverInPeerReview .bool_set:N = \l_@@_style_hide_cover_in_peer_review_bool,
hideCoverInPeerReview .initial:n = {false},
}
% \end{macrocode}
%
Expand Down Expand Up @@ -2478,7 +2542,7 @@
degreeEn .tl_set:N = \l_@@_value_degree_en_tl,
degreeEn .initial:n = {Doctor~of~Engineering~(example)},
institute .tl_set:N = \l_@@_value_institute_tl,
institute .initial:n = {\c_@@_label_university_tl},
institute .initial:n = {\tl_use:N \c_@@_label_university_tl},
defenseDate .tl_set:N = \l_@@_value_defense_date_tl,
defenseDate .initial:n = {2019年6月(示例)},
authorEn .tl_set:N = \l_@@_value_author_en_tl,
Expand Down Expand Up @@ -2573,6 +2637,8 @@
autoref / table .initial:n = {\@@_get_const:N {tab}},
autoref / equ .tl_set:N = \g_@@_const_autoref_equ_tl,
autoref / equ .initial:n = {\@@_get_const:N {equ}},
style / substituteSymbol .tl_set:N = \g_@@_const_substitute_symbol_tl,
style / substituteSymbol .initial:n = {*},
}

% \end{macrocode}
Expand Down Expand Up @@ -2672,6 +2738,12 @@
\PassOptionsToClass{scheme=plain}{ctexbook}
}
% \end{macrocode}
% 如果设置 blindPeerReview 选项,则抑制 twoside 选项。
% \begin{macrocode}
\bool_if:NT \g_@@_blind_mode_bool {
\bool_set_false:N \g_@@_twoside_bool
}
% \end{macrocode}
%
% 如果没有开启双面打印选项,则在 ctexbook 中开启单面打印选项。
% 允许 chapter 直接另起一页(即使是偶数(左手)页)。
Expand Down Expand Up @@ -3566,7 +3638,7 @@
{\heiti\zihao{-2} \l_@@_value_title_tl}
\vskip 60mm
% 黑体 小三
{\heiti \zihao{-3} \l_@@_value_author_tl}
{\heiti \zihao{-3} \@@_secret_info:nn{\l_@@_value_author_tl}{\g_@@_const_substitute_symbol_tl~\g_@@_const_substitute_symbol_tl~\g_@@_const_substitute_symbol_tl}}
\vskip 10mm
% 黑体 小三
{\heiti \zihao{-3} \l_@@_cover_date_tl}
Expand All @@ -3592,7 +3664,7 @@
{\l_@@_value_title_tl}{\l_@@_value_vertical_title_tl}
}
\vfill
{\heiti\zihao{3}\l_@@_value_author_tl}
{\heiti\zihao{3}\@@_secret_info:nn{\l_@@_value_author_tl}{\g_@@_const_substitute_symbol_tl\quad\g_@@_const_substitute_symbol_tl\quad\g_@@_const_substitute_symbol_tl}}
\vfill
{\heiti\zihao{3}\c_@@_label_university_tl}
\end{center}
Expand Down Expand Up @@ -3649,10 +3721,10 @@

% 渲染信息。
\clist_set:Nn \l_@@_input_clist {
{\c_@@_graduate_label_author_tl} {\l_@@_value_author_tl},
{\c_@@_graduate_label_author_tl} {\@@_secret_info:nn{\l_@@_value_author_tl}{\g_@@_const_substitute_symbol_tl\g_@@_const_substitute_symbol_tl\g_@@_const_substitute_symbol_tl}},
{\c_@@_graduate_label_school_tl} {\l_@@_value_school_tl},
{\c_@@_graduate_label_supervisor_tl} {\l_@@_value_supervisor_tl},
{\c_@@_graduate_label_chairman_tl} {\l_@@_value_chairman_tl},
{\c_@@_graduate_label_supervisor_tl} {\@@_secret_info:x{\l_@@_value_supervisor_tl}},
{\c_@@_graduate_label_chairman_tl} {\@@_secret_info:x{\l_@@_value_chairman_tl}},
{\c_@@_graduate_label_degree_tl} {\l_@@_value_degree_tl},
{\c_@@_graduate_label_major_tl} {\l_@@_value_major_tl},
{\c_@@_graduate_label_institute_tl} {\l_@@_value_institute_tl},
Expand Down Expand Up @@ -3706,10 +3778,10 @@

% 渲染信息。
\clist_set:Nn \l_@@_input_clist {
{\c_@@_graduate_label_author_en_tl} {\l_@@_value_author_en_tl},
{\c_@@_graduate_label_author_en_tl} {\@@_secret_info:x{\l_@@_value_author_en_tl}},
{\c_@@_graduate_label_school_en_tl} {\l_@@_value_school_en_tl},
{\c_@@_graduate_label_supervisor_en_tl} {\l_@@_value_supervisor_en_tl},
{\c_@@_graduate_label_chairman_en_tl} {\l_@@_value_chairman_en_tl},
{\c_@@_graduate_label_supervisor_en_tl} {\@@_secret_info:x{\l_@@_value_supervisor_en_tl}},
{\c_@@_graduate_label_chairman_en_tl} {\@@_secret_info:x{\l_@@_value_chairman_en_tl}},
{\c_@@_graduate_label_degree_en_tl} {\l_@@_value_degree_en_tl},
{\c_@@_graduate_label_major_en_tl} {\l_@@_value_major_en_tl},
{\c_@@_graduate_label_institute_en_tl} {\l_@@_value_institute_en_tl},
Expand Down Expand Up @@ -3853,12 +3925,26 @@
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\SecretInfo}
% 用于包裹涉及个人信息的内容。
% \begin{macrocode}
\DeclareDocumentCommand \SecretInfo { m o }
{
\IfValueTF {#2} {
\@@_secret_info:nn {#1} {#2}
} {
\@@_secret_info:x {#1}
}
}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\MakeCover}
% 制作封面。
% \begin{macrocode}
\DeclareDocumentCommand \MakeCover {}
{
\begin{blindPeerReview}
\begin{blindPeerReview}[\l_@@_style_hide_cover_in_peer_review_bool]
\group_begin:

\int_case:nn {\g_@@_thesis_type_int}
Expand Down Expand Up @@ -3909,11 +3995,11 @@
\clist_set:Nn \l_@@_input_clist {
{\c_@@_label_school_tl} {\l_@@_value_school_tl},
{\c_@@_label_major_tl} {\l_@@_value_major_tl},
{\c_@@_label_class_tl} {\l_@@_value_class_tl},
{\c_@@_label_author_tl} {\l_@@_value_author_tl},
{\c_@@_label_student_id_tl} {\l_@@_value_student_id_tl},
{\c_@@_label_supervisor_tl} {\l_@@_value_supervisor_tl},
{\c_@@_label_co_supervisor_tl} {\l_@@_value_external_supervisor_tl},
{\c_@@_label_class_tl} {\@@_secret_info:N \l_@@_value_class_tl},
{\c_@@_label_author_tl} {\@@_secret_info:N \l_@@_value_author_tl},
{\c_@@_label_student_id_tl} {\@@_secret_info:N \l_@@_value_student_id_tl},
{\c_@@_label_supervisor_tl} {\@@_secret_info:N \l_@@_value_supervisor_tl},
{\c_@@_label_co_supervisor_tl} {\@@_secret_info:N \l_@@_value_external_supervisor_tl},
}

\zihao{3}
Expand Down Expand Up @@ -4006,11 +4092,11 @@
\clist_set:Nn \l_@@_input_clist {
{\c_@@_label_school_tl} {\l_@@_value_school_tl},
{\c_@@_label_major_tl} {\l_@@_value_major_tl},
{\c_@@_label_class_tl} {\l_@@_value_class_tl},
{\c_@@_label_author_tl} {\l_@@_value_author_tl},
{\c_@@_label_student_id_tl} {\l_@@_value_student_id_tl},
{\c_@@_label_supervisor_tl} {\l_@@_value_supervisor_tl},
{\c_@@_label_co_supervisor_tl} {\l_@@_value_external_supervisor_tl},
{\c_@@_label_class_tl} {\@@_secret_info:N \l_@@_value_class_tl},
{\c_@@_label_author_tl} {\@@_secret_info:N \l_@@_value_author_tl},
{\c_@@_label_student_id_tl} {\@@_secret_info:N \l_@@_value_student_id_tl},
{\c_@@_label_supervisor_tl} {\@@_secret_info:N \l_@@_value_supervisor_tl},
{\c_@@_label_co_supervisor_tl} {\@@_secret_info:N \l_@@_value_external_supervisor_tl},
}

\@@_render_cover_entry:n \l_@@_input_clist
Expand Down Expand Up @@ -4104,7 +4190,7 @@
\NewDocumentCommand \MakeOriginality {}
{
\group_begin:
\begin{blindPeerReview}
\begin{blindPeerReview}[\l_@@_style_hide_cover_in_peer_review_bool]
\int_case:nn {\g_@@_thesis_type_int}
{
{1}
Expand Down Expand Up @@ -4212,7 +4298,7 @@
% \begin{macrocode}
\NewDocumentCommand \MakePaperBack {}
{
\begin{blindPeerReview}
\begin{blindPeerReview}[\l_@@_style_hide_cover_in_peer_review_bool]
\make_paper_back:
\end{blindPeerReview}
}
Expand All @@ -4224,7 +4310,7 @@
% \begin{macrocode}
\NewDocumentCommand \MakeTitle {}
{
\begin{blindPeerReview}
\begin{blindPeerReview}[\l_@@_style_hide_cover_in_peer_review_bool]
\@@_make_chinese_title_page:
\@@_make_english_title_page:
\end{blindPeerReview}
Expand Down Expand Up @@ -6148,7 +6234,7 @@ footskip=0.7cm% 页脚 1.8cm %
% ==================================对于openright 选项,必须保证章页右开,且如果前章末页内容须清空其页眉页脚。===================
\let\BIT@cleardoublepage\cleardoublepage
\newcommand{\BIT@clearemptydoublepage}{%
\clearpage{\pagestyle{BIT@empty}\BIT@cleardoublepage}}
\clearpage{\pagestyle{BIT@empty}\BIT@cleardoublepage}}
\let\cleardoublepage\BIT@clearemptydoublepage

% ================修该frontmatter 的页码为大写罗马格式,并调整页面风格===============
Expand Down Expand Up @@ -6404,7 +6490,7 @@ footskip=0.7cm% 页脚 1.8cm %
\def\tabcolsep{1pt}
\def\arraystretch{1.5}

% 黑体 小三
% 黑体 小三
{\heiti\zihao{-3}
\begin{tabular}{l p{3mm} c}
\BIT@label@author & &\BITunderline[180pt]{\BIT@value@author}
Expand Down
Loading

0 comments on commit 29c2061

Please sign in to comment.