Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package gap-hapcryst for openSUSE:Factory checked in at 2026-08-19 17:58:27 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gap-hapcryst (Old) and /work/SRC/openSUSE:Factory/.gap-hapcryst.new.1258 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gap-hapcryst" Wed Aug 19 17:58:27 2026 rev:3 rq:1371986 version:0.2.1 Changes: -------- --- /work/SRC/openSUSE:Factory/gap-hapcryst/gap-hapcryst.changes 2026-06-16 14:01:56.054475261 +0200 +++ /work/SRC/openSUSE:Factory/.gap-hapcryst.new.1258/gap-hapcryst.changes 2026-08-19 18:00:28.517637048 +0200 @@ -1,0 +2,8 @@ +Wed Aug 19 13:08:04 UTC 2026 - Jan Engelhardt <[email protected]> + +- Update to release 0.2.1 + * Cease defining `IsSquareMat` ourselves if GAP already + provides it + * Compatibility with future `polymaking` changes + +------------------------------------------------------------------- Old: ---- hapcryst-0.2.0.tar.gz New: ---- hapcryst-0.2.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gap-hapcryst.spec ++++++ --- /var/tmp/diff_new_pack.7a9Qxp/_old 2026-08-19 18:00:29.345666524 +0200 +++ /var/tmp/diff_new_pack.7a9Qxp/_new 2026-08-19 18:00:29.347666595 +0200 @@ -17,7 +17,7 @@ Name: gap-hapcryst -Version: 0.2.0 +Version: 0.2.1 Release: 0 Summary: GAP: A HAP extension for crytallographic groups License: GPL-2.0-or-later @@ -35,7 +35,7 @@ Requires: gap-polycyclic >= 2.8.1 Requires: gap-polymaking >= 0.8.6 Requires: polymake -Suggests: gap-carat >= 1.1 +Suggests: gap-caratinterface >= 2.3.1 Suggests: gap-crystcat >= 1.1.2 Suggests: gap-gapdoc >= 0.99 ++++++ _scmsync.obsinfo ++++++ --- /var/tmp/diff_new_pack.7a9Qxp/_old 2026-08-19 18:00:29.377667663 +0200 +++ /var/tmp/diff_new_pack.7a9Qxp/_new 2026-08-19 18:00:29.379667734 +0200 @@ -1,5 +1,5 @@ -mtime: 1781544680 -commit: e0a092b202e10db5d7caa0dc264cf52e482d9d29f72fcf9f7684396520ea49ba +mtime: 1787144906 +commit: 0ba2457b5408748652023e93a111cae074b97d2dd83e8adb8839280351074f73 url: https://src.opensuse.org/jengelh/gap-hapcryst revision: master ++++++ build.specials.obscpio ++++++ ++++++ build.specials.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.gitignore new/.gitignore --- old/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/.gitignore 2026-08-19 15:08:26.000000000 +0200 @@ -0,0 +1,4 @@ +*.obscpio +*.osc +_build.* +.pbuild ++++++ hapcryst-0.2.0.tar.gz -> hapcryst-0.2.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hapcryst-0.2.0/CHANGES.md new/hapcryst-0.2.1/CHANGES.md --- old/hapcryst-0.2.0/CHANGES.md 2026-03-24 16:13:22.000000000 +0100 +++ new/hapcryst-0.2.1/CHANGES.md 2026-08-18 02:00:00.000000000 +0200 @@ -1,6 +1,12 @@ This file describes changes in the AutoDoc package. +## 0.2.1 (2026-08-18) + +- Don't define `IsSquareMat` if GAP provides it (it does since 4.16.0) +- Compatibility with future `polymaking` changes (don't use `POLYMAKE_DATA_DIR`) +- Various janitorial changes + ## 0.2.0 (2026-03-24) - Require GAP >= 4.12 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hapcryst-0.2.0/PackageInfo.g new/hapcryst-0.2.1/PackageInfo.g --- old/hapcryst-0.2.0/PackageInfo.g 2026-03-24 16:13:22.000000000 +0100 +++ new/hapcryst-0.2.1/PackageInfo.g 2026-08-18 02:00:00.000000000 +0200 @@ -2,8 +2,8 @@ PackageName := "HAPcryst", Subtitle := "A HAP extension for crystallographic groups", -Version := "0.2.0", -Date := "24/03/2026", # dd/mm/yyyy format +Version := "0.2.1", +Date := "18/08/2026", # dd/mm/yyyy format License := "GPL-2.0-or-later", Persons := [ @@ -62,11 +62,11 @@ ["polymaking",">=0.8.6"], ], SuggestedOtherPackages := [ - [ "Carat", ">=1.1" ], + ["CaratInterface",">=2.3.1"], ["CrystCat",">=1.1.2"], ["GAPDoc", ">= 0.99"] ], - ExternalConditions := ["polymake (https://polymake.org) must be installed to calculate resolutions"] + ExternalConditions := [["polymake must be installed to calculate resolutions", "https://polymake.org"]], ), AvailabilityTest := ReturnTrue, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hapcryst-0.2.0/doc/HAPcryst.tex new/hapcryst-0.2.1/doc/HAPcryst.tex --- old/hapcryst-0.2.0/doc/HAPcryst.tex 2026-03-24 16:13:22.000000000 +0100 +++ new/hapcryst-0.2.1/doc/HAPcryst.tex 2026-08-18 02:00:00.000000000 +0200 @@ -90,27 +90,26 @@ \begin{titlepage} \mbox{}\vfill -\begin{center}{\maintitlesize \textbf{ HAPcryst \mbox{}}}\\ +\begin{center}{\maintitlesize \textbf{ HAPcryst \\ +\mbox{}}}\\ \vfill -\hypersetup{pdftitle= HAPcryst } +\hypersetup{pdftitle={ HAPcryst }} \markright{\scriptsize \mbox{}\hfill HAPcryst \hfill\mbox{}} -{\Huge \textbf{ A HAP extension for crystallographic groups \mbox{}}}\\ +{\Huge \textbf{ A HAP extension for crystallographic groups \\ +\mbox{}}}\\ \vfill -{\Huge Version 0.2.0 \mbox{}}\\[1cm] -{ 24 March 2026 \mbox{}}\\[1cm] +{\Huge Version 0.2.1 \mbox{}}\\[1cm] +{ 18 August 2026 \mbox{}}\\[1cm] \mbox{}\\[2cm] -{\Large \textbf{ Marc Roeder\\ - \mbox{}}}\\ -\hypersetup{pdfauthor= Marc Roeder\\ - } +{\Large \textbf{\strut Marc Roeder \strut\mbox{}}}\\ +\hypersetup{pdfauthor={ Marc Roeder }} \end{center}\vfill \mbox{}\\ {\mbox{}\\ -\small \noindent \textbf{ Marc Roeder\\ - } Email: \href{mailto://[email protected]} {\texttt{[email protected]}}}\\ +\small \noindent \textbf{ Marc Roeder } Email: \href{mailto://[email protected]} {\texttt{[email protected]}}}\\ \end{titlepage} \newpage\setcounter{page}{2} @@ -225,7 +224,7 @@ \hyperdef{L}{X7D9044767BEB1523}{} { \textsf{HAPcryst} itself does only have one global variable, namely \texttt{InfoHAPcryst} (\ref{InfoHAPcryst}). The location of files generated for interaction with polymake are determined -by the value of \texttt{POLYMAKE{\textunderscore}DATA{\textunderscore}DIR} (\textbf{polymaking: POLYMAKE{\textunderscore}DATA{\textunderscore}DIR}) which is a global variable of \textsf{polymaking}. +by the \textsf{polymaking}. \subsection{\textcolor{Chapter }{InfoHAPcryst}} \logpage{[ 1, 3, 1 ]}\nobreak @@ -323,7 +322,7 @@ true !gapprompt@gap>| !gapinput@DimensionSquareMat(m);| 3 - !gapprompt@gap>| !gapinput@DimensionSquareMat([[1,2],[1,2,3]]);| + !gapprompt@gap>| !gapinput@DimensionSquareMat([[1,2,3],[4,5,6]]);| fail \end{Verbatim} Affine mappings of $n$ dimensional space are often written as a pair $(A,v)$ where $A$ is a linear mapping and $v$ is a vector. \textsf{GAP} represents affine mappings by $n+1$ times $n+1$ matrices $M$ which satisfy $M_{{n+1,n+1}}=1$ and $M_{{i,n+1}}=0$ for all $1\leq i \leq n$. @@ -556,11 +555,11 @@ Note that the restriction to points from $[0,1)^n$ makes sense if orbits should be compared and the vector passed to \texttt{OrbitStabilizerInUnitCubeOnRight} should be an element of the returned orbit (part). \begin{Verbatim}[commandchars=!@|,fontsize=\small,frame=single,label=Example] !gapprompt@gap>| !gapinput@S:=SpaceGroup(3,5);;| - !gapprompt@gap>| !gapinput@OrbitStabilizerInUnitCubeOnRight(S,[1/2,0,9/11]); | + !gapprompt@gap>| !gapinput@OrbitStabilizerInUnitCubeOnRight(S,[1/2,0,9/11]);| rec( orbit := [ [ 0, 1/2, 2/11 ], [ 1/2, 0, 9/11 ] ], stabilizer := Group([ [ [ 1, 0, 0, 0 ], [ 0, 1, 0, 0 ], [ 0, 0, 1, 0 ], [ 0, 0, 0, 1 ] ] ]) ) - !gapprompt@gap>| !gapinput@OrbitStabilizerInUnitCubeOnRight(S,[0,0,0]); | + !gapprompt@gap>| !gapinput@OrbitStabilizerInUnitCubeOnRight(S,[0,0,0]);| rec( orbit := [ [ 0, 0, 0 ] ], stabilizer := <matrix group with 2 generators> ) \end{Verbatim} If you are interested in other parts of the orbit, you can use \texttt{VectorModOne} (\ref{VectorModOne}) for the base point and the functions \texttt{ShiftedOrbitPart} (\ref{ShiftedOrbitPart}), \texttt{TranslationsToOneCubeAroundCenter} (\ref{TranslationsToOneCubeAroundCenter}) and \texttt{TranslationsToBox} (\ref{TranslationsToBox}) for the resulting orbit\\ @@ -601,11 +600,10 @@ \begin{Verbatim}[commandchars=!@|,fontsize=\small,frame=single,label=Example] !gapprompt@gap>| !gapinput@S:=SpaceGroup(3,5);;| !gapprompt@gap>| !gapinput@OrbitStabilizerInUnitCubeOnRightOnSets(S,[[0,0,0],[0,1/2,0]]);| - rec( orbit := [ [ [ -1/2, 0, 0 ], [ 0, 0, 0 ] ], - [ [ 0, 0, 0 ], [ 0, 1/2, 0 ] ], - [ [ 1/2, 0, 0 ], [ 1, 0, 0 ] ] ], - stabilizer := Group([ [ [ 1, 0, 0, 0 ], [ 0, 1, 0, 0 ], - [ 0, 0, 1, 0 ], [ 0, 0, 0, 1 ] ] ]) ) + rec( + orbit := [ [ [ -1/2, 0, 0 ], [ 0, 0, 0 ] ], [ [ 0, 0, 0 ], [ 0, 1/2, 0 ] ], + [ [ 1/2, 0, 0 ], [ 1, 0, 0 ] ] ], stabilizer := <matrix group of size + 1 with 3 generators> ) \end{Verbatim} @@ -729,7 +727,7 @@ !gapprompt@gap>| !gapinput@S:=SpaceGroup(3,5);;| !gapprompt@gap>| !gapinput@RepresentativeActionOnRightOnSets(G, [[0,0,0],[0,1/2,0]],| !gapprompt@>| !gapinput@ [ [ 0, 1/2, 0 ], [ 0, 1, 0 ] ]);| - [ [ 0, -1, 0, 0 ], [ -1, 0, 0, 0 ], [ 0, 0, -1, 0 ], [ 0, 1, 0, 1 ] ] + [ [ -1, 0, 0, 0 ], [ 0, -1, 0, 0 ], [ 0, 0, -1, 0 ], [ 0, 1, 0, 1 ] ] \end{Verbatim} \subsection{\textcolor{Chapter }{Getting other orbit parts}}\logpage{[ 3, 1, 8 ]} @@ -757,7 +755,7 @@ \begin{Verbatim}[commandchars=!@|,fontsize=\small,frame=single,label=Example] !gapprompt@gap>| !gapinput@ShiftedOrbitPart([0,0,0],[[1/2,1/2,1/3],-[1/2,1/2,1/2],[19,3,1]]);| - [ [ 1/2, 1/2, 1/3 ], [ 1/2, 1/2, 1/2 ], [ 0, 0, 0 ] ] + [ [ 0, 0, 0 ], [ 1/2, 1/2, 1/3 ], [ 1/2, 1/2, 1/2 ] ] !gapprompt@gap>| !gapinput@ShiftedOrbitPart([1,1,1],[[1/2,1/2,1/2],-[1/2,1/2,1/2]]);| [ [ 3/2, 3/2, 3/2 ] ] \end{Verbatim} @@ -1068,8 +1066,8 @@ #I 3(2/12): 0:00:00.000 #I Face lattice done ( 0:00:00.004). Calculating boundary #I done ( 0:00:00.004) Reformating... - !gapprompt@gap>| !gapinput@RecNames(fl);| - [ "hasse", "elts", "groupring" ] + !gapprompt@gap>| !gapinput@Set(RecNames(fl));| + [ "elts", "groupring", "hasse" ] !gapprompt@gap>| [email protected];| <free left module over Integers, and ring-with-one, with 10 generators> \end{Verbatim} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hapcryst-0.2.0/doc/_entities.xml new/hapcryst-0.2.1/doc/_entities.xml --- old/hapcryst-0.2.0/doc/_entities.xml 2026-03-24 16:13:22.000000000 +0100 +++ new/hapcryst-0.2.1/doc/_entities.xml 2026-08-18 02:00:00.000000000 +0200 @@ -1 +1,4 @@ <!ENTITY HAPcryst '<Package>HAPcryst</Package>'> +<!ENTITY RELEASEDATE '18 August 2026'> +<!ENTITY RELEASEYEAR '2026'> +<!ENTITY VERSION '0.2.1'> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hapcryst-0.2.0/doc/chap0.html new/hapcryst-0.2.1/doc/chap0.html --- old/hapcryst-0.2.0/doc/chap0.html 2026-03-24 16:13:22.000000000 +0100 +++ new/hapcryst-0.2.1/doc/chap0.html 2026-08-18 02:00:00.000000000 +0200 @@ -29,17 +29,16 @@ <h2>A HAP extension for crystallographic groups</h2> <p> - Version 0.2.0</p> + Version 0.2.1</p> <p> - 24 March 2026 + 18 August 2026 </p> </div> <p><b> Marc Roeder - </b> <br />Email: <span class="URL"><a href="mailto:[email protected]">[email protected]</a></span> </p> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hapcryst-0.2.0/doc/chap0.txt new/hapcryst-0.2.1/doc/chap0.txt --- old/hapcryst-0.2.0/doc/chap0.txt 2026-03-24 16:13:22.000000000 +0100 +++ new/hapcryst-0.2.1/doc/chap0.txt 2026-08-18 02:00:00.000000000 +0200 @@ -6,10 +6,10 @@ [1X A HAP extension for crystallographic groups [101X - Version 0.2.0 + Version 0.2.1 - 24 March 2026 + 18 August 2026 Marc Roeder diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hapcryst-0.2.0/doc/chap0_mj.html new/hapcryst-0.2.1/doc/chap0_mj.html --- old/hapcryst-0.2.0/doc/chap0_mj.html 2026-03-24 16:13:22.000000000 +0100 +++ new/hapcryst-0.2.1/doc/chap0_mj.html 2026-08-18 02:00:00.000000000 +0200 @@ -32,17 +32,16 @@ <h2>A HAP extension for crystallographic groups</h2> <p> - Version 0.2.0</p> + Version 0.2.1</p> <p> - 24 March 2026 + 18 August 2026 </p> </div> <p><b> Marc Roeder - </b> <br />Email: <span class="URL"><a href="mailto:[email protected]">[email protected]</a></span> </p> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hapcryst-0.2.0/doc/chap1.html new/hapcryst-0.2.1/doc/chap1.html --- old/hapcryst-0.2.0/doc/chap1.html 2026-03-24 16:13:22.000000000 +0100 +++ new/hapcryst-0.2.1/doc/chap1.html 2026-08-18 02:00:00.000000000 +0200 @@ -126,7 +126,7 @@ <h4>1.3 <span class="Heading">Global Variables</span></h4> -<p><strong class="pkg">HAPcryst</strong> itself does only have one global variable, namely <code class="func">InfoHAPcryst</code> (<a href="chap1.html#X78B0A21E7FD0F3BB"><span class="RefLink">1.3-1</span></a>). The location of files generated for interaction with polymake are determined by the value of <code class="func">POLYMAKE_DATA_DIR</code> (<a href="../../../pkg/polymaking/doc/chap3.html#X7C07B16B873BA46D"><span class="RefLink">polymaking: POLYMAKE_DATA_DIR</span></a>) which is a global variable of <strong class="pkg">polymaking</strong>.</p> +<p><strong class="pkg">HAPcryst</strong> itself does only have one global variable, namely <code class="func">InfoHAPcryst</code> (<a href="chap1.html#X78B0A21E7FD0F3BB"><span class="RefLink">1.3-1</span></a>). The location of files generated for interaction with polymake are determined by the <strong class="pkg">polymaking</strong>.</p> <p><a id="X78B0A21E7FD0F3BB" name="X78B0A21E7FD0F3BB"></a></p> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hapcryst-0.2.0/doc/chap1.txt new/hapcryst-0.2.1/doc/chap1.txt --- old/hapcryst-0.2.0/doc/chap1.txt 2026-03-24 16:13:22.000000000 +0100 +++ new/hapcryst-0.2.1/doc/chap1.txt 2026-08-18 02:00:00.000000000 +0200 @@ -95,8 +95,7 @@ [33X[0;0Y[5XHAPcryst[105X itself does only have one global variable, namely [2XInfoHAPcryst[102X ([14X1.3-1[114X). The location of files generated for interaction with polymake are - determined by the value of [2XPOLYMAKE_DATA_DIR[102X ([14Xpolymaking: POLYMAKE_DATA_DIR[114X) - which is a global variable of [5Xpolymaking[105X.[133X + determined by the [5Xpolymaking[105X.[133X [1X1.3-1 InfoHAPcryst[101X diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hapcryst-0.2.0/doc/chap1_mj.html new/hapcryst-0.2.1/doc/chap1_mj.html --- old/hapcryst-0.2.0/doc/chap1_mj.html 2026-03-24 16:13:22.000000000 +0100 +++ new/hapcryst-0.2.1/doc/chap1_mj.html 2026-08-18 02:00:00.000000000 +0200 @@ -129,7 +129,7 @@ <h4>1.3 <span class="Heading">Global Variables</span></h4> -<p><strong class="pkg">HAPcryst</strong> itself does only have one global variable, namely <code class="func">InfoHAPcryst</code> (<a href="chap1_mj.html#X78B0A21E7FD0F3BB"><span class="RefLink">1.3-1</span></a>). The location of files generated for interaction with polymake are determined by the value of <code class="func">POLYMAKE_DATA_DIR</code> (<a href="../../../pkg/polymaking/doc/chap3_mj.html#X7C07B16B873BA46D"><span class="RefLink">polymaking: POLYMAKE_DATA_DIR</span></a>) which is a global variable of <strong class="pkg">polymaking</strong>.</p> +<p><strong class="pkg">HAPcryst</strong> itself does only have one global variable, namely <code class="func">InfoHAPcryst</code> (<a href="chap1_mj.html#X78B0A21E7FD0F3BB"><span class="RefLink">1.3-1</span></a>). The location of files generated for interaction with polymake are determined by the <strong class="pkg">polymaking</strong>.</p> <p><a id="X78B0A21E7FD0F3BB" name="X78B0A21E7FD0F3BB"></a></p> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hapcryst-0.2.0/doc/chap2.html new/hapcryst-0.2.1/doc/chap2.html --- old/hapcryst-0.2.0/doc/chap2.html 2026-03-24 16:13:22.000000000 +0100 +++ new/hapcryst-0.2.1/doc/chap2.html 2026-08-18 02:00:00.000000000 +0200 @@ -110,7 +110,7 @@ true <span class="GAPprompt">gap></span> <span class="GAPinput">DimensionSquareMat(m);</span> 3 -<span class="GAPprompt">gap></span> <span class="GAPinput">DimensionSquareMat([[1,2],[1,2,3]]);</span> +<span class="GAPprompt">gap></span> <span class="GAPinput">DimensionSquareMat([[1,2,3],[4,5,6]]);</span> fail </pre></div> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hapcryst-0.2.0/doc/chap2.txt new/hapcryst-0.2.1/doc/chap2.txt --- old/hapcryst-0.2.0/doc/chap2.txt 2026-03-24 16:13:22.000000000 +0100 +++ new/hapcryst-0.2.1/doc/chap2.txt 2026-08-18 02:00:00.000000000 +0200 @@ -48,7 +48,7 @@ [4X[28Xtrue[128X[104X [4X[25Xgap>[125X [27XDimensionSquareMat(m);[127X[104X [4X[28X3[128X[104X - [4X[25Xgap>[125X [27XDimensionSquareMat([[1,2],[1,2,3]]);[127X[104X + [4X[25Xgap>[125X [27XDimensionSquareMat([[1,2,3],[4,5,6]]);[127X[104X [4X[28Xfail[128X[104X [4X[32X[104X diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hapcryst-0.2.0/doc/chap2_mj.html new/hapcryst-0.2.1/doc/chap2_mj.html --- old/hapcryst-0.2.0/doc/chap2_mj.html 2026-03-24 16:13:22.000000000 +0100 +++ new/hapcryst-0.2.1/doc/chap2_mj.html 2026-08-18 02:00:00.000000000 +0200 @@ -113,7 +113,7 @@ true <span class="GAPprompt">gap></span> <span class="GAPinput">DimensionSquareMat(m);</span> 3 -<span class="GAPprompt">gap></span> <span class="GAPinput">DimensionSquareMat([[1,2],[1,2,3]]);</span> +<span class="GAPprompt">gap></span> <span class="GAPinput">DimensionSquareMat([[1,2,3],[4,5,6]]);</span> fail </pre></div> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hapcryst-0.2.0/doc/chap3.html new/hapcryst-0.2.1/doc/chap3.html --- old/hapcryst-0.2.0/doc/chap3.html 2026-03-24 16:13:22.000000000 +0100 +++ new/hapcryst-0.2.1/doc/chap3.html 2026-08-18 02:00:00.000000000 +0200 @@ -71,11 +71,11 @@ <div class="example"><pre> <span class="GAPprompt">gap></span> <span class="GAPinput">S:=SpaceGroup(3,5);;</span> -<span class="GAPprompt">gap></span> <span class="GAPinput">OrbitStabilizerInUnitCubeOnRight(S,[1/2,0,9/11]); </span> +<span class="GAPprompt">gap></span> <span class="GAPinput">OrbitStabilizerInUnitCubeOnRight(S,[1/2,0,9/11]);</span> rec( orbit := [ [ 0, 1/2, 2/11 ], [ 1/2, 0, 9/11 ] ], stabilizer := Group([ [ [ 1, 0, 0, 0 ], [ 0, 1, 0, 0 ], [ 0, 0, 1, 0 ], [ 0, 0, 0, 1 ] ] ]) ) -<span class="GAPprompt">gap></span> <span class="GAPinput">OrbitStabilizerInUnitCubeOnRight(S,[0,0,0]); </span> +<span class="GAPprompt">gap></span> <span class="GAPinput">OrbitStabilizerInUnitCubeOnRight(S,[0,0,0]);</span> rec( orbit := [ [ 0, 0, 0 ] ], stabilizer := <matrix group with 2 generators> ) </pre></div> @@ -117,11 +117,10 @@ <div class="example"><pre> <span class="GAPprompt">gap></span> <span class="GAPinput">S:=SpaceGroup(3,5);;</span> <span class="GAPprompt">gap></span> <span class="GAPinput">OrbitStabilizerInUnitCubeOnRightOnSets(S,[[0,0,0],[0,1/2,0]]);</span> -rec( orbit := [ [ [ -1/2, 0, 0 ], [ 0, 0, 0 ] ], - [ [ 0, 0, 0 ], [ 0, 1/2, 0 ] ], - [ [ 1/2, 0, 0 ], [ 1, 0, 0 ] ] ], - stabilizer := Group([ [ [ 1, 0, 0, 0 ], [ 0, 1, 0, 0 ], - [ 0, 0, 1, 0 ], [ 0, 0, 0, 1 ] ] ]) ) +rec( + orbit := [ [ [ -1/2, 0, 0 ], [ 0, 0, 0 ] ], [ [ 0, 0, 0 ], [ 0, 1/2, 0 ] ], + [ [ 1/2, 0, 0 ], [ 1, 0, 0 ] ] ], stabilizer := <matrix group of size + 1 with 3 generators> ) </pre></div> <p><a id="X82CCCD597C86A08A" name="X82CCCD597C86A08A"></a></p> @@ -212,7 +211,7 @@ <span class="GAPprompt">gap></span> <span class="GAPinput">S:=SpaceGroup(3,5);;</span> <span class="GAPprompt">gap></span> <span class="GAPinput">RepresentativeActionOnRightOnSets(G, [[0,0,0],[0,1/2,0]],</span> <span class="GAPprompt">></span> <span class="GAPinput"> [ [ 0, 1/2, 0 ], [ 0, 1, 0 ] ]);</span> -[ [ 0, -1, 0, 0 ], [ -1, 0, 0, 0 ], [ 0, 0, -1, 0 ], [ 0, 1, 0, 1 ] ] +[ [ -1, 0, 0, 0 ], [ 0, -1, 0, 0 ], [ 0, 0, -1, 0 ], [ 0, 1, 0, 1 ] ] </pre></div> <p><a id="X8002407080DB3EA2" name="X8002407080DB3EA2"></a></p> @@ -233,7 +232,7 @@ <div class="example"><pre> <span class="GAPprompt">gap></span> <span class="GAPinput">ShiftedOrbitPart([0,0,0],[[1/2,1/2,1/3],-[1/2,1/2,1/2],[19,3,1]]);</span> -[ [ 1/2, 1/2, 1/3 ], [ 1/2, 1/2, 1/2 ], [ 0, 0, 0 ] ] +[ [ 0, 0, 0 ], [ 1/2, 1/2, 1/3 ], [ 1/2, 1/2, 1/2 ] ] <span class="GAPprompt">gap></span> <span class="GAPinput">ShiftedOrbitPart([1,1,1],[[1/2,1/2,1/2],-[1/2,1/2,1/2]]);</span> [ [ 3/2, 3/2, 3/2 ] ] </pre></div> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hapcryst-0.2.0/doc/chap3.txt new/hapcryst-0.2.1/doc/chap3.txt --- old/hapcryst-0.2.0/doc/chap3.txt 2026-03-24 16:13:22.000000000 +0100 +++ new/hapcryst-0.2.1/doc/chap3.txt 2026-08-18 02:00:00.000000000 +0200 @@ -29,11 +29,11 @@ [4X[32X Example [32X[104X [4X[25Xgap>[125X [27XS:=SpaceGroup(3,5);;[127X[104X - [4X[25Xgap>[125X [27XOrbitStabilizerInUnitCubeOnRight(S,[1/2,0,9/11]); [127X[104X + [4X[25Xgap>[125X [27XOrbitStabilizerInUnitCubeOnRight(S,[1/2,0,9/11]);[127X[104X [4X[28Xrec( orbit := [ [ 0, 1/2, 2/11 ], [ 1/2, 0, 9/11 ] ], [128X[104X [4X[28X stabilizer := Group([ [ [ 1, 0, 0, 0 ], [ 0, 1, 0, 0 ], [ 0, 0, 1, 0 ], [128X[104X [4X[28X [ 0, 0, 0, 1 ] ] ]) )[128X[104X - [4X[25Xgap>[125X [27XOrbitStabilizerInUnitCubeOnRight(S,[0,0,0]); [127X[104X + [4X[25Xgap>[125X [27XOrbitStabilizerInUnitCubeOnRight(S,[0,0,0]);[127X[104X [4X[28Xrec( orbit := [ [ 0, 0, 0 ] ], stabilizer := <matrix group with 2 generators> )[128X[104X [4X[32X[104X @@ -76,11 +76,10 @@ [4X[32X Example [32X[104X [4X[25Xgap>[125X [27XS:=SpaceGroup(3,5);;[127X[104X [4X[25Xgap>[125X [27XOrbitStabilizerInUnitCubeOnRightOnSets(S,[[0,0,0],[0,1/2,0]]);[127X[104X - [4X[28Xrec( orbit := [ [ [ -1/2, 0, 0 ], [ 0, 0, 0 ] ], [128X[104X - [4X[28X [ [ 0, 0, 0 ], [ 0, 1/2, 0 ] ],[128X[104X - [4X[28X [ [ 1/2, 0, 0 ], [ 1, 0, 0 ] ] ],[128X[104X - [4X[28X stabilizer := Group([ [ [ 1, 0, 0, 0 ], [ 0, 1, 0, 0 ], [128X[104X - [4X[28X [ 0, 0, 1, 0 ], [ 0, 0, 0, 1 ] ] ]) )[128X[104X + [4X[28Xrec( [128X[104X + [4X[28X orbit := [ [ [ -1/2, 0, 0 ], [ 0, 0, 0 ] ], [ [ 0, 0, 0 ], [ 0, 1/2, 0 ] ], [128X[104X + [4X[28X [ [ 1/2, 0, 0 ], [ 1, 0, 0 ] ] ], stabilizer := <matrix group of size [128X[104X + [4X[28X 1 with 3 generators> )[128X[104X [4X[32X[104X [1X3.1-3 OrbitPartInVertexSetsStandardSpaceGroup[101X @@ -171,7 +170,7 @@ [4X[25Xgap>[125X [27XS:=SpaceGroup(3,5);;[127X[104X [4X[25Xgap>[125X [27XRepresentativeActionOnRightOnSets(G, [[0,0,0],[0,1/2,0]],[127X[104X [4X[25X>[125X [27X [ [ 0, 1/2, 0 ], [ 0, 1, 0 ] ]);[127X[104X - [4X[28X[ [ 0, -1, 0, 0 ], [ -1, 0, 0, 0 ], [ 0, 0, -1, 0 ], [ 0, 1, 0, 1 ] ][128X[104X + [4X[28X[ [ -1, 0, 0, 0 ], [ 0, -1, 0, 0 ], [ 0, 0, -1, 0 ], [ 0, 1, 0, 1 ] ][128X[104X [4X[32X[104X @@ -190,7 +189,7 @@ [4X[32X Example [32X[104X [4X[25Xgap>[125X [27XShiftedOrbitPart([0,0,0],[[1/2,1/2,1/3],-[1/2,1/2,1/2],[19,3,1]]);[127X[104X - [4X[28X[ [ 1/2, 1/2, 1/3 ], [ 1/2, 1/2, 1/2 ], [ 0, 0, 0 ] ][128X[104X + [4X[28X[ [ 0, 0, 0 ], [ 1/2, 1/2, 1/3 ], [ 1/2, 1/2, 1/2 ] ][128X[104X [4X[25Xgap>[125X [27XShiftedOrbitPart([1,1,1],[[1/2,1/2,1/2],-[1/2,1/2,1/2]]);[127X[104X [4X[28X[ [ 3/2, 3/2, 3/2 ] ][128X[104X [4X[32X[104X diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hapcryst-0.2.0/doc/chap3_mj.html new/hapcryst-0.2.1/doc/chap3_mj.html --- old/hapcryst-0.2.0/doc/chap3_mj.html 2026-03-24 16:13:22.000000000 +0100 +++ new/hapcryst-0.2.1/doc/chap3_mj.html 2026-08-18 02:00:00.000000000 +0200 @@ -74,11 +74,11 @@ <div class="example"><pre> <span class="GAPprompt">gap></span> <span class="GAPinput">S:=SpaceGroup(3,5);;</span> -<span class="GAPprompt">gap></span> <span class="GAPinput">OrbitStabilizerInUnitCubeOnRight(S,[1/2,0,9/11]); </span> +<span class="GAPprompt">gap></span> <span class="GAPinput">OrbitStabilizerInUnitCubeOnRight(S,[1/2,0,9/11]);</span> rec( orbit := [ [ 0, 1/2, 2/11 ], [ 1/2, 0, 9/11 ] ], stabilizer := Group([ [ [ 1, 0, 0, 0 ], [ 0, 1, 0, 0 ], [ 0, 0, 1, 0 ], [ 0, 0, 0, 1 ] ] ]) ) -<span class="GAPprompt">gap></span> <span class="GAPinput">OrbitStabilizerInUnitCubeOnRight(S,[0,0,0]); </span> +<span class="GAPprompt">gap></span> <span class="GAPinput">OrbitStabilizerInUnitCubeOnRight(S,[0,0,0]);</span> rec( orbit := [ [ 0, 0, 0 ] ], stabilizer := <matrix group with 2 generators> ) </pre></div> @@ -120,11 +120,10 @@ <div class="example"><pre> <span class="GAPprompt">gap></span> <span class="GAPinput">S:=SpaceGroup(3,5);;</span> <span class="GAPprompt">gap></span> <span class="GAPinput">OrbitStabilizerInUnitCubeOnRightOnSets(S,[[0,0,0],[0,1/2,0]]);</span> -rec( orbit := [ [ [ -1/2, 0, 0 ], [ 0, 0, 0 ] ], - [ [ 0, 0, 0 ], [ 0, 1/2, 0 ] ], - [ [ 1/2, 0, 0 ], [ 1, 0, 0 ] ] ], - stabilizer := Group([ [ [ 1, 0, 0, 0 ], [ 0, 1, 0, 0 ], - [ 0, 0, 1, 0 ], [ 0, 0, 0, 1 ] ] ]) ) +rec( + orbit := [ [ [ -1/2, 0, 0 ], [ 0, 0, 0 ] ], [ [ 0, 0, 0 ], [ 0, 1/2, 0 ] ], + [ [ 1/2, 0, 0 ], [ 1, 0, 0 ] ] ], stabilizer := <matrix group of size + 1 with 3 generators> ) </pre></div> <p><a id="X82CCCD597C86A08A" name="X82CCCD597C86A08A"></a></p> @@ -215,7 +214,7 @@ <span class="GAPprompt">gap></span> <span class="GAPinput">S:=SpaceGroup(3,5);;</span> <span class="GAPprompt">gap></span> <span class="GAPinput">RepresentativeActionOnRightOnSets(G, [[0,0,0],[0,1/2,0]],</span> <span class="GAPprompt">></span> <span class="GAPinput"> [ [ 0, 1/2, 0 ], [ 0, 1, 0 ] ]);</span> -[ [ 0, -1, 0, 0 ], [ -1, 0, 0, 0 ], [ 0, 0, -1, 0 ], [ 0, 1, 0, 1 ] ] +[ [ -1, 0, 0, 0 ], [ 0, -1, 0, 0 ], [ 0, 0, -1, 0 ], [ 0, 1, 0, 1 ] ] </pre></div> <p><a id="X8002407080DB3EA2" name="X8002407080DB3EA2"></a></p> @@ -236,7 +235,7 @@ <div class="example"><pre> <span class="GAPprompt">gap></span> <span class="GAPinput">ShiftedOrbitPart([0,0,0],[[1/2,1/2,1/3],-[1/2,1/2,1/2],[19,3,1]]);</span> -[ [ 1/2, 1/2, 1/3 ], [ 1/2, 1/2, 1/2 ], [ 0, 0, 0 ] ] +[ [ 0, 0, 0 ], [ 1/2, 1/2, 1/3 ], [ 1/2, 1/2, 1/2 ] ] <span class="GAPprompt">gap></span> <span class="GAPinput">ShiftedOrbitPart([1,1,1],[[1/2,1/2,1/2],-[1/2,1/2,1/2]]);</span> [ [ 3/2, 3/2, 3/2 ] ] </pre></div> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hapcryst-0.2.0/doc/chap4.html new/hapcryst-0.2.1/doc/chap4.html --- old/hapcryst-0.2.0/doc/chap4.html 2026-03-24 16:13:22.000000000 +0100 +++ new/hapcryst-0.2.1/doc/chap4.html 2026-08-18 02:00:00.000000000 +0200 @@ -235,8 +235,8 @@ #I 3(2/12): 0:00:00.000 #I Face lattice done ( 0:00:00.004). Calculating boundary #I done ( 0:00:00.004) Reformating... -<span class="GAPprompt">gap></span> <span class="GAPinput">RecNames(fl);</span> -[ "hasse", "elts", "groupring" ] +<span class="GAPprompt">gap></span> <span class="GAPinput">Set(RecNames(fl));</span> +[ "elts", "groupring", "hasse" ] <span class="GAPprompt">gap></span> <span class="GAPinput">fl.groupring;</span> <free left module over Integers, and ring-with-one, with 10 generators> </pre></div> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hapcryst-0.2.0/doc/chap4.txt new/hapcryst-0.2.1/doc/chap4.txt --- old/hapcryst-0.2.0/doc/chap4.txt 2026-03-24 16:13:22.000000000 +0100 +++ new/hapcryst-0.2.1/doc/chap4.txt 2026-08-18 02:00:00.000000000 +0200 @@ -248,8 +248,8 @@ [4X[28X#I 3(2/12): 0:00:00.000[128X[104X [4X[28X#I Face lattice done ( 0:00:00.004). Calculating boundary[128X[104X [4X[28X#I done ( 0:00:00.004) Reformating...[128X[104X - [4X[25Xgap>[125X [27XRecNames(fl);[127X[104X - [4X[28X[ "hasse", "elts", "groupring" ][128X[104X + [4X[25Xgap>[125X [27XSet(RecNames(fl));[127X[104X + [4X[28X[ "elts", "groupring", "hasse" ][128X[104X [4X[25Xgap>[125X [27Xfl.groupring;[127X[104X [4X[28X<free left module over Integers, and ring-with-one, with 10 generators>[128X[104X [4X[32X[104X diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hapcryst-0.2.0/doc/chap4_mj.html new/hapcryst-0.2.1/doc/chap4_mj.html --- old/hapcryst-0.2.0/doc/chap4_mj.html 2026-03-24 16:13:22.000000000 +0100 +++ new/hapcryst-0.2.1/doc/chap4_mj.html 2026-08-18 02:00:00.000000000 +0200 @@ -238,8 +238,8 @@ #I 3(2/12): 0:00:00.000 #I Face lattice done ( 0:00:00.004). Calculating boundary #I done ( 0:00:00.004) Reformating... -<span class="GAPprompt">gap></span> <span class="GAPinput">RecNames(fl);</span> -[ "hasse", "elts", "groupring" ] +<span class="GAPprompt">gap></span> <span class="GAPinput">Set(RecNames(fl));</span> +[ "elts", "groupring", "hasse" ] <span class="GAPprompt">gap></span> <span class="GAPinput">fl.groupring;</span> <free left module over Integers, and ring-with-one, with 10 generators> </pre></div> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hapcryst-0.2.0/doc/chooser.html new/hapcryst-0.2.1/doc/chooser.html --- old/hapcryst-0.2.0/doc/chooser.html 2026-03-24 16:13:22.000000000 +0100 +++ new/hapcryst-0.2.1/doc/chooser.html 2026-08-18 02:00:00.000000000 +0200 @@ -23,9 +23,18 @@ return ""; } +<!-- load dark appearance either explicitly or via the OS preference --> +function writeAppearanceStyle(mode) { + if (mode == "dark") { + document.writeln('<link rel="stylesheet" type="text/css" href="dark.css" />'); + } else if (mode != "light") { + document.writeln('<style type="text/css">@import "dark.css" (prefers-color-scheme: dark);</style>'); + } +} + <!-- find style from current values in form --> function getstyle() { - var choices = ["toggle","colorprompt","tocside","font","justify"]; + var choices = ["toggle","colorprompt","tocside","font","justify","appearance"]; var style = ""; for (var i=0; choices.length > i; i++) { var a = currval(choices[i]); @@ -55,17 +64,23 @@ <!-- initialize form from GAPDocStyle cookie --> function initform() { var style = valueString(document.cookie, "GAPDocStyle"); + if (style == 0 || style == "default") + writeAppearanceStyle(""); if (style != 0 && style.length > 0 && style.length != "default") { stlist = style.split(","); var chform = document.forms[0].elements; + var appearance = ""; for (var i=0; chform.length > i; i++) { if (chform[i].type == "radio") { for (var j=0; stlist.length > j; j++) { - if (chform[i].value == stlist[j]) + if (stlist[j] == "dark" || stlist[j] == "light") + appearance = stlist[j]; + if (chform[i].value == stlist[j]) chform[i].checked = true; } } } + writeAppearanceStyle(appearance); } } @@ -119,6 +134,15 @@ <input type="radio" name="justify" value="ragged" onclick="javascript:f()"/> ragged right </p> +<p> +Appearance: +<input type="radio" name="appearance" value="" +onclick="javascript:f()"/> system (default) +<input type="radio" name="appearance" value="light" checked="checked" +onclick="javascript:f()"/> light +<input type="radio" name="appearance" value="dark" +onclick="javascript:f()"/> dark +</p> </form> <p> <a name="backLINK" href=""><strong>Apply settings to last page.</strong></a> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hapcryst-0.2.0/doc/dark.css new/hapcryst-0.2.1/doc/dark.css --- old/hapcryst-0.2.0/doc/dark.css 1970-01-01 01:00:00.000000000 +0100 +++ new/hapcryst-0.2.1/doc/dark.css 2026-08-18 02:00:00.000000000 +0200 @@ -0,0 +1,178 @@ +/* dark.css Frank Luebeck */ +/* Initial dark theme contributed by kiryph in issue #75. */ + +/* colors */ +body { + background: #121212; + color: #eee; +} + +a:link { + color: #576cad; +} + +a:visited { + color: #576cad; +} + +a:active { + color: #eee; +} + +a:hover { + background: #eee; +} + +pre { + color: black; +} + +tt, code { + color: #eee; +} + +/* layout for the definitions of functions, variables, ... */ +div.func { + background: #909090; +} + +/* Example elements (for old converted manuals, now in div+pre */ +table.example { + background: #efefef; +} + +/* becomes ... */ +div.example { + background: #efefef; + color: black; +} + +/* Links to chapters in all files at top and bottom. */ +div.chlinktop { + background: #22272e; + border-color: #3a414a; + color: #d7dde5; +} + +div.chlinktop a:hover { + background: #2f3742; +} + +div.chlinkbot { + background: #22272e; + border-color: #3a414a; + color: #d7dde5; +} + +/* and this is for the "Top", "Prev", "Next" links */ +div.chlinkprevnexttop { + background: #22272e; + border-color: #3a414a; + color: #d7dde5; +} + +div.chlinkprevnexttop a:hover { + background: #2f3742; +} + +div.chlinkprevnextbot { + background: #22272e; + border-color: #3a414a; + color: #d7dde5; +} + +div.chlinkprevnextbot a:hover { + background: #2f3742; +} + +div.ContChap div.ContSect:hover div.ContSSBlock { + background: #eee; + border-color: #666; + color: #000; +} + +div.ContSSBlock a:hover { + background: #fff; +} + +/* and here for the side menu of contents in the chapter files */ +div.ChapSects a:hover { + background: #eee; + color: #000; +} + +div.ChapSects div.ContSect:hover div.ContSSBlock { + background: #b5b5b5; + border-color: #666; + color: #000; +} + +div.ChapSects div.ContSect:hover div.ContSSBlock a:hover { + background: #828282; +} + +/* Table elements */ +table.GAPDocTable { + border-color: black; +} + +table.GAPDocTable td, table.GAPDocTable th { + border-color: #555; +} + +table.GAPDocTablenoborder td, table.GAPDocTable th { + border-color: #555; +} + +/* Colors and fonts can be overwritten for some types of elements. */ +/* Verb elements */ +pre.normal { + color: #eee; +} + +/* Func-like elements and Ref to Func-like */ +code.func { + color: #eee; +} + +/* K elements */ +code.keyw { + color: #983d3d; +} + +/* F elements */ +code.file { + color: #8e4510; +} + +/* Arg elements */ +var.Arg { + color: #060; +} + +/* colors for ColorPrompt like examples */ +span.GAPprompt { + color: #000097; +} + +span.GAPbrkprompt { + color: #970000; +} + +span.GAPinput { + color: #970000; +} + +/* Bib entries */ +span.BibKey { + color: #052; +} + +/* for light and dark mode pictures */ +.only-on-dark { + display: block; +} + +.only-on-light { + display: none; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hapcryst-0.2.0/doc/geometry.xml new/hapcryst-0.2.1/doc/geometry.xml --- old/hapcryst-0.2.0/doc/geometry.xml 2026-03-24 16:13:22.000000000 +0100 +++ new/hapcryst-0.2.1/doc/geometry.xml 2026-08-18 02:00:00.000000000 +0200 @@ -100,8 +100,8 @@ #I 3(2/12): 0:00:00.000 #I Face lattice done ( 0:00:00.004). Calculating boundary #I done ( 0:00:00.004) Reformating... -gap> RecNames(fl); -[ "hasse", "elts", "groupring" ] +gap> Set(RecNames(fl)); +[ "elts", "groupring", "hasse" ] gap> fl.groupring; <free left module over Integers, and ring-with-one, with 10 generators> ]]></Example> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hapcryst-0.2.0/doc/intro.xml new/hapcryst-0.2.1/doc/intro.xml --- old/hapcryst-0.2.0/doc/intro.xml 2026-03-24 16:13:22.000000000 +0100 +++ new/hapcryst-0.2.1/doc/intro.xml 2026-08-18 02:00:00.000000000 +0200 @@ -146,8 +146,7 @@ <Package>HAPcryst</Package> itself does only have one global variable, namely <Ref InfoClass="InfoHAPcryst"/>. The location of files generated for interaction with polymake are determined by -the value of <Ref Var="POLYMAKE_DATA_DIR" BookName="polymaking"/> which is a -global variable of <Package>polymaking</Package>. +the <Package>polymaking</Package>. <ManSection> <InfoClass Name="InfoHAPcryst"/> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hapcryst-0.2.0/doc/manual.css new/hapcryst-0.2.1/doc/manual.css --- old/hapcryst-0.2.0/doc/manual.css 2026-03-24 16:13:22.000000000 +0100 +++ new/hapcryst-0.2.1/doc/manual.css 2026-08-18 02:00:00.000000000 +0200 @@ -477,6 +477,10 @@ span.BibHowpublished { } +/* for light and dark mode pictures */ +.only-on-dark { + display: none; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hapcryst-0.2.0/doc/manual.js new/hapcryst-0.2.1/doc/manual.js --- old/hapcryst-0.2.0/doc/manual.js 2026-03-24 16:13:22.000000000 +0100 +++ new/hapcryst-0.2.1/doc/manual.js 2026-08-18 02:00:00.000000000 +0200 @@ -47,6 +47,20 @@ return 0; } +/* load dark appearance either explicitly or via the OS preference */ +function writeAppearanceStyle(mode) { + if (mode == "dark") { + document.writeln( + '<link rel="stylesheet" type="text/css" href="dark.css" />' + ); + } else if (mode != "light") { + document.writeln( + '<style type="text/css">@import "dark.css" ' + + '(prefers-color-scheme: dark);</style>' + ); + } +} + /* when a non-default style is chosen via URL or a cookie, then the cookie is reset and the styles .js and .css files are read */ function overwriteStyle() { @@ -55,6 +69,8 @@ /* otherwise check cookie */ if (style == 0) style = valueString(document.cookie, "GAPDocStyle"); + if (style == 0 || style == "default") + writeAppearanceStyle(""); if (style == 0) return; if (style == "default") @@ -70,13 +86,19 @@ document.cookie = "GAPDocStyle="+style+";Path="+path; /* split into names of style files */ var stlist = style.split(","); + var appearance = ""; /* read style's css and js files */ for (var i=0; i < stlist.length; i++) { - document.writeln('<link rel="stylesheet" type="text/css" href="'+ - stlist[i]+'.css" />'); - document.writeln('<script src="'+stlist[i]+ - '.js" type="text/javascript"></script>'); + if (stlist[i] == "dark" || stlist[i] == "light") { + appearance = stlist[i]; + } else { + document.writeln('<link rel="stylesheet" type="text/css" href="'+ + stlist[i]+'.css" />'); + document.writeln('<script src="'+stlist[i]+ + '.js" type="text/javascript"></script>'); + } } + writeAppearanceStyle(appearance); } } @@ -110,4 +132,3 @@ for (var i=0; i < jscontentfuncs.length; i++) jscontentfuncs[i](); } - Binary files old/hapcryst-0.2.0/doc/manual.pdf and new/hapcryst-0.2.1/doc/manual.pdf differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hapcryst-0.2.0/doc/manual.six new/hapcryst-0.2.1/doc/manual.six --- old/hapcryst-0.2.0/doc/manual.six 2026-03-24 16:13:22.000000000 +0100 +++ new/hapcryst-0.2.1/doc/manual.six 2026-08-18 02:00:00.000000000 +0200 @@ -50,7 +50,7 @@ 133X\033[101X", "3.1", [ 3, 1, 0 ], 7, 10, "orbit stabilizer for crystallographic groups", "X85CAB2EB85A6E17A" ], [ "\033[1X\033[33X\033[0;-2YGetting other orbit parts\033[133X\033[101X", - "3.1-8", [ 3, 1, 8 ], 177, 13, "getting other orbit parts", + "3.1-8", [ 3, 1, 8 ], 176, 13, "getting other orbit parts", "X8002407080DB3EA2" ], [ "\033[1X\033[33X\033[0;-2YResolutions of Crystallographic Groups\033[133X\\ @@ -109,7 +109,7 @@ [ "installation", "1.2", [ 1, 2, 0 ], 55, 5, "installation", "X85A08CF187A6D986" ], [ "polymake", "1.2-1", [ 1, 2, 1 ], 75, 5, "polymake", "X7990986A8114E0DB" ] - , [ "\033[2XInfoHAPcryst\033[102X", "1.3-1", [ 1, 3, 1 ], 101, 5, + , [ "\033[2XInfoHAPcryst\033[102X", "1.3-1", [ 1, 3, 1 ], 100, 5, "infohapcryst", "X78B0A21E7FD0F3BB" ], [ "\033[2XSignRat\033[102X", "2.1-1", [ 2, 1, 1 ], 10, 6, "signrat", "X7D58A1848182EC26" ], @@ -145,27 +145,27 @@ [ 3, 1, 2 ], 60, 11, "orbitstabilizerinunitcubeonrightonsets", "X82BD20307A67C119" ], [ "\033[2XOrbitPartInVertexSetsStandardSpaceGroup\033[102X", "3.1-3", - [ 3, 1, 3 ], 86, 11, "orbitpartinvertexsetsstandardspacegroup", + [ 3, 1, 3 ], 85, 11, "orbitpartinvertexsetsstandardspacegroup", "X82CCCD597C86A08A" ], [ "\033[2XOrbitPartInFacesStandardSpaceGroup\033[102X", "3.1-4", - [ 3, 1, 4 ], 107, 12, "orbitpartinfacesstandardspacegroup", + [ 3, 1, 4 ], 106, 12, "orbitpartinfacesstandardspacegroup", "X8022CD75819DE536" ], [ "\033[2XOrbitPartAndRepresentativesInFacesStandardSpaceGroup\033[102X", - "3.1-5", [ 3, 1, 5 ], 120, 12, + "3.1-5", [ 3, 1, 5 ], 119, 12, "orbitpartandrepresentativesinfacesstandardspacegroup", "X86A80FA17A4D6664" ], [ "\033[2XStabilizerOnSetsStandardSpaceGroup\033[102X", "3.1-6", - [ 3, 1, 6 ], 142, 12, "stabilizeronsetsstandardspacegroup", + [ 3, 1, 6 ], 141, 12, "stabilizeronsetsstandardspacegroup", "X81DE08687F0DBCC6" ], [ "\033[2XRepresentativeActionOnRightOnSets\033[102X", "3.1-7", - [ 3, 1, 7 ], 162, 13, "representativeactiononrightonsets", + [ 3, 1, 7 ], 161, 13, "representativeactiononrightonsets", "X83C6448679A54F9D" ], - [ "\033[2XShiftedOrbitPart\033[102X", "3.1-9", [ 3, 1, 9 ], 184, 13, + [ "\033[2XShiftedOrbitPart\033[102X", "3.1-9", [ 3, 1, 9 ], 183, 13, "shiftedorbitpart", "X8751429287034F4A" ], [ "\033[2XTranslationsToOneCubeAroundCenter\033[102X", "3.1-10", - [ 3, 1, 10 ], 198, 13, "translationstoonecubearoundcenter", + [ 3, 1, 10 ], 197, 13, "translationstoonecubearoundcenter", "X82656DE584E8DC5D" ], - [ "\033[2XTranslationsToBox\033[102X", "3.1-11", [ 3, 1, 11 ], 213, 13, + [ "\033[2XTranslationsToBox\033[102X", "3.1-11", [ 3, 1, 11 ], 212, 13, "translationstobox", "X858C787E83A902AB" ], [ "\033[2XFundamentalDomainStandardSpaceGroup\033[102X", "4.1-1", [ 4, 1, 1 ], 17, 15, "fundamentaldomainstandardspacegroup", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hapcryst-0.2.0/doc/misc.xml new/hapcryst-0.2.1/doc/misc.xml --- old/hapcryst-0.2.0/doc/misc.xml 2026-03-24 16:13:22.000000000 +0100 +++ new/hapcryst-0.2.1/doc/misc.xml 2026-08-18 02:00:00.000000000 +0200 @@ -50,7 +50,7 @@ true gap> DimensionSquareMat(m); 3 -gap> DimensionSquareMat([[1,2],[1,2,3]]); +gap> DimensionSquareMat([[1,2,3],[4,5,6]]); fail ]]></Example> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hapcryst-0.2.0/doc/spacegroups.xml new/hapcryst-0.2.1/doc/spacegroups.xml --- old/hapcryst-0.2.0/doc/spacegroups.xml 2026-03-24 16:13:22.000000000 +0100 +++ new/hapcryst-0.2.1/doc/spacegroups.xml 2026-08-18 02:00:00.000000000 +0200 @@ -7,7 +7,7 @@ <ManSection> <Meth Name="OrbitStabilizerInUnitCubeOnRight" Arg="group, x"/> - <Returns> + <Returns> A record containing <List> <Item> @@ -15,7 +15,7 @@ </Item> <Item> <K>.orbit</K> set of vectors from <M>[0,1)^n</M> which - represents the orbit. + represents the orbit. </Item> </List> </Returns> @@ -37,11 +37,11 @@ <Example><![CDATA[ gap> S:=SpaceGroup(3,5);; -gap> OrbitStabilizerInUnitCubeOnRight(S,[1/2,0,9/11]); +gap> OrbitStabilizerInUnitCubeOnRight(S,[1/2,0,9/11]); rec( orbit := [ [ 0, 1/2, 2/11 ], [ 1/2, 0, 9/11 ] ], stabilizer := Group([ [ [ 1, 0, 0, 0 ], [ 0, 1, 0, 0 ], [ 0, 0, 1, 0 ], [ 0, 0, 0, 1 ] ] ]) ) -gap> OrbitStabilizerInUnitCubeOnRight(S,[0,0,0]); +gap> OrbitStabilizerInUnitCubeOnRight(S,[0,0,0]); rec( orbit := [ [ 0, 0, 0 ] ], stabilizer := <matrix group with 2 generators> ) ]]></Example> @@ -78,7 +78,7 @@ </Item> <Item> <K>.orbit</K> set of sets of vectors from <M>[0,1)^n</M> which - represents the orbit. + represents the orbit. </Item> </List> </Returns> @@ -92,17 +92,16 @@ element of <K>.orbit</K> has a non-trivial intersection with the cube <M>[0,1)^n</M>. In general, these sets will not lie inside <M>[0,1)^n</M> completely. - </Description> + </Description> </ManSection> <Example><![CDATA[ gap> S:=SpaceGroup(3,5);; gap> OrbitStabilizerInUnitCubeOnRightOnSets(S,[[0,0,0],[0,1/2,0]]); -rec( orbit := [ [ [ -1/2, 0, 0 ], [ 0, 0, 0 ] ], - [ [ 0, 0, 0 ], [ 0, 1/2, 0 ] ], - [ [ 1/2, 0, 0 ], [ 1, 0, 0 ] ] ], - stabilizer := Group([ [ [ 1, 0, 0, 0 ], [ 0, 1, 0, 0 ], - [ 0, 0, 1, 0 ], [ 0, 0, 0, 1 ] ] ]) ) +rec( + orbit := [ [ [ -1/2, 0, 0 ], [ 0, 0, 0 ] ], [ [ 0, 0, 0 ], [ 0, 1/2, 0 ] ], + [ [ 1/2, 0, 0 ], [ 1, 0, 0 ] ] ], stabilizer := <matrix group of size + 1 with 3 generators> ) ]]></Example> <ManSection> @@ -161,8 +160,8 @@ A set of face-matrix pairs . </Returns> <Description> - This is a slight variation of - <Ref Meth="OrbitPartInFacesStandardSpaceGroup"></Ref> + This is a slight variation of + <Ref Meth="OrbitPartInFacesStandardSpaceGroup"></Ref> that also returns a representative for every orbit element. </Description> </ManSection> @@ -215,14 +214,14 @@ Returns an element of the space group <M>S</M> which takes the set <A>set</A> to the set <A>imageset</A>. The group must be in standard form and act on the right. - </Description> + </Description> </ManSection> <Example><![CDATA[ gap> S:=SpaceGroup(3,5);; gap> RepresentativeActionOnRightOnSets(G, [[0,0,0],[0,1/2,0]], > [ [ 0, 1/2, 0 ], [ 0, 1, 0 ] ]); -[ [ 0, -1, 0, 0 ], [ -1, 0, 0, 0 ], [ 0, 0, -1, 0 ], [ 0, 1, 0, 1 ] ] +[ [ -1, 0, 0, 0 ], [ 0, -1, 0, 0 ], [ 0, 0, -1, 0 ], [ 0, 1, 0, 1 ] ] ]]></Example> @@ -244,7 +243,7 @@ <Example><![CDATA[ gap> ShiftedOrbitPart([0,0,0],[[1/2,1/2,1/3],-[1/2,1/2,1/2],[19,3,1]]); -[ [ 1/2, 1/2, 1/3 ], [ 1/2, 1/2, 1/2 ], [ 0, 0, 0 ] ] +[ [ 0, 0, 0 ], [ 1/2, 1/2, 1/3 ], [ 1/2, 1/2, 1/2 ] ] gap> ShiftedOrbitPart([1,1,1],[[1/2,1/2,1/2],-[1/2,1/2,1/2]]); [ [ 3/2, 3/2, 3/2 ] ] ]]></Example> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hapcryst-0.2.0/doc/title.xml new/hapcryst-0.2.1/doc/title.xml --- old/hapcryst-0.2.0/doc/title.xml 2026-03-24 16:13:22.000000000 +0100 +++ new/hapcryst-0.2.1/doc/title.xml 2026-08-18 02:00:00.000000000 +0200 @@ -9,15 +9,14 @@ A HAP extension for crystallographic groups </Subtitle> <Version> - Version 0.2.0 + Version 0.2.1 </Version> <Author> - Marc Roeder<Alt Only="LaTeX"><Br/></Alt> + Marc Roeder <Email>[email protected]</Email> - </Author> <Date> - 24 March 2026 + 18 August 2026 </Date> <Copyright> ©right; 2007 Marc Röder. <P/> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hapcryst-0.2.0/lib/FundamentalDomainBieberbach.gi new/hapcryst-0.2.1/lib/FundamentalDomainBieberbach.gi --- old/hapcryst-0.2.0/lib/FundamentalDomainBieberbach.gi 2026-03-24 16:13:22.000000000 +0100 +++ new/hapcryst-0.2.1/lib/FundamentalDomainBieberbach.gi 2026-08-18 02:00:00.000000000 +0200 @@ -270,10 +270,7 @@ orbitpart:=OrbitStabilizerInUnitCubeOnRight(group,center).orbit;; newinequalities:=initialInequalities(center,gram);; - partialFD:=CreatePolymakeObject("partialFD", - POLYMAKE_DATA_DIR, - ["polytope","2.3","RationalPolytope"] - ); + partialFD:=CreatePolymakeObject(["polytope","2.3","RationalPolytope"]); AppendToPolymakeObject(partialFD, ConvertMatrixToPolymakeString("FACETS",newinequalities) ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hapcryst-0.2.0/lib/FundamentalDomainStandardSP.gi new/hapcryst-0.2.1/lib/FundamentalDomainStandardSP.gi --- old/hapcryst-0.2.0/lib/FundamentalDomainStandardSP.gi 2026-03-24 16:13:22.000000000 +0100 +++ new/hapcryst-0.2.1/lib/FundamentalDomainStandardSP.gi 2026-08-18 02:00:00.000000000 +0200 @@ -154,10 +154,7 @@ local dim, poly, signvectors, cubevertices; dim:=Size(center); - poly:=CreatePolymakeObject("partialFD", - POLYMAKE_DATA_DIR, - ["polytope","2.3","RationalPolytope"] - ); + poly:=CreatePolymakeObject(["polytope","2.3","RationalPolytope"]); signvectors:=Tuples([-1,1],dim); cubevertices:=(1/2*signvectors)+center; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hapcryst-0.2.0/lib/misc.gd new/hapcryst-0.2.1/lib/misc.gd --- old/hapcryst-0.2.0/lib/misc.gd 2026-03-24 16:13:22.000000000 +0100 +++ new/hapcryst-0.2.1/lib/misc.gd 2026-08-18 02:00:00.000000000 +0200 @@ -29,8 +29,10 @@ ############################## # # New operations for matrices. The names say it all -# -DeclareProperty("IsSquareMat",IsMatrix); +# +if not IsBound(IsSquareMatrix) then # GAP > 4.16 provides IsSquareMat and IsSquareMatrix + DeclareProperty("IsSquareMat",IsMatrix); +fi; DeclareOperation("DimensionSquareMat",[IsMatrix]); ############################## diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hapcryst-0.2.0/lib/misc.gi new/hapcryst-0.2.1/lib/misc.gi --- old/hapcryst-0.2.0/lib/misc.gi 2026-03-24 16:13:22.000000000 +0100 +++ new/hapcryst-0.2.1/lib/misc.gi 2026-08-18 02:00:00.000000000 +0200 @@ -41,10 +41,12 @@ ############################## -InstallMethod(IsSquareMat,"for matrices",[IsMatrix], +if not IsBound(IsSquareMatrix) then # GAP > 4.16 provides IsSquareMat and IsSquareMatrix + InstallMethod(IsSquareMat,"for matrices",[IsMatrix], function(mat) return IsRectangularTable(mat) and NrRows(mat) = NrCols(mat); -end); + end); +fi; ############################## diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hapcryst-0.2.0/tst/bugfix.tst new/hapcryst-0.2.1/tst/bugfix.tst --- old/hapcryst-0.2.0/tst/bugfix.tst 2026-03-24 16:13:22.000000000 +0100 +++ new/hapcryst-0.2.1/tst/bugfix.tst 2026-08-18 02:00:00.000000000 +0200 @@ -15,8 +15,6 @@ 3 gap> DimensionSquareMat([[1,2,3],[1,2,3]]); fail -gap> DimensionSquareMat([[1,2],[1,2,3]]); -fail # # Let TranslationsToBox return a list again, instead of an iterator.
