Я хочу сначала сделать черную (или другого цвета) фотографию на обложке, а затем использовать нули, диаграмму Фейнмана и т. д., распределенные случайным образом на странице шрифтами зеленого цвета. Шрифт должен быть светлым, чтобы я мог использовать его в качестве фона для своей обложки. Возможно ли сделать это в Latex?
решение1
Я немного запутался в вашем вопросе, поэтому не уверен, является ли это ответом на вашу проблему или нет. Если вы хотите, чтобы нули были случайным образом распределены на вашей странице, но при этом располагались в своего рода «сетке», имитирующей код Matrix, вам может пригодиться этот подход:
\documentclass[11pt]{article}
\usepackage{tikz}
\usetikzlibrary{backgrounds,calc}
\definecolor{mybackground}{rgb}{0,0,0}
\definecolor{mygreen}{RGB}{21,138,12}
\def\myopacity{0.7} %From 0 to 1
\def\ncol{40}
\def\nrow{40}
\begin{document}
\begin{tikzpicture}[remember picture,overlay,show background rectangle,
background rectangle/.style={fill=mybackground},color=mygreen,align=center]
\pgfmathsetseed{1} %for reproducibility
\pgfmathsetmacro{\ncolEND}{\ncol-1}
\pgfmathsetmacro{\nrowEND}{\nrow-1}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\pgfmathdeclarerandomlist{letters}{%
{0}{}
}% End of List
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\foreach \i in {1,...,\ncolEND}{
\foreach \j in {1,...,\nrowEND}{
\pgfmathrandomitem{\letter}{letters}
\node at ($(current page.south west)+(\paperwidth/\ncol*\i,\paperheight/\nrow*\j)$) {\letter};
}}
\fill [draw=none, fill=white, fill opacity=\myopacity] (current page.south west)--(current page.north west)--(current page.north east)--(current page.south east)--cycle;
\end{tikzpicture}
\thispagestyle{empty}
\begin{center}
\Huge\texttt{\textcolor{mygreen}{The Matrix has you}}
\end{center}
\newpage
Another page
\end{document}
Я использую ТикZ для генерации фона с помощью клавиши remember picture
и overlay
плюс некоторые опции, доступные из библиотеки backgrounds
. Библиотека calc
служит для расчета положения каждого символа относительно начала координат (в данном случае нижнего левого угла страницы) и количества столбцов \ncol
и строк \nrow
для печати. Функция \pgfmathsetseed{1}
определяет семя линейного конгруэнтного генератора случайных последовательностей, реализованного в TiкZ. Короче говоря, если вы скопируете и вставите код выше, вы получите точно такой же вывод, как и прикрепленный. Следующий шаг — сохранить список, содержащий ноль и «void», отсюда и функция \pgfmathdeclarerandomlist{{0}{}}
. Первое \foreach
означает «для каждого столбца», а второе перебирает каждый элемент столбца и печатает символ, который был случайно выбран \pgfmathrandomitem{\letter}{letters}
. Наконец, команда \fill
добавляет непрозрачность к изображению, чтобы его можно было использовать в качестве фона.
Если вы хотите добавить другие символы, например японские иероглифы и отраженные цифры, вы можете просто добавить их в список следующим образом:
\pgfmathdeclarerandomlist{letters}{%
{\begin{CJK}{UTF8}{min} リ \end{CJK}}
{\begin{CJK}{UTF8}{min} ス \end{CJK}}
{\begin{CJK}{UTF8}{min} ト \end{CJK}}
{\begin{CJK}{UTF8}{min} は \end{CJK}}
{\begin{CJK}{UTF8}{min} 集 \end{CJK}}
{\begin{CJK}{UTF8}{min} よ \end{CJK}}
{\begin{CJK}{UTF8}{min} く \end{CJK}}
{\begin{CJK}{UTF8}{min} あ \end{CJK}}
{\begin{CJK}{UTF8}{min} る \end{CJK}}
{\begin{CJK}{UTF8}{min} 質 \end{CJK}}
{\begin{CJK}{UTF8}{min} 問 \end{CJK}}
{\begin{CJK}{UTF8}{min} と \end{CJK}}
{\begin{CJK}{UTF8}{min} そ \end{CJK}}
{\begin{CJK}{UTF8}{min} の \end{CJK}}
{\begin{CJK}{UTF8}{min} 答 \end{CJK}}
{\begin{CJK}{UTF8}{min} を \end{CJK}}
{\begin{CJK}{UTF8}{min} 集 \end{CJK}}
{\begin{CJK}{UTF8}{min} め \end{CJK}}
{\begin{CJK}{UTF8}{min} 役 \end{CJK}}
{\begin{CJK}{UTF8}{min} に \end{CJK}}
{\begin{CJK}{UTF8}{min} 立 \end{CJK}}
{\begin{CJK}{UTF8}{min} つ \end{CJK}}
{\begin{CJK}{UTF8}{min} よ \end{CJK}}
{\begin{CJK}{UTF8}{min} う \end{CJK}}
{\begin{CJK}{UTF8}{min} し \end{CJK}}
{\begin{CJK}{UTF8}{min} た \end{CJK}}
{\begin{CJK}{UTF8}{min} も \end{CJK}}
{\begin{CJK}{UTF8}{min} も \end{CJK}}
{\begin{CJK}{UTF8}{min} の \end{CJK}}
{\begin{CJK}{UTF8}{min} で \end{CJK}}
{\begin{CJK}{UTF8}{min} す \end{CJK}}
{\begin{CJK}{UTF8}{min} 大 \end{CJK}}
{\begin{CJK}{UTF8}{min} こ \end{CJK}}
%Some voids to get sparse sequences
{}{}{}{}{}{}{}{}{}{}{}{}{}{}
%Mirrored numbers
{\reflectbox{\textsf{2}}}
{\reflectbox{\textsf{7}}}
{\reflectbox{\textsf{4}}}
{\reflectbox{\textsf{3}}}
{\reflectbox{\textsf{5}}}
{\reflectbox{\textsf{6}}}
{\reflectbox{\textsf{8}}}
{\reflectbox{\textsf{9}}}
}%
Вам понадобится этот пакет CJKutf8
для печати японских символов.
Наконец, если вы хотите напечатать что-то более близкое к коду Matrix, все становится сложнее. Я использую пакет ifthen
для выполнения теста на случайном целом числе (называемом \FLAG
), которое генерируется в определенном диапазоне. В зависимости от значения \FLAG
последовательность символов будет выровнена либо вверху, либо внизу изображения. Вот результат:
а полный код:
\documentclass[11pt]{article}
\usepackage{CJKutf8}
\usepackage{tikz}
\usepackage{ifthen}
\usetikzlibrary{backgrounds,calc}
\definecolor{mybackground}{rgb}{0,0,0}
\definecolor{mygreen}{RGB}{21,138,12}
\def\myopacity{0.7} %From 0 to 1
\def\ncol{40}
\def\nrow{80}
\begin{document}
\begin{tikzpicture}[remember picture,overlay,show background rectangle,
background rectangle/.style={fill=mybackground},color=mygreen,align=center]
\pgfmathsetseed{1}
\pgfmathsetmacro{\ncolEND}{\ncol-1}
\pgfmathsetmacro{\nrowEND}{\nrow-1}
\pgfmathdeclarerandomlist{letters}{%
{\begin{CJK}{UTF8}{min} リ \end{CJK}}
{\begin{CJK}{UTF8}{min} ス \end{CJK}}
{\begin{CJK}{UTF8}{min} ト \end{CJK}}
{\begin{CJK}{UTF8}{min} は \end{CJK}}
{\begin{CJK}{UTF8}{min} 集 \end{CJK}}
{\begin{CJK}{UTF8}{min} よ \end{CJK}}
{\begin{CJK}{UTF8}{min} く \end{CJK}}
{\begin{CJK}{UTF8}{min} あ \end{CJK}}
{\begin{CJK}{UTF8}{min} る \end{CJK}}
{\begin{CJK}{UTF8}{min} 質 \end{CJK}}
{\begin{CJK}{UTF8}{min} 問 \end{CJK}}
{\begin{CJK}{UTF8}{min} と \end{CJK}}
{\begin{CJK}{UTF8}{min} そ \end{CJK}}
{\begin{CJK}{UTF8}{min} の \end{CJK}}
{\begin{CJK}{UTF8}{min} 答 \end{CJK}}
{\begin{CJK}{UTF8}{min} を \end{CJK}}
{\begin{CJK}{UTF8}{min} 集 \end{CJK}}
{\begin{CJK}{UTF8}{min} め \end{CJK}}
{\begin{CJK}{UTF8}{min} 役 \end{CJK}}
{\begin{CJK}{UTF8}{min} に \end{CJK}}
{\begin{CJK}{UTF8}{min} 立 \end{CJK}}
{\begin{CJK}{UTF8}{min} つ \end{CJK}}
{\begin{CJK}{UTF8}{min} よ \end{CJK}}
{\begin{CJK}{UTF8}{min} う \end{CJK}}
{\begin{CJK}{UTF8}{min} し \end{CJK}}
{\begin{CJK}{UTF8}{min} た \end{CJK}}
{\begin{CJK}{UTF8}{min} も \end{CJK}}
{\begin{CJK}{UTF8}{min} も \end{CJK}}
{\begin{CJK}{UTF8}{min} の \end{CJK}}
{\begin{CJK}{UTF8}{min} で \end{CJK}}
{\begin{CJK}{UTF8}{min} す \end{CJK}}
{\begin{CJK}{UTF8}{min} 大 \end{CJK}}
{\begin{CJK}{UTF8}{min} こ \end{CJK}}
%Some voids to get sparse sequences
{}{}{}{}{}{}{}{}{}{}{}{}{}{}
%Mirrored numbers
{\reflectbox{\textsf{2}}}
{\reflectbox{\textsf{7}}}
{\reflectbox{\textsf{4}}}
{\reflectbox{\textsf{3}}}
{\reflectbox{\textsf{5}}}
{\reflectbox{\textsf{6}}}
{\reflectbox{\textsf{8}}}
{\reflectbox{\textsf{9}}}
}%
\pgfmathsetmacro{\maxcodelength}{\nrow-15}
\foreach \col in {1,...,\ncolEND}{
\pgfmathrandominteger{\codelength}{2}{\maxcodelength}
\pgfmathrandominteger{\FLAG}{1}{20}
\pgfmathrandominteger{\Highlight}{1}{20}
\ifthenelse{\FLAG<11}{%
\pgfmathrandomitem{\letter}{letters}
%the next 3 lines are to highlight the bottom symbol of the sequence
\ifthenelse{\Highlight<17}{%
\node [mygreen!60!white] at ($(current page.south west)+({\paperwidth/\ncol*\col},{\paperheight/\nrow*(\codelength-1)})$) {\letter};}{%
\node at ($(current page.south west)+({\paperwidth/\ncol*\col},{\paperheight/\nrow*(\codelength-1)})$) {\letter};}
\foreach \i in {\codelength,...,\nrowEND}{%else
\pgfmathrandomitem{\letter}{letters}
\node at ($(current page.south west)+(\paperwidth/\ncol*\col,\paperheight/\nrow*\i)$) {\letter};}}{%
\foreach \i in {1,...,\codelength}{%
\pgfmathrandomitem{\letter}{letters}
\node at ($(current page.south west)+(\paperwidth/\ncol*\col,\paperheight/\nrow*\i)$) {\letter};}}
}
\fill [draw=none, fill=white, fill opacity=\myopacity] (current page.south west)--(current page.north west)--(current page.north east)--(current page.south east)--cycle;
\end{tikzpicture}
\thispagestyle{empty}
\begin{center}
\Huge\texttt{\textcolor{mygreen}{The Matrix has you}}
\end{center}
\newpage
Another page
\end{document}
Говоря о диаграммах Фейнмана, чтобы включить их в красивом виде, вам понадобится кто-то с художественными навыками, которых у меня нет. Однако я могу предложить способ включить их на страницу. Чтобы получить типичный синусоидальный сегмент, я использовал решение, доступное здесь:TikZ: Декорированные пути без прямого участкакоторый создает новое украшение под названием complete sines
. Затем я определяю новую команду под названием \FeynmanDiagramCover
вдохновленную этим постомНанесение размеров на технический чертеж в TikZтаким образом:
\makeatletter
\newcommand{\FeynmanDiagramCover}[1]{%
{\tikzset{>=stealth}
\coordinate (@0) at #1;
\coordinate (@1) at ($(@0)+(180:{2+2*rnd})$);
\coordinate (@2) at ($(@1)+(120+30*rnd:3+2*rnd)$);
\coordinate (@3) at ($(@1)+(210+30*rnd:3+2*rnd)$);
\coordinate (@4) at ($(@0)+(0:2+2*rnd)$);
\coordinate (@5) at ($(@4)+(30+30*rnd:3+2*rnd)$);
\coordinate (@6) at ($(@4)+(-30-30*rnd:3+2*rnd)$);
\draw [->-] (@1)--(@2);
\draw [->-] (@3)--(@1);
\draw decorate [decoration={complete sines,segment length=0.5cm,amplitude=0.5cm,mirror,start up,end up}] {(@1)--(@4)};
\draw [->-] (@4)--(@5);
\draw [->-] (@6)--(@4);
}}
\makeatother
Стиль линии ->-
скопирован изTikz: Наконечники стрел в центре. В определении координат я добавил rnd
несколько раз. Это влияет на длину синусоидального сегмента (пунктирная линия), угол и длины между прямыми (пунктирная область), как графически показано здесь:
Чтобы включить диаграммы в титульный лист, можно просто выполнить команду \FeynmanDiagramCover{(coordinate)}
, которая (coordinate)
должна быть связана с одним из current page
узлов, доступных в Ti.кZ плюс расстояние в терминах или \paperwidth
или \paperheight
(например, что-то вроде \FeynmanDiagramCover{($(current page.south west)+(.3*\paperwidth,.2*\paperheight)$)}
работает). Используя настройку, предложенную OP относительно внешнего вида кода Matrix, конечный результат будет следующим:
где команда \FeynmanDiagramCover
выдается 4 раза и в scope
среде, которая изменяет масштаб диаграммы (0,4) и поворот. Это код для окончательного вывода:
\documentclass[11pt]{article}
\usepackage{CJKutf8}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\usepackage{ifthen}
\usetikzlibrary{backgrounds,calc}
\usetikzlibrary{decorations.markings}
\definecolor{mybackground}{rgb}{0,0,0}
\definecolor{mygreen}{RGB}{21,138,12}
\definecolor{diagramgreen}{rgb}{0,1,0}
\tikzset{->-/.style={decoration={
markings,
mark=at position 0.5 with {\arrow{>}}},postaction={decorate}}}
%Nice waves
\newif\ifstartcompletesineup
\newif\ifendcompletesineup
\pgfkeys{
/pgf/decoration/.cd,
start up/.is if=startcompletesineup,
start up=true,
start up/.default=true,
start down/.style={/pgf/decoration/start up=false},
end up/.is if=endcompletesineup,
end up=true,
end up/.default=true,
end down/.style={/pgf/decoration/end up=false}
}
\pgfdeclaredecoration{complete sines}{initial}
{
\state{initial}[
width=+0pt,
next state=upsine,
persistent precomputation={
\ifstartcompletesineup
\pgfkeys{/pgf/decoration automaton/next state=upsine}
\ifendcompletesineup
\pgfmathsetmacro\matchinglength{
0.5*\pgfdecoratedinputsegmentlength / (ceil(0.5* \pgfdecoratedinputsegmentlength / \pgfdecorationsegmentlength) )
}
\else
\pgfmathsetmacro\matchinglength{
0.5 * \pgfdecoratedinputsegmentlength / (ceil(0.5 * \pgfdecoratedinputsegmentlength / \pgfdecorationsegmentlength ) - 0.499)
}
\fi
\else
\pgfkeys{/pgf/decoration automaton/next state=downsine}
\ifendcompletesineup
\pgfmathsetmacro\matchinglength{
0.5* \pgfdecoratedinputsegmentlength / (ceil(0.5 * \pgfdecoratedinputsegmentlength / \pgfdecorationsegmentlength ) - 0.4999)
}
\else
\pgfmathsetmacro\matchinglength{
0.5 * \pgfdecoratedinputsegmentlength / (ceil(0.5 * \pgfdecoratedinputsegmentlength / \pgfdecorationsegmentlength ) )
}
\fi
\fi
\setlength{\pgfdecorationsegmentlength}{\matchinglength pt}
}] {}
\state{downsine}[width=\pgfdecorationsegmentlength,next state=upsine]{
\pgfpathsine{\pgfpoint{0.5\pgfdecorationsegmentlength} {0.5\pgfdecorationsegmentamplitude}}
\pgfpathcosine{\pgfpoint{0.5\pgfdecorationsegmentlength}{-0.5\pgfdecorationsegmentamplitude}}
}
\state{upsine}[width=\pgfdecorationsegmentlength,next state=downsine]{
\pgfpathsine{\pgfpoint{0.5\pgfdecorationsegmentlength}{-0.5\pgfdecorationsegmentamplitude}}
\pgfpathcosine{\pgfpoint{0.5\pgfdecorationsegmentlength}{0.5\pgfdecorationsegmentamplitude}}
}
\state{final}{}
}
%%%%%%%%%%%%%%%%%%
\makeatletter
\newcommand{\FeynmanDiagramCover}[1]{%
{\tikzset{>=stealth}
\coordinate (@0) at #1;
\coordinate (@1) at ($(@0)+(180:{2+2*rnd})$);
\coordinate (@2) at ($(@1)+(120+30*rnd:3+2*rnd)$);
\coordinate (@3) at ($(@1)+(210+30*rnd:3+2*rnd)$);
\coordinate (@4) at ($(@0)+(0:2+2*rnd)$);
\coordinate (@5) at ($(@4)+(30+30*rnd:3+2*rnd)$);
\coordinate (@6) at ($(@4)+(-30-30*rnd:3+2*rnd)$);
\draw [->-] (@1)--(@2);
\draw [->-] (@3)--(@1);
\draw decorate [decoration={complete sines,segment length=0.5cm,amplitude=0.5cm,mirror,start up,end up}] {(@1)--(@4)};
\draw [->-] (@4)--(@5);
\draw [->-] (@6)--(@4);
}}
\makeatother
%\definecolor{white}{RGB}{255,255,255}
\def\myopacity{0} %From 0 to 1
\def\ncol{40}
\def\nrow{80}
\begin{document}
\begin{tikzpicture}[remember picture,overlay,show background rectangle,
background rectangle/.style={fill=mybackground},color=mygreen,align=center]
\pgfmathsetseed{1}
\pgfmathsetmacro{\ncolEND}{\ncol-1}
\pgfmathsetmacro{\nrowEND}{\nrow-1}
\pgfmathdeclarerandomlist{letters}{%
{\begin{CJK}{UTF8}{min} リ \end{CJK}}
{\begin{CJK}{UTF8}{min} ス \end{CJK}}
{\begin{CJK}{UTF8}{min} ト \end{CJK}}
{\begin{CJK}{UTF8}{min} は \end{CJK}}
{\begin{CJK}{UTF8}{min} 集 \end{CJK}}
{\begin{CJK}{UTF8}{min} よ \end{CJK}}
{\begin{CJK}{UTF8}{min} く \end{CJK}}
{\begin{CJK}{UTF8}{min} あ \end{CJK}}
{\begin{CJK}{UTF8}{min} る \end{CJK}}
{\begin{CJK}{UTF8}{min} 質 \end{CJK}}
{\begin{CJK}{UTF8}{min} 問 \end{CJK}}
{\begin{CJK}{UTF8}{min} と \end{CJK}}
{\begin{CJK}{UTF8}{min} そ \end{CJK}}
{\begin{CJK}{UTF8}{min} の \end{CJK}}
{\begin{CJK}{UTF8}{min} 答 \end{CJK}}
{\begin{CJK}{UTF8}{min} を \end{CJK}}
{\begin{CJK}{UTF8}{min} 集 \end{CJK}}
{\begin{CJK}{UTF8}{min} め \end{CJK}}
{\begin{CJK}{UTF8}{min} 役 \end{CJK}}
{\begin{CJK}{UTF8}{min} に \end{CJK}}
{\begin{CJK}{UTF8}{min} 立 \end{CJK}}
{\begin{CJK}{UTF8}{min} つ \end{CJK}}
{\begin{CJK}{UTF8}{min} よ \end{CJK}}
{\begin{CJK}{UTF8}{min} う \end{CJK}}
{\begin{CJK}{UTF8}{min} し \end{CJK}}
{\begin{CJK}{UTF8}{min} た \end{CJK}}
{\begin{CJK}{UTF8}{min} も \end{CJK}}
{\begin{CJK}{UTF8}{min} も \end{CJK}}
{\begin{CJK}{UTF8}{min} の \end{CJK}}
{\begin{CJK}{UTF8}{min} で \end{CJK}}
{\begin{CJK}{UTF8}{min} す \end{CJK}}
{\begin{CJK}{UTF8}{min} 大 \end{CJK}}
{\begin{CJK}{UTF8}{min} こ \end{CJK}}
%Some voids to get sparse sequences
{}{}{}{}{}{}{}{}{}{}{}{}{}{}
%Mirrored numbers
{\reflectbox{\textsf{2}}}
{\reflectbox{\textsf{7}}}
{\reflectbox{\textsf{4}}}
{\reflectbox{\textsf{3}}}
{\reflectbox{\textsf{5}}}
{\reflectbox{\textsf{6}}}
{\reflectbox{\textsf{8}}}
{\reflectbox{\textsf{9}}}
}%
\pgfmathsetmacro{\maxcodelength}{\nrow-15}
\foreach \col in {1,...,\ncolEND}{
\pgfmathrandominteger{\codelength}{2}{\maxcodelength}
\pgfmathrandominteger{\FLAG}{1}{20}
\pgfmathrandominteger{\Highlight}{1}{20}
\ifthenelse{\FLAG<11}{%
\pgfmathrandomitem{\letter}{letters}
%the next 3 lines are to highlight the bottom symbol of the sequence
\ifthenelse{\Highlight<17}{%
\node [mygreen!60!white] at ($(current page.south west)+({\paperwidth/\ncol*\col},{\paperheight/\nrow*(\codelength-1)})$) {\letter};}{%
\node at ($(current page.south west)+({\paperwidth/\ncol*\col},{\paperheight/\nrow*(\codelength-1)})$) {\letter};}
\foreach \i in {\codelength,...,\nrowEND}{%else
\pgfmathrandomitem{\letter}{letters}
\node at ($(current page.south west)+(\paperwidth/\ncol*\col,\paperheight/\nrow*\i)$) {\letter};}}{%
\foreach \i in {1,...,\codelength}{%
\pgfmathrandomitem{\letter}{letters}
\node at ($(current page.south west)+(\paperwidth/\ncol*\col,\paperheight/\nrow*\i)$) {\letter};}}
}
\fill [draw=none, fill=white, fill opacity=\myopacity] (current page.south west)--(current page.north west)--(current page.north east)--(current page.south east)--cycle;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Feynman Diagrams
\begin{scope}[ultra thick,color=diagramgreen]
\pgfmathsetmacro{\DELTAcentroid}{50}
\foreach \x in {2/8,6/8}{%
%\node at (current page.center) {\paperheight};
\coordinate (centroid) at ($(current page.south west)+(\x*\paperwidth+\DELTAcentroid*rand,\paperheight*3/16+\DELTAcentroid*rand)$);
\pgfmathsetmacro{\rotANGLE}{180*rand}
\begin{scope}[rotate=\rotANGLE,transform shape,scale=.4]
\FeynmanDiagramCover{(centroid)}
\end{scope}
}
\foreach \x in {2/8,6/8}{%
\coordinate (centroid) at ($(current page.south west)+(\x*\paperwidth+\DELTAcentroid*rand,\paperheight*9/16+\DELTAcentroid*rand)$);
\pgfmathsetmacro{\rotANGLE}{180*rand}
\begin{scope}[rotate=\rotANGLE,transform shape,scale=.4]
\FeynmanDiagramCover{(centroid)}
\end{scope}
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\end{scope}
\end{tikzpicture}
\thispagestyle{empty}
\begin{center}
\Huge\texttt{\textcolor{white}{Majorana Mass}}
\end{center}
\newpage
Another page
\end{document}
решение2
Спасибо @mirkom
Это то, что я хотел, и это модифицированная версия вашего, но я все еще не знаю, как добавить диаграмму Фейнмана на обложку.
Если бы там была диаграмма Фейнмана, то было бы вообще круто.
Вот код этой страницы:
\documentclass[11pt]{article}
\usepackage{CJKutf8}
\usepackage{tikz}
\usepackage{ifthen}
\usetikzlibrary{backgrounds,calc}
\definecolor{mybackground}{rgb}{0,0,0}
\definecolor{mygreen}{RGB}{21,138,12}
\definecolor{white}{RGB}{255,255,255}
\def\myopacity{0} %From 0 to 1
\def\ncol{40}
\def\nrow{80}
\begin{document}
\begin{tikzpicture}[remember picture,overlay,show background rectangle,
background rectangle/.style={fill=mybackground},color=mygreen,align=center]
\pgfmathsetseed{1}
\pgfmathsetmacro{\ncolEND}{\ncol-1}
\pgfmathsetmacro{\nrowEND}{\nrow-1}
\pgfmathdeclarerandomlist{letters}{%
{\begin{CJK}{UTF8}{min} リ \end{CJK}}
{\begin{CJK}{UTF8}{min} ス \end{CJK}}
{\begin{CJK}{UTF8}{min} ト \end{CJK}}
{\begin{CJK}{UTF8}{min} は \end{CJK}}
{\begin{CJK}{UTF8}{min} 集 \end{CJK}}
{\begin{CJK}{UTF8}{min} よ \end{CJK}}
{\begin{CJK}{UTF8}{min} く \end{CJK}}
{\begin{CJK}{UTF8}{min} あ \end{CJK}}
{\begin{CJK}{UTF8}{min} る \end{CJK}}
{\begin{CJK}{UTF8}{min} 質 \end{CJK}}
{\begin{CJK}{UTF8}{min} 問 \end{CJK}}
{\begin{CJK}{UTF8}{min} と \end{CJK}}
{\begin{CJK}{UTF8}{min} そ \end{CJK}}
{\begin{CJK}{UTF8}{min} の \end{CJK}}
{\begin{CJK}{UTF8}{min} 答 \end{CJK}}
{\begin{CJK}{UTF8}{min} を \end{CJK}}
{\begin{CJK}{UTF8}{min} 集 \end{CJK}}
{\begin{CJK}{UTF8}{min} め \end{CJK}}
{\begin{CJK}{UTF8}{min} 役 \end{CJK}}
{\begin{CJK}{UTF8}{min} に \end{CJK}}
{\begin{CJK}{UTF8}{min} 立 \end{CJK}}
{\begin{CJK}{UTF8}{min} つ \end{CJK}}
{\begin{CJK}{UTF8}{min} よ \end{CJK}}
{\begin{CJK}{UTF8}{min} う \end{CJK}}
{\begin{CJK}{UTF8}{min} し \end{CJK}}
{\begin{CJK}{UTF8}{min} た \end{CJK}}
{\begin{CJK}{UTF8}{min} も \end{CJK}}
{\begin{CJK}{UTF8}{min} も \end{CJK}}
{\begin{CJK}{UTF8}{min} の \end{CJK}}
{\begin{CJK}{UTF8}{min} で \end{CJK}}
{\begin{CJK}{UTF8}{min} す \end{CJK}}
{\begin{CJK}{UTF8}{min} 大 \end{CJK}}
{\begin{CJK}{UTF8}{min} こ \end{CJK}}
%Some voids to get sparse sequences
{}{}{}{}{}{}{}{}{}{}{}{}{}{}
%Mirrored numbers
{\reflectbox{\textsf{2}}}
{\reflectbox{\textsf{7}}}
{\reflectbox{\textsf{4}}}
{\reflectbox{\textsf{3}}}
{\reflectbox{\textsf{5}}}
{\reflectbox{\textsf{6}}}
{\reflectbox{\textsf{8}}}
{\reflectbox{\textsf{9}}}
}%
\pgfmathsetmacro{\maxcodelength}{\nrow-15}
\foreach \col in {1,...,\ncolEND}{
\pgfmathrandominteger{\codelength}{2}{\maxcodelength}
\pgfmathrandominteger{\FLAG}{1}{20}
\pgfmathrandominteger{\Highlight}{1}{20}
\ifthenelse{\FLAG<11}{%
\pgfmathrandomitem{\letter}{letters}
%the next 3 lines are to highlight the bottom symbol of the sequence
\ifthenelse{\Highlight<17}{%
\node [mygreen!60!white] at ($(current page.south west)+({\paperwidth/\ncol*\col},{\paperheight/\nrow*(\codelength-1)})$) {\letter};}{%
\node at ($(current page.south west)+({\paperwidth/\ncol*\col},{\paperheight/\nrow*(\codelength-1)})$) {\letter};}
\foreach \i in {\codelength,...,\nrowEND}{%else
\pgfmathrandomitem{\letter}{letters}
\node at ($(current page.south west)+(\paperwidth/\ncol*\col,\paperheight/\nrow*\i)$) {\letter};}}{%
\foreach \i in {1,...,\codelength}{%
\pgfmathrandomitem{\letter}{letters}
\node at ($(current page.south west)+(\paperwidth/\ncol*\col,\paperheight/\nrow*\i)$) {\letter};}}
}
\fill [draw=none, fill=white, fill opacity=\myopacity] (current page.south west)--(current page.north west)--(current page.north east)--(current page.south east)--cycle;
\end{tikzpicture}
\thispagestyle{empty}
\begin{center}
\Huge\texttt{\textcolor{white}{Majorana Mass}}
\end{center}
\newpage
Another page
\end{document}