Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- documentclass{article}
- usepackage{keyval}
- usepackage{expl3}
- usepackage{xparse}
- makeatletter
- defBUPTthesiscntitlepage#1{setkeys{cntitle}{#1}}
- define@key{cntitle}{title}{longdefBUPT@value@title{#1}}
- makeatother
- makeatletterExplSyntaxOn
- seq_new:N l_@@_title_seq
- NewDocumentCommand settitle {m}
- { seq_set_split:Nnn l_@@_title_seq { \ } {#1} }
- dim_new:N l_@@_title_width_dim
- NewDocumentCommand printtitle {}
- {
- group_begin:
- @@_title_name_format:
- tl_use:N c_@@_title_name_tl
- group_end:
- group_begin:
- @@_title_format:
- @@_get_max_width:NN l_@@_title_width_dim l_@@_title_seq
- dim_add:Nn l_@@_title_width_dim { 10p@ }
- dim_log:N l_@@_title_width_dim
- parbox [t] { l_@@_title_width_dim }
- {
- seq_map_inline:Nn l_@@_title_seq
- { @@_underline:Nn l_@@_title_width_dim {##1} \ }
- }
- group_end:
- }
- cs_new_protected:Npn @@_get_max_width:NN #1#2
- {
- group_begin:
- dim_zero:N #1
- bool_until_do:nn { seq_if_empty_p:N #2 }
- {
- seq_pop:NN #2 l_tmpa_tl
- exp_args:NNV @@_get_width:Nn l_tmpa_dim l_tmpa_tl
- dim_gset:Nn #1 { dim_max:nn { dim_use:N #1 } { l_tmpa_dim } }
- }
- group_end:
- }
- cs_new_protected:Npn @@_get_width:Nn #1#2
- {
- hbox_set:Nn l_tmpa_box {#2}
- dim_set:Nn #1 { box_wd:N l_tmpa_box }
- }
- cs_new_protected:Npn @@_underline:Nn #1#2
- { underline { hbox_to_wd:nn { dim_use:N #1 } { hss #2 hss } } }
- tl_const:Nn c_@@_title_name_tl { Title: }
- cs_new:Npn @@_title_name_format: { Large bfseries }
- cs_new:Npn @@_title_format: { Large bfseries }
- ExplSyntaxOffmakeatother
- BUPTthesiscntitlepage{%
- title = {AAAA \ BBBLaTeX B}}
- begin{document}
- settitle{AAAA \ BBBLaTeX BB}
- printtitle
- makeatletter
- longdefBUPTtitletemp{BUPT@value@title}
- makeatother
- settitle{BUPTtitletemp}
- printtitle
- end{document}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement