# How do I create a “flashcards” document with a crosshatch background pattern to reduce transverse legibility?

I've been using flashcards a lot, via the "flashcards" package of Alexander Budge. Usually I print them on card stock but sometimes this can be inconvenient, for example most home-office duplex printers cannot print duplex on card stock. Aside from making it easier to shuffle and manipulate the cards, card stock is generally useful so that the text on the reverse of each card is not visible from the front.

I would like to try printing flashcards on ordinary printer paper, but with some kind of pattern on each side to make it more difficult to see what is written on the reverse of the card. This would be similar to the crosshatch pattern inside a "security envelope".

At the same time, I want the background pattern to avoid the text on each card, so that the text remains legible from the front. I am thinking about something like the last example in this underlining tutorial.

I wonder if someone has done this, or is interested in coding up an example that I can add as a \input at the top of my flashcards documents.

• ! noitseuq gnitseretni <- -The last option combined with contour would certainly be gnisufnoc backwards Also many "cheap" heavyweight recycled papers would add to the effect. – KJO May 14 at 19:56
• I think generally if text is obscured by a random background sufficient to obscure reverse reading it may becomes so much less readable from the front, getting a fine balance would require some experimentation based on different "stock", anyway in order to stimulate ideas I will offer this weeks bounty. – KJO May 17 at 1:54
• @KJO an alternative way to attract more attention is for the OP, or possibly you, to add an MWE to the question. – Marijn May 17 at 7:59
• Another way to possibly make the text stand out from the pattern, than the one I showed, could be using a high opacity (eg. 1) and then just make the text white – Thorbjørn E. K. Christensen May 17 at 12:47
• @JPi good idea, may be worth a shot to see if OP likes them or Sierpiński however with regular fractal patterns the viewer may become so mesmerised following the patterns that they forget to answer the question :-) – KJO May 20 at 15:15

I suggest using the background and tikz packages, from tik you can play around with designing your own patterns if you don't like the existing ones.

Edit

use colorbox to remove the pattern from the text:

original again

Here I have stolen the example given in the flashcards documentation, and inserted a background:

\documentclass[avery5388,grid,frame]{flashcards}

\cardbackstyle{empty}

%The notable stuff starts here
\usepackage{tikz}
\usepackage{background}
\usetikzlibrary{patterns}
\backgroundsetup{%
opacity=.2,    %% Play with this to increase/decrease readability
contents={\begin{tikzpicture}[remember picture,overlay]
\fill[pattern = crosshatch] (-50,-50) rectangle (50,50);    %% yshift and xshift for example only
\end{tikzpicture}}
}
%%%%%%      And ends here

\begin{document}

\cardfrontfoot{Functional Analysis}

\begin{flashcard}[Definition]{\colorbox{white}{Norm on a Linear Space} \\ \colorbox{white}{Normed Space} }

A real-valued function $||x||$ defined on a linear space $X$, where15$x \in X$, is said to be a \emph{norm on} $X$ if
\smallskip
\begin{description}
\item [Positivity]            $||x|| \geq 0$,
\item [Triangle Inequality]   $||x+y|| \leq ||x|| + ||y||$,
\item [Homogeneity]           $||\alpha x|| = |\alpha| \: ||x||$,
$\alpha$ an arbitrary scalar,
\item [Positive Definiteness] $||x|| = 0$ if and only if $x=0$,
\end{description}
\smallskip
$x$ and $y$ are arbitrary points in $X$.
\medskip
linear/vector space with a norm is called a \emph{normed space}.
\end{flashcard}

\begin{flashcard}[Definition]{Inner Product}
$X$ be a complex linear space. An \emph{inner product} on $X$ is
a mapping that associates to each pair of vectors $x$, $y$ a scalar,
denoted $(x,y)$, that satisfies the following properties:
\medskip
\begin{description}
\item [Additivity]            $(x+y,z) = (x,z) + (y,z)$,
\item [Homogeneity]           $(\alpha \: x, y) = \alpha (x,y)$,
\item [Symmetry]              $(x,y) = \overline{(y,x)}$,
\item [Positive Definiteness] $(x,x) > 0$, when $x\neq0$.
\end{description}
\end{flashcard}

\begin{flashcard}[Definition]{Linear Transformation/Operator}
Atransformation $L$ of (operator on) a linear space $X$ into a linear
space $Y$, where $X$ and $Y$ have the same scalar field, is said to be
a \emph{linear transformation (operator)} if
\medskip
\begin{enumerate}
\item $L(\alpha x) = \alpha L(x), \forall x\in X$ and $\forall$
scalars $\alpha$, and
\item $L(x_1 + x_2) = L(x_1) + L(x_2)$ for all $x_1,x_2 \in X$.5
\end{enumerate}
\end{flashcard}
\end{document}


This produces:

# Edit

If you really want a morie pattern This should work, note however that the pattern will not be the same on all cards. This really makes it necessary to put white boxes on the text. You can change the density and location of the circles to change the patterns

\backgroundsetup{%
color =black,  % play around
contents={\begin{tikzpicture}[remember picture,overlay]
\foreach \i in {1.5,2,...,30}
{
\draw (8,8) circle (\i);
\draw (8,-8) circle (\i);
\draw (-8,8) circle (\i);
\draw (-8,-8) circle (\i);
}
\end{tikzpicture}}
}


# Edit 2

Now an ellipse based pattern with the inkeating patterns removed outside the cards! And the pattern is more or less the same on all cards ;-)


\backgroundsetup{%
color =black,  % play around
contents={\begin{tikzpicture}[remember picture,overlay]
\foreach \i in {10.1,10.2,...,150}
{
\draw (50,-50)  ellipse ({\i}  and 200);
\draw (-50,-50) ellipse ({\i}  and 200);
}
\fill[white] (-20,-20) rectangle (-6.5,20);
\fill[white] (20,-20) rectangle (6.5,20);
\fill[white] (-20,20) rectangle (20,11.2);
\fill[white] (-20,-20) rectangle (20,-12);
\end{tikzpicture}}
}
}


You can also do all sorts of fun stuff, moving the ellipses so they don't align vertically and thus angle the pattern! a close up!

I still strongly suggest whiteboxing the actual text

# Edit

Heres one with a grey pattern and a outlined text

the text got outlined by using \contour{color} from the contour package

\documentclass[avery5388,grid,frame]{flashcards}

\cardbackstyle{empty}

\usepackage{tikz}
\usepackage{background}
\usepackage[outline]{contour}
\usetikzlibrary{patterns,calc}

\backgroundsetup{%
scale=1,       %% these might be important
angle=0,       %% these might be important
opacity=1.,    %% these might be important
color =black,  %% these might be important
contents={\begin{tikzpicture}[remember picture,overlay]
\foreach \i in {10.1,10.2,...,150}
{
%  \draw (8,8) circle (\i);
%  \draw (8,-8) circle (\i);
%  \draw (-8,8) circle (\i);
%  \draw (-8,-8) circle (\i);
\draw[thick,opacity=0.2] (50,-50)  ellipse ({\i}  and 200);
\draw[thick,opacity=0.2] (-50,-50) ellipse ({\i}  and 200);
}
\fill[white] (-20,-20) rectangle (-6.5,20);
\fill[white] (20,-20) rectangle (6.5,20);
\fill[white] (-20,20) rectangle (20,11.2);
\fill[white] (-20,-20) rectangle (20,-12);
\end{tikzpicture}}
}

\begin{document}

\cardfrontfoot{Functional Analysis}

\begin{flashcard}[Definition]{\colorbox{white}{Norm on a Linear Space} \\ \contour{black}{\textcolor{white}{Normed Space $mathcheck$} }}
A real-valued function $||x||$ defined on a linear space $X$, where15$x \in X$, is said to be a \emph{norm on} $X$ if
\smallskip
\begin{description}
\item [Positivity]            $||x|| \geq 0$,
\item [Triangle Inequality]   $||x+y|| \leq ||x|| + ||y||$,
\item [Homogeneity]           $||\alpha x|| = |\alpha| \: ||x||$,
$\alpha$ an arbitrary scalar,
\item [Positive Definiteness] $||x|| = 0$ if and only if $x=0$,
\end{description}
\smallskip
$x$ and $y$ are arbitrary points in $X$.
\medskip
linear/vector space with a norm is called a \emph{normed space}.
\end{flashcard}

\begin{flashcard}[Definition]{Inner Product}
$X$ be a complex linear space. An \emph{inner product} on $X$ is
a mapping that associates to each pair of vectors $x$, $y$ a scalar,
denoted $(x,y)$, that satisfies the following properties:
\medskip
\begin{description}
\item [Additivity]            $(x+y,z) = (x,z) + (y,z)$,
\item [Homogeneity]           $(\alpha \: x, y) = \alpha (x,y)$,
\item [Symmetry]              $(x,y) = \overline{(y,x)}$,
\item [Positive Definiteness] $(x,x) > 0$, when $x\neq0$.
\end{description}
\end{flashcard}

\begin{flashcard}[Definition]{Linear Transformation/Operator}
Atransformation $L$ of (operator on) a linear space $X$ into a linear
space $Y$, where $X$ and $Y$ have the same scalar field, is said to be
a \emph{linear transformation (operator)} if
\medskip
\begin{enumerate}
\item $L(\alpha x) = \alpha L(x), \forall x\in X$ and $\forall$
scalars $\alpha$, and
\item $L(x_1 + x_2) = L(x_1) + L(x_2)$ for all $x_1,x_2 \in X$.5
\end{enumerate}
\end{flashcard}
\end{document}


I think you are asking for this: Note that you need the \contour{black}{\color{white} text here} around all text.

\documentclass[avery5388,grid,frame]{flashcards}

\cardbackstyle{empty}

\usepackage{tikz}
\usepackage{background}
\usepackage[outline]{contour}
\usetikzlibrary{patterns,calc}

\backgroundsetup{%
scale=1,       %% these might be important
angle=0,       %% these might be important
opacity=1.,    %% these might be important
color =black,  %% these might be important
contents={\begin{tikzpicture}[remember picture,overlay]

\fill[opacity=0.2,pattern=crosshatch] (-50,-50) rectangle (50,50);
\fill[white] (-20,-20) rectangle (-6.5,20);
\fill[white] (20,-20) rectangle (6.5,20);
\fill[white] (-20,20) rectangle (20,11.2);
\fill[white] (-20,-20) rectangle (20,-12);
\end{tikzpicture}}
}

\begin{document}

\cardfrontfoot{\contour{black}{\textcolor{white}{Functional Analysis}}}
\color{white}
\begin{flashcard}[\contour{black}{\textcolor{white}{Definition}}]{\contour{black}{\textcolor{white}{Norm on a Linear Space}} \\ \contour{black}{\textcolor{white}{Normed Space $mathcheck$ }}}
A real-valued function $||x||$ defined on a linear space $X$, where15$x \in X$, is said to be a \emph{norm on} $X$ if
\smallskip
\begin{description}
\item [Positivity]            $||x|| \geq 0$,
\item [Triangle Inequality]   $||x+y|| \leq ||x|| + ||y||$,
\item [Homogeneity]           $||\alpha x|| = |\alpha| \: ||x||$,
$\alpha$ an arbitrary scalar,
\item [Positive Definiteness] $||x|| = 0$ if and only if $x=0$,
\end{description}
\smallskip
$x$ and $y$ are arbitrary points in $X$.
\medskip
linear/vector space with a norm is called a \emph{normed space}.
\end{flashcard}

\begin{flashcard}[Definition]{Inner Product}
$X$ be a complex linear space. An \emph{inner product} on $X$ is
a mapping that associates to each pair of vectors $x$, $y$ a scalar,
denoted $(x,y)$, that satisfies the following properties:
\medskip
\begin{description}
\item [Additivity]            $(x+y,z) = (x,z) + (y,z)$,
\item [Homogeneity]           $(\alpha \: x, y) = \alpha (x,y)$,
\item [Symmetry]              $(x,y) = \overline{(y,x)}$,
\item [Positive Definiteness] $(x,x) > 0$, when $x\neq0$.
\end{description}
\end{flashcard}

\begin{flashcard}[Definition]{Linear Transformation/Operator}
Atransformation $L$ of (operator on) a linear space $X$ into a linear
space $Y$, where $X$ and $Y$ have the same scalar field, is said to be
a \emph{linear transformation (operator)} if
\medskip
\begin{enumerate}
\item $L(\alpha x) = \alpha L(x), \forall x\in X$ and $\forall$
scalars $\alpha$, and
\item $L(x_1 + x_2) = L(x_1) + L(x_2)$ for all $x_1,x_2 \in X$.5
\end{enumerate}
\end{flashcard}
\end{document}


# Edit

If I misunderstood your comment, this might be what you ment;

\documentclass[avery5388,grid,frame]{flashcards}

\cardbackstyle{empty}

\usepackage{tikz}
\usepackage{background}
\usepackage[outline]{contour}
\contourlength{1pt}
\usetikzlibrary{patterns,calc}

\backgroundsetup{%
scale=1,       %% these might be important
angle=0,       %% these might be important
opacity=1.,    %% these might be important
color =black,  %% these might be important
contents={\begin{tikzpicture}[remember picture,overlay]
\fill[opacity=0.2,pattern=crosshatch] (-50,-50) rectangle (50,50);
\fill[white] (-20,-20) rectangle (-6.5,20);
\fill[white] (20,-20) rectangle (6.5,20);
\fill[white] (-20,20) rectangle (20,11.2);
\fill[white] (-20,-20) rectangle (20,-12);
\end{tikzpicture}}
}

\begin{document}

\cardfrontfoot{\contour{white}{Functional Analysis}}
\begin{flashcard}[\contour{white}{Definition}]{\contour{white}{Norm on a Linear Space} \\ \contour{white}{Normed Space $mathcheck$ }}
A real-valued function $||x||$ defined on a linear space $X$, where15$x \in X$, is said to be a \emph{norm on} $X$ if
\smallskip
\begin{description}
\item [Positivity]            $||x|| \geq 0$,
\item [Triangle Inequality]   $||x+y|| \leq ||x|| + ||y||$,
\item [Homogeneity]           $||\alpha x|| = |\alpha| \: ||x||$,
$\alpha$ an arbitrary scalar,
\item [Positive Definiteness] $||x|| = 0$ if and only if $x=0$,
\end{description}
\smallskip
$x$ and $y$ are arbitrary points in $X$.
\medskip
linear/vector space with a norm is called a \emph{normed space}.
\end{flashcard}

\begin{flashcard}[Definition]{Inner Product}
$X$ be a complex linear space. An \emph{inner product} on $X$ is
a mapping that associates to each pair of vectors $x$, $y$ a scalar,
denoted $(x,y)$, that satisfies the following properties:
\medskip
\begin{description}
\item [Additivity]            $(x+y,z) = (x,z) + (y,z)$,
\item [Homogeneity]           $(\alpha \: x, y) = \alpha (x,y)$,
\item [Symmetry]              $(x,y) = \overline{(y,x)}$,
\item [Positive Definiteness] $(x,x) > 0$, when $x\neq0$.
\end{description}
\end{flashcard}

\begin{flashcard}[Definition]{Linear Transformation/Operator}
Atransformation $L$ of (operator on) a linear space $X$ into a linear
space $Y$, where $X$ and $Y$ have the same scalar field, is said to be
a \emph{linear transformation (operator)} if
\medskip
\begin{enumerate}
\item $L(\alpha x) = \alpha L(x), \forall x\in X$ and $\forall$
scalars $\alpha$, and
\item $L(x_1 + x_2) = L(x_1) + L(x_2)$ for all $x_1,x_2 \in X$.5
\end{enumerate}
\end{flashcard}
\end{document}


# A last one for KJO

So this one is a bit more customizable (just change the spacing in the tikz loop). note that I have again only thrown contours on the first card (but the command is copy pasteable)

\documentclass[avery5388,grid,frame]{flashcards}

\cardbackstyle{empty}

\usepackage{tikz}
\usepackage{background}
\usepackage[outline]{contour}
\contourlength{1pt}
\usepackage{xcolor}
\usepackage{pdfrender}
\usetikzlibrary{patterns,calc}

\backgroundsetup{%
scale=1,       %% these might be important
angle=0,       %% these might be important
opacity=1.,    %% these might be important
color =black,  %% these might be important
contents={\begin{tikzpicture}[remember picture,overlay]
%         \foreach \i in {10.1,10.2,...,150}
\foreach \i in {-50,-49.5,...,50}
{

\draw[thick,opacity=0.75]  (-20,\i) -- (20,{\i+40});
\draw[thick,opacity=0.75]  (-20,{\i+40}) -- (20,\i);
}
\fill[white] (-20,-20) rectangle (-6.5,20);
\fill[white] (20,-20) rectangle (6.5,20);
\fill[white] (-20,20) rectangle (20,11.2);
\fill[white] (-20,-20) rectangle (20,-12);
\end{tikzpicture}}
}

\begin{document}

\cardfrontfoot{\contour{white}{Functional Analysis}}
\begin{flashcard}[\contour{white}{Definition}]{\contour{white}{Norm on a Linear Space} \\ \contour{white}{Normed Space $mathcheck$ }}
A real-valued function $||x||$ defined on a linear space $X$, where15$x \in X$, is said to be a \emph{norm on} $X$ if
\smallskip
\begin{description}
\item [Positivity]            $||x|| \geq 0$,
\item [Triangle Inequality]   $||x+y|| \leq ||x|| + ||y||$,
\item [Homogeneity]           $||\alpha x|| = |\alpha| \: ||x||$,
$\alpha$ an arbitrary scalar,
\item [Positive Definiteness] $||x|| = 0$ if and only if $x=0$,
\end{description}
\smallskip
$x$ and $y$ are arbitrary points in $X$.
\medskip
linear/vector space with a norm is called a \emph{normed space}.
\end{flashcard}

\begin{flashcard}[Definition]{Inner Product}
$X$ be a complex linear space. An \emph{inner product} on $X$ is
a mapping that associates to each pair of vectors $x$, $y$ a scalar,
denoted $(x,y)$, that satisfies the following properties:
\medskip
\begin{description}
\item [Additivity]            $(x+y,z) = (x,z) + (y,z)$,
\item [Homogeneity]           $(\alpha \: x, y) = \alpha (x,y)$,
\item [Symmetry]              $(x,y) = \overline{(y,x)}$,
\item [Positive Definiteness] $(x,x) > 0$, when $x\neq0$.
\end{description}
\end{flashcard}

\begin{flashcard}[Definition]{Linear Transformation/Operator}
Atransformation $L$ of (operator on) a linear space $X$ into a linear
space $Y$, where $X$ and $Y$ have the same scalar field, is said to be
a \emph{linear transformation (operator)} if
\medskip
\begin{enumerate}
\item $L(\alpha x) = \alpha L(x), \forall x\in X$ and $\forall$
scalars $\alpha$, and
\item $L(x_1 + x_2) = L(x_1) + L(x_2)$ for all $x_1,x_2 \in X$.5
\end{enumerate}
\end{flashcard}
\end{document}

• Nice Tones, What may be "desirable" by OP is actually what most consider undesirable moiré patterns such as we see in tex.stackexchange.com/questions/369119/… – KJO May 17 at 13:23
• @KJO If you move the circles further apart and denser the patterns will become more obvious but at the cost of ink and the readability of "non whiteboxed text" – Thorbjørn E. K. Christensen May 17 at 16:25
• Nice adjustment, the ink issue could be minimised by confining to a smaller area around the text, which allows for closer spacing ? – KJO May 17 at 16:27
• @KJO Yes, give me a second (I want to tr using ellipses for the pattern, to get a more uniform result through the cards) – Thorbjørn E. K. Christensen May 17 at 16:33
• That's good, suggest for now we await OP comments. – KJO May 17 at 17:35

Here is my proposal of Moiré patterns. I suppose only the secrete side needs protection, so I put the pattern on the title side.

\documentclass[avery5388,grid,frame]{flashcards}
\usepackage{lipsum,tikz}

\makeatletter
\def\flashcards@flush{
\tikzhandler\vskip-\baselineskip\flashcards@flushfronts
\flashcards@flushbacks
}
\def\tikzhandler{%
\tikz[remember picture,overlay,shift=(current page),opacity=.2]{
\clip(-6,-11)rectangle(6,11);
\foreach\j in{0,36,...,179}{
\draw[rotate=\j,dash pattern={on1off3on2off4},line width=.6]
foreach\i in{-12,-11.9,...,12}{
(\i,-20)--(\i,20)
}
;
}
}%
}

\begin{document}

\cardfrontfoot{Functional Analysis}
\begin{flashcard}[Definition]
{\lipsum[1][1]}
\lipsum[1]
\end{flashcard}
\begin{flashcard}[Definition]
{\lipsum[2][1]}
\lipsum[2]
\end{flashcard}
\begin{flashcard}[Definition]
{\lipsum[3][1]}
\lipsum[3]
\end{flashcard}

\end{document}


## What can be seen form the title side (simulation)

\documentclass{article}
\usepackage{tikz,pdfpages}
\begin{document}
\tikz[remember picture,overlay]{
\path(current page)node[xscale=-1]{\includegraphics[page=2]{490863.pdf}};
\fill[white,opacity=.8] % this is the paper itself, adjust its opacity
(current page.south west)rectangle(current page.north east);
\path(current page)node{\includegraphics[page=1]{490863.pdf}};
}
\end{document}


P.S. I am using lorem ipsum as secret text. If the secret text is something meaningful, it is more likely that it could be recognized.