summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/jwjournal/jwjournal.cls
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/jwjournal/jwjournal.cls')
-rw-r--r--macros/latex/contrib/jwjournal/jwjournal.cls133
1 files changed, 104 insertions, 29 deletions
diff --git a/macros/latex/contrib/jwjournal/jwjournal.cls b/macros/latex/contrib/jwjournal/jwjournal.cls
index bf7e6cc8ff..3b968ce12e 100644
--- a/macros/latex/contrib/jwjournal/jwjournal.cls
+++ b/macros/latex/contrib/jwjournal/jwjournal.cls
@@ -12,7 +12,7 @@
\NeedsTeXFormat{LaTeX2e}[2022-06-01]
\ProvidesExplClass
{jwjournal}
- {2023/11/03} {}
+ {2023/12/19} {}
{JW's journal class}
\keys_define:nn { jwjournal }
@@ -263,6 +263,22 @@
\end{JWJournalRight}
}
+\newtcbox \JWJournalCodebox
+ {
+ tcbox~raise~base,
+ nobeforeafter,
+ boxrule=.1pt, boxsep=1.5pt, arc=1pt,
+ left=.5pt, right=.5pt, top=0pt, bottom=0pt,
+ colframe=main-text!60!paper,
+ colback=main-text!3!paper,
+ fontupper=\small\normalfont\ttfamily,
+ }
+\NewDocumentCommand \JWJournalCode { m }
+ {
+ % \textcolor{emph-text}{\texttt{#1}}
+ \JWJournalCodebox{\vphantom{Äpgjy}#1}
+ }
+
\tl_new:N \g_jwjournal_content_tl
\NewDocumentEnvironment { jwjournal } { +b }
{
@@ -295,6 +311,26 @@
\seq_new:N \l_jwjournal_tmp_seq
\tl_new:N \l_jwjournal_tmp_tl
\cs_generate_variant:Nn \regex_split:nnN { nVN }
+\cs_new:Nn \jwjournal_regex_replace_case_once_skip_math:nN
+ {
+ \regex_replace_case_once:nN
+ {
+ { \$ (.*?) \$ } { \0 }
+ { \c{\(} (.*?) \c{\)} } { \0 }
+ { \c{\[} (.*?) \c{\]} } { \0 }
+ #1
+ } #2
+ }
+\cs_new:Nn \jwjournal_regex_replace_case_all_skip_math:nN
+ {
+ \regex_replace_case_all:nN
+ {
+ { \$ (.*?) \$ } { \0 }
+ { \c{\(} (.*?) \c{\)} } { \0 }
+ { \c{\[} (.*?) \c{\]} } { \0 }
+ #1
+ } #2
+ }
\cs_new:Nn \jwjournal_parse_content:N
{
\regex_split:nVN { \c{par} } #1 \l_jwjournal_tmp_seq
@@ -342,6 +378,19 @@
{ \c{section}\* }
\l_jwjournal_tmp_tl
+ \regex_replace_all:nnN
+ { \`\` }
+ { ❝ }
+ \l_jwjournal_tmp_tl
+ \regex_replace_all:nnN
+ { \` (.*?) \` }
+ { \c{JWJournalCode} {\1} }
+ \l_jwjournal_tmp_tl
+ \regex_replace_all:nnN
+ { ❝ }
+ { \`\` }
+ \l_jwjournal_tmp_tl
+
\regex_match:nVT { ❄️ \ *? -> } \l_jwjournal_tmp_tl
{
\regex_match:nVTF { ❄️ \ *? -> \ *? < [\+\-\ ]*(\d+|\d*\.\d+)\ * > } \l_jwjournal_tmp_tl
@@ -401,40 +450,57 @@
{ \c{JWJournalBack} }
\l_jwjournal_tmp_tl
- \regex_replace_all:nnN
- { \|\| }
- { \c{JWJournalShowImageCenter} }
- \l_jwjournal_tmp_tl
- \regex_replace_all:nnN
- { \(\( }
- { \c{JWJournalShowImageLeft} }
- \l_jwjournal_tmp_tl
- \regex_replace_all:nnN
- { \)\) }
- { \c{JWJournalShowImageRight} }
- \l_jwjournal_tmp_tl
+ % \regex_replace_all:nnN
+ % { \|\| }
+ % { \c{JWJournalShowImageCenter} }
+ % \l_jwjournal_tmp_tl
+ % \regex_replace_all:nnN
+ % { \(\( }
+ % { \c{JWJournalShowImageLeft} }
+ % \l_jwjournal_tmp_tl
+ % \regex_replace_all:nnN
+ % { \)\) }
+ % { \c{JWJournalShowImageRight} }
+ % \l_jwjournal_tmp_tl
+ \jwjournal_regex_replace_case_all_skip_math:nN
+ {
+ { \|\| } { \c{JWJournalShowImageCenter} }
+ { \(\( } { \c{JWJournalShowImageLeft} }
+ { \)\) } { \c{JWJournalShowImageRight} }
+ } \l_jwjournal_tmp_tl
+
+ % \regex_replace_once:nnN
+ % { \| }
+ % { \c{hfill} }
+ % \l_jwjournal_tmp_tl
+ \jwjournal_regex_replace_case_once_skip_math:nN
+ {
+ { \| } { \c{hfill} }
+ } \l_jwjournal_tmp_tl
- \regex_replace_once:nnN
- { \| }
- { \c{hfill} }
- \l_jwjournal_tmp_tl
\regex_replace_all:nnN
{ [^\:]// }
{ \c{c_jwjournal_new_line_with_skip_tl} }
\l_jwjournal_tmp_tl
- \regex_replace_all:nnN
- { \*\*\* (.*?) \*\*\* }
- { \c{textbf} { \c{emph} {\1} } }
- \l_jwjournal_tmp_tl
- \regex_replace_all:nnN
- { \*\* (.*?) \*\* }
- { \c{textbf} {\1} }
- \l_jwjournal_tmp_tl
- \regex_replace_all:nnN
- { \* (.*?) \* }
- { \c{emph} {\1} }
- \l_jwjournal_tmp_tl
+ % \regex_replace_all:nnN
+ % { \*\*\* (.*?) \*\*\* }
+ % { \c{textbf} { \c{emph} {\1} } }
+ % \l_jwjournal_tmp_tl
+ % \regex_replace_all:nnN
+ % { \*\* (.*?) \*\* }
+ % { \c{textbf} {\1} }
+ % \l_jwjournal_tmp_tl
+ % \regex_replace_all:nnN
+ % { \* (.*?) \* }
+ % { \c{emph} {\1} }
+ % \l_jwjournal_tmp_tl
+ \jwjournal_regex_replace_case_all_skip_math:nN
+ {
+ { \*\*\* (.*?) \*\*\* } { \c{textbf} { \c{emph} { \1 } } }
+ { \*\* (.*?) \*\* } { \c{textbf} { \1 } }
+ { \* (.*?) \* } { \c{emph} { \1 } }
+ } \l_jwjournal_tmp_tl
\regex_replace_once:nnN
{ >>> \ *? (.*) }
@@ -578,6 +644,15 @@
\pagestyle { empty }
+\def\textasterisk{*}
+\def\textbacktick{`}
+\def\textcolon{:}
+\def\textequalsign{=}
+\def\textleftparen{(}
+\def\textrightparen{)}
+\def\textsharp{\#}
+\def\textvert{|}
+
\endinput
%%
%% End of file `jwjournal.cls'.