diff --git a/chapter-qkd/.gitignore b/chapter-qkd/.gitignore new file mode 100644 index 0000000..fb1aa38 --- /dev/null +++ b/chapter-qkd/.gitignore @@ -0,0 +1 @@ +version.tex diff --git a/chapter-qkd/chapter.tex b/chapter-qkd/chapter.tex index 97521ae..5869013 100644 --- a/chapter-qkd/chapter.tex +++ b/chapter-qkd/chapter.tex @@ -34,10 +34,11 @@ \usepackage{epstopdf} \usepackage{pdfpages} \usepackage{etoolbox} +\usepackage{catchfile} \usepackage{minitoc} \usepackage{minted} % pygmentized source code %\usepackage[pdftex]{graphicx,color} -%\usepackage{showframe} Useful for page layout debugging +%\usepackage{showframe} % Useful for page layout debugging \DeclareSIUnit{\baud}{Bd} @@ -131,16 +132,12 @@ \newcommand{\figurepath}{figures} \graphicspath{{\figurepath}} -\newcommand{\figureattrib}[1]{ - \listxadd{\figureattribcache}{Resource location:} - %\href{\input{\figurepath/#1.git_url}}{ - % git repo \input{\figurepath/#1.git_remote} - % path \input{\figurepath/#1.git_path} - % rev \input{\figurepath/#1.git_rev}} -} -\newcommand{\flushfigureattrib}{ - \forlistloop{\blfootnote}{\figureattribcache} - \undef\figureattribcache +\newcommand{\figureattrib}[1]{% + \input{\figurepath/#1.latex_meta} % + \footnotesize Resource: % + \texttt{\resourcerepo/\resourcepath} % + rev \texttt{\resourcerev} % + (\underline{\href{\resourceurl}{link}})% } \hyphenation{a-me-na-ble} @@ -605,16 +602,13 @@ provides a combined power and multi-fiber passthrough that is sufficient for QKD \subsection{Multi-fiber passthrough with active secondary mesh} \begin{figure} - \subcaptionbox{}{\includegraphics[width=\textwidth]{render_side_1.png}} - \figureattrib{render_side_1.png} - \subcaptionbox{}{\includegraphics[width=\textwidth]{render_side_2.png}} - \figureattrib{render_side_2.png} + \subcaptionbox[Rendering of the complete offset secondary mesh assembly with interlocking labyrinth.]{\figureattrib{render_side_1.png}}{\includegraphics[width=\textwidth]{render_side_1.png}} + \subcaptionbox[Rendering of the complete offset secondary mesh assembly with interlocking labyrinth.]{\figureattrib{render_side_2.png}}{\includegraphics[width=\textwidth]{render_side_2.png}} \caption{ Renderings of the complete offset secondary mesh assembly with interlocking labyrinth. } \end{figure} -\flushfigureattrib \section{Outlook} diff --git a/chapter-qkd/figures/gear_plan_1.svg.git_hyperlink b/chapter-qkd/figures/gear_plan_1.svg.git_hyperlink deleted file mode 100644 index ee488b0..0000000 --- a/chapter-qkd/figures/gear_plan_1.svg.git_hyperlink +++ /dev/null @@ -1 +0,0 @@ -https://git.jaseg.de/ihsm-secondary-mesh.git/plain/gear_plan_1.svg?h=3a7edbd1127cacc8f4c90376595b894105f3d479 \ No newline at end of file diff --git a/chapter-qkd/figures/gear_plan_1.svg.git_path b/chapter-qkd/figures/gear_plan_1.svg.git_path deleted file mode 100644 index c8d82ab..0000000 --- a/chapter-qkd/figures/gear_plan_1.svg.git_path +++ /dev/null @@ -1 +0,0 @@ -gear_plan_1.svg \ No newline at end of file diff --git a/chapter-qkd/figures/gear_plan_1.svg.git_remote b/chapter-qkd/figures/gear_plan_1.svg.git_remote deleted file mode 100644 index 1d4c356..0000000 --- a/chapter-qkd/figures/gear_plan_1.svg.git_remote +++ /dev/null @@ -1 +0,0 @@ -git@git.jaseg.de:ihsm-secondary-mesh.git \ No newline at end of file diff --git a/chapter-qkd/figures/gear_plan_1.svg.git_rev b/chapter-qkd/figures/gear_plan_1.svg.git_rev deleted file mode 100644 index 8100ebc..0000000 --- a/chapter-qkd/figures/gear_plan_1.svg.git_rev +++ /dev/null @@ -1 +0,0 @@ -3a7edbd \ No newline at end of file diff --git a/chapter-qkd/figures/gear_plan_1.svg.latex_meta b/chapter-qkd/figures/gear_plan_1.svg.latex_meta new file mode 100644 index 0000000..7731dc6 --- /dev/null +++ b/chapter-qkd/figures/gear_plan_1.svg.latex_meta @@ -0,0 +1,4 @@ +\def\resourceurl{https://git.jaseg.de/ihsm-secondary-mesh.git/plain/gear\_plan\_1.svg?h=3a7edbd1127cacc8f4c90376595b894105f3d479} +\def\resourcerev{3a7edbd} +\def\resourcerepo{ihsm-secondary-mesh.git} +\def\resourcepath{gear\_plan\_1.svg} \ No newline at end of file diff --git a/chapter-qkd/figures/gear_plan_2.svg.git_hyperlink b/chapter-qkd/figures/gear_plan_2.svg.git_hyperlink deleted file mode 100644 index b236c4f..0000000 --- a/chapter-qkd/figures/gear_plan_2.svg.git_hyperlink +++ /dev/null @@ -1 +0,0 @@ -https://git.jaseg.de/ihsm-secondary-mesh.git/plain/gear_plan_2.svg?h=3a7edbd1127cacc8f4c90376595b894105f3d479 \ No newline at end of file diff --git a/chapter-qkd/figures/gear_plan_2.svg.git_path b/chapter-qkd/figures/gear_plan_2.svg.git_path deleted file mode 100644 index 243cd92..0000000 --- a/chapter-qkd/figures/gear_plan_2.svg.git_path +++ /dev/null @@ -1 +0,0 @@ -gear_plan_2.svg \ No newline at end of file diff --git a/chapter-qkd/figures/gear_plan_2.svg.git_remote b/chapter-qkd/figures/gear_plan_2.svg.git_remote deleted file mode 100644 index 1d4c356..0000000 --- a/chapter-qkd/figures/gear_plan_2.svg.git_remote +++ /dev/null @@ -1 +0,0 @@ -git@git.jaseg.de:ihsm-secondary-mesh.git \ No newline at end of file diff --git a/chapter-qkd/figures/gear_plan_2.svg.git_rev b/chapter-qkd/figures/gear_plan_2.svg.git_rev deleted file mode 100644 index 8100ebc..0000000 --- a/chapter-qkd/figures/gear_plan_2.svg.git_rev +++ /dev/null @@ -1 +0,0 @@ -3a7edbd \ No newline at end of file diff --git a/chapter-qkd/figures/gear_plan_2.svg.latex_meta b/chapter-qkd/figures/gear_plan_2.svg.latex_meta new file mode 100644 index 0000000..1445cd5 --- /dev/null +++ b/chapter-qkd/figures/gear_plan_2.svg.latex_meta @@ -0,0 +1,4 @@ +\def\resourceurl{https://git.jaseg.de/ihsm-secondary-mesh.git/plain/gear\_plan\_2.svg?h=3a7edbd1127cacc8f4c90376595b894105f3d479} +\def\resourcerev{3a7edbd} +\def\resourcerepo{ihsm-secondary-mesh.git} +\def\resourcepath{gear\_plan\_2.svg} \ No newline at end of file diff --git a/chapter-qkd/figures/gear_plan_3.svg.git_hyperlink b/chapter-qkd/figures/gear_plan_3.svg.git_hyperlink deleted file mode 100644 index 52aef3f..0000000 --- a/chapter-qkd/figures/gear_plan_3.svg.git_hyperlink +++ /dev/null @@ -1 +0,0 @@ -https://git.jaseg.de/ihsm-secondary-mesh.git/plain/gear_plan_3.svg?h=3a7edbd1127cacc8f4c90376595b894105f3d479 \ No newline at end of file diff --git a/chapter-qkd/figures/gear_plan_3.svg.git_path b/chapter-qkd/figures/gear_plan_3.svg.git_path deleted file mode 100644 index 5670301..0000000 --- a/chapter-qkd/figures/gear_plan_3.svg.git_path +++ /dev/null @@ -1 +0,0 @@ -gear_plan_3.svg \ No newline at end of file diff --git a/chapter-qkd/figures/gear_plan_3.svg.git_remote b/chapter-qkd/figures/gear_plan_3.svg.git_remote deleted file mode 100644 index 1d4c356..0000000 --- a/chapter-qkd/figures/gear_plan_3.svg.git_remote +++ /dev/null @@ -1 +0,0 @@ -git@git.jaseg.de:ihsm-secondary-mesh.git \ No newline at end of file diff --git a/chapter-qkd/figures/gear_plan_3.svg.git_rev b/chapter-qkd/figures/gear_plan_3.svg.git_rev deleted file mode 100644 index 8100ebc..0000000 --- a/chapter-qkd/figures/gear_plan_3.svg.git_rev +++ /dev/null @@ -1 +0,0 @@ -3a7edbd \ No newline at end of file diff --git a/chapter-qkd/figures/gear_plan_3.svg.latex_meta b/chapter-qkd/figures/gear_plan_3.svg.latex_meta new file mode 100644 index 0000000..5b0330d --- /dev/null +++ b/chapter-qkd/figures/gear_plan_3.svg.latex_meta @@ -0,0 +1,4 @@ +\def\resourceurl{https://git.jaseg.de/ihsm-secondary-mesh.git/plain/gear\_plan\_3.svg?h=3a7edbd1127cacc8f4c90376595b894105f3d479} +\def\resourcerev{3a7edbd} +\def\resourcerepo{ihsm-secondary-mesh.git} +\def\resourcepath{gear\_plan\_3.svg} \ No newline at end of file diff --git a/chapter-qkd/figures/render_exp_1.png.git_hyperlink b/chapter-qkd/figures/render_exp_1.png.git_hyperlink deleted file mode 100644 index 85bb57d..0000000 --- a/chapter-qkd/figures/render_exp_1.png.git_hyperlink +++ /dev/null @@ -1 +0,0 @@ -https://git.jaseg.de/ihsm-secondary-mesh.git/plain/render_exp_1.png?h=3a7edbd1127cacc8f4c90376595b894105f3d479 \ No newline at end of file diff --git a/chapter-qkd/figures/render_exp_1.png.git_path b/chapter-qkd/figures/render_exp_1.png.git_path deleted file mode 100644 index b1831ba..0000000 --- a/chapter-qkd/figures/render_exp_1.png.git_path +++ /dev/null @@ -1 +0,0 @@ -render_exp_1.png \ No newline at end of file diff --git a/chapter-qkd/figures/render_exp_1.png.git_remote b/chapter-qkd/figures/render_exp_1.png.git_remote deleted file mode 100644 index 1d4c356..0000000 --- a/chapter-qkd/figures/render_exp_1.png.git_remote +++ /dev/null @@ -1 +0,0 @@ -git@git.jaseg.de:ihsm-secondary-mesh.git \ No newline at end of file diff --git a/chapter-qkd/figures/render_exp_1.png.git_rev b/chapter-qkd/figures/render_exp_1.png.git_rev deleted file mode 100644 index 8100ebc..0000000 --- a/chapter-qkd/figures/render_exp_1.png.git_rev +++ /dev/null @@ -1 +0,0 @@ -3a7edbd \ No newline at end of file diff --git a/chapter-qkd/figures/render_exp_1.png.latex_meta b/chapter-qkd/figures/render_exp_1.png.latex_meta new file mode 100644 index 0000000..8958168 --- /dev/null +++ b/chapter-qkd/figures/render_exp_1.png.latex_meta @@ -0,0 +1,4 @@ +\def\resourceurl{https://git.jaseg.de/ihsm-secondary-mesh.git/plain/render\_exp\_1.png?h=3a7edbd1127cacc8f4c90376595b894105f3d479} +\def\resourcerev{3a7edbd} +\def\resourcerepo{ihsm-secondary-mesh.git} +\def\resourcepath{render\_exp\_1.png} \ No newline at end of file diff --git a/chapter-qkd/figures/render_exp_2.png.git_hyperlink b/chapter-qkd/figures/render_exp_2.png.git_hyperlink deleted file mode 100644 index 58ecb91..0000000 --- a/chapter-qkd/figures/render_exp_2.png.git_hyperlink +++ /dev/null @@ -1 +0,0 @@ -https://git.jaseg.de/ihsm-secondary-mesh.git/plain/render_exp_2.png?h=3a7edbd1127cacc8f4c90376595b894105f3d479 \ No newline at end of file diff --git a/chapter-qkd/figures/render_exp_2.png.git_path b/chapter-qkd/figures/render_exp_2.png.git_path deleted file mode 100644 index e72c63e..0000000 --- a/chapter-qkd/figures/render_exp_2.png.git_path +++ /dev/null @@ -1 +0,0 @@ -render_exp_2.png \ No newline at end of file diff --git a/chapter-qkd/figures/render_exp_2.png.git_remote b/chapter-qkd/figures/render_exp_2.png.git_remote deleted file mode 100644 index 1d4c356..0000000 --- a/chapter-qkd/figures/render_exp_2.png.git_remote +++ /dev/null @@ -1 +0,0 @@ -git@git.jaseg.de:ihsm-secondary-mesh.git \ No newline at end of file diff --git a/chapter-qkd/figures/render_exp_2.png.git_rev b/chapter-qkd/figures/render_exp_2.png.git_rev deleted file mode 100644 index 8100ebc..0000000 --- a/chapter-qkd/figures/render_exp_2.png.git_rev +++ /dev/null @@ -1 +0,0 @@ -3a7edbd \ No newline at end of file diff --git a/chapter-qkd/figures/render_exp_2.png.latex_meta b/chapter-qkd/figures/render_exp_2.png.latex_meta new file mode 100644 index 0000000..d607998 --- /dev/null +++ b/chapter-qkd/figures/render_exp_2.png.latex_meta @@ -0,0 +1,4 @@ +\def\resourceurl{https://git.jaseg.de/ihsm-secondary-mesh.git/plain/render\_exp\_2.png?h=3a7edbd1127cacc8f4c90376595b894105f3d479} +\def\resourcerev{3a7edbd} +\def\resourcerepo{ihsm-secondary-mesh.git} +\def\resourcepath{render\_exp\_2.png} \ No newline at end of file diff --git a/chapter-qkd/figures/render_side_1.png.git_hyperlink b/chapter-qkd/figures/render_side_1.png.git_hyperlink deleted file mode 100644 index 107c3ae..0000000 --- a/chapter-qkd/figures/render_side_1.png.git_hyperlink +++ /dev/null @@ -1 +0,0 @@ -https://git.jaseg.de/ihsm-secondary-mesh.git/plain/render_side_1.png?h=3a7edbd1127cacc8f4c90376595b894105f3d479 \ No newline at end of file diff --git a/chapter-qkd/figures/render_side_1.png.git_path b/chapter-qkd/figures/render_side_1.png.git_path deleted file mode 100644 index ecfb742..0000000 --- a/chapter-qkd/figures/render_side_1.png.git_path +++ /dev/null @@ -1 +0,0 @@ -render_side_1.png \ No newline at end of file diff --git a/chapter-qkd/figures/render_side_1.png.git_remote b/chapter-qkd/figures/render_side_1.png.git_remote deleted file mode 100644 index 1d4c356..0000000 --- a/chapter-qkd/figures/render_side_1.png.git_remote +++ /dev/null @@ -1 +0,0 @@ -git@git.jaseg.de:ihsm-secondary-mesh.git \ No newline at end of file diff --git a/chapter-qkd/figures/render_side_1.png.git_rev b/chapter-qkd/figures/render_side_1.png.git_rev deleted file mode 100644 index 8100ebc..0000000 --- a/chapter-qkd/figures/render_side_1.png.git_rev +++ /dev/null @@ -1 +0,0 @@ -3a7edbd \ No newline at end of file diff --git a/chapter-qkd/figures/render_side_1.png.latex_meta b/chapter-qkd/figures/render_side_1.png.latex_meta new file mode 100644 index 0000000..316c9f2 --- /dev/null +++ b/chapter-qkd/figures/render_side_1.png.latex_meta @@ -0,0 +1,4 @@ +\def\resourceurl{https://git.jaseg.de/ihsm-secondary-mesh.git/plain/render\_side\_1.png?h=3a7edbd1127cacc8f4c90376595b894105f3d479} +\def\resourcerev{3a7edbd} +\def\resourcerepo{ihsm-secondary-mesh.git} +\def\resourcepath{render\_side\_1.png} \ No newline at end of file diff --git a/chapter-qkd/figures/render_side_2.png.git_hyperlink b/chapter-qkd/figures/render_side_2.png.git_hyperlink deleted file mode 100644 index d257a1e..0000000 --- a/chapter-qkd/figures/render_side_2.png.git_hyperlink +++ /dev/null @@ -1 +0,0 @@ -https://git.jaseg.de/ihsm-secondary-mesh.git/plain/render_side_2.png?h=3a7edbd1127cacc8f4c90376595b894105f3d479 \ No newline at end of file diff --git a/chapter-qkd/figures/render_side_2.png.git_path b/chapter-qkd/figures/render_side_2.png.git_path deleted file mode 100644 index bed1a6b..0000000 --- a/chapter-qkd/figures/render_side_2.png.git_path +++ /dev/null @@ -1 +0,0 @@ -render_side_2.png \ No newline at end of file diff --git a/chapter-qkd/figures/render_side_2.png.git_remote b/chapter-qkd/figures/render_side_2.png.git_remote deleted file mode 100644 index 1d4c356..0000000 --- a/chapter-qkd/figures/render_side_2.png.git_remote +++ /dev/null @@ -1 +0,0 @@ -git@git.jaseg.de:ihsm-secondary-mesh.git \ No newline at end of file diff --git a/chapter-qkd/figures/render_side_2.png.git_rev b/chapter-qkd/figures/render_side_2.png.git_rev deleted file mode 100644 index 8100ebc..0000000 --- a/chapter-qkd/figures/render_side_2.png.git_rev +++ /dev/null @@ -1 +0,0 @@ -3a7edbd \ No newline at end of file diff --git a/chapter-qkd/figures/render_side_2.png.latex_meta b/chapter-qkd/figures/render_side_2.png.latex_meta new file mode 100644 index 0000000..d4bde38 --- /dev/null +++ b/chapter-qkd/figures/render_side_2.png.latex_meta @@ -0,0 +1,4 @@ +\def\resourceurl{https://git.jaseg.de/ihsm-secondary-mesh.git/plain/render\_side\_2.png?h=3a7edbd1127cacc8f4c90376595b894105f3d479} +\def\resourcerev{3a7edbd} +\def\resourcerepo{ihsm-secondary-mesh.git} +\def\resourcepath{render\_side\_2.png} \ No newline at end of file diff --git a/chapter-qkd/figures/schema_wire.svg.git_hyperlink b/chapter-qkd/figures/schema_wire.svg.git_hyperlink deleted file mode 100644 index 0e9f603..0000000 --- a/chapter-qkd/figures/schema_wire.svg.git_hyperlink +++ /dev/null @@ -1 +0,0 @@ -https://git.jaseg.de/ihsm-secondary-mesh.git/plain/schema_wire.svg?h=3a7edbd1127cacc8f4c90376595b894105f3d479 \ No newline at end of file diff --git a/chapter-qkd/figures/schema_wire.svg.git_path b/chapter-qkd/figures/schema_wire.svg.git_path deleted file mode 100644 index bf416c0..0000000 --- a/chapter-qkd/figures/schema_wire.svg.git_path +++ /dev/null @@ -1 +0,0 @@ -schema_wire.svg \ No newline at end of file diff --git a/chapter-qkd/figures/schema_wire.svg.git_remote b/chapter-qkd/figures/schema_wire.svg.git_remote deleted file mode 100644 index 1d4c356..0000000 --- a/chapter-qkd/figures/schema_wire.svg.git_remote +++ /dev/null @@ -1 +0,0 @@ -git@git.jaseg.de:ihsm-secondary-mesh.git \ No newline at end of file diff --git a/chapter-qkd/figures/schema_wire.svg.git_rev b/chapter-qkd/figures/schema_wire.svg.git_rev deleted file mode 100644 index 8100ebc..0000000 --- a/chapter-qkd/figures/schema_wire.svg.git_rev +++ /dev/null @@ -1 +0,0 @@ -3a7edbd \ No newline at end of file diff --git a/chapter-qkd/figures/schema_wire.svg.latex_meta b/chapter-qkd/figures/schema_wire.svg.latex_meta new file mode 100644 index 0000000..b65560f --- /dev/null +++ b/chapter-qkd/figures/schema_wire.svg.latex_meta @@ -0,0 +1,4 @@ +\def\resourceurl{https://git.jaseg.de/ihsm-secondary-mesh.git/plain/schema\_wire.svg?h=3a7edbd1127cacc8f4c90376595b894105f3d479} +\def\resourcerev{3a7edbd} +\def\resourcerepo{ihsm-secondary-mesh.git} +\def\resourcepath{schema\_wire.svg} \ No newline at end of file diff --git a/chapter-qkd/figures/update_figures.py b/chapter-qkd/figures/update_figures.py index 3914d03..a539ef6 100644 --- a/chapter-qkd/figures/update_figures.py +++ b/chapter-qkd/figures/update_figures.py @@ -1,5 +1,6 @@ #!/usr/bin/env python3 +import textwrap import subprocess import sys import fnmatch @@ -36,6 +37,11 @@ def remote_url(repo=None): def paths(s): return [Path(line.strip()) for line in s.strip().splitlines()] +def tex_escape(s): + s = str(s) + s = s.replace('_', r'\_') + return s + @click.command() @click.argument('figure_dir', default='.', type=click.Path(exists=True, file_okay=False, path_type=Path)) @@ -68,18 +74,21 @@ def cli(figure_dir): print(f'Updated {fig_fn} from {mod_fn}.') shutil.copy(mod_file, fig_file) - meta_file('.git_path').write_text(str(mod_fn)) - repo_url = remote_url(repo=mod) - meta_file('.git_remote').write_text(repo_url) url_prefix = repo_url.replace('git@git.jaseg.de:', 'https://git.jaseg.de/') + repo_name = repo_url.replace('git@git.jaseg.de:', '').replace('https://git.jaseg.de/', '') git_rev = git('rev-parse', 'HEAD', repo=mod).strip() cgit_url = f'{url_prefix}/plain/{mod_fn}?h={git_rev}' - meta_file('.git_hyperlink').write_text(cgit_url) git_tag = git('describe', '--always', '--tags', repo=mod).strip() - meta_file('.git_rev').write_text(git_tag) + + meta_file('.latex_meta').write_text(textwrap.dedent(fr''' + \def\resourceurl{{{tex_escape(cgit_url)}}} + \def\resourcerev{{{tex_escape(git_tag)}}} + \def\resourcerepo{{{tex_escape(repo_name)}}} + \def\resourcepath{{{tex_escape(mod_fn)}}} + ''').strip()) unmatched = figure_files - set(repo_matches.keys()) if unmatched: