Printing letters or words for posting on walls
A TiKZ matrix
can help to solve part of the problem.
\documentclass{article}
\usepackage[letterpaper,margin=1.0in]{geometry}
\usepackage{fontspec}
\usepackage{xunicode}
\usepackage{xltxtra}
\setmainfont[Mapping=tex-text]{Lucida Sans Unicode}
\usepackage{tikz}
\usetikzlibrary{matrix,shapes.misc}
\begin{document}
\begin{tikzpicture}[mycross/.style={cross out, draw=gray,
minimum size=4pt, rotate=45, outer sep=0pt, inner sep=0pt},
myletter/.style={inner sep=5mm,
minimum width=15mm,
minimum height=20mm, anchor=center, font=\Huge}]
\matrix (A) [matrix of nodes, nodes=myletter, column sep=0pt, row sep=0pt,]{
α & β & γ & δ & ε \\
ζ & η & θ & ι & κ \\ };
\foreach \j in {1,...,2}{
\foreach \i in {1,...,5}
\node[mycross] at (A-\j-\i.north west) {};
\node[mycross] at (A-\j-5.north east) {};
}
\foreach \i in {1,...,5}
\node[mycross] at (A-2-\i.south west) {};
\node[mycross] at (A-2-5.south east) {};
\end{tikzpicture}
\end{document}
Update: scale
I don't know if it's the correct way to go, but looks like scale
factor inside myletter
style, changes font size:
\documentclass{article}
\usepackage[letterpaper,margin=1.0in]{geometry}
\usepackage{fontspec}
\usepackage{xunicode}
\usepackage{xltxtra}
\setmainfont[Mapping=tex-text]{Lucida Sans Unicode}
\usepackage{tikz}
\usetikzlibrary{matrix,shapes.misc}
\begin{document}
\noindent\begin{tikzpicture}[mycross/.style={cross out, draw=gray,
minimum size=4pt, rotate=45, outer sep=0pt, inner sep=0pt},
myletter/.style={inner sep=3mm,
minimum width=15mm,
minimum height=20mm, anchor=center,
font=\Huge, scale=2.5}]
\matrix (A) [matrix of nodes, nodes=myletter, column sep=0pt, row sep=0pt,]{
α & β & γ & δ & ε \\
ζ & η & θ & ι & κ \\ };
\foreach \j in {1,...,2}{
\foreach \i in {1,...,5}
\node[mycross] at (A-\j-\i.north west) {};
\node[mycross] at (A-\j-5.north east) {};
}
\foreach \i in {1,...,5}
\node[mycross] at (A-2-\i.south west) {};
\node[mycross] at (A-2-5.south east) {};
\end{tikzpicture}
\end{document}
2nd Update: tcbraster
An alternative solution for arranging letters or words could be a tcbraster
environment from tcolorbox
. It organizes boxes on a matrix with fixed columns and fills it from left to right. An example which includes font scaling is:
\documentclass{article}
\usepackage[letterpaper,margin=1.0in]{geometry}
\usepackage{fontspec}
\usepackage{xunicode}
\usepackage{xltxtra}
\setmainfont[Mapping=tex-text]{Lucida Sans Unicode}
\usepackage[most]{tcolorbox}
\usetikzlibrary{shapes.misc}
\tcbset{%
nobeforeafter, empty,
overlay={%
\foreach \i in {north west, south west,
north east, south east}
\node[mycross] at (frame.\i) {};},
halign=center,
valign=center,
boxsep=8mm,
raster equal height=rows,
raster column skip=0pt,
raster row skip=0pt
}
\tikzset{
mycross/.style={cross out, draw=gray,
minimum size=4pt, rotate=45,
outer sep=0pt, inner sep=0pt}
}
\begin{document}
\thispagestyle{empty}
\begin{tcbitemize}[raster columns=3, before upper={\fontsize{40mm}{48mm}\selectfont}
]
\tcbitem α
\tcbitem β
\tcbitem γ
\tcbitem δ
\tcbitem ε
\tcbitem ζ
\tcbitem η
\tcbitem θ
\tcbitem ι
\tcbitem κ
\end{tcbitemize}
\begin{tcbitemize}[raster columns=2, before upper={\fontsize{10mm}{11mm}\selectfont}]
\tcbitem Dolce
\tcbitem mia
\tcbitem fanciulla
\tcbitem il
\tcbitem tuo
\tcbitem signore
\tcbitem sara
\tcbitem domani
\tcbitem solo
\tcbitem mondo
\end{tcbitemize}
\end{document}
An addendum to Ignasi answer, it solve all your asks in question:
\documentclass[border=5mm,14pt,tikz]{standalone}
\usetikzlibrary{matrix,shapes.misc}
\usepackage{fontspec}
\usepackage{xunicode}
\usepackage{xltxtra}
\setmainfont[Mapping=tex-text]{Lucida Sans Unicode}
\usepackage{graphicx}
\begin{document}
\begin{tikzpicture}[
mycross/.style = {cross out, draw=gray,
minimum size=4pt, rotate=45, outer sep=0pt, inner sep=0pt},
myletter/.style = {inner sep=1mm,
minimum width=15mm, minimum height=20mm, anchor=center},
]
\matrix (A) [matrix of nodes, nodes=myletter, column sep=0pt, row sep=0pt,]{
\scalebox{5}{α} & \scalebox{5}{β}
& \scalebox{5}{γ} & \scalebox{5}{δ} & \scalebox{5}{ε} \\
\scalebox{5}{ζ} & \scalebox{5}{η}
& \scalebox{5}{θ} & \scalebox{5}{ι} & \scalebox{5}{κ} \\ };
\foreach \j in {1,...,2}{
\foreach \i in {1,...,5}
\node[mycross] at (A-\j-\i.north west) {};
\node[mycross] at (A-\j-5.north east) {};
}
\foreach \i in {1,...,5}
\node[mycross] at (A-2-\i.south west) {};
\node[mycross] at (A-2-5.south east) {};
\end{tikzpicture}
\end{document}
As you see, by use of scalebox
from graphicx
package you can enlarge letters, for scale greater than 5 you need to increase minimum node size (in myletter
) accordingly.
Upgrade (1): According to comment of David Carlisle, far more efficient way to enlarge letters is to use \fontsize{<size>}{<line space>}\selectfont
. With its use, with selecting font size 40mm, the code and result is:
\documentclass[border=5mm,14pt,tikz]{standalone}
\usetikzlibrary{matrix,shapes.misc}
\usepackage{fontspec}
\usepackage{xunicode}
\usepackage{xltxtra}
\setmainfont[Mapping=tex-text]{Lucida Sans Unicode}
\begin{document}
\begin{tikzpicture}[
mycross/.style = {cross out, draw=gray,
minimum size=4pt, rotate=45, outer sep=0pt, inner sep=0pt},
myletter/.style = {inner sep=1mm,
minimum width=40mm, minimum height=48mm, anchor=center,
font=\fontsize{40mm}{48mm}\selectfont},
]
\matrix (A) [matrix of nodes, nodes=myletter, column sep=0pt, row sep=0pt,]{
α & β & γ & δ & ε \\
ζ & η & θ & ι & κ \\ };
\foreach \j in {1,...,2}{
\foreach \i in {1,...,5}
\node[mycross] at (A-\j-\i.north west) {};
\node[mycross] at (A-\j-5.north east) {};
}
\foreach \i in {1,...,5}
\node[mycross] at (A-2-\i.south west) {};
\node[mycross] at (A-2-5.south east) {};
\end{tikzpicture}
\end{document}
Note: Horizontal distance between "minuscule crosses" is 40mm, so it fit on A4 paper with only 5mm margins. So, if you like to have even bigger leters, you should consider to rotate paper to landscape (or used A3 or bigger printer/plotter).
Upgrade (2): According to comment of Calaf, here is option, which use article
as document class.
\documentclass{article}
\usepackage[letterpaper,margin=0.1in,showframe]{geometry}
\usepackage{tikz}
....