texlive[65470] Master: jwjournal (5jan23)

commits+karl at tug.org commits+karl at tug.org
Thu Jan 5 22:20:17 CET 2023


Revision: 65470
          http://tug.org/svn/texlive?view=revision&revision=65470
Author:   karl
Date:     2023-01-05 22:20:17 +0100 (Thu, 05 Jan 2023)
Log Message:
-----------
jwjournal (5jan23)

Modified Paths:
--------------
    trunk/Master/tlpkg/bin/tlpkg-ctan-check
    trunk/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/jwjournal/
    trunk/Master/texmf-dist/doc/latex/jwjournal/DEPENDS.txt
    trunk/Master/texmf-dist/doc/latex/jwjournal/LICENSE
    trunk/Master/texmf-dist/doc/latex/jwjournal/README.md
    trunk/Master/texmf-dist/doc/latex/jwjournal/jwjournal-demo-cn.pdf
    trunk/Master/texmf-dist/doc/latex/jwjournal/jwjournal-demo-cn.tex
    trunk/Master/texmf-dist/doc/latex/jwjournal/jwjournal-demo-en.pdf
    trunk/Master/texmf-dist/doc/latex/jwjournal/jwjournal-demo-en.tex
    trunk/Master/texmf-dist/doc/latex/jwjournal/jwjournal-demo-fr.pdf
    trunk/Master/texmf-dist/doc/latex/jwjournal/jwjournal-demo-fr.tex
    trunk/Master/texmf-dist/tex/latex/jwjournal/
    trunk/Master/texmf-dist/tex/latex/jwjournal/jwjournal.cls
    trunk/Master/tlpkg/tlpsrc/jwjournal.tlpsrc

Added: trunk/Master/texmf-dist/doc/latex/jwjournal/DEPENDS.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/jwjournal/DEPENDS.txt	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/jwjournal/DEPENDS.txt	2023-01-05 21:20:17 UTC (rev 65470)
@@ -0,0 +1 @@
+hard einfart
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/doc/latex/jwjournal/DEPENDS.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/jwjournal/LICENSE
===================================================================
--- trunk/Master/texmf-dist/doc/latex/jwjournal/LICENSE	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/jwjournal/LICENSE	2023-01-05 21:20:17 UTC (rev 65470)
@@ -0,0 +1,416 @@
+The LaTeX Project Public License
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+
+LPPL Version 1.3c  2008-05-04
+
+Copyright 1999 2002-2008 LaTeX3 Project
+    Everyone is allowed to distribute verbatim copies of this
+    license document, but modification of it is not allowed.
+
+
+PREAMBLE
+========
+
+The LaTeX Project Public License (LPPL) is the primary license under
+which the LaTeX kernel and the base LaTeX packages are distributed.
+
+You may use this license for any work of which you hold the copyright
+and which you wish to distribute.  This license may be particularly
+suitable if your work is TeX-related (such as a LaTeX package), but 
+it is written in such a way that you can use it even if your work is 
+unrelated to TeX.
+
+The section `WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE',
+below, gives instructions, examples, and recommendations for authors
+who are considering distributing their works under this license.
+
+This license gives conditions under which a work may be distributed
+and modified, as well as conditions under which modified versions of
+that work may be distributed.
+
+We, the LaTeX3 Project, believe that the conditions below give you
+the freedom to make and distribute modified versions of your work
+that conform with whatever technical specifications you wish while
+maintaining the availability, integrity, and reliability of
+that work.  If you do not see how to achieve your goal while
+meeting these conditions, then read the document `cfgguide.tex'
+and `modguide.tex' in the base LaTeX distribution for suggestions.
+
+
+DEFINITIONS
+===========
+
+In this license document the following terms are used:
+
+   `Work'
+    Any work being distributed under this License.
+    
+   `Derived Work'
+    Any work that under any applicable law is derived from the Work.
+
+   `Modification' 
+    Any procedure that produces a Derived Work under any applicable
+    law -- for example, the production of a file containing an
+    original file associated with the Work or a significant portion of
+    such a file, either verbatim or with modifications and/or
+    translated into another language.
+
+   `Modify'
+    To apply any procedure that produces a Derived Work under any
+    applicable law.
+    
+   `Distribution'
+    Making copies of the Work available from one person to another, in
+    whole or in part.  Distribution includes (but is not limited to)
+    making any electronic components of the Work accessible by
+    file transfer protocols such as FTP or HTTP or by shared file
+    systems such as Sun's Network File System (NFS).
+
+   `Compiled Work'
+    A version of the Work that has been processed into a form where it
+    is directly usable on a computer system.  This processing may
+    include using installation facilities provided by the Work,
+    transformations of the Work, copying of components of the Work, or
+    other activities.  Note that modification of any installation
+    facilities provided by the Work constitutes modification of the Work.
+
+   `Current Maintainer'
+    A person or persons nominated as such within the Work.  If there is
+    no such explicit nomination then it is the `Copyright Holder' under
+    any applicable law.
+
+   `Base Interpreter' 
+    A program or process that is normally needed for running or
+    interpreting a part or the whole of the Work.    
+
+    A Base Interpreter may depend on external components but these
+    are not considered part of the Base Interpreter provided that each
+    external component clearly identifies itself whenever it is used
+    interactively.  Unless explicitly specified when applying the
+    license to the Work, the only applicable Base Interpreter is a
+    `LaTeX-Format' or in the case of files belonging to the 
+    `LaTeX-format' a program implementing the `TeX language'.
+
+
+
+CONDITIONS ON DISTRIBUTION AND MODIFICATION
+===========================================
+
+1.  Activities other than distribution and/or modification of the Work
+are not covered by this license; they are outside its scope.  In
+particular, the act of running the Work is not restricted and no
+requirements are made concerning any offers of support for the Work.
+
+2.  You may distribute a complete, unmodified copy of the Work as you
+received it.  Distribution of only part of the Work is considered
+modification of the Work, and no right to distribute such a Derived
+Work may be assumed under the terms of this clause.
+
+3.  You may distribute a Compiled Work that has been generated from a
+complete, unmodified copy of the Work as distributed under Clause 2
+above, as long as that Compiled Work is distributed in such a way that
+the recipients may install the Compiled Work on their system exactly
+as it would have been installed if they generated a Compiled Work
+directly from the Work.
+
+4.  If you are the Current Maintainer of the Work, you may, without
+restriction, modify the Work, thus creating a Derived Work.  You may
+also distribute the Derived Work without restriction, including
+Compiled Works generated from the Derived Work.  Derived Works
+distributed in this manner by the Current Maintainer are considered to
+be updated versions of the Work.
+
+5.  If you are not the Current Maintainer of the Work, you may modify
+your copy of the Work, thus creating a Derived Work based on the Work,
+and compile this Derived Work, thus creating a Compiled Work based on
+the Derived Work.
+
+6.  If you are not the Current Maintainer of the Work, you may
+distribute a Derived Work provided the following conditions are met
+for every component of the Work unless that component clearly states
+in the copyright notice that it is exempt from that condition.  Only
+the Current Maintainer is allowed to add such statements of exemption 
+to a component of the Work. 
+
+  a. If a component of this Derived Work can be a direct replacement
+     for a component of the Work when that component is used with the
+     Base Interpreter, then, wherever this component of the Work
+     identifies itself to the user when used interactively with that
+     Base Interpreter, the replacement component of this Derived Work
+     clearly and unambiguously identifies itself as a modified version
+     of this component to the user when used interactively with that
+     Base Interpreter.
+     
+  b. Every component of the Derived Work contains prominent notices
+     detailing the nature of the changes to that component, or a
+     prominent reference to another file that is distributed as part
+     of the Derived Work and that contains a complete and accurate log
+     of the changes.
+  
+  c. No information in the Derived Work implies that any persons,
+     including (but not limited to) the authors of the original version
+     of the Work, provide any support, including (but not limited to)
+     the reporting and handling of errors, to recipients of the
+     Derived Work unless those persons have stated explicitly that
+     they do provide such support for the Derived Work.
+
+  d. You distribute at least one of the following with the Derived Work:
+
+       1. A complete, unmodified copy of the Work; 
+          if your distribution of a modified component is made by
+          offering access to copy the modified component from a
+          designated place, then offering equivalent access to copy
+          the Work from the same or some similar place meets this
+          condition, even though third parties are not compelled to
+          copy the Work along with the modified component;
+
+       2. Information that is sufficient to obtain a complete,
+          unmodified copy of the Work.
+
+7.  If you are not the Current Maintainer of the Work, you may
+distribute a Compiled Work generated from a Derived Work, as long as
+the Derived Work is distributed to all recipients of the Compiled
+Work, and as long as the conditions of Clause 6, above, are met with
+regard to the Derived Work.
+
+8.  The conditions above are not intended to prohibit, and hence do not
+apply to, the modification, by any method, of any component so that it
+becomes identical to an updated version of that component of the Work as
+it is distributed by the Current Maintainer under Clause 4, above.
+
+9.  Distribution of the Work or any Derived Work in an alternative
+format, where the Work or that Derived Work (in whole or in part) is
+then produced by applying some process to that format, does not relax or
+nullify any sections of this license as they pertain to the results of
+applying that process.
+     
+10. a. A Derived Work may be distributed under a different license
+       provided that license itself honors the conditions listed in
+       Clause 6 above, in regard to the Work, though it does not have
+       to honor the rest of the conditions in this license.
+      
+    b. If a Derived Work is distributed under a different license, that
+       Derived Work must provide sufficient documentation as part of
+       itself to allow each recipient of that Derived Work to honor the 
+       restrictions in Clause 6 above, concerning changes from the Work.
+
+11. This license places no restrictions on works that are unrelated to
+the Work, nor does this license place any restrictions on aggregating
+such works with the Work by any means.
+
+12.  Nothing in this license is intended to, or may be used to, prevent
+complete compliance by all parties with all applicable laws.
+
+
+NO WARRANTY
+===========
+
+There is no warranty for the Work.  Except when otherwise stated in
+writing, the Copyright Holder provides the Work `as is', without
+warranty of any kind, either expressed or implied, including, but not
+limited to, the implied warranties of merchantability and fitness for a
+particular purpose.  The entire risk as to the quality and performance
+of the Work is with you.  Should the Work prove defective, you assume
+the cost of all necessary servicing, repair, or correction.
+
+In no event unless required by applicable law or agreed to in writing
+will The Copyright Holder, or any author named in the components of the
+Work, or any other party who may distribute and/or modify the Work as
+permitted above, be liable to you for damages, including any general,
+special, incidental or consequential damages arising out of any use of
+the Work or out of inability to use the Work (including, but not limited
+to, loss of data, data being rendered inaccurate, or losses sustained by
+anyone as a result of any failure of the Work to operate with any other
+programs), even if the Copyright Holder or said author or said other
+party has been advised of the possibility of such damages.
+
+
+MAINTENANCE OF THE WORK
+=======================
+
+The Work has the status `author-maintained' if the Copyright Holder
+explicitly and prominently states near the primary copyright notice in
+the Work that the Work can only be maintained by the Copyright Holder
+or simply that it is `author-maintained'.
+
+The Work has the status `maintained' if there is a Current Maintainer
+who has indicated in the Work that they are willing to receive error
+reports for the Work (for example, by supplying a valid e-mail
+address). It is not required for the Current Maintainer to acknowledge
+or act upon these error reports.
+
+The Work changes from status `maintained' to `unmaintained' if there
+is no Current Maintainer, or the person stated to be Current
+Maintainer of the work cannot be reached through the indicated means
+of communication for a period of six months, and there are no other
+significant signs of active maintenance.
+
+You can become the Current Maintainer of the Work by agreement with
+any existing Current Maintainer to take over this role.
+
+If the Work is unmaintained, you can become the Current Maintainer of
+the Work through the following steps:
+
+ 1.  Make a reasonable attempt to trace the Current Maintainer (and
+     the Copyright Holder, if the two differ) through the means of
+     an Internet or similar search.
+
+ 2.  If this search is successful, then enquire whether the Work
+     is still maintained.
+
+  a. If it is being maintained, then ask the Current Maintainer
+     to update their communication data within one month.
+     
+  b. If the search is unsuccessful or no action to resume active
+     maintenance is taken by the Current Maintainer, then announce
+     within the pertinent community your intention to take over
+     maintenance.  (If the Work is a LaTeX work, this could be
+     done, for example, by posting to comp.text.tex.)
+
+ 3a. If the Current Maintainer is reachable and agrees to pass
+     maintenance of the Work to you, then this takes effect
+     immediately upon announcement.
+     
+  b. If the Current Maintainer is not reachable and the Copyright
+     Holder agrees that maintenance of the Work be passed to you,
+     then this takes effect immediately upon announcement.  
+    
+ 4.  If you make an `intention announcement' as described in 2b. above
+     and after three months your intention is challenged neither by
+     the Current Maintainer nor by the Copyright Holder nor by other
+     people, then you may arrange for the Work to be changed so as
+     to name you as the (new) Current Maintainer.
+     
+ 5.  If the previously unreachable Current Maintainer becomes
+     reachable once more within three months of a change completed
+     under the terms of 3b) or 4), then that Current Maintainer must
+     become or remain the Current Maintainer upon request provided
+     they then update their communication data within one month.
+
+A change in the Current Maintainer does not, of itself, alter the fact
+that the Work is distributed under the LPPL license.
+
+If you become the Current Maintainer of the Work, you should
+immediately provide, within the Work, a prominent and unambiguous
+statement of your status as Current Maintainer.  You should also
+announce your new status to the same pertinent community as
+in 2b) above.
+
+
+WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE
+======================================================
+
+This section contains important instructions, examples, and
+recommendations for authors who are considering distributing their
+works under this license.  These authors are addressed as `you' in
+this section.
+
+Choosing This License or Another License
+----------------------------------------
+
+If for any part of your work you want or need to use *distribution*
+conditions that differ significantly from those in this license, then
+do not refer to this license anywhere in your work but, instead,
+distribute your work under a different license.  You may use the text
+of this license as a model for your own license, but your license
+should not refer to the LPPL or otherwise give the impression that
+your work is distributed under the LPPL.
+
+The document `modguide.tex' in the base LaTeX distribution explains
+the motivation behind the conditions of this license.  It explains,
+for example, why distributing LaTeX under the GNU General Public
+License (GPL) was considered inappropriate.  Even if your work is
+unrelated to LaTeX, the discussion in `modguide.tex' may still be
+relevant, and authors intending to distribute their works under any
+license are encouraged to read it.
+
+A Recommendation on Modification Without Distribution
+-----------------------------------------------------
+
+It is wise never to modify a component of the Work, even for your own
+personal use, without also meeting the above conditions for
+distributing the modified component.  While you might intend that such
+modifications will never be distributed, often this will happen by
+accident -- you may forget that you have modified that component; or
+it may not occur to you when allowing others to access the modified
+version that you are thus distributing it and violating the conditions
+of this license in ways that could have legal implications and, worse,
+cause problems for the community.  It is therefore usually in your
+best interest to keep your copy of the Work identical with the public
+one.  Many works provide ways to control the behavior of that work
+without altering any of its licensed components.
+
+How to Use This License
+-----------------------
+
+To use this license, place in each of the components of your work both
+an explicit copyright notice including your name and the year the work
+was authored and/or last substantially modified.  Include also a
+statement that the distribution and/or modification of that
+component is constrained by the conditions in this license.
+
+Here is an example of such a notice and statement:
+
+  %% pig.dtx
+  %% Copyright 2005 M. Y. Name
+  %
+  % This work may be distributed and/or modified under the
+  % conditions of the LaTeX Project Public License, either version 1.3
+  % of this license or (at your option) any later version.
+  % The latest version of this license is in
+  %   http://www.latex-project.org/lppl.txt
+  % and version 1.3 or later is part of all distributions of LaTeX
+  % version 2005/12/01 or later.
+  %
+  % This work has the LPPL maintenance status `maintained'.
+  % 
+  % The Current Maintainer of this work is M. Y. Name.
+  %
+  % This work consists of the files pig.dtx and pig.ins
+  % and the derived file pig.sty.
+
+Given such a notice and statement in a file, the conditions
+given in this license document would apply, with the `Work' referring
+to the three files `pig.dtx', `pig.ins', and `pig.sty' (the last being
+generated from `pig.dtx' using `pig.ins'), the `Base Interpreter'
+referring to any `LaTeX-Format', and both `Copyright Holder' and
+`Current Maintainer' referring to the person `M. Y. Name'.
+
+If you do not want the Maintenance section of LPPL to apply to your
+Work, change `maintained' above into `author-maintained'.  
+However, we recommend that you use `maintained', as the Maintenance
+section was added in order to ensure that your Work remains useful to
+the community even when you can no longer maintain and support it
+yourself.
+
+Derived Works That Are Not Replacements
+---------------------------------------
+
+Several clauses of the LPPL specify means to provide reliability and
+stability for the user community. They therefore concern themselves
+with the case that a Derived Work is intended to be used as a
+(compatible or incompatible) replacement of the original Work. If
+this is not the case (e.g., if a few lines of code are reused for a
+completely different task), then clauses 6b and 6d shall not apply.
+
+
+Important Recommendations
+-------------------------
+
+ Defining What Constitutes the Work
+
+   The LPPL requires that distributions of the Work contain all the
+   files of the Work.  It is therefore important that you provide a
+   way for the licensee to determine which files constitute the Work.
+   This could, for example, be achieved by explicitly listing all the
+   files of the Work near the copyright notice of each file or by
+   using a line such as:
+
+    % This work consists of all files listed in manifest.txt.
+   
+   in that place.  In the absence of an unequivocal list it might be
+   impossible for the licensee to determine what is considered by you
+   to comprise the Work and, in such a case, the licensee would be
+   entitled to make reasonable conjectures as to which files comprise
+   the Work.
+

Added: trunk/Master/texmf-dist/doc/latex/jwjournal/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/jwjournal/README.md	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/jwjournal/README.md	2023-01-05 21:20:17 UTC (rev 65470)
@@ -0,0 +1,113 @@
+<!-- Copyright (C) 2023 by Jinwen XU -->
+
+# `jwjournal`, a personal LaTeX class for writing journals
+
+## Introduction
+
+A typical journal entry produced by `jwjournal` looks like this:
+![image](https://github.com/Jinwen-XU/jwjournal/raw/main/screenshots/demo1.png)
+
+Codewise, it is as simple as below:
+```
+2023-01-01 Sunny --- Botanical Garden
+
+  Today I visited the botanical garden!
+
+  [Food] And had ice-cream for lunch!
+```
+
+Every day of the week has its unique color, like this:
+![image](https://github.com/Jinwen-XU/jwjournal/raw/main/screenshots/demo2.png)
+
+By the way, the conversion from plain date string like `2023-01-01` to natural language like `January 1, 2023 | Sunday` is done automatically by `jwjournal` and has multilingual support. Thus, for example (with `\UseLanguage{...}`):
+- Chinese: ![image](https://github.com/Jinwen-XU/jwjournal/raw/main/screenshots/demo3-cn.png)
+- French: ![image](https://github.com/Jinwen-XU/jwjournal/raw/main/screenshots/demo3-fr.png)
+- German: ![image](https://github.com/Jinwen-XU/jwjournal/raw/main/screenshots/demo3-de.png)
+- Japanese: ![image](https://github.com/Jinwen-XU/jwjournal/raw/main/screenshots/demo3-jp.png)
+- Spanish: ![image](https://github.com/Jinwen-XU/jwjournal/raw/main/screenshots/demo3-es.png)
+- ... and more...
+
+## Usage
+
+The structure of the document is very simple:
+```latex
+\documentclass[11pt, paperstyle=light yellow, color entry]{jwjournal}
+\begin{document}
+
+% Your journal
+
+\end{document}
+```
+The options are:
+- `paperstyle = ...` adjusts the paper color, options include: lightyellow、yellow、parchment、green、lightgray、gray、nord、dark...
+- `color entry` adds more color to the title of each entry
+- `scroll` turns on the scroll mode and can generate a single-page pdf similar to a long screenshot
+
+And there are only three syntaxes for the main text:
+1) Title
+    - Any line begins with date like `2023-01-01` would be regard as the Title line.
+    - You may write the weather and/or location after the date.
+    - Example:
+      ```
+      2023-01-01 Sunny --- Apartment
+      ```
+2) Note
+    - Any line begins with something like `[Note]` would be regard as the Note line.
+    - Example:
+      ```
+      [Note] In hindsight, it was the right decision.
+      ```
+3) `+++`
+    - In some rare case, if a single sentence or a few words fall to the next page, you may write a `+++` to enlarge the current page by one line.
+
+> You may also refer to the demo documents to see their behaviors in action.
+
+Indentations are not important, but paragraphs need to be separated by a blank line. For the sake of readability, it is recommended to organize your text as follows:
+```
+2023-01-01 Sunny
+
+  ......
+  ......
+
+
+
+2023-01-02 Cloudy
+
+  ......
+  ......
+
+
+
+2023-01-03 Rainy
+
+  ......
+  ......
+```
+
+## TeXnical details
+
+### Engines and base classes
+- With pdfLaTeX, the base class is `minimart`.
+- With XeLaTeX or LuaLaTeX, the base class is `einfart`.
+
+### Colors
+The colors from Monday to Sunday have the internal names `jwjournal-color-1`, ..., `jwjournal-color-7`. Currently they are defined as:
+```latex
+\colorlet { jwjournal-color-1 } { yellow!50!green  }
+\colorlet { jwjournal-color-2 } { yellow!70!orange }
+\colorlet { jwjournal-color-3 } { cyan!70!blue     }
+\colorlet { jwjournal-color-4 } { violet           }
+\colorlet { jwjournal-color-5 } { yellow!40!cyan   }
+\colorlet { jwjournal-color-6 } { yellow!20!orange }
+\colorlet { jwjournal-color-7 } { red!20!orange    }
+```
+
+### Functionality
+The main features are achieved with the power of LaTeX3's regex functionality. It scans the content paragraph by paragraph and converts recognized patterns into corresponding TeX commands. Thus, `2023-01-01 Weather` becomes `\JWJournalEntry{2023-01-01}{Weather}`, `[Note] ...` becomes `\item[Note] ...` inside a `description` environment, and `+++` is essentially `\enlargethispage*{\baselineskip}`. However, this comes with a price: in order to scan the content, it is firstly stored in a macro `\g_jwjournal_content_tl`, and that means that you cannot use commands like `\verb` in your main text.
+
+### Scroll mode
+The scroll mode is achieved by directly accessing `\pdfpageheight` (pdfTeX and XeTeX) or `\pageheight` (LuaTeX). The minimal page height is set to be `10in`. It is worth noting that in order to calculate the height needed, the entire content are put into a single box, which puts a limitation on the length of your document (but this usually wouldn't be a problem).
+
+# License
+
+This work is released under the LaTeX Project Public License, v1.3c or later.


Property changes on: trunk/Master/texmf-dist/doc/latex/jwjournal/README.md
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/jwjournal/jwjournal-demo-cn.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/jwjournal/jwjournal-demo-cn.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/jwjournal/jwjournal-demo-cn.pdf	2023-01-05 21:19:14 UTC (rev 65469)
+++ trunk/Master/texmf-dist/doc/latex/jwjournal/jwjournal-demo-cn.pdf	2023-01-05 21:20:17 UTC (rev 65470)

Property changes on: trunk/Master/texmf-dist/doc/latex/jwjournal/jwjournal-demo-cn.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/jwjournal/jwjournal-demo-cn.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/jwjournal/jwjournal-demo-cn.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/jwjournal/jwjournal-demo-cn.tex	2023-01-05 21:20:17 UTC (rev 65470)
@@ -0,0 +1,71 @@
+\documentclass[11pt, paperstyle=light yellow, color entry]{jwjournal}
+% paperstyle = ... 用于调节纸张颜色,可选项包括:lightyellow、yellow、parchment、green、lightgray、gray、nord、dark
+% color entry 可以为每个条目的标题增添更多色彩
+% scroll 可以开启卷轴模式,生成类似于长截图的单页 pdf
+
+\UseLanguage { Chinese }
+
+\begin{document}
+
+
+2023-01-01 晴 —— 公寓
+
+  在文中出现的日期和标注不会被识别: 2022-02-02、[标注],放心使用
+
+  [体育] 一些关于体育赛事的事情
+
+  [学习] 一些关于学习的事情
+
+
+
+2023-01-02
+不明(天气也可以写在第二行,看你的喜好)
+
+  标签的颜色会根据日期改变:
+
+  [学习] 今天没有学习,但我写了很多很多很多很多很多很多很多很多很多很多很多很多很多很多很多很多代码。
+
+
+
+2023-01-03
+
+  [注] 如果只写了日期,那么后面就不会有第二个分隔符。
+
+
++++
+2023-01-04  多云
+
+  三个加号 \texttt{+++} 可以将当前页面显示的文字多出一行左右,有时候单独的一句话或者几个字落到了下一页,这时可以用它来改善一下显示的效果。
+
+
+
+2023-01-05  多云
+
+  ...
+
+
+
+2023-01-06  多云
+
+  ...
+
+
+
+2023-01-07  多云
+
+  ...
+
+
+
+2023-01-08  多云
+
+  一周之后,又会回到之前的颜色
+
+
+
+2023-01-09  多云
+
+  ...
+
+
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/jwjournal/jwjournal-demo-cn.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/jwjournal/jwjournal-demo-en.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/jwjournal/jwjournal-demo-en.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/jwjournal/jwjournal-demo-en.pdf	2023-01-05 21:19:14 UTC (rev 65469)
+++ trunk/Master/texmf-dist/doc/latex/jwjournal/jwjournal-demo-en.pdf	2023-01-05 21:20:17 UTC (rev 65470)

Property changes on: trunk/Master/texmf-dist/doc/latex/jwjournal/jwjournal-demo-en.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/jwjournal/jwjournal-demo-en.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/jwjournal/jwjournal-demo-en.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/jwjournal/jwjournal-demo-en.tex	2023-01-05 21:20:17 UTC (rev 65470)
@@ -0,0 +1,69 @@
+\documentclass[11pt, paperstyle=light yellow, color entry]{jwjournal}
+% "paperstyle = ..." adjusts the paper color, options include: lightyellow、yellow、parchment、green、lightgray、gray、nord、dark
+% "color entry" adds more color to the title of each entry
+% "scroll" turns on the scroll mode and can generate a single-page pdf similar to a long screenshot
+
+\begin{document}
+
+
+2023-01-01 Sunny --- Apartment
+
+  Dates and annotations appearing in the text will not be recognized: 2022-02-02, [Annotation], so feel free to write them
+
+  [Sports] something about sporting events
+
+  [Learning] something about learning
+
+
+
+2023-01-02
+Unknown (the weather can also be written on the second line, depending on your preference)
+
+  The color of the labels will change according to the date.
+
+  [Note] I didn't study today, but I wrote many many many many many many many many many many many many code.
+
+
+
+2023-01-03
+
+  [Note] If only the date is written, then there would be no second separator after it.
+
+
++++
+2023-01-04  Cloudy
+
+  Three plus signs \texttt{+++} can enlarge the current page by about one line. Sometimes a single sentence or a few words fall to the next page --- in such cases, you may use it to improve the display effect.
+
+
+
+2023-01-05  Cloudy
+
+  ...
+
+
+
+2023-01-06  Cloudy
+
+  ...
+
+
+
+2023-01-07  Cloudy
+
+  ...
+
+
+
+2023-01-08  Cloudy
+
+  A week later, the color goes back to the earlier one.
+
+
+
+2023-01-09  Cloudy
+
+  ...
+
+
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/jwjournal/jwjournal-demo-en.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/jwjournal/jwjournal-demo-fr.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/jwjournal/jwjournal-demo-fr.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/jwjournal/jwjournal-demo-fr.pdf	2023-01-05 21:19:14 UTC (rev 65469)
+++ trunk/Master/texmf-dist/doc/latex/jwjournal/jwjournal-demo-fr.pdf	2023-01-05 21:20:17 UTC (rev 65470)

Property changes on: trunk/Master/texmf-dist/doc/latex/jwjournal/jwjournal-demo-fr.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/jwjournal/jwjournal-demo-fr.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/jwjournal/jwjournal-demo-fr.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/jwjournal/jwjournal-demo-fr.tex	2023-01-05 21:20:17 UTC (rev 65470)
@@ -0,0 +1,71 @@
+\documentclass[11pt, paperstyle=light yellow, color entry]{jwjournal}
+% "paperstyle = ..." ajuste la couleur du papier, les options incluent : lightyellow、yellow、parchment、green、lightgray、gray、nord、dark
+% "color entry" ajoute plus de couleur au titre de chaque entrée
+% "scroll" active le mode de défilement et peut générer un pdf d'une seule page similaire à une longue capture d'écran
+
+\UseLanguage { French }
+
+\begin{document}
+
+
+2023-01-01 Ensoleillé --- Appartement
+
+  Les dates et annotations apparaissant dans le texte ne seront pas reconnues : 2022-02-02, [Annotation], alors n'hésitez pas à les écrire.
+
+  [Sports] quelque chose sur les événements sportifs
+
+  [Apprendre] quelque chose sur l'apprentissage
+
+
+
+2023-01-02
+Inconnu (la météo peut aussi être écrite sur la deuxième ligne, selon votre préférence)
+
+  La couleur des étiquettes changera en fonction de la date.
+
+  [Note] Je n'ai pas étudié aujourd'hui, mais j'ai écrit beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup de code.
+
+
+
+2023-01-03
+
+  [Note] Si seule la date est écrite, il n'y aura pas de deuxième séparateur après celle-ci.
+
+
++++
+2023-01-04  Nuageux
+
+  Trois signes plus \texttt{+++} peuvent agrandir la page courante d'environ une ligne. Parfois, une seule phrase ou quelques mots tombent sur la page suivante --- dans de tels cas, vous pouvez l'utiliser pour améliorer l'effet d'affichage.
+
+
+
+2023-01-05  Nuageux
+
+  ...
+
+
+
+2023-01-06  Nuageux
+
+  ...
+
+
+
+2023-01-07  Nuageux
+
+  ...
+
+
+
+2023-01-08  Nuageux
+
+  Une semaine plus tard, la couleur revient à la précédente...
+
+
+
+2023-01-09  Nuageux
+
+  ...
+
+
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/jwjournal/jwjournal-demo-fr.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/jwjournal/jwjournal.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/jwjournal/jwjournal.cls	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/jwjournal/jwjournal.cls	2023-01-05 21:20:17 UTC (rev 65470)
@@ -0,0 +1,214 @@
+%%
+%% Copyright (C) 2023 by Jinwen XU
+%% -------------------------------
+%%
+%% This file may be distributed and/or modified under the conditions of
+%% the LaTeX Project Public License, either version 1.3c of this license
+%% or (at your option) any later version.  The latest version of this
+%% license is in:
+%%
+%%    http://www.latex-project.org/lppl.txt
+%%
+\NeedsTeXFormat{LaTeX2e}[2022-06-01]
+\ProvidesExplClass
+  {jwjournal}
+  {2023/01/05} {}
+  {JW's journal class}
+
+\keys_define:nn { jwjournal }
+  {
+    , scroll      .bool_set:N   = \l__jwjournal_scroll_bool
+    , scroll      .initial:n    = { false }
+    , color entry .bool_set:N   = \l__jwjournal_color_entry_bool
+    , color entry .initial:n    = { false }
+    , color~entry .bool_set:N   = \l__jwjournal_color_entry_bool
+    , color-entry .bool_set:N   = \l__jwjournal_color_entry_bool
+    , unknown     .code:n       = {
+                                    \PassOptionsToClass { \CurrentOption } { minimart }
+                                    \PassOptionsToClass { \CurrentOption } { einfart }
+                                    \PassOptionsToPackage { \CurrentOption } { ProjLib }
+                                  }
+  }
+\ProcessKeyOptions [ jwjournal ]
+
+\sys_if_engine_pdftex:TF
+  {
+    \PassOptionsToClass { use indent = false } { minimart }
+    \LoadClass { minimart }
+  }
+  {
+    \PassOptionsToClass { use indent = false } { einfart }
+    \LoadClass { einfart }
+  }
+
+\RequirePackage { ProjLib }
+
+\PassOptionsToPackage { many } { tcolorbox }
+\RequirePackage { tcolorbox }
+\RequirePackage { needspace }
+
+\colorlet { jwjournal-color-1 } { yellow!50!green  }
+\colorlet { jwjournal-color-2 } { yellow!70!orange }
+\colorlet { jwjournal-color-3 } { cyan!70!blue     }
+\colorlet { jwjournal-color-4 } { violet           }
+\colorlet { jwjournal-color-5 } { yellow!40!cyan   }
+\colorlet { jwjournal-color-6 } { yellow!20!orange }
+\colorlet { jwjournal-color-7 } { red!20!orange    }
+
+\NewDocumentCommand \JWJournalEntry { m m }
+  {
+    \skip_vertical:n { .5 \baselineskip }
+    \needspace { 2 \baselineskip }
+    \projlib_datetime_calculate_week_according_to_format:n { #1 }
+    \colorlet { jwjournal-entry } { jwjournal-color- \int_use:N \l__projlib_datetime_day_of_week_result_int }
+    \bool_if:NTF \l__jwjournal_color_entry_bool
+      {
+        \colorlet { jwjournal-entry-background } { jwjournal-entry!10!paper }
+      }
+      {
+        \colorlet { jwjournal-entry-background } { paper }
+      }
+    \begin{tcolorbox}[enhanced~jigsaw, breakable, enlarge~left~by=-3.5mm, width=\textwidth+3.5mm, colback=jwjournal-entry-background, boxrule=0pt, top=2pt, bottom=2pt, left=2.5mm, borderline~west={1.5mm}{0mm}{jwjournal-entry!90!main-text}, frame~hidden]
+        \sffamily \bfseries
+        \bool_if:NT \l__jwjournal_color_entry_bool
+          {
+            \color {jwjournal-entry!30!main-text}
+          }
+        \ProjLibDate {#1}
+        \enspace
+        \tikz [x=.75ex,y=.75ex,line~width=.2ex,line~join=round,baseline=-.3ex] \draw [jwjournal-entry!60!main-text] (0,.5) -- (.5,1) -- (1,.5) -- (.5,0) -- (0,.5) -- cycle;
+        \enspace
+        \projlib_datetime_display_week:n { #1 }
+        \tl_if_blank:eF { #2 }
+          {
+            \enspace
+            \tikz [x=.75ex,y=.75ex,line~width=.2ex,line~join=round,baseline=-.3ex] \draw [jwjournal-entry!60!main-text] (0,.5) -- (.5,1) -- (1,.5) -- (.5,0) -- (0,.5) -- cycle;
+            \enspace
+            #2
+          }
+    \end{tcolorbox}
+    \nopagebreak
+  }
+
+\RequirePackage { enumitem }
+\setlist [ description ] { font = \normalfont\sffamily, leftmargin = 3em}
+\RenewDocumentCommand \descriptionlabel { m }
+  {
+    \skip_horizontal:n { \labelsep }
+    \makebox[\maxof{\width}{2.5em}]{
+      \tcbox[enhanced~jigsaw, breakable, oversize,
+      on~line, arc = .12em, outer~arc = .1em,
+      colframe = jwjournal-entry, colupper=main-text, opacityback = 0,
+      boxsep = .1em, boxrule = .125em,
+      left = .1em, right = .1em, top = .05em, bottom = .05em] { #1 }
+    }
+  }
+\NewDocumentCommand \JWJournalItem { m }
+  {
+    \begin{description}
+      \item #1
+    \end{description}
+  }
+
+\tl_new:N \g_jwjournal_content_tl
+\NewDocumentEnvironment { jwjournal } { +b }
+  {
+    \tl_gset:Nn \g_jwjournal_content_tl { #1 }
+    \jwjournal_parse_content:N \g_jwjournal_content_tl
+    \tl_use:N \g_jwjournal_content_tl
+  }
+  {}
+
+\seq_new:N \l_jwjournal_tmp_seq
+\cs_generate_variant:Nn \regex_split:nnN { nVN }
+\cs_new:Nn \jwjournal_parse_content:N
+  {
+    \regex_split:nVN { \c{par} } #1 \l_jwjournal_tmp_seq
+    \tl_set:Nn \g_jwjournal_content_tl {}
+    \seq_map_inline:Nn \l_jwjournal_tmp_seq
+      {
+        \tl_set:Nn \l_tmpa_tl { ❄️ ##1 }
+        \regex_match:nVTF { ❄️ +++ (.*) } \l_tmpa_tl
+          {
+            \bool_set_true:N \l_tmpa_bool
+            \regex_replace_all:nnN
+              { ❄️ +++ (.*) }
+              { ❄️ \1 }
+              \l_tmpa_tl
+          }
+          {
+            \bool_set_false:N \l_tmpa_bool
+          }
+        \regex_replace_all:nnN
+          { ❄️ (\ *)? (\d{4}-\d{1,2}-\d{1,2}) (\ *)? (.*) }
+          { \c{JWJournalEntry} {\2} {\4} }
+          \l_tmpa_tl
+        \regex_replace_all:nnN
+          { ❄️ (\[.*\] .*) }
+          { \c{JWJournalItem} {\1} }
+          \l_tmpa_tl
+        \regex_replace_all:nnN { ❄️ } { } \l_tmpa_tl
+        \bool_if:NT \l_tmpa_bool
+          {
+            \tl_gput_right:Nn \g_jwjournal_content_tl { \g_jwjournal_enlarge_page_by_one_line_tl }
+          }
+        \tl_gput_right:NV \g_jwjournal_content_tl \l_tmpa_tl
+        \tl_gput_right:Nn \g_jwjournal_content_tl { \par }
+      }
+  }
+
+\bool_if:NTF \l__jwjournal_scroll_bool
+  {
+    \tl_const:Nn \g_jwjournal_enlarge_page_by_one_line_tl {}
+    \geometry{
+      papersize={7in,\maxdimen},
+      top=.75in,bottom=.75in,
+      left=.75in,right=.66in,
+      marginparsep=.75em,
+      marginparwidth=.75in,
+      footnotesep=2em plus 2pt minus 2pt,
+    }
+    \hook_gput_code:nnn { begindocument } { jwjournal }
+      {
+        \setbox0=\vbox
+        \bgroup
+        \begin { jwjournal }
+      }
+    \providecommand{\pdfpageheight}{\pageheight}
+    \hook_gput_code:nnn { enddocument } { jwjournal }
+      {
+        \end { jwjournal }
+        \egroup
+        \dimen0=\dp0
+        \pdfpageheight=\dimexpr\ht0+1.5in\relax
+        \ifdim\pdfpageheight<10in
+            \pdfpageheight=10in
+        \fi
+        \unvbox0\kern-\dimen0
+      }
+  }
+  {
+    \tl_const:Nn \g_jwjournal_enlarge_page_by_one_line_tl { \enlargethispage*{\baselineskip} }
+    \geometry{
+      papersize={7in,10in},
+      top=.75in,bottom=.75in,
+      left=.75in,right=.66in,
+      marginparsep=.75em,
+      marginparwidth=.75in,
+      footnotesep=2em plus 2pt minus 2pt,
+    }
+    \hook_gput_code:nnn { begindocument } { jwjournal }
+      {
+        \begin { jwjournal }
+      }
+    \hook_gput_code:nnn { enddocument } { jwjournal }
+      {
+        \end { jwjournal }
+      }
+  }
+
+\pagestyle { empty }
+
+\endinput
+%%
+%% End of file `jwjournal.cls'.


Property changes on: trunk/Master/texmf-dist/tex/latex/jwjournal/jwjournal.cls
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/tlpkg/bin/tlpkg-ctan-check
===================================================================
--- trunk/Master/tlpkg/bin/tlpkg-ctan-check	2023-01-05 21:19:14 UTC (rev 65469)
+++ trunk/Master/tlpkg/bin/tlpkg-ctan-check	2023-01-05 21:20:17 UTC (rev 65470)
@@ -435,7 +435,7 @@
     jmb jmlr jmsdelim jneurosci jnuexam jobname-suffix josefin jourcl
     jpneduenumerate jpnedumathsymbols jpsj jsclasses
     jslectureplanner jumplines junicode jupynotex
-    jura juraabbrev jurabib juramisc jurarsp js-misc jvlisting
+    jura juraabbrev jurabib juramisc jurarsp js-misc jvlisting jwjournal
   kalendarium kanaparser kanbun kantlipsum karnaugh karnaugh-map karnaughmap
     kastrup kaytannollista-latexia
     kblocks kdgdocs kdpcover kerkis kerntest ketcindy

Modified: trunk/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc	2023-01-05 21:19:14 UTC (rev 65469)
+++ trunk/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc	2023-01-05 21:20:17 UTC (rev 65470)
@@ -114,6 +114,7 @@
 depend jnuexam
 depend jourcl
 depend jpsj
+depend jwjournal
 depend kdgdocs
 depend kdpcover
 depend kfupm-math-exam

Added: trunk/Master/tlpkg/tlpsrc/jwjournal.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/jwjournal.tlpsrc	                        (rev 0)
+++ trunk/Master/tlpkg/tlpsrc/jwjournal.tlpsrc	2023-01-05 21:20:17 UTC (rev 65470)
@@ -0,0 +1 @@
+hard einfart



More information about the tex-live-commits mailing list.