Create a placeholder for the mcopy whitepaper

This commit is contained in:
Matt McWilliams 2025-02-20 14:37:16 -05:00
parent 920c257bf1
commit 93cc0d4151
5 changed files with 288 additions and 0 deletions

39
docs/whitepaper/README.md Normal file
View File

@ -0,0 +1,39 @@
---
fontfamily: tgtermes
title: "mcopy: Modular Optical Tool Platform for Small Gauge Motion Picture Film"
documentclass: article
author:
- name: Matthew McWilliams
affiliation: sixteenmillimeter.com
email: hi@mmcwilliams.com
abstract: |
Tools purpose-built for working with 16mm, Super8 and Regular8 film have not been produced commercially since the
The mcopy project proposes a modular, open-source platform for building optical tools for small gauge analog moviefilm formats.
The platform can be used to assemble optical printers, digital transfer units and film recorders for digital images.
bibliography: sources.bib
csl: citation_style.csl
---
# Introduction
# Desktop Application
# Serial Protocol
# Retrofitting Existing Hardware
# New Hardware
Retrofitting existing hardware was always intended as the first step to producing new hardware modules that could eventually completely replace all legacy machine parts.
This approach is sometimes referred to as a "Ship of Theseus pattern"[@wiki-shipoftheseus] and in this application is, simply put: build machines using parts that people and organizations already have until total replacements can be designed.
The practice of retrofitting hardware, in this case, required the kind of inspection that makes designing replacements possible: detailed measurements, documenting electrical diagrams, and review of sourced components.
Two examples of this pattern that have materialized new modular components are the projector and gate designs.
## References
---
refs: |
::: {#refs}
:::
...

View File

@ -0,0 +1,169 @@
<?xml version="1.0" encoding="utf-8"?>
<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only" default-locale="en-GB">
<info>
<title>Nature</title>
<id>http://www.zotero.org/styles/nature</id>
<link href="http://www.zotero.org/styles/nature" rel="self"/>
<link href="http://www.nature.com/nature/authors/gta/index.html#a5.4" rel="documentation"/>
<link href="http://www.nature.com/srep/publish/guidelines#references" rel="documentation"/>
<author>
<name>Michael Berkowitz</name>
<email>mberkowi@gmu.edu</email>
</author>
<category citation-format="numeric"/>
<category field="science"/>
<category field="generic-base"/>
<issn>0028-0836</issn>
<eissn>1476-4687</eissn>
<updated>2022-07-01T16:03:34+00:00</updated>
<rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
</info>
<macro name="title">
<choose>
<if type="bill book graphic legal_case legislation motion_picture report song" match="any">
<text variable="title" font-style="italic" text-case="title"/>
</if>
<else>
<text variable="title"/>
</else>
</choose>
</macro>
<macro name="author">
<names variable="author">
<name sort-separator=", " delimiter=", " and="symbol" initialize-with=". " delimiter-precedes-last="never" name-as-sort-order="all"/>
<label form="short" prefix=", "/>
<et-al font-style="italic"/>
</names>
</macro>
<macro name="access">
<choose>
<if variable="volume" type="article dataset software" match="any"/>
<else-if variable="DOI">
<text variable="DOI" prefix="doi:"/>
</else-if>
</choose>
</macro>
<macro name="access-data">
<choose>
<if type="dataset software" match="any">
<text variable="DOI" prefix="https://doi.org/"/>
</if>
</choose>
</macro>
<macro name="issuance">
<choose>
<if type="bill book graphic legal_case legislation motion_picture song thesis chapter paper-conference" match="any">
<group delimiter="; " suffix=".">
<group delimiter=", " prefix="(" suffix=")">
<text variable="publisher" form="long"/>
<text variable="publisher-place"/>
<date variable="issued">
<date-part name="year"/>
</date>
</group>
</group>
</if>
<else-if type="article">
<group delimiter=" ">
<choose>
<if variable="genre" match="any">
<text variable="genre" text-case="capitalize-first"/>
</if>
<else>
<text term="article" text-case="capitalize-first"/>
</else>
</choose>
<text term="at"/>
<choose>
<if variable="DOI" match="any">
<text variable="DOI" prefix="https://doi.org/"/>
</if>
<else>
<text variable="URL"/>
</else>
</choose>
<date date-parts="year" form="text" variable="issued" prefix="(" suffix=")"/>
</group>
</else-if>
<else-if type="dataset software" match="any">
<group delimiter=" ">
<text variable="publisher"/>
<text macro="access-data"/>
<date date-parts="year" form="text" variable="issued" prefix="(" suffix=")"/>
</group>
</else-if>
<else-if type="report webpage post post-weblog" match="any">
<group delimiter=" ">
<text variable="URL"/>
<date date-parts="year" form="text" variable="issued" prefix="(" suffix=")"/>
</group>
</else-if>
<else>
<date variable="issued" prefix="(" suffix=")">
<date-part name="year"/>
</date>
</else>
</choose>
</macro>
<macro name="container-title">
<choose>
<if type="article-journal">
<text variable="container-title" font-style="italic" form="short"/>
</if>
<else>
<text variable="container-title" font-style="italic"/>
</else>
</choose>
</macro>
<macro name="editor">
<choose>
<if type="chapter paper-conference" match="any">
<names variable="editor" prefix="(" suffix=")">
<label form="short" suffix=" "/>
<name and="symbol" delimiter-precedes-last="never" initialize-with=". " name-as-sort-order="all"/>
</names>
</if>
</choose>
</macro>
<macro name="volume">
<choose>
<if type="article-journal" match="any">
<text variable="volume" font-weight="bold" suffix=","/>
</if>
<else>
<group delimiter=" ">
<label variable="volume" form="short"/>
<text variable="volume"/>
</group>
</else>
</choose>
</macro>
<citation collapse="citation-number">
<sort>
<key variable="citation-number"/>
</sort>
<layout vertical-align="sup" delimiter=",">
<text variable="citation-number"/>
</layout>
</citation>
<bibliography et-al-min="6" et-al-use-first="1" second-field-align="flush" entry-spacing="0" line-spacing="2">
<layout suffix=".">
<text variable="citation-number" suffix="."/>
<group delimiter=" ">
<text macro="author" suffix="."/>
<text macro="title" suffix="."/>
<choose>
<if type="chapter paper-conference" match="any">
<text term="in"/>
</if>
</choose>
<text macro="container-title"/>
<text macro="editor"/>
<text macro="volume"/>
<text variable="page"/>
<text macro="issuance"/>
<text macro="access"/>
</group>
</layout>
</bibliography>
</style>

View File

@ -0,0 +1,6 @@
#!/bin/bash
set -e
pandoc README.md -o mcopy_whitepaper.pdf --filter pandoc-citeproc --pdf-engine=pdflatex --template=template.tex
pandoc README.md -o index.html --filter pandoc-citeproc

View File

@ -0,0 +1,6 @@
@online{wiki-shipoftheseus,
author={Wikipedia},
title={Ship of Theseus},
url={https://en.wikipedia.org/wiki/Ship_of_Theseus},
urldate={2025-02-20}
}

View File

@ -0,0 +1,68 @@
\documentclass[10pt]{article}
\usepackage[left=1.5in,
right=1.5in,
top=1in,
bottom=1.5in,]{geometry}
\usepackage{authblk}
\usepackage{setspace}
\usepackage{hyperref}
\usepackage{lmodern} % For better font weights
\usepackage{sectsty} % For section formatting
\newlength{\cslhangindent}
\setlength{\cslhangindent}{1.5em}
\newenvironment{cslreferences}%
{\setlength{\parindent}{0pt}%
\everypar{\setlength{\hangindent}{\cslhangindent}}\ignorespaces}%
{\par}
% Handle conditionals
$if(colorlinks)$
\PassOptionsToPackage{usenames,dvipsnames}{color}
$endif$
% Handle fonts
$if(fontfamily)$
\usepackage[$for(fontfamilyoptions)$$fontfamilyoptions$$sep$,$endfor$]{$fontfamily$}
$endif$
% Make sections bolder and adjust spacing
\sectionfont{\large\bfseries}
\allsectionsfont{\bfseries}
% Adjust line spacing
\setstretch{1.1} % Tighter line spacing
\begin{document}
% Thick line above title
\noindent\rule{\textwidth}{5pt}
% Title with tighter spacing and bolder font
\begin{center}
{\fontsize{17}{19}\selectfont\bfseries $title$\par}
\end{center}
% Thin line below title
\noindent\rule{\textwidth}{1pt}
% Authors with tighter spacing
$for(author)$
\begin{center}
{\large\bfseries $author.name$\par}
{\normalsize $author.affiliation$\par}
{\normalsize\ttfamily $author.email$}
\vspace{0.7em}
\end{center}
$endfor$
\vspace{0.5em}
{\begin{center}\large\bfseries Abstract\end{center}}
\begin{quotation}
{\selectfont $abstract$}
\end{quotation}
$body$
\end{document}