49 lines
1.7 KiB
TeX
49 lines
1.7 KiB
TeX
% Copyright 2021-2023 Ian Jauslin
|
|
%
|
|
% Licensed under the Apache License, Version 2.0 (the "License");
|
|
% you may not use this file except in compliance with the License.
|
|
% You may obtain a copy of the License at
|
|
%
|
|
% http://www.apache.org/licenses/LICENSE-2.0
|
|
%
|
|
% Unless required by applicable law or agreed to in writing, software
|
|
% distributed under the License is distributed on an "AS IS" BASIS,
|
|
% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
% See the License for the specific language governing permissions and
|
|
% limitations under the License.
|
|
|
|
% square lattice (width #1, height #2, origin #3, spacing #4)
|
|
\def\grid#1#2#3{
|
|
\foreach\i in {0,...,#2}{
|
|
\draw#3++(0,\i)--++(#1,0);
|
|
}
|
|
\foreach\i in {0,...,#1}{
|
|
\draw#3++(\i,0)--++(0,#2);
|
|
}
|
|
}
|
|
|
|
|
|
% cross (color #1, position #2)
|
|
\def\cross#1#2{
|
|
\fill[color=#1]#2++(0.5,0.5)--++(0,1)--++(-1,0)--++(0,-1)--++(-1,0)--++(0,-1)--++(1,0)--++(0,-1)--++(1,0)--++(0,1)--++(1,0)--++(0,1)--++(-1,0);
|
|
\draw[color=black]#2++(0.5,0.5)--++(0,1)--++(-1,0)--++(0,-1)--++(-1,0)--++(0,-1)--++(1,0)--++(0,-1)--++(1,0)--++(0,1)--++(1,0)--++(0,1)--++(-1,0);
|
|
}
|
|
|
|
% 3-staircase (color #1, position #2)
|
|
\def\staircase#1#2{
|
|
\fill[color=#1]#2++(-0.5,-0.5)--++(3,0)--++(0,1)--++(-1,0)--++(0,1)--++(-1,0)--++(0,1)--++(-1,0)--++(0,-3);
|
|
\draw[color=black]#2++(-0.5,-0.5)--++(3,0)--++(0,1)--++(-1,0)--++(0,1)--++(-1,0)--++(0,1)--++(-1,0)--++(0,-3);
|
|
}
|
|
|
|
% disk (color #1, position #2)
|
|
\def\disk#1#2{
|
|
\fill[color=#1]#2circle(2.5);
|
|
\draw[color=black]#2circle(2.5);
|
|
}
|
|
|
|
% square (color #1, position #2)
|
|
\def\square#1#2{
|
|
\fill[color=#1]#2++(-1,-1)--++(0,2)--++(2,0)--++(0,-2)--cycle;
|
|
\draw[color=black]#2++(-1,-1)--++(0,2)--++(2,0)--++(0,-2)--cycle;
|
|
}
|