From 964e2e95b9cef5657dee90b651816a83a5c48333 Mon Sep 17 00:00:00 2001 From: Thomas Dehaeze Date: Mon, 5 Aug 2024 15:59:21 +0200 Subject: [PATCH] initial commit --- .gitattributes | 2 + .gitignore | 293 +++ LICENSE.txt | 21 + index.html | 133 ++ index.org | 59 + matlab/figs-paper | 1 + matlab/index.org | 93 + matlab/preamble.tex | 114 ++ matlab/ref.bib | 94 + paper/.latexmk | 99 + paper/config.tex | 1 + ...eze24_nano_active_stabilization_system.bib | 38 + ...eze24_nano_active_stabilization_system.org | 119 ++ ...eze24_nano_active_stabilization_system.pdf | Bin 0 -> 110828 bytes ...eze24_nano_active_stabilization_system.tex | 43 + paper/iopart-num.bst | 1722 +++++++++++++++++ paper/iopconfser.cls | 99 + readme.org | 1 + 18 files changed, 2932 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 LICENSE.txt create mode 100644 index.html create mode 100644 index.org create mode 120000 matlab/figs-paper create mode 100644 matlab/index.org create mode 100644 matlab/preamble.tex create mode 100644 matlab/ref.bib create mode 100644 paper/.latexmk create mode 100644 paper/config.tex create mode 100644 paper/dehaeze24_nano_active_stabilization_system.bib create mode 100644 paper/dehaeze24_nano_active_stabilization_system.org create mode 100644 paper/dehaeze24_nano_active_stabilization_system.pdf create mode 100644 paper/dehaeze24_nano_active_stabilization_system.tex create mode 100644 paper/iopart-num.bst create mode 100644 paper/iopconfser.cls create mode 120000 readme.org diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..f092f87 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +*.svg binary +*.pdf binary diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..13cea8a --- /dev/null +++ b/.gitignore @@ -0,0 +1,293 @@ +auto/ +.auctex-auto/ + +nohup.out + +# Windows default autosave extension +*.asv + +# OSX / *nix default autosave extension +*.m~ + +# Compiled MEX binaries (all platforms) +*.mex* + +# Packaged app and toolbox files +*.mlappinstall +*.mltbx + +# Generated helpsearch folders +helpsearch*/ + +# Simulink code generation folders +slprj/ +sccprj/ + +# Simulink autosave extension +*.autosave + +# Octave session info +octave-workspace + +# Simulink Cache +*.slxc + +## Core latex/pdflatex auxiliary files: +*.aux +*.lof +*.log +*.lot +*.fls +*.out +*.toc +*.fmt +*.fot +*.cb +*.cb2 +.*.lb + +## Intermediate documents: +*.dvi +*.xdv +*-converted-to.* +# these rules might exclude image files for figures etc. +# *.ps +# *.eps +# *.pdf + +## Generated if empty string is given at "Please type another file name for output:" +.pdf + +## Bibliography auxiliary files (bibtex/biblatex/biber): +*.bbl +*.bcf +*.blg +*-blx.aux +*-blx.bib +*.run.xml + +## Build tool auxiliary files: +*.fdb_latexmk +*.synctex +*.synctex(busy) +*.synctex.gz +*.synctex.gz(busy) +*.pdfsync + +## Build tool directories for auxiliary files +# latexrun +latex.out/ + +## Auxiliary and intermediate files from other packages: +# algorithms +*.alg +*.loa + +# achemso +acs-*.bib + +# amsthm +*.thm + +# beamer +*.nav +*.pre +*.snm +*.vrb + +# changes +*.soc + +# comment +*.cut + +# cprotect +*.cpt + +# elsarticle (documentclass of Elsevier journals) +*.spl + +# endnotes +*.ent + +# fixme +*.lox + +# feynmf/feynmp +*.mf +*.mp +*.t[1-9] +*.t[1-9][0-9] +*.tfm + +#(r)(e)ledmac/(r)(e)ledpar +*.end +*.?end +*.[1-9] +*.[1-9][0-9] +*.[1-9][0-9][0-9] +*.[1-9]R +*.[1-9][0-9]R +*.[1-9][0-9][0-9]R +*.eledsec[1-9] +*.eledsec[1-9]R +*.eledsec[1-9][0-9] +*.eledsec[1-9][0-9]R +*.eledsec[1-9][0-9][0-9] +*.eledsec[1-9][0-9][0-9]R + +# glossaries +*.acn +*.acr +*.glg +*.glo +*.gls +*.glsdefs + +# gnuplottex +*-gnuplottex-* + +# gregoriotex +*.gaux +*.gtex + +# htlatex +*.4ct +*.4tc +*.idv +*.lg +*.trc +*.xref + +# hyperref +*.brf + +# knitr +*-concordance.tex +# TODO Comment the next line if you want to keep your tikz graphics files +*.tikz +*-tikzDictionary + +# listings +*.lol + +# makeidx +*.idx +*.ilg +*.ind +*.ist + +# minitoc +*.maf +*.mlf +*.mlt +*.mtc[0-9]* +*.slf[0-9]* +*.slt[0-9]* +*.stc[0-9]* + +# minted +_minted* +*.pyg + +# morewrites +*.mw + +# nomencl +*.nlg +*.nlo +*.nls + +# pax +*.pax + +# pdfpcnotes +*.pdfpc + +# sagetex +*.sagetex.sage +*.sagetex.py +*.sagetex.scmd + +# scrwfile +*.wrt + +# sympy +*.sout +*.sympy +sympy-plots-for-*.tex/ + +# pdfcomment +*.upa +*.upb + +# pythontex +*.pytxcode +pythontex-files-*/ + +# tcolorbox +*.listing + +# thmtools +*.loe + +# TikZ & PGF +*.dpth +*.md5 +*.auxlock + +# todonotes +*.tdo + +# vhistory +*.hst +*.ver + +# easy-todo +*.lod + +# xcolor +*.xcp + +# xmpincl +*.xmpi + +# xindy +*.xdy + +# xypic precompiled matrices +*.xyc + +# endfloat +*.ttt +*.fff + +# Latexian +TSWLatexianTemp* + +## Editors: +# WinEdt +*.bak +*.sav + +# Texpad +.texpadtmp + +# LyX +*.lyx~ + +# Kile +*.backup + +# KBibTeX +*~[0-9]* + +# auto folder when using emacs and auctex +./auto/* +*.el + +# expex forward references with \gathertags +*-tags.tex + +# standalone packages +*.sta diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..f936676 --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 Dehaeze Thomas + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/index.html b/index.html new file mode 100644 index 0000000..4fc3949 --- /dev/null +++ b/index.html @@ -0,0 +1,133 @@ + + + + + + +Active Damping of Rotating Platforms using Integral Force Feedback + + + + + + + +
+ UP + | + HOME +
+

Active Damping of Rotating Platforms using Integral Force Feedback +
+Dehaeze Thomas, Collette Christophe +

+
+

+Abstract: +

+ +

+This paper investigates the use of Integral Force Feedback (IFF) for the active damping of rotating mechanical systems. +Guaranteed stability, typical benefit of IFF, is lost as soon as the system is rotating due to gyroscopic effects. +To overcome this issue, two modifications of the classical IFF control scheme are proposed. +The first consists of slightly modifying the control law while the second consists of adding springs in parallel with the force sensors. +Conditions for stability and optimal parameters are derived. +The results reveal that, despite their different implementations, both modified IFF control scheme have almost identical damping authority on the suspension modes. +

+
+ +
+

Journal Paper (pdf)

+
+

+The paper has been created using Org Mode (generating LaTeX code) under Emacs. +

+ +

+To cite this journal paper use the following bibtex code. +

+
+
@article{dehaeze21_activ_dampin_rotat_platf_using,
+  author          = {Thomas Dehaeze and Christophe Collette},
+  title           = {Active Damping of Rotating Platforms Using Integral Force
+                  Feedback},
+  journal         = {Engineering Research Express},
+  year            = 2021,
+  doi             = {10.1088/2631-8695/abe803},
+  url             = {https://doi.org/10.1088/2631-8695/abe803},
+  month           = {Feb},
+}
+
+
+ +

+You can also use the formatted citation below. +

+
+

+Dehaeze, T., & Collette, C., Active damping of rotating platforms using integral force feedback, Engineering Research Express, (2021). +

+
+
+
+ +
+

Conference Paper (pdf)

+
+

+To cite this conference paper use the following bibtex code. +

+
+
@inproceedings{dehaeze20_activ_dampin_rotat_platf_integ_force_feedb,
+  author          = {Dehaeze, T. and Collette, C.},
+  title           = {Active Damping of Rotating Platforms using Integral Force
+                  Feedback},
+  booktitle       = {Proceedings of the International Conference on Modal
+                  Analysis Noise and Vibration Engineering (ISMA)},
+  year            = 2020,
+}
+
+
+ +

+You can also use the formatted citation below. +

+
+

+Dehaeze, T., & Collette, C., Active damping of rotating platforms using integral force feedback, In , Proceedings of the International Conference on Modal Analysis Noise and Vibration Engineering (ISMA) (pp. ) (2020) +

+
+
+
+ +
+

Matlab Scripts (link)

+
+

+The Matlab scripts that permits to obtain all the results presented in the paper are accessible here. +

+
+
+ +
+

Figures (link)

+
+

+All the figures in the paper are generated using either TikZ or Inkscape. The code snippets that was used to generate the figures are accessible here. +

+
+
+ +
+

Talk (link)

+
+ +
+
+
+ + diff --git a/index.org b/index.org new file mode 100644 index 0000000..f1cd807 --- /dev/null +++ b/index.org @@ -0,0 +1,59 @@ +#+TITLE: The Nano Active Stabilization System - Results on ESRF ID31 beamline +:DRAWER: +#+SUBTITLE: Dehaeze Thomas, Collette Christophe + +#+OPTIONS: toc:nil +#+OPTIONS: html-postamble:nil + +#+HTML_LINK_HOME: ../index.html +#+HTML_LINK_UP: ../index.html + +#+HTML_HEAD: +#+HTML_HEAD: +#+HTML_HEAD: +:END: + +#+begin_quote +*Abstract*: + +#+end_quote + +* Journal Paper ([[file:paper/dehaeze20_activ_dampin_rotat_platf_integ_force_feedb.pdf][pdf]]) +:PROPERTIES: +:UNNUMBERED: t +:END: + +To cite this journal paper use the following bibtex code. +#+begin_src bibtex +#+end_src + +You can also use the formatted citation below. +#+begin_quote +#+end_quote + +* Matlab Scripts ([[file:matlab/index.org][link]]) +:PROPERTIES: +:UNNUMBERED: t +:END: + +The Matlab scripts that permits to obtain all the results presented in the paper are accessible [[file:matlab/index.org][here]]. + +* Talk ([[file:talk/talk.pdf][link]]) :noexport: +:PROPERTIES: +:UNNUMBERED: t +:END: + +# #+begin_export html +# +# #+end_export + +To cite this presentation use the following bibtex code. +#+begin_src bibtex +#+end_src + +You can also use the formatted citation below. +#+begin_quote +#+end_quote diff --git a/matlab/figs-paper b/matlab/figs-paper new file mode 120000 index 0000000..30fa883 --- /dev/null +++ b/matlab/figs-paper @@ -0,0 +1 @@ +../paper/figs \ No newline at end of file diff --git a/matlab/index.org b/matlab/index.org new file mode 100644 index 0000000..65d1184 --- /dev/null +++ b/matlab/index.org @@ -0,0 +1,93 @@ +#+TITLE: The Nano Active Stabilization System - Results on ESRF ID31 beamline - Matlab Computation +:DRAWER: +#+HTML_LINK_HOME: ../index.html +#+HTML_LINK_UP: ../index.html + +#+HTML_HEAD: +#+HTML_HEAD: + +#+BIND: org-latex-image-default-option "scale=1" +#+BIND: org-latex-bib-compiler "biber" +#+BIND: org-latex-image-default-width "" + +#+LaTeX_CLASS: scrreprt +#+LaTeX_CLASS_OPTIONS: [a4paper, 10pt, DIV=12, parskip=full] +#+LaTeX_HEADER_EXTRA: \input{preamble.tex} +#+LATEX_HEADER_EXTRA: \addbibresource{ref.bib} + +#+PROPERTY: header-args:matlab :session *MATLAB* +#+PROPERTY: header-args:matlab+ :comments org +#+PROPERTY: header-args:matlab+ :exports both +#+PROPERTY: header-args:matlab+ :results none +#+PROPERTY: header-args:matlab+ :eval no-export +#+PROPERTY: header-args:matlab+ :noweb yes +#+PROPERTY: header-args:matlab+ :mkdirp yes +#+PROPERTY: header-args:matlab+ :output-dir figs +:END: + +#+begin_export html +
+

This report is also available as a pdf.

+
+#+end_export + +* Introduction :ignore: + +# The matlab code is accessible on [[https://zenodo.org/record/3894343][Zonodo]] and [[https://github.com/tdehaeze/dehaeze20_contr_stewa_platf][Github]] cite:dehaeze20_activ_dampin_rotat_posit_platf. It can also be download as a =.zip= file [[file:matlab.zip][here]]. + +# To run the Matlab code, go in the =matlab= directory and run the following Matlab files corresponding to each section. + +# #+caption: Paper's sections and corresponding Matlab files +# | Sections | Matlab File | +# |------------------------------------+----------------------------| +# | Section [[sec:system_description]] | =s1_system_description.m= | +# | Section [[sec:iff_pure_int]] | =s2_iff_pure_int.m= | +# | Section [[sec:iff_pseudo_int]] | =s3_iff_hpf.m= | +# | Section [[sec:iff_parallel_stiffness]] | =s4_iff_kp.m= | +# | Section [[sec:comparison]] | =s5_act_damp_comparison.m= | + +* System Description and Analysis +:PROPERTIES: +:header-args:matlab+: :tangle matlab/s1_system_description.m +:END: +<> + +** Matlab Init :noexport:ignore: +#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name) + <> +#+end_src + +#+begin_src matlab :exports none :results silent :noweb yes + <> +#+end_src + +#+begin_src matlab :tangle no + addpath('./matlab/'); + addpath('./src/'); +#+end_src + +* Notations +<> + +# | | Mathematical Notation | Matlab | Unit | +# |-----------------------------------+------------------------------+---------------+---------| +# | Actuator Stiffness | $k$ | =k= | N/m | +# | Actuator Damping | $c$ | =c= | N/(m/s) | +# | Payload Mass | $m$ | =m= | kg | +# | Damping Ratio | $\xi = \frac{c}{2\sqrt{km}}$ | =xi= | | +# | Actuator Force | $\bm{F}, F_u, F_v$ | =F= =Fu= =Fv= | N | +# | Force Sensor signal | $\bm{f}, f_u, f_v$ | =f= =fu= =fv= | N | +# | Relative Displacement | $\bm{d}, d_u, d_v$ | =d= =du= =dv= | m | +# | Resonance freq. when $\Omega = 0$ | $\omega_0$ | =w0= | rad/s | +# | Rotation Speed | $\Omega = \dot{\theta}$ | =W= | rad/s | +# | Low Pass Filter corner frequency | $\omega_i$ | =wi= | rad/s | + +# | | Mathematical Notation | Matlab | Unit | +# |------------------+-----------------------+--------+---------| +# | Laplace variable | $s$ | =s= | | +# | Complex number | $j$ | =j= | | +# | Frequency | $\omega$ | =w= | [rad/s] | + +* Bibliography :ignore: +# #+latex: \printbibliography +# bibliography:ref.bib diff --git a/matlab/preamble.tex b/matlab/preamble.tex new file mode 100644 index 0000000..cf596bd --- /dev/null +++ b/matlab/preamble.tex @@ -0,0 +1,114 @@ +\usepackage{float} + +\usepackage{caption,tabularx,booktabs} + +\usepackage{biblatex} + +\usepackage{fontawesome} + +\usepackage{caption} +\usepackage{subcaption} + +\captionsetup[figure]{labelfont=bf} +\captionsetup[subfigure]{labelfont=bf} +\captionsetup[listing]{labelfont=bf} +\captionsetup[table]{labelfont=bf} + +\usepackage{xcolor} + +\definecolor{my-blue}{HTML}{6b7adb} +\definecolor{my-pale-blue}{HTML}{e6e9f9} +\definecolor{my-red}{HTML}{db6b6b} +\definecolor{my-pale-red}{HTML}{f9e6e6} +\definecolor{my-green}{HTML}{6bdbb6} +\definecolor{my-pale-green}{HTML}{e6f9f3} +\definecolor{my-yellow}{HTML}{dbd26b} +\definecolor{my-pale-yellow}{HTML}{f9f7e6} +\definecolor{my-orange}{HTML}{dba76b} +\definecolor{my-pale-orange}{HTML}{f9f0e6} +\definecolor{my-grey}{HTML}{a3a3a3} +\definecolor{my-pale-grey}{HTML}{f0f0f0} +\definecolor{my-turq}{HTML}{6bc7db} +\definecolor{my-pale-turq}{HTML}{e6f6f9} + +\usepackage{inconsolata} + +\usepackage[newfloat=true, chapter]{minted} +\usemintedstyle{autumn} + +\setminted{frame=lines,breaklines=true,tabsize=4,fontsize=\scriptsize,autogobble=true,labelposition=topline,bgcolor=my-pale-grey} +\setminted[matlab]{label=Matlab} +\setminted[latex]{label=LaTeX} +\setminted[bash]{label=Bash} +\setminted[python]{label=Python} +\setminted[text]{label=Results} +\setminted[md]{label=Org Mode} + +\setmintedinline{fontsize=\normalsize,bgcolor=my-pale-grey} + +\usepackage[most]{tcolorbox} + +\tcbuselibrary{minted} + +\newtcolorbox{seealso}{ enhanced,breakable,colback=my-pale-grey,colframe=my-grey,fonttitle=\bfseries,title=See Also} +\newtcolorbox{hint}{ enhanced,breakable,colback=my-pale-grey,colframe=my-grey,fonttitle=\bfseries,title=Hint} +\newtcolorbox{definition}{enhanced,breakable,colback=my-pale-red, colframe=my-red, fonttitle=\bfseries,title=Definition} +\newtcolorbox{important}{ enhanced,breakable,colback=my-pale-red, colframe=my-red, fonttitle=\bfseries,title=Important} +\newtcolorbox{exampl}[1][]{ enhanced,breakable,colback=my-pale-green,colframe=my-green,fonttitle=\bfseries,title=Example,#1} +\newtcolorbox{exercice}{ enhanced,breakable,colback=my-pale-yellow,colframe=my-yellow,fonttitle=\bfseries,title=Exercice} +\newtcolorbox{question}{ enhanced,breakable,colback=my-pale-yellow,colframe=my-yellow,fonttitle=\bfseries,title=Question} +\newtcolorbox{answer}{ enhanced,breakable,colback=my-pale-turq,colframe=my-turq,fonttitle=\bfseries,title=Answer} +\newtcolorbox{summary}{ enhanced,breakable,colback=my-pale-blue,colframe=my-blue,fonttitle=\bfseries,title=Summary} +\newtcolorbox{note}{ enhanced,breakable,colback=my-pale-blue,colframe=my-blue,fonttitle=\bfseries,title=Note} +\newtcolorbox{caution}{ enhanced,breakable,colback=my-pale-orange,colframe=my-orange,fonttitle=\bfseries,title=Caution} +\newtcolorbox{warning}{ enhanced,breakable,colback=my-pale-orange,colframe=my-orange,fonttitle=\bfseries,title=Warning} + +\newtcolorbox{my-quote}[1]{% + colback=my-pale-grey, + grow to right by=-10mm, + grow to left by=-10mm, + boxrule=0pt, + boxsep=0pt, + breakable, + enhanced jigsaw, + borderline west={4pt}{0pt}{my-grey}} + +\renewenvironment{quote}{\begin{my-quote}}{\end{my-quote}} + +\newtcolorbox{my-verse}[1]{% + colback=my-pale-grey, + grow to right by=-10mm, + grow to left by=-10mm, + boxrule=0pt, + boxsep=0pt, + breakable, + enhanced jigsaw, + borderline west={4pt}{0pt}{my-grey}} + +\renewenvironment{verse}{\begin{my-verse}}{\end{my-verse}} + +\usepackage{environ}% http://ctan.org/pkg/environ +\NewEnviron{aside}{% + \marginpar{\BODY} +} + +\renewenvironment{verbatim}{\VerbatimEnvironment\begin{minted}[]{text}}{\end{minted}} + +\usepackage{soul} +\sethlcolor{my-pale-grey} + +\let\OldTexttt\texttt +\renewcommand{\texttt}[1]{{\ttfamily\hl{\mbox{\,#1\,}}}} + +\makeatletter +\preto\Gin@extensions{png,} +\DeclareGraphicsRule{.png}{pdf}{.pdf}{\noexpand\Gin@base.pdf} +\makeatother + +\usepackage{hyperref} +\hypersetup{ + colorlinks = true, + allcolors = my-blue +} + +\usepackage{hypcap} diff --git a/matlab/ref.bib b/matlab/ref.bib new file mode 100644 index 0000000..5caa86d --- /dev/null +++ b/matlab/ref.bib @@ -0,0 +1,94 @@ +@article{collette15_sensor_fusion_method_high_perfor, + author = {C. Collette and F. Matichard}, + title = {Sensor Fusion Methods for High Performance Active Vibration Isolation Systems}, + journal = {Journal of Sound and Vibration}, + volume = {342}, + number = {nil}, + pages = {1-21}, + year = {2015}, + doi = {10.1016/j.jsv.2015.01.006}, + url = {https://doi.org/10.1016/j.jsv.2015.01.006}, + keywords = {}, +} + +@inproceedings{collette14_vibrat, + author = {Collette, C. and Matichard, F}, + title = {Vibration control of flexible structures using fusion of inertial sensors and hyper-stable actuator-sensor pairs}, + booktitle = {International Conference on Noise and Vibration Engineering (ISMA2014)}, + year = {2014}, + keywords = {}, +} + +@article{oomen18_advan_motion_contr_precis_mechat, + author = {Tom Oomen}, + title = {Advanced Motion Control for Precision Mechatronics: Control, Identification, and Learning of Complex Systems}, + journal = {IEEJ Journal of Industry Applications}, + volume = {7}, + number = {2}, + pages = {127-140}, + year = {2018}, + doi = {10.1541/ieejjia.7.127}, + url = {https://doi.org/10.1541/ieejjia.7.127}, +} + +@book{skogestad07_multiv_feedb_contr, + author = {Skogestad, Sigurd and Postlethwaite, Ian}, + title = {Multivariable Feedback Control: Analysis and Design}, + year = {2007}, + publisher = {John Wiley}, + keywords = {favorite}, +} + +@phdthesis{hua05_low_ligo, + author = {Hua, Wensheng}, + school = {stanford university}, + title = {Low frequency vibration isolation and alignment system for + advanced LIGO}, + year = 2005, +} + +@book{lurie12_class, + author = {Lurie, B. J}, + title = {Classical feedback control : with MATLAB and Simulink}, + year = 2012, + publisher = {CRC Press}, + address = {Boca Raton, FL}, + isbn = 9781439897461, + keywords = {favorite}, +} + +@techreport{bibel92_guidel_h, + author = {Bibel, John E and Malyevac, D Stephen}, + institution = {NAVAL SURFACE WARFARE CENTER DAHLGREN DIV VA}, + title = {Guidelines for the selection of weighting functions for + H-infinity control}, + year = 1992, + keywords = {}, +} + +@inproceedings{dehaeze20_activ_dampin_rotat_platf_integ_force_feedb, + author = {Dehaeze, T. and Collette, C.}, + title = {Active Damping of Rotating Platforms using Integral Force + Feedback}, + booktitle = {Proceedings of the International Conference on Modal + Analysis Noise and Vibration Engineering (ISMA)}, + year = 2020, +} + +@misc{dehaeze20_activ_dampin_rotat_posit_platf, + author = {Thomas Dehaeze}, + howpublished = {Source Code on Zonodo}, + month = 07, + title = {Active Damping of Rotating Positioning Platforms}, + url = {https://doi.org/10.5281/zenodo.3894342}, + doi = {10.5281/zenodo.3894342}, + year = 2020, +} + +@article{dehaeze21_activ_dampin_rotat_platf_using, + author = {Thomas Dehaeze and Christophe Collette}, + title = {Active Damping of Rotating Platforms Using Integral Force Feedback}, + journal = {Engineering Research Express}, + year = {2021}, + url = {http://iopscience.iop.org/article/10.1088/2631-8695/abe803}, +} diff --git a/paper/.latexmk b/paper/.latexmk new file mode 100644 index 0000000..9355a36 --- /dev/null +++ b/paper/.latexmk @@ -0,0 +1,99 @@ +#!/bin/env perl + +# Shebang is only to get syntax highlighting right across GitLab, GitHub and IDEs. +# This file is not meant to be run, but read by `latexmk`. + +# ====================================================================================== +# Perl `latexmk` configuration file +# ====================================================================================== + +# ====================================================================================== +# PDF Generation/Building/Compilation +# ====================================================================================== + +@default_files=('dehaeze24_nano_active_stabilization_system.tex'); + +# PDF-generating modes are: +# 1: pdflatex, as specified by $pdflatex variable (still largely in use) +# 2: postscript conversion, as specified by the $ps2pdf variable (useless) +# 3: dvi conversion, as specified by the $dvipdf variable (useless) +# 4: lualatex, as specified by the $lualatex variable (best) +# 5: xelatex, as specified by the $xelatex variable (second best) +$pdf_mode = 1; + +# Treat undefined references and citations as well as multiply defined references as +# ERRORS instead of WARNINGS. +# This is only checked in the *last* run, since naturally, there are undefined references +# in initial runs. +# This setting is potentially annoying when debugging/editing, but highly desirable +# in the CI pipeline, where such a warning should result in a failed pipeline, since the +# final document is incomplete/corrupted. +# +# However, I could not eradicate all warnings, so that `latexmk` currently fails with +# this option enabled. +# Specifically, `microtype` fails together with `fontawesome`/`fontawesome5`, see: +# https://tex.stackexchange.com/a/547514/120853 +# The fix in that answer did not help. +# Setting `verbose=silent` to mute `microtype` warnings did not work. +# Switching between `fontawesome` and `fontawesome5` did not help. +$warnings_as_errors = 0; + +# Show used CPU time. Looks like: https://tex.stackexchange.com/a/312224/120853 +$show_time = 1; + +# Default is 5; we seem to need more owed to the complexity of the document. +# Actual documents probably don't need this many since they won't use all features, +# plus won't be compiling from cold each time. +$max_repeat=7; + +# --shell-escape option (execution of code outside of latex) is required for the +#'svg' package. +# It converts raw SVG files to the PDF+PDF_TEX combo using InkScape. +# +# SyncTeX allows to jump between source (code) and output (PDF) in IDEs with support +# (many have it). A value of `1` is enabled (gzipped), `-1` is enabled but uncompressed, +# `0` is off. +# Testing in VSCode w/ LaTeX Workshop only worked for the compressed version. +# Adjust this as needed. Of course, only relevant for local use, no effect on a remote +# CI pipeline (except for slower compilation, probably). +# +# %O and %S will forward Options and the Source file, respectively, given to latexmk. +# +# `set_tex_cmds` applies to all *latex commands (latex, xelatex, lualatex, ...), so +# no need to specify these each. This allows to simply change `$pdf_mode` to get a +# different engine. Check if this works with `latexmk --commands`. +set_tex_cmds("--shell-escape -interaction=nonstopmode --synctex=1 %O %S"); + +# Use default pdf viewer +$pdf_previewer = 'zathura'; + +# option 2 is same as 1 (run biber when necessary), but also deletes the +# regeneratable bbl-file in a clenaup (`latexmk -c`). Do not use if original +# bib file is not available! +$bibtex_use = 2; # default: 1 + +# Change default `biber` call, help catch errors faster/clearer. See +# https://web.archive.org/web/20200526101657/https://www.semipol.de/2018/06/12/latex-best-practices.html#database-entries +$biber = "biber --validate-datamodel %O %S"; + +# ====================================================================================== +# Auxiliary Files +# ====================================================================================== + +# Let latexmk know about generated files, so they can be used to detect if a +# rerun is required, or be deleted in a cleanup. +# loe: List of Examples (KOMAScript) +# lol: List of Listings (`listings` and `minted` packages) +# run.xml: biber runs +# glg: glossaries log +# glstex: generated from glossaries-extra +push @generated_exts, 'loe', 'lol', 'run.xml', 'glg', 'glstex'; + +# Also delete the *.glstex files from package glossaries-extra. Problem is, +# that that package generates files of the form "basename-digit.glstex" if +# multiple glossaries are present. Latexmk looks for "basename.glstex" and so +# does not find those. For that purpose, use wildcard. +# Also delete files generated by gnuplot/pgfplots contour plots +# (.dat, .script, .table). +$clean_ext = "%R-*.glstex %R_contourtmp*.*"; + diff --git a/paper/config.tex b/paper/config.tex new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/paper/config.tex @@ -0,0 +1 @@ + diff --git a/paper/dehaeze24_nano_active_stabilization_system.bib b/paper/dehaeze24_nano_active_stabilization_system.bib new file mode 100644 index 0000000..18488f6 --- /dev/null +++ b/paper/dehaeze24_nano_active_stabilization_system.bib @@ -0,0 +1,38 @@ +@inproceedings{dehaeze18_sampl_stabil_for_tomog_exper, + author = {Thomas Dehaeze and M. Magnin Mattenet and Christophe + Collette}, + title = {Sample Stabilization For Tomography Experiments In Presence + Of Large Plant Uncertainty}, + booktitle = {MEDSI'18}, + year = 2018, + number = 10, + pages = {153--157}, + doi = {10.18429/JACoW-MEDSI2018-WEOAMA02}, + url = {https://doi.org/10.18429/JACoW-MEDSI2018-WEOAMA02}, + address = {Geneva, Switzerland}, + isbn = {978-3-95450-207-3}, + keywords = {nass, esrf}, + language = {english}, + month = {Dec}, + publisher = {JACoW Publishing}, + series = {Mechanical Engineering Design of Synchrotron Radiation + Equipment and Instrumentation}, + venue = {Paris, France}, +} + + + +@inproceedings{dehaeze21_mechat_approac_devel_nano_activ_stabil_system, + author = {Dehaeze, T. and Bonnefoy, J. and Collette, C.}, + title = {Mechatronics Approach for the Development of a + Nano-Active-Stabilization-System}, + booktitle = {MEDSI'20}, + year = 2021, + language = {english}, + publisher = {JACoW Publishing}, + series = {Mechanical Engineering Design of Synchrotron Radiation + Equipment and Instrumentation}, + venue = {Chicago, USA}, + keywords = {nass, esrf}, +} + diff --git a/paper/dehaeze24_nano_active_stabilization_system.org b/paper/dehaeze24_nano_active_stabilization_system.org new file mode 100644 index 0000000..b9941e6 --- /dev/null +++ b/paper/dehaeze24_nano_active_stabilization_system.org @@ -0,0 +1,119 @@ +#+TITLE: +:DRAWER: +#+LATEX_CLASS: iopconfser +#+OPTIONS: toc:nil date:nil +#+STARTUP: overview + +#+DATE: +#+AUTHOR: + +# #+LATEX_HEADER: \input{config.tex} + +#+LATEX_HEADER_EXTRA: \usepackage[backend=biber,style=iopart-num]{biblatex} +#+LATEX_HEADER_EXTRA: \addbibresource{dehaeze24_nano_active_stabilization_system.bib} +:END: + +* LaTeX Config :noexport: +#+begin_src latex :tangle config.tex + +#+end_src + +* Build :noexport: +#+name: startblock +#+BEGIN_SRC emacs-lisp :results none + (add-to-list 'org-latex-classes + '("iopconfser" + "\\documentclass{iopconfser}" + ("\\section{%s}" . "\\section*{%s}") + ("\\subsection{%s}" . "\\subsection*{%s}") + ("\\subsubsection{%s}" . "\\subsubsection*{%s}") + ("\\paragraph{%s}" . "\\paragraph*{%s}") + ("\\subparagraph{%s}" . "\\subparagraph*{%s}")) + ) + + (setq org-latex-packages-alist nil) + (setq org-latex-default-packages-alist nil) + + ;; Remove automatic org headings + (defun my-latex-filter-removeOrgAutoLabels (text backend info) + "Org-mode automatically generates labels for headings despite explicit use of `#+LABEL`. This filter forcibly removes all automatically generated org-labels in headings." + (when (org-export-derived-backend-p backend 'latex) + (replace-regexp-in-string "\\\\label{sec:org[a-f0-9]+}\n" "" text))) + + (add-to-list 'org-export-filter-headline-functions + 'my-latex-filter-removeOrgAutoLabels) + + ;; Automatic delete org org-comments + (defun delete-org-comments (backend) + (loop for comment in (reverse (org-element-map (org-element-parse-buffer) + 'comment 'identity)) + do + (setf (buffer-substring (org-element-property :begin comment) + (org-element-property :end comment)) + ""))) + + ;; add to export hook + (add-hook 'org-export-before-processing-hook 'delete-org-comments) + + ;; Remove hypersetup + (setq org-latex-with-hyperref nil) + + ;; Remove empty title as it is manually placed after "/begin{document}" + (defun my-org-latex-remove-title (str) + (replace-regexp-in-string "^\\\\title{}$" "" str)) + + (advice-add 'org-latex-template :filter-return 'my-org-latex-remove-title) + + ;; Remove empty date + (defun my-org-latex-remove-date (str) + (replace-regexp-in-string "^\\\\date{}$" "" str)) + + (advice-add 'org-latex-template :filter-return 'my-org-latex-remove-date) +#+END_SRC + +* Title :ignore: + +#+begin_export latex +\title{The Nano Active Stabilization System - Results on the ESRF ID31 Beamline} + +\author{Thomas Dehaeze$^{1,2}$ and Christophe Collette$^{2}$} + +\affil{$^1$European Synchrotron Radiation Facility Grenoble, France} +\affil{$^2$Precision Mechatronics Laboratory University of Liege, Belgium} + +\email{thomas.dehaeze@esrf.fr} +#+end_export + +* Abstract :ignore: + +# The abstract must be a single paragraph providing concise information about the content of the +# article, including the main results obtained and conclusions drawn. The abstract must not contain any +# table numbers, figure numbers, references or displayed mathematics. Leave at least 10 mm space below +# the abstract before starting the main text of your article on the same page. + +#+begin_abstract +This paper investigates... +#+end_abstract + +* Introduction +<> + +Here is the introduction ... +Some citation: +[[cite:&dehaeze18_sampl_stabil_for_tomog_exper]] +[[cite:&dehaeze21_mechat_approac_devel_nano_activ_stabil_system]] + +* Conclusion +<> + +Conclusion text + +* Acknowledgment +:PROPERTIES: +:UNNUMBERED: t +:END: + +This research benefited from a FRIA grant from the French Community of Belgium. + +* Bibliography :ignore: +\printbibliography diff --git a/paper/dehaeze24_nano_active_stabilization_system.pdf b/paper/dehaeze24_nano_active_stabilization_system.pdf new file mode 100644 index 0000000000000000000000000000000000000000..2345a9ca6c3181f7f9735bbc0875ac95e1fd0651 GIT binary patch literal 110828 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

{; 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 LT3Sg(DZu{#NFCMO literal 0 HcmV?d00001 diff --git a/paper/dehaeze24_nano_active_stabilization_system.tex b/paper/dehaeze24_nano_active_stabilization_system.tex new file mode 100644 index 0000000..ec66090 --- /dev/null +++ b/paper/dehaeze24_nano_active_stabilization_system.tex @@ -0,0 +1,43 @@ +% Created 2024-08-05 Mon 15:57 +% Intended LaTeX compiler: pdflatex +\documentclass{iopconfser} + +\usepackage[backend=biber]{biblatex} + +\addbibresource{dehaeze24_nano_active_stabilization_system.bib} + + +\begin{document} + + +\title{The Nano Active Stabilization System - Results on the ESRF ID31 Beamline} + +\author{Thomas Dehaeze$^{1,2}$ and Christophe Collette$^{2}$} + +\affil{$^1$European Synchrotron Radiation Facility Grenoble, France} +\affil{$^2$Precision Mechatronics Laboratory University of Liege, Belgium} + +\email{thomas.dehaeze@esrf.fr} + +\begin{abstract} +This paper investigates\ldots{} +\end{abstract} + +\section{Introduction} +\label{sec:introduction} + +Here is the introduction \ldots{} +Some citation: +\cite{dehaeze18_sampl_stabil_for_tomog_exper} +\cite{dehaeze21_mechat_approac_devel_nano_activ_stabil_system} + +\section{Conclusion} +\label{sec:conclusion} + +Conclusion text + +\section*{Acknowledgment} +This research benefited from a FRIA grant from the French Community of Belgium. + +\printbibliography +\end{document} diff --git a/paper/iopart-num.bst b/paper/iopart-num.bst new file mode 100644 index 0000000..cc46b18 --- /dev/null +++ b/paper/iopart-num.bst @@ -0,0 +1,1722 @@ +% iopart-num.bst -- BibTeX style for IOP journals (Harvard-like numeric style) +% M. A. Caprio +% +% DESCRIPTION +% +% Further documenation may be found in iopart-num.pdf. +% +% Available from CTAN as /biblio/bibtex/contrib/iopart-num. +% +% COPYRIGHT/LICENSE +% +% Copyright 2009 M. A. Caprio +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either +% version 1.3 of this license or (at your option) any later +% version. The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of +% LaTeX version 2005/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% The Current Maintainer of this work is the author. +% +% The contents of this work are listed in the README file. +% +% HISTORY +% +% Version 1.0 (2005/07/11) +% Created using custom-bib (merlin.mbs), with following manual modifications: +% -- remove trailing period from predefined volume, page, etc., abbreviations +% -- provide command \newblock to fix incompatibility between natbib +% and iopart (as of iopart version 1996/06/10) +% -- move edition after booktitle +% -- add version identifier to generated output +% -- for incollection and inproceedings, move volume from after publisher to before +% -- for any series with number, number after series +% Version 2.0 (2006/12/21) +% -- define section field for proper formatting of lettered journal sections +% (suggested by Chris Latham) +% -- suppress printing of number for article, but provide issue field +% for periodicals with issue-based page numbering (suggested by Chris Latham) +% -- patch remove.dots to not strip "\." control sequence (bug reported by Kevin Bube) +% -- define epilog field (undocumented) +% -- delete predefined computer science journal names +% -- bring book volume+number or series+number formatting into IOP form +% -- for book, inbook, and proceedings with editors but no author, fix formating of editors +% -- for incollection and inproceedings, put editors in correct location +% -- for journal: use same page formatting even if volume missing +% Version 2.1 (2009/01/22) +% -- for incollection and inproceedings: support title of chapter (not appropriate +% to inbook) +% -- for book, proceedings, etc.: support volumetitle for multivolume book +% +% LIMITATIONS +% +% Still not in IOP form: +% -- for incollection and inproceedings, editors initials should preceed rather +% than follow last name +% Other: +% -- hyphenated first names lose hyphen + +%% This is file `iopart-num.bst', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% merlin.mbs (with options: `seq-no,nm-rv,dt-beg,yr-blk,xmth,yrp-x,jtit-x,vol-bf,volp-blk,num-xser,jnm-x,add-pub,pub-par,pre-pub,isbn,issn,blk-com,com-blank,fin-bare,pp,ed,abr,ednx,mth-bare,ord,jabr,and-xcom,etal-it,revdata,eprint,url,url-blk') +%% ---------------------------------------- +%% *** Institute of Physics (IOP) journals; Harvard-like numeric style *** +%% +%% Copyright 1994-2002 Patrick W Daly + % =============================================================== + % IMPORTANT NOTICE: + % This bibliographic style (bst) file has been generated from one or + % more master bibliographic style (mbs) files, listed above. + % + % This generated file can be redistributed and/or modified under the terms + % of the LaTeX Project Public License Distributed from CTAN + % archives in directory macros/latex/base/lppl.txt; either + % version 1 of the License, or any later version. + % =============================================================== + % Name and version information of the main mbs file: + % \ProvidesFile{merlin.mbs}[2002/10/21 4.05 (PWD, AO, DPC)] + % For use with BibTeX version 0.99a or later + %------------------------------------------------------------------- + % This bibliography style file is intended for texts in ENGLISH + % This is a numerical citation style, and as such is standard LaTeX. + % It requires no extra package to interface to the main text. + % The form of the \bibitem entries is + % \bibitem{key}... + % Usage of \cite is as follows: + % \cite{key} ==>> [#] + % \cite[chap. 2]{key} ==>> [#, chap. 2] + % where # is a number determined by the ordering in the reference list. + % The order in the reference list is that by which the works were originally + % cited in the text, or that in the database. + %--------------------------------------------------------------------- + +ENTRY + { address + archive + author + booktitle + chapter + collaboration + edition + editor + eid + eprint + howpublished + institution + isbn + issn + journal + key + month + note + number + numpages + organization + pages + publisher + school + series + title + type + url + volume + year +%mc + issue + section + epilog + volumetitle + transjournal + transsection + transvolume + transnumber + transissue + transpages + transyear + } + {} + { label } + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% mc utilities +% require merlin.mbs logical operators and field.or.null +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% hang -- {hang} suspends execution, for debugging purposes +% Note that not all pending output may have been flushed. +FUNCTION {hang} +{ + {#1} {skip$} while$ +} + +% string.length -- {s string.length} returns the true character length of s +% In contrast, text.length$ gives special treatment to LaTeX +% accents ("special characters") and braces. +% Example: "" string.length -> 0 +% Example: "hello" string.length -> 5 + +STRINGS {string.length.s } +INTEGERS {string.length.i } +FUNCTION {string.length} +{ + 'string.length.s := + #0 'string.length.i := + { + string.length.s #1 #1 substring$ "" = not + } + { + string.length.i #1 + 'string.length.i := + string.length.s #2 global.max$ substring$ 'string.length.s := + } + while$ + string.length.i +} + +% shared working variables for stripping functions +STRINGS { strip.s strip.t } +INTEGERS { strip.i } + +% strip.leading -- {s t strip.leading} strips t from s if it appears +% as an initial substring +% Example: "abcdef" "abc" strip.leading -> "def" +% Example: "abcdef" "xyz" strip.leading -> "abcdef" + +FUNCTION{strip.leading} +{ + 'strip.t := + 'strip.s := + strip.t string.length 'strip.i := + strip.s #1 strip.i substring$ strip.t = + { strip.s strip.i #1 + global.max$ substring$ } + { strip.s } + if$ +} + +% strip.trailing -- {s t strip.trailing} strips t from s if it appears +% as a terminal substring +% Example: "abcdef" "def" strip.trailing -> "abc" +% Example: "abcdef" "xyz" strip.trailing -> "abcdef" +FUNCTION{strip.trailing} +{ + 'strip.t := + 'strip.s := + strip.t string.length 'strip.i := + strip.s #-1 strip.i substring$ strip.t = + { strip.s #-1 strip.i - global.max$ substring$ } + { strip.s } + if$ +} + +% trim -- {s trim} strips any trailing whitespace from s +% Example: "abcdef " trim -> "abcdef" +STRINGS {trim.s trim.t} +FUNCTION{trim} +{ + 'trim.s := + { + trim.s #-1 #1 substring$ 'trim.t := + trim.t empty$ trim.t string.length #0 > and + } + { trim.s #-2 global.max$ substring$ 'trim.s := } + while$ + trim.s +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} +STRINGS { s t} + +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { " " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +%mc +FUNCTION {format.epilog} +{ epilog duplicate$ empty$ + { pop$ } + { * } + if$ +} +%mc end + + +FUNCTION {fin.entry} +{ +%mc +format.epilog +%mc end + duplicate$ empty$ + 'pop$ + 'write$ + if$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} +FUNCTION {add.blank} +{ " " * before.all 'output.state := +} + +FUNCTION {date.block} +{ + add.blank +} + +STRINGS {z} +FUNCTION {remove.dots} +{ 'z := + "" + { z empty$ not } + { +%mc patch to preserve the control sequence \. if it appears in a name + z #1 #2 substring$ "\." = + { + % process "\." sequence + z #3 global.max$ substring$ 'z := + "\." * + } + { + % process regular character + z #1 #1 substring$ + z #2 global.max$ substring$ 'z := + duplicate$ "." = 'pop$ + { * } + if$ + } + if$ +%mc + } + while$ +} +FUNCTION {new.block.checka} +{ empty$ + 'skip$ + 'new.block + if$ +} +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} +FUNCTION {new.sentence.checka} +{ empty$ + 'skip$ + 'new.sentence + if$ +} +FUNCTION {new.sentence.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.sentence + if$ +} +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "{\em " swap$ * "\/}" * } + if$ +} +FUNCTION {bolden} +{ duplicate$ empty$ + { pop$ "" } + { "{\bf " swap$ * "}" * } + if$ +} +FUNCTION {tie.or.space.prefix} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ +} + +FUNCTION {capitalize} +{ "u" change.case$ "t" change.case$ } + +FUNCTION {space.word} +{ " " swap$ * " " * } + % Here are the language-specific definitions for explicit words. + % Each function has a name bbl.xxx where xxx is the English word. + % The language selected here is ENGLISH +FUNCTION {bbl.and} +{ "and"} + +FUNCTION {bbl.etal} +{ "et~al." } + +FUNCTION {bbl.editors} +{ "eds" } + +FUNCTION {bbl.editor} +{ "ed" } + +FUNCTION {bbl.edby} +{ "edited by" } + +FUNCTION {bbl.edition} +{ "ed" } + +FUNCTION {bbl.volume} +{ "vol" } + +FUNCTION {bbl.of} +{ "of" } + +FUNCTION {bbl.number} +{ "no" } + +FUNCTION {bbl.nr} +{ "no" } + +FUNCTION {bbl.in} +{ "in" } + +FUNCTION {bbl.pages} +{ "pp" } + +FUNCTION {bbl.page} +{ "p" } + +FUNCTION {bbl.eidpp} +{ "pages" } + +FUNCTION {bbl.chapter} +{ "chap" } + +FUNCTION {bbl.techrep} +{ "Tech. Rep." } + +FUNCTION {bbl.mthesis} +{ "Master's thesis" } + +FUNCTION {bbl.phdthesis} +{ "Ph.D. thesis" } + +FUNCTION {bbl.first} +{ "1st" } + +FUNCTION {bbl.second} +{ "2nd" } + +FUNCTION {bbl.third} +{ "3rd" } + +FUNCTION {bbl.fourth} +{ "4th" } + +FUNCTION {bbl.fifth} +{ "5th" } + +FUNCTION {bbl.st} +{ "st" } + +FUNCTION {bbl.nd} +{ "nd" } + +FUNCTION {bbl.rd} +{ "rd" } + +FUNCTION {bbl.th} +{ "th" } + +MACRO {jan} {"Jan."} + +MACRO {feb} {"Feb."} + +MACRO {mar} {"Mar."} + +MACRO {apr} {"Apr."} + +MACRO {may} {"May"} + +MACRO {jun} {"Jun."} + +MACRO {jul} {"Jul."} + +MACRO {aug} {"Aug."} + +MACRO {sep} {"Sep."} + +MACRO {oct} {"Oct."} + +MACRO {nov} {"Nov."} + +MACRO {dec} {"Dec."} + +FUNCTION {eng.ord} +{ duplicate$ "1" swap$ * + #-2 #1 substring$ "1" = + { bbl.th * } + { duplicate$ #-1 #1 substring$ + duplicate$ "1" = + { pop$ bbl.st * } + { duplicate$ "2" = + { pop$ bbl.nd * } + { "3" = + { bbl.rd * } + { bbl.th * } + if$ + } + if$ + } + if$ + } + if$ +} + +FUNCTION {bibinfo.check} +{ swap$ + duplicate$ missing$ + { + pop$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ pop$ + } + { swap$ + pop$ + } + if$ + } + if$ +} +FUNCTION {bibinfo.warn} +{ swap$ + duplicate$ missing$ + { + swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ "empty " swap$ * " in " * cite$ * warning$ + } + { swap$ + pop$ + } + if$ + } + if$ +} +%% FUNCTION {format.eprint} +%% { eprint duplicate$ empty$ +%% 'skip$ +%% { "\eprint" +%% archive empty$ +%% 'skip$ +%% { "[" * archive * "]" * } +%% if$ +%% "{" * swap$ * "}" * +%% } +%% if$ +%% } +FUNCTION {format.eprint} +{ eprint duplicate$ empty$ + 'skip$ + { + "(\textit{Preprint} " + swap$ + "\eprint" + archive empty$ + 'skip$ + { "[" * archive * "]" * } + if$ + "{" * swap$ * "}" * + * + ")" + * + } + if$ +} + +FUNCTION {format.url} +{ url empty$ + { "" } + { "\urlprefix\url{" url * "}" * } + if$ +} + +STRINGS { bibinfo} +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}{ jj}{ f{~}}" + format.name$ + remove.dots + bibinfo bibinfo.check + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " " * bbl.etal emphasize * + } + { + bbl.and + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ +} +FUNCTION {format.names.ed} +{ + 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{f{~}~}{vv~}{ll}{ jj}" + format.name$ + remove.dots + bibinfo bibinfo.check + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + + " " * bbl.etal emphasize * + } + { + bbl.and + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ +} +FUNCTION {format.authors} +{ author "author" format.names + duplicate$ empty$ 'skip$ + { collaboration "collaboration" bibinfo.check + duplicate$ empty$ 'skip$ + { " (" swap$ * ")" * } + if$ + * + } + if$ +} +FUNCTION {get.bbl.editor} +{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } + +FUNCTION {format.editors} +{ editor "editor" format.names duplicate$ empty$ 'skip$ + { +%% "," * +%% " " * +%% get.bbl.editor +%% * +%mc + " " * + "(" * + get.bbl.editor + * + ")" * +%mc end + } + if$ +} +%mc +FUNCTION {format.editors.inline} +{ editor "editor" format.names duplicate$ empty$ 'skip$ + { + bbl.editor " " * + swap$ + * + } + if$ +} +%mc end + +FUNCTION {format.isbn} +{ isbn "isbn" bibinfo.check + duplicate$ empty$ 'skip$ + { + "ISBN " swap$ * + } + if$ +} + +FUNCTION {format.issn} +{ issn "issn" bibinfo.check + duplicate$ empty$ 'skip$ + { + "ISSN " swap$ * + } + if$ +} + +FUNCTION {format.note} +{ + note empty$ + { "" } + { note #1 #1 substring$ + duplicate$ "{" = + 'skip$ + { output.state mid.sentence = + { "l" } + { "u" } + if$ + change.case$ + } + if$ + note #2 global.max$ substring$ * "note" bibinfo.check + } + if$ +} + +FUNCTION {format.title} +{ title + duplicate$ empty$ 'skip$ + { "t" change.case$ } + if$ + "title" bibinfo.check +} +FUNCTION {output.bibitem} +{ newline$ + "\bibitem{" write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {n.dashify} +{ + 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {word.in} +{ bbl.in + " " * } + +FUNCTION {format.date} +{ + "" + duplicate$ empty$ + year "year" bibinfo.check duplicate$ empty$ + { swap$ 'skip$ + { "there's a month but no year in " cite$ * warning$ } + if$ + * + } + { swap$ 'skip$ + { + swap$ + " " * swap$ + } + if$ + * + remove.dots + } + if$ + duplicate$ empty$ + 'skip$ + { + before.all 'output.state := + " " swap$ * + } + if$ +} +FUNCTION {format.btitle} +{ title "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + emphasize + } + if$ +} +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} +FUNCTION {format.bvolume} +{ volume empty$ + % no volume: return blank + { "" } +%% { bbl.volume volume tie.or.space.prefix +%% "volume" bibinfo.check * * +%% series "series" bibinfo.check +%% duplicate$ empty$ 'pop$ +%% { swap$ bbl.of space.word * swap$ +%% emphasize * } +%% if$ +%% "volume and number" number either.or.check +%% } +%mc + { + series "series" bibinfo.check + empty$ + % no series: must be multivolume book + { + bbl.volume volume tie.or.space.prefix "volume" bibinfo.check * * + volumetitle empty$ + 'skip$ + % volumetitle: book volume has title + { " " volumetitle "volumetitle" bibinfo.check emphasize * * } + if$ + } + % series: format as volume in series + { + "(" + series "series" bibinfo.check emphasize * + " " * bbl.volume * + volume tie.or.space.prefix "volume" bibinfo.check * + ")" * * + } + if$ + "volume and number" number either.or.check + } +%mc end + if$ +} +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { series empty$ + { number "number" bibinfo.check } + { + %% output.state mid.sentence = + %% { bbl.number } + %% { bbl.number capitalize } + %% if$ + %% number tie.or.space.prefix "number" bibinfo.check * * + %% bbl.in space.word * + %% series "series" bibinfo.check * + %% " " * bbl.number * + %% number tie.or.space.prefix "number" bibinfo.check * * +%mc + "(" + series "series" bibinfo.check emphasize * + " " * bbl.number * + number tie.or.space.prefix "number" bibinfo.check * + ")" * + * +%mc end + } + if$ + } + if$ + } + { "" } + if$ +} + + +FUNCTION {is.num} +{ chr.to.int$ + duplicate$ "0" chr.to.int$ < not + swap$ "9" chr.to.int$ > not and +} + +FUNCTION {extract.num} +{ duplicate$ 't := + "" 's := + { t empty$ not } + { t #1 #1 substring$ + t #2 global.max$ substring$ 't := + duplicate$ is.num + { s swap$ * 's := } + { pop$ "" 't := } + if$ + } + while$ + s empty$ + 'skip$ + { pop$ s } + if$ +} + +FUNCTION {convert.edition} +{ extract.num "l" change.case$ 's := + s "first" = s "1" = or + { bbl.first 't := } + { s "second" = s "2" = or + { bbl.second 't := } + { s "third" = s "3" = or + { bbl.third 't := } + { s "fourth" = s "4" = or + { bbl.fourth 't := } + { s "fifth" = s "5" = or + { bbl.fifth 't := } + { s #1 #1 substring$ is.num + { s eng.ord 't := } + { edition 't := } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + t +} + +FUNCTION {format.edition} +{ edition duplicate$ empty$ 'skip$ + { + convert.edition + output.state mid.sentence = + { "l" } + { "t" } + if$ change.case$ + "edition" bibinfo.check + " " * bbl.edition * + } + if$ +} +INTEGERS { multiresult } +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} +FUNCTION {format.pages} +{ pages duplicate$ empty$ 'skip$ + { duplicate$ multi.page.check + { + bbl.pages swap$ + n.dashify + } + { + bbl.page swap$ + } + if$ + tie.or.space.prefix + "pages" bibinfo.check + * * + } + if$ +} +FUNCTION {format.journal.pages} +{ pages duplicate$ empty$ 'pop$ +%mc { swap$ duplicate$ empty$ +%mc { pop$ pop$ format.pages } +%mc { +%mc " " * +%mc swap$ +%mc n.dashify +%mc "pages" bibinfo.check +%mc * +%mc } +%mc if$ +%mc } + { swap$ + " " * + swap$ + n.dashify + "pages" bibinfo.check + * + } + if$ +} +FUNCTION {format.journal.eid} +{ eid "eid" bibinfo.check + duplicate$ empty$ 'skip$ + { swap$ duplicate$ empty$ 'skip$ + { + " " * + } + if$ + swap$ + numpages empty$ 'skip$ + { bbl.eidpp numpages tie.or.space.prefix + "numpages" bibinfo.check * * + " (" swap$ * ")" * * + } + if$ + } + if$ * +} +FUNCTION {format.vol.num.pages} +{ volume field.or.null +%mc section handling + section field.or.null strip.leading + section field.or.null strip.trailing trim +%mc end + duplicate$ empty$ 'skip$ + { + "volume" bibinfo.check + } + if$ + bolden +%mc number "number" bibinfo.check duplicate$ empty$ 'skip$ + issue "issue" bibinfo.check duplicate$ empty$ 'skip$ + { + swap$ duplicate$ empty$ +%mc { "there's a number but no volume in " cite$ * warning$ } + { "there's an issue but no volume in " cite$ * warning$ } + 'skip$ + if$ + swap$ + "(" swap$ * ")" * + } + if$ * + eid empty$ + { format.journal.pages } + { format.journal.eid } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { bbl.chapter } + { type "l" change.case$ + "type" bibinfo.check + } + if$ + chapter tie.or.space.prefix + "chapter" bibinfo.check + * * + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.booktitle} +{ + booktitle "booktitle" bibinfo.check + emphasize +} +%% FUNCTION {format.in.ed.booktitle} +%% { format.booktitle duplicate$ empty$ 'skip$ +%% { +%% editor "editor" format.names.ed duplicate$ empty$ 'pop$ +%% { +%% "," * +%% " " * +%% get.bbl.editor +%% ", " * +%% * swap$ +%% * } +%% if$ +%% word.in swap$ * +%% } +%% if$ +%% } +FUNCTION {empty.misc.check} +{ author empty$ title empty$ howpublished empty$ + month empty$ year empty$ note empty$ + and and and and and + { "all relevant fields are empty in " cite$ * warning$ } + 'skip$ + if$ +} +FUNCTION {format.thesis.type} +{ type duplicate$ empty$ + 'pop$ + { swap$ pop$ + "t" change.case$ "type" bibinfo.check + } + if$ +} +FUNCTION {format.tr.number} +{ number "number" bibinfo.check + type duplicate$ empty$ + { pop$ bbl.techrep } + 'skip$ + if$ + "type" bibinfo.check + swap$ duplicate$ empty$ + { pop$ "t" change.case$ } + { tie.or.space.prefix * * } + if$ +} +FUNCTION {format.article.crossref} +{ + key duplicate$ empty$ + { pop$ + journal duplicate$ empty$ + { "need key or journal for " cite$ * " to crossref " * crossref * warning$ } + { "journal" bibinfo.check emphasize word.in swap$ * } + if$ + } + { word.in swap$ * " " *} + if$ + " \cite{" * crossref * "}" * +} +FUNCTION {format.crossref.editor} +{ editor #1 "{vv~}{ll}" format.name$ + "editor" bibinfo.check + editor num.names$ duplicate$ + #2 > + { pop$ + "editor" bibinfo.check + " " * bbl.etal + emphasize + * + } + { #2 < + 'skip$ + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { + "editor" bibinfo.check + " " * bbl.etal + emphasize + * + } + { + bbl.and space.word + * editor #2 "{vv~}{ll}" format.name$ + "editor" bibinfo.check + * + } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.book.crossref} +{ volume duplicate$ empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + pop$ word.in + } + { bbl.volume + swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word * + } + if$ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { series empty$ + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" * + } + { series emphasize * } + if$ + } + { key * } + if$ + } + { format.crossref.editor * } + if$ + " \cite{" * crossref * "}" * +} +FUNCTION {format.incoll.inproc.crossref} +{ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { format.booktitle duplicate$ empty$ + { "need editor, key, or booktitle for " cite$ * " to crossref " * + crossref * warning$ + } + { word.in swap$ * } + if$ + } + { word.in key * " " *} + if$ + } + { word.in format.crossref.editor * " " *} + if$ + " \cite{" * crossref * "}" * +} +FUNCTION {format.org.or.pub} +{ 't := + "" + address empty$ t empty$ and + 'skip$ + { + add.blank "(" * + address "address" bibinfo.check * + t empty$ + 'skip$ + { address empty$ + 'skip$ + { ": " * } + if$ + t * + } + if$ + ")" * + } + if$ +} +FUNCTION {format.publisher.address} +{ publisher "publisher" bibinfo.warn format.org.or.pub +} + +FUNCTION {format.organization.address} +{ organization "organization" bibinfo.check format.org.or.pub +} + + + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + format.date "year" output.check + date.block + crossref missing$ + { +%mc add section handling +%mc journal +%mc "journal" bibinfo.check +%mc emphasize +%mc "journal" output.check +%mc add.blank + journal + "journal" bibinfo.check + section field.or.null strip.trailing trim + emphasize + "journal" output.check + add.blank + section empty$ + { skip$ } + { section * add.blank} + if$ +%mc end + format.vol.num.pages output + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + format.issn output + format.note output + format.eprint output + format.url output + fin.entry +} +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.date "year" output.check + date.block + format.btitle "title" output.check + format.edition output + crossref missing$ + { format.bvolume output + format.number.series output + format.publisher.address output + } + { + format.book.crossref output.nonnull + } + if$ + %% format.edition output + format.isbn output + format.note output + format.eprint output + format.url output + fin.entry +} +FUNCTION {booklet} +{ output.bibitem + format.authors output + format.date output + date.block + format.title "title" output.check + howpublished "howpublished" bibinfo.check output + address "address" bibinfo.check output + format.isbn output + format.note output + format.eprint output + format.url output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.date "year" output.check + date.block + format.btitle "title" output.check + crossref missing$ + { + format.bvolume output + format.publisher.address output + %% format.bvolume output + format.chapter.pages "chapter and pages" output.check + format.number.series output + } + { + format.chapter.pages "chapter and pages" output.check + format.book.crossref output.nonnull + } + if$ + format.edition output + crossref missing$ + { format.isbn output } + 'skip$ + if$ + format.note output + format.eprint output + format.url output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + format.date "year" output.check + date.block + format.title "title" output.check + crossref missing$ + { + %% format.in.ed.booktitle "booktitle" output.check +%mc + format.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.editors.inline output +%mc end + format.publisher.address output + %% format.bvolume output + %% format.number.series output + format.chapter.pages output + format.edition output + format.isbn output + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + format.note output + format.eprint output + format.url output + fin.entry +} +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + format.date "year" output.check + date.block + format.title "title" output.check + crossref missing$ + { + + %%format.in.ed.booktitle "booktitle" output.check +%mc + format.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.editors.inline output +%mc end + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + %% format.bvolume output + %% format.number.series output + format.pages output + format.isbn output + format.issn output + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + format.note output + format.eprint output + format.url output + fin.entry +} +FUNCTION {conference} { inproceedings } +FUNCTION {manual} +{ output.bibitem + author empty$ + { organization "organization" bibinfo.check + duplicate$ empty$ 'pop$ + { output + address "address" bibinfo.check output + } + if$ + } + { format.authors output.nonnull } + if$ + format.date output + date.block + format.btitle "title" output.check + author empty$ + { organization empty$ + { + address "address" bibinfo.check output + } + 'skip$ + if$ + } + { + organization "organization" bibinfo.check output + address "address" bibinfo.check output + } + if$ + format.edition output + format.note output + format.eprint output + format.url output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + format.date "year" output.check + date.block + format.btitle + "title" output.check + bbl.mthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + format.note output + format.eprint output + format.url output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + format.date output + format.title output + howpublished "howpublished" bibinfo.check output + format.note output + format.eprint output + format.url output + fin.entry + empty.misc.check +} +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + format.date "year" output.check + date.block + format.btitle + "title" output.check + bbl.phdthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + format.note output + format.eprint output + format.url output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + editor empty$ + { organization "organization" bibinfo.check output + } + { format.editors output.nonnull } + if$ + format.date "year" output.check + date.block + format.btitle "title" output.check + format.bvolume output + format.number.series output + editor empty$ + { publisher empty$ + 'skip$ + { + format.publisher.address output + } + if$ + } + { publisher empty$ + { + format.organization.address output } + { + organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + } + if$ + format.isbn output + format.issn output + format.note output + format.eprint output + format.url output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + format.date "year" output.check + date.block + format.title + "title" output.check + format.tr.number output.nonnull + institution "institution" bibinfo.warn output + address "address" bibinfo.check output + format.note output + format.eprint output + format.url output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + format.date output + date.block + format.title "title" output.check + format.note "note" output.check + format.eprint output + format.url output + fin.entry +} + +FUNCTION {default.type} { misc } +READ +STRINGS { longest.label } +INTEGERS { number.label longest.label.width } +FUNCTION {initialize.longest.label} +{ "" 'longest.label := + #1 'number.label := + #0 'longest.label.width := +} +FUNCTION {longest.label.pass} +{ number.label int.to.str$ 'label := + number.label #1 + 'number.label := + label width$ longest.label.width > + { label 'longest.label := + label width$ 'longest.label.width := + } + 'skip$ + if$ +} +EXECUTE {initialize.longest.label} +ITERATE {longest.label.pass} +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\providecommand{\newblock}{}" + write$ newline$ + "\begin{thebibliography}{" longest.label * "}" * + write$ newline$ + "\expandafter\ifx\csname url\endcsname\relax" + write$ newline$ + " \def\url#1{{\tt #1}}\fi" + write$ newline$ + "\expandafter\ifx\csname urlprefix\endcsname\relax\def\urlprefix{URL }\fi" + write$ newline$ + "\providecommand{\eprint}[2][]{\url{#2}}" + write$ newline$ + "% Bibliography created with iopart-num v2.1" + write$ newline$ + "% /biblio/bibtex/contrib/iopart-num" + write$ newline$ +} +EXECUTE {begin.bib} +EXECUTE {init.state.consts} +ITERATE {call.type$} +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} +EXECUTE {end.bib} +%% End of customized bst file +%% +%% End of file `iopart-num.bst'. diff --git a/paper/iopconfser.cls b/paper/iopconfser.cls new file mode 100644 index 0000000..74e392a --- /dev/null +++ b/paper/iopconfser.cls @@ -0,0 +1,99 @@ +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{iopconfser}[2022/11/30 IOP Conference Series LaTeX template] + +\LoadClass[a4paper]{article} + + +% Margin settings +\setlength{\hoffset}{0mm} +\setlength{\marginparsep}{0mm} +\setlength{\marginparwidth}{0mm} +\setlength{\textwidth}{160mm} +\setlength{\oddsidemargin}{-0.4mm} +\setlength{\evensidemargin}{-0.4mm} +\setlength{\voffset}{0mm} +\setlength{\headheight}{8mm} +\setlength{\headsep}{5mm} +\setlength{\footskip}{0mm} +\setlength{\textheight}{230mm} +\setlength{\topmargin}{1.6mm} + +% More length definitions +\setlength\maxdepth{.5\topskip} +\setlength\@maxdepth\maxdepth +\setlength\footnotesep{8.4\p@} +\setlength{\skip\footins} {10.8\p@ \@plus 4\p@ \@minus 2\p@} +\setlength\floatsep {14\p@ \@plus 2\p@ \@minus 4\p@} +\setlength\textfloatsep {24\p@ \@plus 2\p@ \@minus 4\p@} +\setlength\intextsep {16\p@ \@plus 4\p@ \@minus 4\p@} +\setlength\dblfloatsep {16\p@ \@plus 2\p@ \@minus 4\p@} +\setlength\dbltextfloatsep{24\p@ \@plus 2\p@ \@minus 4\p@} +\setlength\@fptop{0\p@} +\setlength\@fpsep{10\p@ \@plus 1fil} +\setlength\@fpbot{0\p@} +\setlength\@dblfptop{0\p@} +\setlength\@dblfpsep{10\p@ \@plus 1fil} +\setlength\@dblfpbot{0\p@} +\setlength\partopsep{3\p@ \@plus 2\p@ \@minus 2\p@} + +% Set indent for front matter +\renewenvironment{quote}% + {\list{}{\leftmargin=25mm}\item\relax}% + {\endlist} + +% Clear the header and footer + +\pagestyle{empty} + +% Styles for front matter + +\renewcommand{\title}[1]{\vspace*{25mm}{\exhyphenpenalty=10000\hyphenpenalty=10000 + \fontsize{18}{24}\selectfont\bf\noindent\raggedright + \textsf{#1}\par}} + + +\renewcommand{\author}[1]{\vspace*{1.5pc}% + \fontsize{11}{13} + \begin{quote}\raggedright \textbf{#1}\end{quote}} + +\newcommand{\affil}[1]{\fontsize{10}{11}\selectfont + \begin{quote}\raggedright #1\end{quote} + \vspace*{-22pt}} + +\newcommand{\email}[1]{\vspace*{12pt}\fontsize{10}{11}\selectfont + \begin{quote}\raggedright E-mail: #1\end{quote} + \vspace*{-22pt}} + +\renewenvironment{abstract}{% + \vspace{16pt plus3pt minus3pt} + \begin{quote} + \bfseries \abstractname.\quad\rm\ignorespaces} + {\end{quote}\vspace{5mm}} + +% Section titles + +\renewcommand\section{\@startsection {section}{1}{\z@}% + {-3.25ex\@plus -1ex \@minus -.2ex}% + {1sp}% + {\reset@font\normalsize\bfseries\raggedright}} +\renewcommand\subsection{\@startsection{subsection}{2}{\z@}% + {-3.25ex\@plus -1ex \@minus -.2ex}% + {1sp}% + {\reset@font\normalsize\itshape\raggedright}} +\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% + {-3.25ex\@plus -1ex \@minus -.2ex}% + {-1em \@plus .2em}% + {\reset@font\normalsize\itshape}} +\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% + {3.25ex \@plus1ex \@minus.2ex}% + {-1em}% + {\reset@font\normalsize\itshape}} +\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% + {3.25ex \@plus1ex \@minus .2ex}% + {-1em}% + {\reset@font\normalsize\itshape}} + + + + +\endinput \ No newline at end of file diff --git a/readme.org b/readme.org new file mode 120000 index 0000000..2292ba3 --- /dev/null +++ b/readme.org @@ -0,0 +1 @@ +index.org \ No newline at end of file