95 lines
2.3 KiB
Python
95 lines
2.3 KiB
Python
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
"""
|
|
Generates latex table for alignment pattern locations
|
|
|
|
(C) 2022 Louis Heredero louis.heredero@edu.vs.ch
|
|
"""
|
|
|
|
LOCATIONS = [
|
|
[],
|
|
[6, 18],
|
|
[6, 22],
|
|
[6, 26],
|
|
[6, 30],
|
|
[6, 34],
|
|
[6, 22, 38],
|
|
[6, 24, 42],
|
|
[6, 26, 46],
|
|
[6, 28, 50],
|
|
[6, 30, 54],
|
|
[6, 32, 58],
|
|
[6, 34, 62],
|
|
[6, 26, 46, 66],
|
|
[6, 26, 48, 70],
|
|
[6, 26, 50, 74],
|
|
[6, 30, 54, 78],
|
|
[6, 30, 56, 82],
|
|
[6, 30, 58, 86],
|
|
[6, 34, 62, 90],
|
|
[6, 28, 50, 72, 94],
|
|
[6, 26, 50, 74, 98],
|
|
[6, 30, 54, 78, 102],
|
|
[6, 28, 54, 80, 106],
|
|
[6, 32, 58, 84, 110],
|
|
[6, 30, 58, 86, 114],
|
|
[6, 34, 62, 90, 118],
|
|
[6, 26, 50, 74, 98, 122],
|
|
[6, 30, 54, 78, 102, 126],
|
|
[6, 26, 52, 78, 104, 130],
|
|
[6, 30, 56, 82, 108, 134],
|
|
[6, 34, 60, 86, 112, 138],
|
|
[6, 30, 58, 86, 114, 142],
|
|
[6, 34, 62, 90, 118, 146],
|
|
[6, 30, 54, 78, 102, 126, 150],
|
|
[6, 24, 50, 76, 102, 128, 154],
|
|
[6, 28, 54, 80, 106, 132, 158],
|
|
[6, 32, 58, 84, 110, 136, 162],
|
|
[6, 26, 54, 82, 110, 138, 166],
|
|
[6, 30, 58, 86, 114, 142, 170]
|
|
]
|
|
|
|
start = r"""\def\arraystretch{1.2}
|
|
\begin{center}
|
|
\begin{longtabu}{|[2pt]c|c|c|c|c|c|c|c|[2pt]}
|
|
\caption{Alignment pattern locations}
|
|
\label{tab:qr_alignment}\\
|
|
\tabucline[2pt]{-}
|
|
Version & \multicolumn{7}{c|[2pt]}{Central x and y coordinates} \\
|
|
\tabucline[2pt]{-}
|
|
\endfirsthead
|
|
\multicolumn{8}{r}{\emph{Continued from last page}}\\
|
|
\hline
|
|
Version & \multicolumn{7}{c|[2pt]}{Central x and y coordinates} \\
|
|
\endhead
|
|
Version & \multicolumn{7}{c|[2pt]}{Central x and y coordinates} \\
|
|
\hline
|
|
\multicolumn{8}{r}{\emph{Continued on next page}}\\
|
|
\endfoot
|
|
\tabucline[2pt]{-}
|
|
\endlastfoot
|
|
"""
|
|
|
|
end = r""" \hline
|
|
\end{longtabu}
|
|
\end{center}
|
|
\def\arraystretch{1}
|
|
"""
|
|
|
|
if __name__ == "__main__":
|
|
with open("alignment.tex", "w") as f_tex:
|
|
f_tex.write(start)
|
|
|
|
for i, row in enumerate(LOCATIONS):
|
|
if i > 0:
|
|
f_tex.write(" \\hline\n")
|
|
|
|
f_tex.write(f" {i+1:2}")
|
|
|
|
for j in range(7):
|
|
val = row[j] if j < len(row) else ""
|
|
f_tex.write(f" & {val:3}")
|
|
|
|
f_tex.write(" \\\\\n")
|
|
|
|
f_tex.write(end) |