thibaud frere commited on
Commit
826819b
·
1 Parent(s): a17a3bf

chore: remove unused LaTeX input files and clean up LFS tracking

Browse files

- Remove entire latex-to-mdx/input directory with old LaTeX files
- Clean up 40+ unused LFS-tracked image files
- Remove obsolete LaTeX styles, fonts, and source files
- Keep only active template files and current content

This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. CHANGELOG.md +118 -0
  2. CONTRIBUTING.md +196 -0
  3. LICENSE +33 -0
  4. README.md +129 -1
  5. app/.astro/astro/content.d.ts +0 -284
  6. app/package.json +0 -0
  7. app/scripts/latex-to-mdx/input/.gitignore +0 -13
  8. app/scripts/latex-to-mdx/input/README.md +0 -64
  9. app/scripts/latex-to-mdx/input/_minted/62B8750C0ACEBDA39A95140434E540A8.highlight.minted +0 -52
  10. app/scripts/latex-to-mdx/input/_minted/_FAD58DE7366495DB4650CFEFAC2FCD61.index.minted +0 -10
  11. app/scripts/latex-to-mdx/input/_minted/colorful.style.minted +0 -100
  12. app/scripts/latex-to-mdx/input/fancyhdr.sty +0 -485
  13. app/scripts/latex-to-mdx/input/figures/ch1/ch1-lerobot-figure1.png +0 -3
  14. app/scripts/latex-to-mdx/input/figures/ch2/ch2-approaches.png +0 -3
  15. app/scripts/latex-to-mdx/input/figures/ch2/ch2-classical-limitations.png +0 -3
  16. app/scripts/latex-to-mdx/input/figures/ch2/ch2-cost-accessibility.png +0 -3
  17. app/scripts/latex-to-mdx/input/figures/ch2/ch2-planar-manipulator-floor-box.png +0 -3
  18. app/scripts/latex-to-mdx/input/figures/ch2/ch2-planar-manipulator-floor-shelf.png +0 -3
  19. app/scripts/latex-to-mdx/input/figures/ch2/ch2-planar-manipulator-floor.png +0 -3
  20. app/scripts/latex-to-mdx/input/figures/ch2/ch2-planar-manipulator-free.png +0 -3
  21. app/scripts/latex-to-mdx/input/figures/ch2/ch2-platforms.png +0 -3
  22. app/scripts/latex-to-mdx/input/figures/ch2/ch2-so100-to-planar-manipulator.png +0 -3
  23. app/scripts/latex-to-mdx/input/figures/ch3/ch3-agent-env.png +0 -3
  24. app/scripts/latex-to-mdx/input/figures/ch3/ch3-duck-sim-vs-real.png +0 -3
  25. app/scripts/latex-to-mdx/input/figures/ch3/ch3-hil-serl-examples.png +0 -3
  26. app/scripts/latex-to-mdx/input/figures/ch3/ch3-learning-atlas.png +0 -3
  27. app/scripts/latex-to-mdx/input/figures/ch3/ch3-learning-benefits.png +0 -3
  28. app/scripts/latex-to-mdx/input/figures/ch3/ch3-many-ducks.png +0 -3
  29. app/scripts/latex-to-mdx/input/figures/ch3/ch3-rl-algorithms-atlas.png +0 -3
  30. app/scripts/latex-to-mdx/input/figures/ch3/ch3-rl-examples.png +0 -3
  31. app/scripts/latex-to-mdx/input/figures/ch4/ch4-act-decoder.png +0 -3
  32. app/scripts/latex-to-mdx/input/figures/ch4/ch4-act-encoder.png +0 -3
  33. app/scripts/latex-to-mdx/input/figures/ch4/ch4-act.png +0 -3
  34. app/scripts/latex-to-mdx/input/figures/ch4/ch4-action-vs-observation-distribution.png +0 -3
  35. app/scripts/latex-to-mdx/input/figures/ch4/ch4-async-inference.png +0 -3
  36. app/scripts/latex-to-mdx/input/figures/ch4/ch4-bc-trajectories.png +0 -3
  37. app/scripts/latex-to-mdx/input/figures/ch4/ch4-diffusion-policy.png +0 -3
  38. app/scripts/latex-to-mdx/input/figures/ch4/ch4-diffusion-robot-actions.png +0 -3
  39. app/scripts/latex-to-mdx/input/figures/ch4/ch4-diffusion-vs-flowmatching.png +0 -3
  40. app/scripts/latex-to-mdx/input/figures/ch4/ch4-issues-with-bc.png +0 -3
  41. app/scripts/latex-to-mdx/input/figures/ch4/ch4-latent-variable-model.png +0 -3
  42. app/scripts/latex-to-mdx/input/figures/ch4/ch4-many-latents.png +0 -3
  43. app/scripts/latex-to-mdx/input/figures/ch4/ch4-normalizing-flows.png +0 -3
  44. app/scripts/latex-to-mdx/input/figures/ch4/ch4-observation-action-mapping.png +0 -3
  45. app/scripts/latex-to-mdx/input/figures/ch4/ch4-queues.png +0 -3
  46. app/scripts/latex-to-mdx/input/figures/ch4/ch4-task-effect-on-pairs.png +0 -3
  47. app/scripts/latex-to-mdx/input/figures/ch5/ch5-generalist-policies-timeline.png +0 -3
  48. app/scripts/latex-to-mdx/input/figures/ch5/ch5-ml-vs-robotics-foundation.png +0 -3
  49. app/scripts/latex-to-mdx/input/figures/ch5/ch5-pi0-sampling-timesteps.png +0 -3
  50. app/scripts/latex-to-mdx/input/figures/ch5/ch5-pi0.png +0 -3
CHANGELOG.md ADDED
@@ -0,0 +1,118 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Changelog
2
+
3
+ All notable changes to the Research Article Template will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [Unreleased]
9
+
10
+ ### Added
11
+ - Initial open source release
12
+ - Comprehensive documentation
13
+ - Contributing guidelines
14
+ - License file
15
+
16
+ ## [1.0.0] - 2024-12-19
17
+
18
+ ### Added
19
+ - **Core Features**:
20
+ - Markdown/MDX-based writing system
21
+ - KaTeX mathematical notation support
22
+ - Syntax highlighting for code blocks
23
+ - Academic citations with BibTeX integration
24
+ - Footnotes and sidenotes system
25
+ - Auto-generated table of contents
26
+ - Interactive Mermaid diagrams
27
+ - Plotly.js and D3.js integration
28
+ - HTML embed support
29
+ - Gradio app embedding
30
+ - Dataviz color palettes
31
+ - Image optimization
32
+ - SEO-friendly structure
33
+ - Automatic PDF export
34
+ - Dark/light theme toggle
35
+ - Mobile-responsive design
36
+ - LaTeX import functionality
37
+ - Template synchronization system
38
+
39
+ - **Components**:
40
+ - Figure component with captions
41
+ - MultiFigure for image galleries
42
+ - Note component with variants
43
+ - Quote component
44
+ - Accordion for collapsible content
45
+ - Sidenote component
46
+ - Table of Contents
47
+ - Theme Toggle
48
+ - HTML Embed
49
+ - Raw HTML support
50
+ - SEO component
51
+ - Hero section
52
+ - Footer
53
+ - Full-width and wide layouts
54
+
55
+ - **Build System**:
56
+ - Astro 4.10.0 integration
57
+ - PostCSS with custom media queries
58
+ - Automatic compression
59
+ - Docker support
60
+ - Nginx configuration
61
+ - Git LFS support
62
+
63
+ - **Scripts**:
64
+ - PDF export functionality
65
+ - LaTeX to MDX conversion
66
+ - Template synchronization
67
+ - Font SVG generation
68
+ - TrackIO data generation
69
+
70
+ - **Documentation**:
71
+ - Getting started guide
72
+ - Writing best practices
73
+ - Component reference
74
+ - LaTeX conversion guide
75
+ - Interactive examples
76
+
77
+ ### Technical Details
78
+ - **Framework**: Astro 4.10.0
79
+ - **Styling**: PostCSS with custom properties
80
+ - **Math**: KaTeX 0.16.22
81
+ - **Charts**: Plotly.js 3.1.0, D3.js 7.9.0
82
+ - **Diagrams**: Mermaid 11.10.1
83
+ - **Node.js**: >=20.0.0
84
+ - **License**: CC-BY-4.0
85
+
86
+ ### Browser Support
87
+ - Chrome (latest)
88
+ - Firefox (latest)
89
+ - Safari (latest)
90
+ - Edge (latest)
91
+
92
+ ---
93
+
94
+ ## Version History
95
+
96
+ - **1.0.0**: Initial stable release with full feature set
97
+ - **0.0.1**: Development version (pre-release)
98
+
99
+ ## Migration Guide
100
+
101
+ ### From 0.0.1 to 1.0.0
102
+
103
+ This is the first stable release. No breaking changes from the development version.
104
+
105
+ ### Updating Your Project
106
+
107
+ Use the template synchronization system to update:
108
+
109
+ ```bash
110
+ npm run sync:template -- --dry-run # Preview changes
111
+ npm run sync:template # Apply updates
112
+ ```
113
+
114
+ ## Support
115
+
116
+ - **Documentation**: [Hugging Face Space](https://huggingface.co/spaces/tfrere/research-article-template)
117
+ - **Issues**: [Community Discussions](https://huggingface.co/spaces/tfrere/research-article-template/discussions)
118
+ - **Contact**: [@tfrere](https://huggingface.co/tfrere)
CONTRIBUTING.md ADDED
@@ -0,0 +1,196 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Contributing to Research Article Template
2
+
3
+ Thank you for your interest in contributing to the Research Article Template! This document provides guidelines and information for contributors.
4
+
5
+ ## 🤝 How to Contribute
6
+
7
+ ### Reporting Issues
8
+
9
+ Before creating an issue, please:
10
+ 1. **Search existing issues** to avoid duplicates
11
+ 2. **Use the issue template** when available
12
+ 3. **Provide detailed information**:
13
+ - Clear description of the problem
14
+ - Steps to reproduce
15
+ - Expected vs actual behavior
16
+ - Environment details (OS, Node.js version, browser)
17
+ - Screenshots if applicable
18
+
19
+ ### Suggesting Features
20
+
21
+ We welcome feature suggestions! Please:
22
+ 1. **Check existing discussions** first
23
+ 2. **Describe the use case** clearly
24
+ 3. **Explain the benefits** for the community
25
+ 4. **Consider implementation complexity**
26
+
27
+ ### Code Contributions
28
+
29
+ #### Getting Started
30
+
31
+ 1. **Fork the repository** on Hugging Face
32
+ 2. **Clone your fork**:
33
+ ```bash
34
+ git clone [email protected]:spaces/<your-username>/research-article-template
35
+ cd research-article-template
36
+ ```
37
+ 3. **Install dependencies**:
38
+ ```bash
39
+ cd app
40
+ npm install
41
+ ```
42
+ 4. **Create a feature branch**:
43
+ ```bash
44
+ git checkout -b feature/your-feature-name
45
+ ```
46
+
47
+ #### Development Workflow
48
+
49
+ 1. **Make your changes** following our coding standards
50
+ 2. **Test thoroughly**:
51
+ ```bash
52
+ npm run dev # Test locally
53
+ npm run build # Ensure build works
54
+ ```
55
+ 3. **Update documentation** if needed
56
+ 4. **Commit with clear messages**:
57
+ ```bash
58
+ git commit -m "feat: add new component for interactive charts"
59
+ ```
60
+
61
+ #### Pull Request Process
62
+
63
+ 1. **Push your branch**:
64
+ ```bash
65
+ git push origin feature/your-feature-name
66
+ ```
67
+ 2. **Create a Pull Request** with:
68
+ - Clear title and description
69
+ - Reference related issues
70
+ - Screenshots for UI changes
71
+ - Testing instructions
72
+
73
+ ## 📋 Coding Standards
74
+
75
+ ### Code Style
76
+
77
+ - **Use Prettier** for consistent formatting
78
+ - **Follow existing patterns** in the codebase
79
+ - **Write clear, self-documenting code**
80
+ - **Add comments** for complex logic
81
+ - **Use meaningful variable names**
82
+
83
+ ### File Organization
84
+
85
+ - **Components**: Place in `src/components/`
86
+ - **Styles**: Use CSS modules or component-scoped styles
87
+ - **Assets**: Organize in `src/content/assets/`
88
+ - **Documentation**: Update relevant `.mdx` files
89
+
90
+ ### Commit Message Format
91
+
92
+ We follow [Conventional Commits](https://www.conventionalcommits.org/):
93
+
94
+ ```
95
+ type(scope): description
96
+
97
+ feat: add new interactive chart component
98
+ fix: resolve mobile layout issues
99
+ docs: update installation instructions
100
+ style: improve button hover states
101
+ refactor: simplify component structure
102
+ test: add unit tests for utility functions
103
+ ```
104
+
105
+ **Types**: `feat`, `fix`, `docs`, `style`, `refactor`, `test`, `chore`
106
+
107
+ ## 🧪 Testing
108
+
109
+ ### Manual Testing
110
+
111
+ Before submitting:
112
+ - [ ] Test on different screen sizes
113
+ - [ ] Verify dark/light theme compatibility
114
+ - [ ] Check browser compatibility (Chrome, Firefox, Safari)
115
+ - [ ] Test with different content types
116
+ - [ ] Ensure accessibility standards
117
+
118
+ ### Automated Testing
119
+
120
+ ```bash
121
+ # Run build to catch errors
122
+ npm run build
123
+
124
+ # Test PDF export
125
+ npm run export:pdf
126
+
127
+ # Test LaTeX conversion
128
+ npm run latex:convert
129
+ ```
130
+
131
+ ## 📚 Documentation
132
+
133
+ ### Writing Guidelines
134
+
135
+ - **Use clear, concise language**
136
+ - **Provide examples** for complex features
137
+ - **Include screenshots** for UI changes
138
+ - **Update both English content and code comments**
139
+
140
+ ### Documentation Structure
141
+
142
+ - **README.md**: Project overview and quick start
143
+ - **CONTRIBUTING.md**: This file
144
+ - **Content files**: In `src/content/chapters/demo/`
145
+ - **Component docs**: Inline comments and examples
146
+
147
+ ## 🎯 Areas for Contribution
148
+
149
+ ### High Priority
150
+
151
+ - **Bug fixes** and stability improvements
152
+ - **Accessibility enhancements**
153
+ - **Mobile responsiveness**
154
+ - **Performance optimizations**
155
+ - **Documentation improvements**
156
+
157
+ ### Feature Ideas
158
+
159
+ - **New interactive components**
160
+ - **Additional export formats**
161
+ - **Enhanced LaTeX import**
162
+ - **Theme customization**
163
+ - **Plugin system**
164
+
165
+ ### Community
166
+
167
+ - **Answer questions** in discussions
168
+ - **Share examples** of your work
169
+ - **Write tutorials** and guides
170
+ - **Help with translations**
171
+
172
+ ## 🚫 What Not to Contribute
173
+
174
+ - **Breaking changes** without discussion
175
+ - **Major architectural changes** without approval
176
+ - **Dependencies** that significantly increase bundle size
177
+ - **Features** that don't align with the project's goals
178
+
179
+ ## 📞 Getting Help
180
+
181
+ - **Discussions**: [Community tab](https://huggingface.co/spaces/tfrere/research-article-template/discussions)
182
+ - **Issues**: [Report bugs](https://huggingface.co/spaces/tfrere/research-article-template/discussions?status=open&type=issue)
183
+ - **Contact**: [@tfrere](https://huggingface.co/tfrere) on Hugging Face
184
+
185
+ ## 📄 License
186
+
187
+ By contributing, you agree that your contributions will be licensed under the same [CC-BY-4.0 license](LICENSE) that covers the project.
188
+
189
+ ## 🙏 Recognition
190
+
191
+ Contributors will be:
192
+ - **Listed in acknowledgments** (if desired)
193
+ - **Mentioned in release notes** for significant contributions
194
+ - **Credited** in relevant documentation
195
+
196
+ Thank you for helping make scientific writing more accessible and interactive! 🎉
LICENSE ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Creative Commons Attribution 4.0 International License
2
+
3
+ Copyright (c) 2024 Thibaud Frere
4
+
5
+ This work is licensed under the Creative Commons Attribution 4.0 International License.
6
+ To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/
7
+ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
8
+
9
+ You are free to:
10
+
11
+ Share — copy and redistribute the material in any medium or format
12
+ Adapt — remix, transform, and build upon the material for any purpose, even commercially.
13
+
14
+ The licensor cannot revoke these freedoms as long as you follow the license terms.
15
+
16
+ Under the following terms:
17
+
18
+ Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
19
+
20
+ No additional restrictions — You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits.
21
+
22
+ Notices:
23
+
24
+ You do not have to comply with the license for elements of the material in the public domain or where your use is permitted by an applicable exception or limitation.
25
+
26
+ No warranties are given. The license may not give you all of the permissions necessary for your intended use. For example, other rights such as publicity, privacy, or moral rights may limit how you use the material.
27
+
28
+ ---
29
+
30
+ For the source code and technical implementation:
31
+ - The source code is available at: https://huggingface.co/spaces/tfrere/research-article-template
32
+ - Third-party figures and assets are excluded from this license and marked in their captions
33
+ - Dependencies and third-party libraries maintain their respective licenses
README.md CHANGED
@@ -8,4 +8,132 @@ pinned: false
8
  header: mini
9
  app_port: 8080
10
  thumbnail: https://huggingface.co/spaces/tfrere/research-paper-template/thumb.jpg
11
- ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  header: mini
9
  app_port: 8080
10
  thumbnail: https://huggingface.co/spaces/tfrere/research-paper-template/thumb.jpg
11
+ ---
12
+
13
+ # 📝 Research Article Template
14
+
15
+ [![License: CC BY 4.0](https://img.shields.io/badge/License-CC%20BY%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by/4.0/)
16
+ [![Node.js Version](https://img.shields.io/badge/node-%3E%3D20.0.0-brightgreen.svg)](https://nodejs.org/)
17
+ [![Astro](https://img.shields.io/badge/Astro-4.10.0-orange.svg)](https://astro.build/)
18
+ [![Hugging Face Spaces](https://img.shields.io/badge/%F0%9F%A4%97%20Hugging%20Face-Spaces-blue)](https://huggingface.co/spaces/tfrere/research-article-template)
19
+
20
+ > **A modern, interactive template for scientific writing** that brings papers to life with web-native features, minimal setup, and maximum impact.
21
+
22
+ ## ✨ Features
23
+
24
+ - 🎯 **Markdown-based** - Write in familiar Markdown/MDX
25
+ - 🧮 **KaTeX math** - Beautiful mathematical notation
26
+ - 🎨 **Syntax highlighting** - Code blocks with proper highlighting
27
+ - 📚 **Academic citations** - BibTeX integration
28
+ - 📝 **Footnotes & sidenotes** - Rich annotation system
29
+ - 📋 **Table of contents** - Auto-generated navigation
30
+ - 📊 **Interactive diagrams** - Mermaid, Plotly, D3.js ready
31
+ - 🎭 **HTML embeds** - Include any web content
32
+ - 🤖 **Gradio app embeds** - Interactive ML demos
33
+ - 🎨 **Dataviz color palettes** - Consistent visual design
34
+ - 🖼️ **Optimized images** - Automatic optimization
35
+ - ⚡ **Lightweight bundle** - Fast loading
36
+ - 🔍 **SEO friendly** - Search engine optimized
37
+ - 🏗️ **Automatic build** - CI/CD ready
38
+ - 📄 **PDF export** - Generate publication-ready PDFs
39
+ - 🌙 **Dark theme** - Modern UI with theme toggle
40
+ - 📱 **Mobile friendly** - Responsive design
41
+ - 📥 **LaTeX import** - Convert existing papers
42
+ - 🔄 **Template updates** - Stay current with improvements
43
+
44
+ ## 🚀 Quick Start
45
+
46
+ ### Option 1: Duplicate on Hugging Face (Recommended)
47
+
48
+ 1. Visit **[🤗 Research Article Template](https://huggingface.co/spaces/tfrere/research-article-template)**
49
+ 2. Click **"Duplicate this Space"**
50
+ 3. Clone your new repository:
51
+ ```bash
52
+ git clone [email protected]:spaces/<your-username>/<your-space>
53
+ cd <your-space>
54
+ ```
55
+
56
+ ### Option 2: Clone Directly
57
+
58
+ ```bash
59
+ git clone https://github.com/tfrere/research-article-template.git
60
+ cd research-article-template
61
+ ```
62
+
63
+ ### Installation
64
+
65
+ ```bash
66
+ # Install Node.js 20+ (use nvm for version management)
67
+ nvm install 20
68
+ nvm use 20
69
+
70
+ # Install Git LFS and pull assets
71
+ git lfs install
72
+ git lfs pull
73
+
74
+ # Install dependencies
75
+ cd app
76
+ npm install
77
+
78
+ # Start development server
79
+ npm run dev
80
+ ```
81
+
82
+ Visit `http://localhost:4321` to see your site!
83
+
84
+ ## 📖 Documentation
85
+
86
+ - **[Getting Started Guide](https://huggingface.co/spaces/tfrere/research-article-template)** - Complete setup instructions
87
+ - **[Writing Best Practices](https://huggingface.co/spaces/tfrere/research-article-template)** - Tips for effective scientific writing
88
+ - **[Component Reference](https://huggingface.co/spaces/tfrere/research-article-template)** - Available blocks and features
89
+ - **[LaTeX Conversion](https://huggingface.co/spaces/tfrere/research-article-template)** - Import existing papers
90
+
91
+ ## 🎯 Who This Is For
92
+
93
+ - **Scientists** writing modern, web-native research papers
94
+ - **Educators** creating interactive, explorable lessons
95
+ - **Researchers** who want to focus on ideas, not infrastructure
96
+ - **Anyone** who values clear, engaging technical communication
97
+
98
+ ## 🌟 Inspired by Distill
99
+
100
+ This template carries forward the spirit of [Distill](https://distill.pub/) (2016–2021), pushing interactive scientific writing even further with:
101
+ - Accessible, high-quality explanations
102
+ - Reproducible, production-ready demos
103
+ - Modern web technologies and best practices
104
+
105
+ ## 🤝 Contributing
106
+
107
+ We welcome contributions! Please see our [Contributing Guidelines](CONTRIBUTING.md) for details.
108
+
109
+ ### Ways to Contribute
110
+
111
+ - 🐛 **Report bugs** - Open an issue with detailed information
112
+ - 💡 **Suggest features** - Share ideas for improvements
113
+ - 📝 **Improve documentation** - Help others get started
114
+ - 🔧 **Submit code** - Fix bugs or add features
115
+ - 💬 **Join discussions** - Share feedback and ideas
116
+
117
+ ## 📄 License
118
+
119
+ This project is licensed under the [Creative Commons Attribution 4.0 International License](https://creativecommons.org/licenses/by/4.0/).
120
+
121
+ - **Diagrams and text**: CC-BY 4.0
122
+ - **Source code**: Available on [Hugging Face](https://huggingface.co/spaces/tfrere/research-article-template)
123
+ - **Third-party figures**: Excluded and marked in captions
124
+
125
+ ## 🙏 Acknowledgments
126
+
127
+ - Inspired by [Distill](https://distill.pub/) and the interactive scientific writing movement
128
+ - Built with [Astro](https://astro.build/), [MDX](https://mdxjs.com/), and modern web technologies
129
+ - Community feedback and contributions from researchers worldwide
130
+
131
+ ## 📞 Support
132
+
133
+ - 💬 **[Community Discussions](https://huggingface.co/spaces/tfrere/research-article-template/discussions)** - Ask questions and share ideas
134
+ - 🐛 **[Report Issues](https://huggingface.co/spaces/tfrere/research-article-template/discussions?status=open&type=issue)** - Bug reports and feature requests
135
+ - 📧 **Contact**: [@tfrere](https://huggingface.co/tfrere) on Hugging Face
136
+
137
+ ---
138
+
139
+ **Made with ❤️ for the scientific community**
app/.astro/astro/content.d.ts CHANGED
@@ -1,284 +0,0 @@
1
- declare module 'astro:content' {
2
- interface Render {
3
- '.mdx': Promise<{
4
- Content: import('astro').MarkdownInstance<{}>['Content'];
5
- headings: import('astro').MarkdownHeading[];
6
- remarkPluginFrontmatter: Record<string, any>;
7
- components: import('astro').MDXInstance<{}>['components'];
8
- }>;
9
- }
10
- }
11
-
12
- declare module 'astro:content' {
13
- interface RenderResult {
14
- Content: import('astro/runtime/server/index.js').AstroComponentFactory;
15
- headings: import('astro').MarkdownHeading[];
16
- remarkPluginFrontmatter: Record<string, any>;
17
- }
18
- interface Render {
19
- '.md': Promise<RenderResult>;
20
- }
21
-
22
- export interface RenderedContent {
23
- html: string;
24
- metadata?: {
25
- imagePaths: Array<string>;
26
- [key: string]: unknown;
27
- };
28
- }
29
- }
30
-
31
- declare module 'astro:content' {
32
- type Flatten<T> = T extends { [K: string]: infer U } ? U : never;
33
-
34
- export type CollectionKey = keyof AnyEntryMap;
35
- export type CollectionEntry<C extends CollectionKey> = Flatten<AnyEntryMap[C]>;
36
-
37
- export type ContentCollectionKey = keyof ContentEntryMap;
38
- export type DataCollectionKey = keyof DataEntryMap;
39
-
40
- type AllValuesOf<T> = T extends any ? T[keyof T] : never;
41
- type ValidContentEntrySlug<C extends keyof ContentEntryMap> = AllValuesOf<
42
- ContentEntryMap[C]
43
- >['slug'];
44
-
45
- /** @deprecated Use `getEntry` instead. */
46
- export function getEntryBySlug<
47
- C extends keyof ContentEntryMap,
48
- E extends ValidContentEntrySlug<C> | (string & {}),
49
- >(
50
- collection: C,
51
- // Note that this has to accept a regular string too, for SSR
52
- entrySlug: E,
53
- ): E extends ValidContentEntrySlug<C>
54
- ? Promise<CollectionEntry<C>>
55
- : Promise<CollectionEntry<C> | undefined>;
56
-
57
- /** @deprecated Use `getEntry` instead. */
58
- export function getDataEntryById<C extends keyof DataEntryMap, E extends keyof DataEntryMap[C]>(
59
- collection: C,
60
- entryId: E,
61
- ): Promise<CollectionEntry<C>>;
62
-
63
- export function getCollection<C extends keyof AnyEntryMap, E extends CollectionEntry<C>>(
64
- collection: C,
65
- filter?: (entry: CollectionEntry<C>) => entry is E,
66
- ): Promise<E[]>;
67
- export function getCollection<C extends keyof AnyEntryMap>(
68
- collection: C,
69
- filter?: (entry: CollectionEntry<C>) => unknown,
70
- ): Promise<CollectionEntry<C>[]>;
71
-
72
- export function getEntry<
73
- C extends keyof ContentEntryMap,
74
- E extends ValidContentEntrySlug<C> | (string & {}),
75
- >(entry: {
76
- collection: C;
77
- slug: E;
78
- }): E extends ValidContentEntrySlug<C>
79
- ? Promise<CollectionEntry<C>>
80
- : Promise<CollectionEntry<C> | undefined>;
81
- export function getEntry<
82
- C extends keyof DataEntryMap,
83
- E extends keyof DataEntryMap[C] | (string & {}),
84
- >(entry: {
85
- collection: C;
86
- id: E;
87
- }): E extends keyof DataEntryMap[C]
88
- ? Promise<DataEntryMap[C][E]>
89
- : Promise<CollectionEntry<C> | undefined>;
90
- export function getEntry<
91
- C extends keyof ContentEntryMap,
92
- E extends ValidContentEntrySlug<C> | (string & {}),
93
- >(
94
- collection: C,
95
- slug: E,
96
- ): E extends ValidContentEntrySlug<C>
97
- ? Promise<CollectionEntry<C>>
98
- : Promise<CollectionEntry<C> | undefined>;
99
- export function getEntry<
100
- C extends keyof DataEntryMap,
101
- E extends keyof DataEntryMap[C] | (string & {}),
102
- >(
103
- collection: C,
104
- id: E,
105
- ): E extends keyof DataEntryMap[C]
106
- ? Promise<DataEntryMap[C][E]>
107
- : Promise<CollectionEntry<C> | undefined>;
108
-
109
- /** Resolve an array of entry references from the same collection */
110
- export function getEntries<C extends keyof ContentEntryMap>(
111
- entries: {
112
- collection: C;
113
- slug: ValidContentEntrySlug<C>;
114
- }[],
115
- ): Promise<CollectionEntry<C>[]>;
116
- export function getEntries<C extends keyof DataEntryMap>(
117
- entries: {
118
- collection: C;
119
- id: keyof DataEntryMap[C];
120
- }[],
121
- ): Promise<CollectionEntry<C>[]>;
122
-
123
- export function render<C extends keyof AnyEntryMap>(
124
- entry: AnyEntryMap[C][string],
125
- ): Promise<RenderResult>;
126
-
127
- export function reference<C extends keyof AnyEntryMap>(
128
- collection: C,
129
- ): import('astro/zod').ZodEffects<
130
- import('astro/zod').ZodString,
131
- C extends keyof ContentEntryMap
132
- ? {
133
- collection: C;
134
- slug: ValidContentEntrySlug<C>;
135
- }
136
- : {
137
- collection: C;
138
- id: keyof DataEntryMap[C];
139
- }
140
- >;
141
- // Allow generic `string` to avoid excessive type errors in the config
142
- // if `dev` is not running to update as you edit.
143
- // Invalid collection names will be caught at build time.
144
- export function reference<C extends string>(
145
- collection: C,
146
- ): import('astro/zod').ZodEffects<import('astro/zod').ZodString, never>;
147
-
148
- type ReturnTypeOrOriginal<T> = T extends (...args: any[]) => infer R ? R : T;
149
- type InferEntrySchema<C extends keyof AnyEntryMap> = import('astro/zod').infer<
150
- ReturnTypeOrOriginal<Required<ContentConfig['collections'][C]>['schema']>
151
- >;
152
-
153
- type ContentEntryMap = {
154
- "chapters": {
155
- "demo/best-pratices.mdx": {
156
- id: "demo/best-pratices.mdx";
157
- slug: "demo/best-pratices";
158
- body: string;
159
- collection: "chapters";
160
- data: any
161
- } & { render(): Render[".mdx"] };
162
- "demo/components.mdx": {
163
- id: "demo/components.mdx";
164
- slug: "demo/components";
165
- body: string;
166
- collection: "chapters";
167
- data: any
168
- } & { render(): Render[".mdx"] };
169
- "demo/debug-components.mdx": {
170
- id: "demo/debug-components.mdx";
171
- slug: "demo/debug-components";
172
- body: string;
173
- collection: "chapters";
174
- data: any
175
- } & { render(): Render[".mdx"] };
176
- "demo/getting-started.mdx": {
177
- id: "demo/getting-started.mdx";
178
- slug: "demo/getting-started";
179
- body: string;
180
- collection: "chapters";
181
- data: any
182
- } & { render(): Render[".mdx"] };
183
- "demo/greetings.mdx": {
184
- id: "demo/greetings.mdx";
185
- slug: "demo/greetings";
186
- body: string;
187
- collection: "chapters";
188
- data: any
189
- } & { render(): Render[".mdx"] };
190
- "demo/introduction.mdx": {
191
- id: "demo/introduction.mdx";
192
- slug: "demo/introduction";
193
- body: string;
194
- collection: "chapters";
195
- data: any
196
- } & { render(): Render[".mdx"] };
197
- "demo/latex-convertion.mdx": {
198
- id: "demo/latex-convertion.mdx";
199
- slug: "demo/latex-convertion";
200
- body: string;
201
- collection: "chapters";
202
- data: any
203
- } & { render(): Render[".mdx"] };
204
- "demo/markdown.mdx": {
205
- id: "demo/markdown.mdx";
206
- slug: "demo/markdown";
207
- body: string;
208
- collection: "chapters";
209
- data: any
210
- } & { render(): Render[".mdx"] };
211
- "demo/vibe-coding-charts.mdx": {
212
- id: "demo/vibe-coding-charts.mdx";
213
- slug: "demo/vibe-coding-charts";
214
- body: string;
215
- collection: "chapters";
216
- data: any
217
- } & { render(): Render[".mdx"] };
218
- "demo/writing-your-content.mdx": {
219
- id: "demo/writing-your-content.mdx";
220
- slug: "demo/writing-your-content";
221
- body: string;
222
- collection: "chapters";
223
- data: any
224
- } & { render(): Render[".mdx"] };
225
- "your-first-chapter.mdx": {
226
- id: "your-first-chapter.mdx";
227
- slug: "your-first-chapter";
228
- body: string;
229
- collection: "chapters";
230
- data: any
231
- } & { render(): Render[".mdx"] };
232
- };
233
- "embeds": {
234
- "vibe-code-d3-embeds-directives.md": {
235
- id: "vibe-code-d3-embeds-directives.md";
236
- slug: "vibe-code-d3-embeds-directives";
237
- body: string;
238
- collection: "embeds";
239
- data: any
240
- } & { render(): Render[".md"] };
241
- };
242
-
243
- };
244
-
245
- type DataEntryMap = {
246
- "assets": {
247
- "data/data": {
248
- id: "data/data";
249
- collection: "assets";
250
- data: any
251
- };
252
- "data/font-sprite-mapping": {
253
- id: "data/font-sprite-mapping";
254
- collection: "assets";
255
- data: any
256
- };
257
- "data/font_manifest": {
258
- id: "data/font_manifest";
259
- collection: "assets";
260
- data: any
261
- };
262
- "data/llm_benchmarks": {
263
- id: "data/llm_benchmarks";
264
- collection: "assets";
265
- data: any
266
- };
267
- "data/mnist-variant-model": {
268
- id: "data/mnist-variant-model";
269
- collection: "assets";
270
- data: any
271
- };
272
- "data/typography_data": {
273
- id: "data/typography_data";
274
- collection: "assets";
275
- data: any
276
- };
277
- };
278
-
279
- };
280
-
281
- type AnyEntryMap = ContentEntryMap & DataEntryMap;
282
-
283
- export type ContentConfig = never;
284
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/package.json CHANGED
Binary files a/app/package.json and b/app/package.json differ
 
app/scripts/latex-to-mdx/input/.gitignore DELETED
@@ -1,13 +0,0 @@
1
- .DS_store
2
-
3
- *.aux
4
- *.nav
5
- *.log
6
- *.snm
7
- *.toc
8
- *.out
9
- *.vrb
10
- *.blg
11
- *latexmk*
12
- *fls
13
- *synctex*
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/scripts/latex-to-mdx/input/README.md DELETED
@@ -1,64 +0,0 @@
1
- # Robot Learning: A Tutorial
2
-
3
- Google "robot learning tutorial", and you will spend just as much time skimming through sources as actually learning about robot learning.
4
- This tutorial solves this: a unified entry point to the field of robot learning, presenting the conceptual underpinnings of popular approaches in the field, as well as presenting practical examples of how to use SOTA algorithms in `lerobot`, an open-source library for full-stack robotics.
5
-
6
- # TODO
7
-
8
- ```markdown
9
- ## 1. Introduction
10
- - [x] 1.1 Motivation
11
- - [x] 1.2 Structure of the Report
12
-
13
- ## 2. Classical Robotics
14
- - [x] 2.1 Different kinds of motion
15
- - [x] 2.2 Example: (Planar) Manipulation
16
- - [x] 2.3.1 Adding Feedback Loops
17
- - [x] 2.4 Limitations of Dynamics-based Robotics
18
-
19
- ## 3. Robot Learning
20
- - [ ] 3.1 Reinforcement Learning (RL) for Robotics
21
- - [ ] 3.1.1 A (Concise) Introduction to RL
22
- - [ ] 3.2 Model-Free RL for Real-world Robotics
23
- - [ ] 3.2.1 RL in lerobot: sample efficient, data-driven, and real-world
24
- - [ ] 3.2.2 Code Example: HIL-SERL in lerobot
25
- - [ ] 3.3 Limitations of RL in Real-World Robotics: Simulators and Reward Design
26
- - [ ] 3.4 Behavioral Cloning (BC) for Robotics
27
- - [ ] 4.1.1 Leveraging Real-World Demonstrations
28
- - [ ] 4.1.2 Reward-Free Training and Betting on Data
29
-
30
- ## 4. Single-Task Policy Architectures
31
- - [ ] 4.2 Action Chunking with Transformers (ACT)
32
- - [ ] 4.2.1 Model Architecture and Training Objectives
33
- - [ ] 4.2.2 Code Example: Use ACT in lerobot
34
- - [ ] 4.3 Diffusion-Based Policy Models
35
- - [ ] 4.3.1 Generative Modeling for Action Sequences
36
- - [ ] 4.3.2 Code Example: Use Diffusion Policy in lerobot
37
-
38
- ## 5. Multi-task Policies: Vision-Language-Action (VLA) Models in Robotics
39
- - [ ] 5.1 Multi-task Policies: Vision-Language-Action (VLA) Models in Robotics
40
- - [ ] 5.1.1 Overview of Major Architectures: Pi0, SmolVLA
41
- - [ ] 5.1.2 Practical Implementation: Using VLA in lerobot
42
-
43
- ## 6. Some Emerging Directions in Robot Learning
44
- - [ ] 6.1 VLAs Post-Training
45
- - [ ] 6.1.1 From Imitation to Refinement
46
- - [ ] 6.1.2 EXPO
47
-
48
- ## 7. Conclusions
49
- ```
50
-
51
- If time permits (vs current TOC):
52
-
53
- - [ ] 3.3 Model-based RL for Robotics
54
- - [ ] 3.3.1 TD-MPC
55
- - [ ] 3.3.2 Code Example: Use TD-MPC in lerobot
56
- - [ ] 3.5 Popular benchmarks in Robot Learning
57
-
58
- - 4.3 Vector-Quantized Behavior Transformer (VQ-BeT)
59
- - [ ] 4.3.1 Model Architecture and Training Objectives
60
- - [ ] 4.3.2 Code Example: Use VQ-BeT in lerobot
61
-
62
- - [ ] 6.1 Using World Models for Robotics
63
- - [ ] 6.1.1 In the architecture: V-JEPA and V-JEPA2
64
- - [ ] 6.1.2 In the simulation: GENIE
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/scripts/latex-to-mdx/input/_minted/62B8750C0ACEBDA39A95140434E540A8.highlight.minted DELETED
@@ -1,52 +0,0 @@
1
- \begin{MintedVerbatim}[commandchars=\\\{\}]
2
- \PYG{k+kn}{import}\PYG{+w}{ }\PYG{n+nn}{torch}
3
- \PYG{k+kn}{from}\PYG{+w}{ }\PYG{n+nn}{lerobot}\PYG{n+nn}{.}\PYG{n+nn}{datasets}\PYG{n+nn}{.}\PYG{n+nn}{lerobot\PYGZus{}dataset}\PYG{+w}{ }\PYG{k+kn}{import} \PYG{n}{LeRobotDataset}
4
- \PYG{k+kn}{from}\PYG{+w}{ }\PYG{n+nn}{lerobot}\PYG{n+nn}{.}\PYG{n+nn}{datasets}\PYG{n+nn}{.}\PYG{n+nn}{streaming\PYGZus{}dataset}\PYG{+w}{ }\PYG{k+kn}{import} \PYG{n}{StreamingLeRobotDataset}
5
-
6
- \PYG{n}{delta\PYGZus{}timestamps} \PYG{o}{=} \PYG{p}{\PYGZob{}}
7
- \PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+s2}{observation.images.wrist\PYGZus{}camera}\PYG{l+s+s2}{\PYGZdq{}}\PYG{p}{:} \PYG{p}{[}\PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{0.2}\PYG{p}{,} \PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{0.1}\PYG{p}{,} \PYG{l+m+mf}{0.0}\PYG{p}{]} \PYG{c+c1}{\PYGZsh{} 0.2, and 0.1 seconds *before* each frame}
8
- \PYG{p}{\PYGZcb{}}
9
-
10
- \PYG{c+c1}{\PYGZsh{} Optionally, use StreamingLeRobotDataset to avoid downloading the dataset}
11
- \PYG{n}{dataset} \PYG{o}{=} \PYG{n}{LeRobotDataset}\PYG{p}{(}
12
- \PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+s2}{lerobot/svla\PYGZus{}so101\PYGZus{}pickplace}\PYG{l+s+s2}{\PYGZdq{}}\PYG{p}{,}
13
- \PYG{n}{delta\PYGZus{}timestamps}\PYG{o}{=}\PYG{n}{delta\PYGZus{}timestamps}
14
- \PYG{p}{)}
15
-
16
- \PYG{c+c1}{\PYGZsh{} Streams frames from the Hugging Face Hub without loading into memory}
17
- \PYG{n}{streaming\PYGZus{}dataset} \PYG{o}{=} \PYG{n}{StreamingLeRobotDataset}\PYG{p}{(}
18
- \PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+s2}{lerobot/svla\PYGZus{}so101\PYGZus{}pickplace}\PYG{l+s+s2}{\PYGZdq{}}\PYG{p}{,}
19
- \PYG{n}{delta\PYGZus{}timestamps}\PYG{o}{=}\PYG{n}{delta\PYGZus{}timestamps}
20
- \PYG{p}{)}
21
-
22
- \PYG{c+c1}{\PYGZsh{} Get the 100th frame in the dataset by }
23
- \PYG{n}{sample} \PYG{o}{=} \PYG{n}{dataset}\PYG{p}{[}\PYG{l+m+mi}{100}\PYG{p}{]}
24
- \PYG{n+nb}{print}\PYG{p}{(}\PYG{n}{sample}\PYG{p}{)}
25
- \PYG{c+c1}{\PYGZsh{} \PYGZob{}}
26
- \PYG{c+c1}{\PYGZsh{} \PYGZsq{}observation.state\PYGZsq{}: tensor([...]), }
27
- \PYG{c+c1}{\PYGZsh{} \PYGZsq{}action\PYGZsq{}: tensor([...]), }
28
- \PYG{c+c1}{\PYGZsh{} \PYGZsq{}observation.images.wrist\PYGZus{}camera\PYGZsq{}: tensor([3, C, H, W]), for delta timesteps}
29
- \PYG{c+c1}{\PYGZsh{} ...}
30
- \PYG{c+c1}{\PYGZsh{} \PYGZcb{}}
31
-
32
- \PYG{n}{batch\PYGZus{}size}\PYG{o}{=}\PYG{l+m+mi}{16}
33
- \PYG{c+c1}{\PYGZsh{} wrap the dataset in a DataLoader to use process it batches for training purposes}
34
- \PYG{n}{data\PYGZus{}loader} \PYG{o}{=} \PYG{n}{torch}\PYG{o}{.}\PYG{n}{utils}\PYG{o}{.}\PYG{n}{data}\PYG{o}{.}\PYG{n}{DataLoader}\PYG{p}{(}
35
- \PYG{n}{dataset}\PYG{p}{,}
36
- \PYG{n}{batch\PYGZus{}size}\PYG{o}{=}\PYG{n}{batch\PYGZus{}size}
37
- \PYG{p}{)}
38
-
39
- \PYG{c+c1}{\PYGZsh{} Iterate over the DataLoader in a training loop}
40
- \PYG{n}{num\PYGZus{}epochs} \PYG{o}{=} \PYG{l+m+mi}{1}
41
- \PYG{n}{device} \PYG{o}{=} \PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+s2}{cuda}\PYG{l+s+s2}{\PYGZdq{}} \PYG{k}{if} \PYG{n}{torch}\PYG{o}{.}\PYG{n}{cuda}\PYG{o}{.}\PYG{n}{is\PYGZus{}available}\PYG{p}{(}\PYG{p}{)} \PYG{k}{else} \PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+s2}{cpu}\PYG{l+s+s2}{\PYGZdq{}}
42
-
43
- \PYG{k}{for} \PYG{n}{epoch} \PYG{o+ow}{in} \PYG{n+nb}{range}\PYG{p}{(}\PYG{n}{num\PYGZus{}epochs}\PYG{p}{)}\PYG{p}{:}
44
- \PYG{k}{for} \PYG{n}{batch} \PYG{o+ow}{in} \PYG{n}{data\PYGZus{}loader}\PYG{p}{:}
45
- \PYG{c+c1}{\PYGZsh{} Move data to the appropriate device (e.g., GPU)}
46
- \PYG{n}{observations} \PYG{o}{=} \PYG{n}{batch}\PYG{p}{[}\PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+s2}{observation.state}\PYG{l+s+s2}{\PYGZdq{}}\PYG{p}{]}\PYG{o}{.}\PYG{n}{to}\PYG{p}{(}\PYG{n}{device}\PYG{p}{)}
47
- \PYG{n}{actions} \PYG{o}{=} \PYG{n}{batch}\PYG{p}{[}\PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+s2}{action}\PYG{l+s+s2}{\PYGZdq{}}\PYG{p}{]}\PYG{o}{.}\PYG{n}{to}\PYG{p}{(}\PYG{n}{device}\PYG{p}{)}
48
- \PYG{n}{images} \PYG{o}{=} \PYG{n}{batch}\PYG{p}{[}\PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+s2}{observation.images.wrist\PYGZus{}camera}\PYG{l+s+s2}{\PYGZdq{}}\PYG{p}{]}\PYG{o}{.}\PYG{n}{to}\PYG{p}{(}\PYG{n}{device}\PYG{p}{)}
49
-
50
- \PYG{c+c1}{\PYGZsh{} Next, you can do amazing\PYGZus{}model.forward(batch)}
51
- \PYG{o}{.}\PYG{o}{.}\PYG{o}{.}
52
- \end{MintedVerbatim}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/scripts/latex-to-mdx/input/_minted/_FAD58DE7366495DB4650CFEFAC2FCD61.index.minted DELETED
@@ -1,10 +0,0 @@
1
- {
2
- "jobname": "main",
3
- "md5": "FAD58DE7366495DB4650CFEFAC2FCD61",
4
- "timestamp": "20250911180655",
5
- "cachefiles": [
6
- "62B8750C0ACEBDA39A95140434E540A8.highlight.minted",
7
- "_FAD58DE7366495DB4650CFEFAC2FCD61.index.minted",
8
- "colorful.style.minted"
9
- ]
10
- }
 
 
 
 
 
 
 
 
 
 
 
app/scripts/latex-to-mdx/input/_minted/colorful.style.minted DELETED
@@ -1,100 +0,0 @@
1
- \makeatletter
2
- \def\PYG@reset{\let\PYG@it=\relax \let\PYG@bf=\relax%
3
- \let\PYG@ul=\relax \let\PYG@tc=\relax%
4
- \let\PYG@bc=\relax \let\PYG@ff=\relax}
5
- \def\PYG@tok#1{\csname PYG@tok@#1\endcsname}
6
- \def\PYG@toks#1+{\ifx\relax#1\empty\else%
7
- \PYG@tok{#1}\expandafter\PYG@toks\fi}
8
- \def\PYG@do#1{\PYG@bc{\PYG@tc{\PYG@ul{%
9
- \PYG@it{\PYG@bf{\PYG@ff{#1}}}}}}}
10
- \def\PYG#1#2{\PYG@reset\PYG@toks#1+\relax+\PYG@do{#2}}
11
-
12
- \@namedef{PYG@tok@w}{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.73,0.73}{##1}}}
13
- \@namedef{PYG@tok@c}{\def\PYG@tc##1{\textcolor[rgb]{0.53,0.53,0.53}{##1}}}
14
- \@namedef{PYG@tok@cp}{\def\PYG@tc##1{\textcolor[rgb]{0.33,0.47,0.60}{##1}}}
15
- \@namedef{PYG@tok@cs}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.80,0.00,0.00}{##1}}}
16
- \@namedef{PYG@tok@k}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.53,0.00}{##1}}}
17
- \@namedef{PYG@tok@kp}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.20,0.53}{##1}}}
18
- \@namedef{PYG@tok@kt}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.20,0.20,0.60}{##1}}}
19
- \@namedef{PYG@tok@o}{\def\PYG@tc##1{\textcolor[rgb]{0.20,0.20,0.20}{##1}}}
20
- \@namedef{PYG@tok@ow}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.00,0.00}{##1}}}
21
- \@namedef{PYG@tok@nb}{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
22
- \@namedef{PYG@tok@nf}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.40,0.73}{##1}}}
23
- \@namedef{PYG@tok@nc}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.73,0.00,0.40}{##1}}}
24
- \@namedef{PYG@tok@nn}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.05,0.52,0.71}{##1}}}
25
- \@namedef{PYG@tok@ne}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{1.00,0.00,0.00}{##1}}}
26
- \@namedef{PYG@tok@nv}{\def\PYG@tc##1{\textcolor[rgb]{0.60,0.40,0.20}{##1}}}
27
- \@namedef{PYG@tok@vi}{\def\PYG@tc##1{\textcolor[rgb]{0.20,0.20,0.73}{##1}}}
28
- \@namedef{PYG@tok@vc}{\def\PYG@tc##1{\textcolor[rgb]{0.20,0.40,0.60}{##1}}}
29
- \@namedef{PYG@tok@vg}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.87,0.47,0.00}{##1}}}
30
- \@namedef{PYG@tok@no}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.20,0.40}{##1}}}
31
- \@namedef{PYG@tok@nl}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.60,0.47,0.00}{##1}}}
32
- \@namedef{PYG@tok@ni}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.53,0.00,0.00}{##1}}}
33
- \@namedef{PYG@tok@na}{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.00,0.80}{##1}}}
34
- \@namedef{PYG@tok@nt}{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.47,0.00}{##1}}}
35
- \@namedef{PYG@tok@nd}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.33,0.33,0.33}{##1}}}
36
- \@namedef{PYG@tok@s}{\def\PYG@bc##1{{\setlength{\fboxsep}{0pt}\colorbox[rgb]{1.00,0.94,0.94}{\strut ##1}}}}
37
- \@namedef{PYG@tok@sc}{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.27,0.87}{##1}}}
38
- \@namedef{PYG@tok@sd}{\def\PYG@tc##1{\textcolor[rgb]{0.87,0.27,0.13}{##1}}}
39
- \@namedef{PYG@tok@si}{\def\PYG@bc##1{{\setlength{\fboxsep}{0pt}\colorbox[rgb]{0.93,0.93,0.93}{\strut ##1}}}}
40
- \@namedef{PYG@tok@se}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}\def\PYG@bc##1{{\setlength{\fboxsep}{0pt}\colorbox[rgb]{1.00,0.94,0.94}{\strut ##1}}}}
41
- \@namedef{PYG@tok@sr}{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.00,0.00}{##1}}\def\PYG@bc##1{{\setlength{\fboxsep}{0pt}\colorbox[rgb]{1.00,0.94,1.00}{\strut ##1}}}}
42
- \@namedef{PYG@tok@ss}{\def\PYG@tc##1{\textcolor[rgb]{0.67,0.40,0.00}{##1}}}
43
- \@namedef{PYG@tok@sx}{\def\PYG@tc##1{\textcolor[rgb]{0.87,0.13,0.00}{##1}}\def\PYG@bc##1{{\setlength{\fboxsep}{0pt}\colorbox[rgb]{1.00,0.94,0.94}{\strut ##1}}}}
44
- \@namedef{PYG@tok@m}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.40,0.00,0.93}{##1}}}
45
- \@namedef{PYG@tok@mi}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.00,0.87}{##1}}}
46
- \@namedef{PYG@tok@mf}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.40,0.00,0.93}{##1}}}
47
- \@namedef{PYG@tok@mh}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.33,0.53}{##1}}}
48
- \@namedef{PYG@tok@mo}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.27,0.00,0.93}{##1}}}
49
- \@namedef{PYG@tok@gh}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.00,0.50}{##1}}}
50
- \@namedef{PYG@tok@gu}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.50,0.00,0.50}{##1}}}
51
- \@namedef{PYG@tok@gd}{\def\PYG@tc##1{\textcolor[rgb]{0.63,0.00,0.00}{##1}}}
52
- \@namedef{PYG@tok@gi}{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.63,0.00}{##1}}}
53
- \@namedef{PYG@tok@gr}{\def\PYG@tc##1{\textcolor[rgb]{1.00,0.00,0.00}{##1}}}
54
- \@namedef{PYG@tok@ge}{\let\PYG@it=\textit}
55
- \@namedef{PYG@tok@gs}{\let\PYG@bf=\textbf}
56
- \@namedef{PYG@tok@ges}{\let\PYG@bf=\textbf\let\PYG@it=\textit}
57
- \@namedef{PYG@tok@gp}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.78,0.36,0.04}{##1}}}
58
- \@namedef{PYG@tok@go}{\def\PYG@tc##1{\textcolor[rgb]{0.53,0.53,0.53}{##1}}}
59
- \@namedef{PYG@tok@gt}{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.27,0.87}{##1}}}
60
- \@namedef{PYG@tok@err}{\def\PYG@tc##1{\textcolor[rgb]{1.00,0.00,0.00}{##1}}\def\PYG@bc##1{{\setlength{\fboxsep}{0pt}\colorbox[rgb]{1.00,0.67,0.67}{\strut ##1}}}}
61
- \@namedef{PYG@tok@kc}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.53,0.00}{##1}}}
62
- \@namedef{PYG@tok@kd}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.53,0.00}{##1}}}
63
- \@namedef{PYG@tok@kn}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.53,0.00}{##1}}}
64
- \@namedef{PYG@tok@kr}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.53,0.00}{##1}}}
65
- \@namedef{PYG@tok@bp}{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
66
- \@namedef{PYG@tok@fm}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.40,0.73}{##1}}}
67
- \@namedef{PYG@tok@vm}{\def\PYG@tc##1{\textcolor[rgb]{0.60,0.40,0.20}{##1}}}
68
- \@namedef{PYG@tok@sa}{\def\PYG@bc##1{{\setlength{\fboxsep}{0pt}\colorbox[rgb]{1.00,0.94,0.94}{\strut ##1}}}}
69
- \@namedef{PYG@tok@sb}{\def\PYG@bc##1{{\setlength{\fboxsep}{0pt}\colorbox[rgb]{1.00,0.94,0.94}{\strut ##1}}}}
70
- \@namedef{PYG@tok@dl}{\def\PYG@bc##1{{\setlength{\fboxsep}{0pt}\colorbox[rgb]{1.00,0.94,0.94}{\strut ##1}}}}
71
- \@namedef{PYG@tok@s2}{\def\PYG@bc##1{{\setlength{\fboxsep}{0pt}\colorbox[rgb]{1.00,0.94,0.94}{\strut ##1}}}}
72
- \@namedef{PYG@tok@sh}{\def\PYG@bc##1{{\setlength{\fboxsep}{0pt}\colorbox[rgb]{1.00,0.94,0.94}{\strut ##1}}}}
73
- \@namedef{PYG@tok@s1}{\def\PYG@bc##1{{\setlength{\fboxsep}{0pt}\colorbox[rgb]{1.00,0.94,0.94}{\strut ##1}}}}
74
- \@namedef{PYG@tok@mb}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.40,0.00,0.93}{##1}}}
75
- \@namedef{PYG@tok@il}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.00,0.87}{##1}}}
76
- \@namedef{PYG@tok@ch}{\def\PYG@tc##1{\textcolor[rgb]{0.53,0.53,0.53}{##1}}}
77
- \@namedef{PYG@tok@cm}{\def\PYG@tc##1{\textcolor[rgb]{0.53,0.53,0.53}{##1}}}
78
- \@namedef{PYG@tok@cpf}{\def\PYG@tc##1{\textcolor[rgb]{0.53,0.53,0.53}{##1}}}
79
- \@namedef{PYG@tok@c1}{\def\PYG@tc##1{\textcolor[rgb]{0.53,0.53,0.53}{##1}}}
80
-
81
- \def\PYGZbs{\char`\\}
82
- \def\PYGZus{\char`\_}
83
- \def\PYGZob{\char`\{}
84
- \def\PYGZcb{\char`\}}
85
- \def\PYGZca{\char`\^}
86
- \def\PYGZam{\char`\&}
87
- \def\PYGZlt{\char`\<}
88
- \def\PYGZgt{\char`\>}
89
- \def\PYGZsh{\char`\#}
90
- \def\PYGZpc{\char`\%}
91
- \def\PYGZdl{\char`\$}
92
- \def\PYGZhy{\char`\-}
93
- \def\PYGZsq{\char`\'}
94
- \def\PYGZdq{\char`\"}
95
- \def\PYGZti{\char`\~}
96
- % for compatibility with earlier versions
97
- \def\PYGZat{@}
98
- \def\PYGZlb{[}
99
- \def\PYGZrb{]}
100
- \makeatother
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/scripts/latex-to-mdx/input/fancyhdr.sty DELETED
@@ -1,485 +0,0 @@
1
- % fancyhdr.sty version 3.2
2
- % Fancy headers and footers for LaTeX.
3
- % Piet van Oostrum,
4
- % Dept of Computer and Information Sciences, University of Utrecht,
5
- % Padualaan 14, P.O. Box 80.089, 3508 TB Utrecht, The Netherlands
6
- % Telephone: +31 30 2532180. Email: [email protected]
7
- % ========================================================================
8
- % LICENCE:
9
- % This file may be distributed under the terms of the LaTeX Project Public
10
- % License, as described in lppl.txt in the base LaTeX distribution.
11
- % Either version 1 or, at your option, any later version.
12
- % ========================================================================
13
- % MODIFICATION HISTORY:
14
- % Sep 16, 1994
15
- % version 1.4: Correction for use with \reversemargin
16
- % Sep 29, 1994:
17
- % version 1.5: Added the \iftopfloat, \ifbotfloat and \iffloatpage commands
18
- % Oct 4, 1994:
19
- % version 1.6: Reset single spacing in headers/footers for use with
20
- % setspace.sty or doublespace.sty
21
- % Oct 4, 1994:
22
- % version 1.7: changed \let\@mkboth\markboth to
23
- % \def\@mkboth{\protect\markboth} to make it more robust
24
- % Dec 5, 1994:
25
- % version 1.8: corrections for amsbook/amsart: define \@chapapp and (more
26
- % importantly) use the \chapter/sectionmark definitions from ps@headings if
27
- % they exist (which should be true for all standard classes).
28
- % May 31, 1995:
29
- % version 1.9: The proposed \renewcommand{\headrulewidth}{\iffloatpage...
30
- % construction in the doc did not work properly with the fancyplain style.
31
- % June 1, 1995:
32
- % version 1.91: The definition of \@mkboth wasn't restored on subsequent
33
- % \pagestyle{fancy}'s.
34
- % June 1, 1995:
35
- % version 1.92: The sequence \pagestyle{fancyplain} \pagestyle{plain}
36
- % \pagestyle{fancy} would erroneously select the plain version.
37
- % June 1, 1995:
38
- % version 1.93: \fancypagestyle command added.
39
- % Dec 11, 1995:
40
- % version 1.94: suggested by Conrad Hughes <[email protected]>
41
- % CJCH, Dec 11, 1995: added \footruleskip to allow control over footrule
42
- % position (old hardcoded value of .3\normalbaselineskip is far too high
43
- % when used with very small footer fonts).
44
- % Jan 31, 1996:
45
- % version 1.95: call \@normalsize in the reset code if that is defined,
46
- % otherwise \normalsize.
47
- % this is to solve a problem with ucthesis.cls, as this doesn't
48
- % define \@currsize. Unfortunately for latex209 calling \normalsize doesn't
49
- % work as this is optimized to do very little, so there \@normalsize should
50
- % be called. Hopefully this code works for all versions of LaTeX known to
51
- % mankind.
52
- % April 25, 1996:
53
- % version 1.96: initialize \headwidth to a magic (negative) value to catch
54
- % most common cases that people change it before calling \pagestyle{fancy}.
55
- % Note it can't be initialized when reading in this file, because
56
- % \textwidth could be changed afterwards. This is quite probable.
57
- % We also switch to \MakeUppercase rather than \uppercase and introduce a
58
- % \nouppercase command for use in headers. and footers.
59
- % May 3, 1996:
60
- % version 1.97: Two changes:
61
- % 1. Undo the change in version 1.8 (using the pagestyle{headings} defaults
62
- % for the chapter and section marks. The current version of amsbook and
63
- % amsart classes don't seem to need them anymore. Moreover the standard
64
- % latex classes don't use \markboth if twoside isn't selected, and this is
65
- % confusing as \leftmark doesn't work as expected.
66
- % 2. include a call to \ps@empty in ps@@fancy. This is to solve a problem
67
- % in the amsbook and amsart classes, that make global changes to \topskip,
68
- % which are reset in \ps@empty. Hopefully this doesn't break other things.
69
- % May 7, 1996:
70
- % version 1.98:
71
- % Added % after the line \def\nouppercase
72
- % May 7, 1996:
73
- % version 1.99: This is the alpha version of fancyhdr 2.0
74
- % Introduced the new commands \fancyhead, \fancyfoot, and \fancyhf.
75
- % Changed \headrulewidth, \footrulewidth, \footruleskip to
76
- % macros rather than length parameters, In this way they can be
77
- % conditionalized and they don't consume length registers. There is no need
78
- % to have them as length registers unless you want to do calculations with
79
- % them, which is unlikely. Note that this may make some uses of them
80
- % incompatible (i.e. if you have a file that uses \setlength or \xxxx=)
81
- % May 10, 1996:
82
- % version 1.99a:
83
- % Added a few more % signs
84
- % May 10, 1996:
85
- % version 1.99b:
86
- % Changed the syntax of \f@nfor to be resistent to catcode changes of :=
87
- % Removed the [1] from the defs of \lhead etc. because the parameter is
88
- % consumed by the \@[xy]lhead etc. macros.
89
- % June 24, 1997:
90
- % version 1.99c:
91
- % corrected \nouppercase to also include the protected form of \MakeUppercase
92
- % \global added to manipulation of \headwidth.
93
- % \iffootnote command added.
94
- % Some comments added about \@fancyhead and \@fancyfoot.
95
- % Aug 24, 1998
96
- % version 1.99d
97
- % Changed the default \ps@empty to \ps@@empty in order to allow
98
- % \fancypagestyle{empty} redefinition.
99
- % Oct 11, 2000
100
- % version 2.0
101
- % Added LPPL license clause.
102
- %
103
- % A check for \headheight is added. An errormessage is given (once) if the
104
- % header is too large. Empty headers don't generate the error even if
105
- % \headheight is very small or even 0pt.
106
- % Warning added for the use of 'E' option when twoside option is not used.
107
- % In this case the 'E' fields will never be used.
108
- %
109
- % Mar 10, 2002
110
- % version 2.1beta
111
- % New command: \fancyhfoffset[place]{length}
112
- % defines offsets to be applied to the header/footer to let it stick into
113
- % the margins (if length > 0).
114
- % place is like in fancyhead, except that only E,O,L,R can be used.
115
- % This replaces the old calculation based on \headwidth and the marginpar
116
- % area.
117
- % \headwidth will be dynamically calculated in the headers/footers when
118
- % this is used.
119
- %
120
- % Mar 26, 2002
121
- % version 2.1beta2
122
- % \fancyhfoffset now also takes h,f as possible letters in the argument to
123
- % allow the header and footer widths to be different.
124
- % New commands \fancyheadoffset and \fancyfootoffset added comparable to
125
- % \fancyhead and \fancyfoot.
126
- % Errormessages and warnings have been made more informative.
127
- %
128
- % Dec 9, 2002
129
- % version 2.1
130
- % The defaults for \footrulewidth, \plainheadrulewidth and
131
- % \plainfootrulewidth are changed from \z@skip to 0pt. In this way when
132
- % someone inadvertantly uses \setlength to change any of these, the value
133
- % of \z@skip will not be changed, rather an errormessage will be given.
134
-
135
- % March 3, 2004
136
- % Release of version 3.0
137
-
138
- % Oct 7, 2004
139
- % version 3.1
140
- % Added '\endlinechar=13' to \fancy@reset to prevent problems with
141
- % includegraphics in header when verbatiminput is active.
142
-
143
- % March 22, 2005
144
- % version 3.2
145
- % reset \everypar (the real one) in \fancy@reset because spanish.ldf does
146
- % strange things with \everypar between << and >>.
147
-
148
- \def\ifancy@mpty#1{\def\temp@a{#1}\ifx\temp@a\@empty}
149
-
150
- \def\fancy@def#1#2{\ifancy@mpty{#2}\fancy@gbl\def#1{\leavevmode}\else
151
- \fancy@gbl\def#1{#2\strut}\fi}
152
-
153
- \let\fancy@gbl\global
154
-
155
- \def\@fancyerrmsg#1{%
156
- \ifx\PackageError\undefined
157
- \errmessage{#1}\else
158
- \PackageError{Fancyhdr}{#1}{}\fi}
159
- \def\@fancywarning#1{%
160
- \ifx\PackageWarning\undefined
161
- \errmessage{#1}\else
162
- \PackageWarning{Fancyhdr}{#1}{}\fi}
163
-
164
- % Usage: \@forc \var{charstring}{command to be executed for each char}
165
- % This is similar to LaTeX's \@tfor, but expands the charstring.
166
-
167
- \def\@forc#1#2#3{\expandafter\f@rc\expandafter#1\expandafter{#2}{#3}}
168
- \def\f@rc#1#2#3{\def\temp@ty{#2}\ifx\@empty\temp@ty\else
169
- \f@@rc#1#2\f@@rc{#3}\fi}
170
- \def\f@@rc#1#2#3\f@@rc#4{\def#1{#2}#4\f@rc#1{#3}{#4}}
171
-
172
- % Usage: \f@nfor\name:=list\do{body}
173
- % Like LaTeX's \@for but an empty list is treated as a list with an empty
174
- % element
175
-
176
- \newcommand{\f@nfor}[3]{\edef\@fortmp{#2}%
177
- \expandafter\@forloop#2,\@nil,\@nil\@@#1{#3}}
178
-
179
- % Usage: \def@ult \cs{defaults}{argument}
180
- % sets \cs to the characters from defaults appearing in argument
181
- % or defaults if it would be empty. All characters are lowercased.
182
-
183
- \newcommand\def@ult[3]{%
184
- \edef\temp@a{\lowercase{\edef\noexpand\temp@a{#3}}}\temp@a
185
- \def#1{}%
186
- \@forc\tmpf@ra{#2}%
187
- {\expandafter\if@in\tmpf@ra\temp@a{\edef#1{#1\tmpf@ra}}{}}%
188
- \ifx\@empty#1\def#1{#2}\fi}
189
- %
190
- % \if@in <char><set><truecase><falsecase>
191
- %
192
- \newcommand{\if@in}[4]{%
193
- \edef\temp@a{#2}\def\temp@b##1#1##2\temp@b{\def\temp@b{##1}}%
194
- \expandafter\temp@b#2#1\temp@b\ifx\temp@a\temp@b #4\else #3\fi}
195
-
196
- \newcommand{\fancyhead}{\@ifnextchar[{\f@ncyhf\fancyhead h}%
197
- {\f@ncyhf\fancyhead h[]}}
198
- \newcommand{\fancyfoot}{\@ifnextchar[{\f@ncyhf\fancyfoot f}%
199
- {\f@ncyhf\fancyfoot f[]}}
200
- \newcommand{\fancyhf}{\@ifnextchar[{\f@ncyhf\fancyhf{}}%
201
- {\f@ncyhf\fancyhf{}[]}}
202
-
203
- % New commands for offsets added
204
-
205
- \newcommand{\fancyheadoffset}{\@ifnextchar[{\f@ncyhfoffs\fancyheadoffset h}%
206
- {\f@ncyhfoffs\fancyheadoffset h[]}}
207
- \newcommand{\fancyfootoffset}{\@ifnextchar[{\f@ncyhfoffs\fancyfootoffset f}%
208
- {\f@ncyhfoffs\fancyfootoffset f[]}}
209
- \newcommand{\fancyhfoffset}{\@ifnextchar[{\f@ncyhfoffs\fancyhfoffset{}}%
210
- {\f@ncyhfoffs\fancyhfoffset{}[]}}
211
-
212
- % The header and footer fields are stored in command sequences with
213
- % names of the form: \f@ncy<x><y><z> with <x> for [eo], <y> from [lcr]
214
- % and <z> from [hf].
215
-
216
- \def\f@ncyhf#1#2[#3]#4{%
217
- \def\temp@c{}%
218
- \@forc\tmpf@ra{#3}%
219
- {\expandafter\if@in\tmpf@ra{eolcrhf,EOLCRHF}%
220
- {}{\edef\temp@c{\temp@c\tmpf@ra}}}%
221
- \ifx\@empty\temp@c\else
222
- \@fancyerrmsg{Illegal char `\temp@c' in \string#1 argument:
223
- [#3]}%
224
- \fi
225
- \f@nfor\temp@c{#3}%
226
- {\def@ult\f@@@eo{eo}\temp@c
227
- \if@twoside\else
228
- \if\f@@@eo e\@fancywarning
229
- {\string#1's `E' option without twoside option is useless}\fi\fi
230
- \def@ult\f@@@lcr{lcr}\temp@c
231
- \def@ult\f@@@hf{hf}{#2\temp@c}%
232
- \@forc\f@@eo\f@@@eo
233
- {\@forc\f@@lcr\f@@@lcr
234
- {\@forc\f@@hf\f@@@hf
235
- {\expandafter\fancy@def\csname
236
- f@ncy\f@@eo\f@@lcr\f@@hf\endcsname
237
- {#4}}}}}}
238
-
239
- \def\f@ncyhfoffs#1#2[#3]#4{%
240
- \def\temp@c{}%
241
- \@forc\tmpf@ra{#3}%
242
- {\expandafter\if@in\tmpf@ra{eolrhf,EOLRHF}%
243
- {}{\edef\temp@c{\temp@c\tmpf@ra}}}%
244
- \ifx\@empty\temp@c\else
245
- \@fancyerrmsg{Illegal char `\temp@c' in \string#1 argument:
246
- [#3]}%
247
- \fi
248
- \f@nfor\temp@c{#3}%
249
- {\def@ult\f@@@eo{eo}\temp@c
250
- \if@twoside\else
251
- \if\f@@@eo e\@fancywarning
252
- {\string#1's `E' option without twoside option is useless}\fi\fi
253
- \def@ult\f@@@lcr{lr}\temp@c
254
- \def@ult\f@@@hf{hf}{#2\temp@c}%
255
- \@forc\f@@eo\f@@@eo
256
- {\@forc\f@@lcr\f@@@lcr
257
- {\@forc\f@@hf\f@@@hf
258
- {\expandafter\setlength\csname
259
- f@ncyO@\f@@eo\f@@lcr\f@@hf\endcsname
260
- {#4}}}}}%
261
- \fancy@setoffs}
262
-
263
- % Fancyheadings version 1 commands. These are more or less deprecated,
264
- % but they continue to work.
265
-
266
- \newcommand{\lhead}{\@ifnextchar[{\@xlhead}{\@ylhead}}
267
- \def\@xlhead[#1]#2{\fancy@def\f@ncyelh{#1}\fancy@def\f@ncyolh{#2}}
268
- \def\@ylhead#1{\fancy@def\f@ncyelh{#1}\fancy@def\f@ncyolh{#1}}
269
-
270
- \newcommand{\chead}{\@ifnextchar[{\@xchead}{\@ychead}}
271
- \def\@xchead[#1]#2{\fancy@def\f@ncyech{#1}\fancy@def\f@ncyoch{#2}}
272
- \def\@ychead#1{\fancy@def\f@ncyech{#1}\fancy@def\f@ncyoch{#1}}
273
-
274
- \newcommand{\rhead}{\@ifnextchar[{\@xrhead}{\@yrhead}}
275
- \def\@xrhead[#1]#2{\fancy@def\f@ncyerh{#1}\fancy@def\f@ncyorh{#2}}
276
- \def\@yrhead#1{\fancy@def\f@ncyerh{#1}\fancy@def\f@ncyorh{#1}}
277
-
278
- \newcommand{\lfoot}{\@ifnextchar[{\@xlfoot}{\@ylfoot}}
279
- \def\@xlfoot[#1]#2{\fancy@def\f@ncyelf{#1}\fancy@def\f@ncyolf{#2}}
280
- \def\@ylfoot#1{\fancy@def\f@ncyelf{#1}\fancy@def\f@ncyolf{#1}}
281
-
282
- \newcommand{\cfoot}{\@ifnextchar[{\@xcfoot}{\@ycfoot}}
283
- \def\@xcfoot[#1]#2{\fancy@def\f@ncyecf{#1}\fancy@def\f@ncyocf{#2}}
284
- \def\@ycfoot#1{\fancy@def\f@ncyecf{#1}\fancy@def\f@ncyocf{#1}}
285
-
286
- \newcommand{\rfoot}{\@ifnextchar[{\@xrfoot}{\@yrfoot}}
287
- \def\@xrfoot[#1]#2{\fancy@def\f@ncyerf{#1}\fancy@def\f@ncyorf{#2}}
288
- \def\@yrfoot#1{\fancy@def\f@ncyerf{#1}\fancy@def\f@ncyorf{#1}}
289
-
290
- \newlength{\fancy@headwidth}
291
- \let\headwidth\fancy@headwidth
292
- \newlength{\f@ncyO@elh}
293
- \newlength{\f@ncyO@erh}
294
- \newlength{\f@ncyO@olh}
295
- \newlength{\f@ncyO@orh}
296
- \newlength{\f@ncyO@elf}
297
- \newlength{\f@ncyO@erf}
298
- \newlength{\f@ncyO@olf}
299
- \newlength{\f@ncyO@orf}
300
- \newcommand{\headrulewidth}{0.4pt}
301
- \newcommand{\footrulewidth}{0pt}
302
- \newcommand{\footruleskip}{.3\normalbaselineskip}
303
-
304
- % Fancyplain stuff shouldn't be used anymore (rather
305
- % \fancypagestyle{plain} should be used), but it must be present for
306
- % compatibility reasons.
307
-
308
- \newcommand{\plainheadrulewidth}{0pt}
309
- \newcommand{\plainfootrulewidth}{0pt}
310
- \newif\if@fancyplain \@fancyplainfalse
311
- \def\fancyplain#1#2{\if@fancyplain#1\else#2\fi}
312
-
313
- \headwidth=-123456789sp %magic constant
314
-
315
- % Command to reset various things in the headers:
316
- % a.o. single spacing (taken from setspace.sty)
317
- % and the catcode of ^^M (so that epsf files in the header work if a
318
- % verbatim crosses a page boundary)
319
- % It also defines a \nouppercase command that disables \uppercase and
320
- % \Makeuppercase. It can only be used in the headers and footers.
321
- \let\fnch@everypar\everypar% save real \everypar because of spanish.ldf
322
- \def\fancy@reset{\fnch@everypar{}\restorecr\endlinechar=13
323
- \def\baselinestretch{1}%
324
- \def\nouppercase##1{{\let\uppercase\relax\let\MakeUppercase\relax
325
- \expandafter\let\csname MakeUppercase \endcsname\relax##1}}%
326
- \ifx\undefined\@newbaseline% NFSS not present; 2.09 or 2e
327
- \ifx\@normalsize\undefined \normalsize % for ucthesis.cls
328
- \else \@normalsize \fi
329
- \else% NFSS (2.09) present
330
- \@newbaseline%
331
- \fi}
332
-
333
- % Initialization of the head and foot text.
334
-
335
- % The default values still contain \fancyplain for compatibility.
336
- \fancyhf{} % clear all
337
- % lefthead empty on ``plain'' pages, \rightmark on even, \leftmark on odd pages
338
- % evenhead empty on ``plain'' pages, \leftmark on even, \rightmark on odd pages
339
- \if@twoside
340
- \fancyhead[el,or]{\fancyplain{}{\sl\rightmark}}
341
- \fancyhead[er,ol]{\fancyplain{}{\sl\leftmark}}
342
- \else
343
- \fancyhead[l]{\fancyplain{}{\sl\rightmark}}
344
- \fancyhead[r]{\fancyplain{}{\sl\leftmark}}
345
- \fi
346
- \fancyfoot[c]{\rm\thepage} % page number
347
-
348
- % Use box 0 as a temp box and dimen 0 as temp dimen.
349
- % This can be done, because this code will always
350
- % be used inside another box, and therefore the changes are local.
351
-
352
- \def\@fancyvbox#1#2{\setbox0\vbox{#2}\ifdim\ht0>#1\@fancywarning
353
- {\string#1 is too small (\the#1): ^^J Make it at least \the\ht0.^^J
354
- We now make it that large for the rest of the document.^^J
355
- This may cause the page layout to be inconsistent, however\@gobble}%
356
- \dimen0=#1\global\setlength{#1}{\ht0}\ht0=\dimen0\fi
357
- \box0}
358
-
359
- % Put together a header or footer given the left, center and
360
- % right text, fillers at left and right and a rule.
361
- % The \lap commands put the text into an hbox of zero size,
362
- % so overlapping text does not generate an errormessage.
363
- % These macros have 5 parameters:
364
- % 1. LEFTSIDE BEARING % This determines at which side the header will stick
365
- % out. When \fancyhfoffset is used this calculates \headwidth, otherwise
366
- % it is \hss or \relax (after expansion).
367
- % 2. \f@ncyolh, \f@ncyelh, \f@ncyolf or \f@ncyelf. This is the left component.
368
- % 3. \f@ncyoch, \f@ncyech, \f@ncyocf or \f@ncyecf. This is the middle comp.
369
- % 4. \f@ncyorh, \f@ncyerh, \f@ncyorf or \f@ncyerf. This is the right component.
370
- % 5. RIGHTSIDE BEARING. This is always \relax or \hss (after expansion).
371
-
372
- \def\@fancyhead#1#2#3#4#5{#1\hbox to\headwidth{\fancy@reset
373
- \@fancyvbox\headheight{\hbox
374
- {\rlap{\parbox[b]{\headwidth}{\raggedright#2}}\hfill
375
- \parbox[b]{\headwidth}{\centering#3}\hfill
376
- \llap{\parbox[b]{\headwidth}{\raggedleft#4}}}\headrule}}#5}
377
-
378
- \def\@fancyfoot#1#2#3#4#5{#1\hbox to\headwidth{\fancy@reset
379
- \@fancyvbox\footskip{\footrule
380
- \hbox{\rlap{\parbox[t]{\headwidth}{\raggedright#2}}\hfill
381
- \parbox[t]{\headwidth}{\centering#3}\hfill
382
- \llap{\parbox[t]{\headwidth}{\raggedleft#4}}}}}#5}
383
-
384
- \def\headrule{{\if@fancyplain\let\headrulewidth\plainheadrulewidth\fi
385
- \hrule\@height\headrulewidth\@width\headwidth \vskip-\headrulewidth}}
386
-
387
- \def\footrule{{\if@fancyplain\let\footrulewidth\plainfootrulewidth\fi
388
- \vskip-\footruleskip\vskip-\footrulewidth
389
- \hrule\@width\headwidth\@height\footrulewidth\vskip\footruleskip}}
390
-
391
- \def\ps@fancy{%
392
- \@ifundefined{@chapapp}{\let\@chapapp\chaptername}{}%for amsbook
393
- %
394
- % Define \MakeUppercase for old LaTeXen.
395
- % Note: we used \def rather than \let, so that \let\uppercase\relax (from
396
- % the version 1 documentation) will still work.
397
- %
398
- \@ifundefined{MakeUppercase}{\def\MakeUppercase{\uppercase}}{}%
399
- \@ifundefined{chapter}{\def\sectionmark##1{\markboth
400
- {\MakeUppercase{\ifnum \c@secnumdepth>\z@
401
- \thesection\hskip 1em\relax \fi ##1}}{}}%
402
- \def\subsectionmark##1{\markright {\ifnum \c@secnumdepth >\@ne
403
- \thesubsection\hskip 1em\relax \fi ##1}}}%
404
- {\def\chaptermark##1{\markboth {\MakeUppercase{\ifnum \c@secnumdepth>\m@ne
405
- \@chapapp\ \thechapter. \ \fi ##1}}{}}%
406
- \def\sectionmark##1{\markright{\MakeUppercase{\ifnum \c@secnumdepth >\z@
407
- \thesection. \ \fi ##1}}}}%
408
- %\csname ps@headings\endcsname % use \ps@headings defaults if they exist
409
- \ps@@fancy
410
- \gdef\ps@fancy{\@fancyplainfalse\ps@@fancy}%
411
- % Initialize \headwidth if the user didn't
412
- %
413
- \ifdim\headwidth<0sp
414
- %
415
- % This catches the case that \headwidth hasn't been initialized and the
416
- % case that the user added something to \headwidth in the expectation that
417
- % it was initialized to \textwidth. We compensate this now. This loses if
418
- % the user intended to multiply it by a factor. But that case is more
419
- % likely done by saying something like \headwidth=1.2\textwidth.
420
- % The doc says you have to change \headwidth after the first call to
421
- % \pagestyle{fancy}. This code is just to catch the most common cases were
422
- % that requirement is violated.
423
- %
424
- \global\advance\headwidth123456789sp\global\advance\headwidth\textwidth
425
- \fi}
426
- \def\ps@fancyplain{\ps@fancy \let\ps@plain\ps@plain@fancy}
427
- \def\ps@plain@fancy{\@fancyplaintrue\ps@@fancy}
428
- \let\ps@@empty\ps@empty
429
- \def\ps@@fancy{%
430
- \ps@@empty % This is for amsbook/amsart, which do strange things with \topskip
431
- \def\@mkboth{\protect\markboth}%
432
- \def\@oddhead{\@fancyhead\fancy@Oolh\f@ncyolh\f@ncyoch\f@ncyorh\fancy@Oorh}%
433
- \def\@oddfoot{\@fancyfoot\fancy@Oolf\f@ncyolf\f@ncyocf\f@ncyorf\fancy@Oorf}%
434
- \def\@evenhead{\@fancyhead\fancy@Oelh\f@ncyelh\f@ncyech\f@ncyerh\fancy@Oerh}%
435
- \def\@evenfoot{\@fancyfoot\fancy@Oelf\f@ncyelf\f@ncyecf\f@ncyerf\fancy@Oerf}%
436
- }
437
- % Default definitions for compatibility mode:
438
- % These cause the header/footer to take the defined \headwidth as width
439
- % And to shift in the direction of the marginpar area
440
-
441
- \def\fancy@Oolh{\if@reversemargin\hss\else\relax\fi}
442
- \def\fancy@Oorh{\if@reversemargin\relax\else\hss\fi}
443
- \let\fancy@Oelh\fancy@Oorh
444
- \let\fancy@Oerh\fancy@Oolh
445
-
446
- \let\fancy@Oolf\fancy@Oolh
447
- \let\fancy@Oorf\fancy@Oorh
448
- \let\fancy@Oelf\fancy@Oelh
449
- \let\fancy@Oerf\fancy@Oerh
450
-
451
- % New definitions for the use of \fancyhfoffset
452
- % These calculate the \headwidth from \textwidth and the specified offsets.
453
-
454
- \def\fancy@offsolh{\headwidth=\textwidth\advance\headwidth\f@ncyO@olh
455
- \advance\headwidth\f@ncyO@orh\hskip-\f@ncyO@olh}
456
- \def\fancy@offselh{\headwidth=\textwidth\advance\headwidth\f@ncyO@elh
457
- \advance\headwidth\f@ncyO@erh\hskip-\f@ncyO@elh}
458
-
459
- \def\fancy@offsolf{\headwidth=\textwidth\advance\headwidth\f@ncyO@olf
460
- \advance\headwidth\f@ncyO@orf\hskip-\f@ncyO@olf}
461
- \def\fancy@offself{\headwidth=\textwidth\advance\headwidth\f@ncyO@elf
462
- \advance\headwidth\f@ncyO@erf\hskip-\f@ncyO@elf}
463
-
464
- \def\fancy@setoffs{%
465
- % Just in case \let\headwidth\textwidth was used
466
- \fancy@gbl\let\headwidth\fancy@headwidth
467
- \fancy@gbl\let\fancy@Oolh\fancy@offsolh
468
- \fancy@gbl\let\fancy@Oelh\fancy@offselh
469
- \fancy@gbl\let\fancy@Oorh\hss
470
- \fancy@gbl\let\fancy@Oerh\hss
471
- \fancy@gbl\let\fancy@Oolf\fancy@offsolf
472
- \fancy@gbl\let\fancy@Oelf\fancy@offself
473
- \fancy@gbl\let\fancy@Oorf\hss
474
- \fancy@gbl\let\fancy@Oerf\hss}
475
-
476
- \newif\iffootnote
477
- \let\latex@makecol\@makecol
478
- \def\@makecol{\ifvoid\footins\footnotetrue\else\footnotefalse\fi
479
- \let\topfloat\@toplist\let\botfloat\@botlist\latex@makecol}
480
- \def\iftopfloat#1#2{\ifx\topfloat\empty #2\else #1\fi}
481
- \def\ifbotfloat#1#2{\ifx\botfloat\empty #2\else #1\fi}
482
- \def\iffloatpage#1#2{\if@fcolmade #1\else #2\fi}
483
-
484
- \newcommand{\fancypagestyle}[2]{%
485
- \@namedef{ps@#1}{\let\fancy@gbl\relax#2\relax\ps@fancy}}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/scripts/latex-to-mdx/input/figures/ch1/ch1-lerobot-figure1.png DELETED

Git LFS Details

  • SHA256: a850d2b9170736a42366d65dd858408dcffafa3420a0c6cfd678bbdd29a196fa
  • Pointer size: 132 Bytes
  • Size of remote file: 2.86 MB
app/scripts/latex-to-mdx/input/figures/ch2/ch2-approaches.png DELETED

Git LFS Details

  • SHA256: d07f3166fd9efe5b0823ecca63166c019b6fb9dcc912f7b1ae0fd209a25ba274
  • Pointer size: 130 Bytes
  • Size of remote file: 93.3 kB
app/scripts/latex-to-mdx/input/figures/ch2/ch2-classical-limitations.png DELETED

Git LFS Details

  • SHA256: 85742a774d8d1ad3e36fc50d89c5a69409bce98ebe6bdba734896156ba668aa8
  • Pointer size: 132 Bytes
  • Size of remote file: 4.74 MB
app/scripts/latex-to-mdx/input/figures/ch2/ch2-cost-accessibility.png DELETED

Git LFS Details

  • SHA256: 606cbb89fda90a2ddb22dc721ea978ffa9fe34a7f9f0bf1614b6ae53b4117411
  • Pointer size: 132 Bytes
  • Size of remote file: 1.96 MB
app/scripts/latex-to-mdx/input/figures/ch2/ch2-planar-manipulator-floor-box.png DELETED

Git LFS Details

  • SHA256: 3c856918ffb061c235d05e74df6310412f5b41ea907f0f12f55fed5c8b45590b
  • Pointer size: 130 Bytes
  • Size of remote file: 93.1 kB
app/scripts/latex-to-mdx/input/figures/ch2/ch2-planar-manipulator-floor-shelf.png DELETED

Git LFS Details

  • SHA256: e4abb239c45a576a02fc2cbd0d87f877b2c5f61dcac74e1b8c79a70ebacaca3e
  • Pointer size: 130 Bytes
  • Size of remote file: 83.6 kB
app/scripts/latex-to-mdx/input/figures/ch2/ch2-planar-manipulator-floor.png DELETED

Git LFS Details

  • SHA256: 4a2c70f2d7c903d9f16433a9ca44c10892fd0e10ca90e2d9b8438c3d25fa623a
  • Pointer size: 130 Bytes
  • Size of remote file: 58.9 kB
app/scripts/latex-to-mdx/input/figures/ch2/ch2-planar-manipulator-free.png DELETED

Git LFS Details

  • SHA256: 9d860153a76720749a50a6d06c7bcb9886f5605a867f130f66810597ca3f5299
  • Pointer size: 130 Bytes
  • Size of remote file: 44.7 kB
app/scripts/latex-to-mdx/input/figures/ch2/ch2-platforms.png DELETED

Git LFS Details

  • SHA256: baf76deb1a68b859d1e702bc7d0b4173a6b34b56d4bdf75c4748e80eb1934aad
  • Pointer size: 132 Bytes
  • Size of remote file: 3.62 MB
app/scripts/latex-to-mdx/input/figures/ch2/ch2-so100-to-planar-manipulator.png DELETED

Git LFS Details

  • SHA256: 731806e912421ee3f3fcd10c24b5f5e9f4dd448f859e8213f8f11c0821fcbf59
  • Pointer size: 132 Bytes
  • Size of remote file: 1.56 MB
app/scripts/latex-to-mdx/input/figures/ch3/ch3-agent-env.png DELETED

Git LFS Details

  • SHA256: 43c8641128f72b994a7269561fd6beaf2fbe0d73bb19f58ade559e271de1de31
  • Pointer size: 130 Bytes
  • Size of remote file: 42.6 kB
app/scripts/latex-to-mdx/input/figures/ch3/ch3-duck-sim-vs-real.png DELETED

Git LFS Details

  • SHA256: c682cfebec3bf21f579a687d4f6a34d6f7cff225397e081188c39ca3b3def1e7
  • Pointer size: 132 Bytes
  • Size of remote file: 1.76 MB
app/scripts/latex-to-mdx/input/figures/ch3/ch3-hil-serl-examples.png DELETED

Git LFS Details

  • SHA256: ae41b09a8a8412b28994425565438a897f827b3a2048d6832c2be7884b40a2af
  • Pointer size: 132 Bytes
  • Size of remote file: 7.22 MB
app/scripts/latex-to-mdx/input/figures/ch3/ch3-learning-atlas.png DELETED

Git LFS Details

  • SHA256: 124d586210aa9b3a110c712c4eff3629d0064a507c9c77bf937dd00cc959428c
  • Pointer size: 131 Bytes
  • Size of remote file: 178 kB
app/scripts/latex-to-mdx/input/figures/ch3/ch3-learning-benefits.png DELETED

Git LFS Details

  • SHA256: c23f98c050afb75098f34a2bca49fa30ebb4a2b373447c36ba62612854253ff3
  • Pointer size: 132 Bytes
  • Size of remote file: 6.94 MB
app/scripts/latex-to-mdx/input/figures/ch3/ch3-many-ducks.png DELETED

Git LFS Details

  • SHA256: 418bdeff168978207fcc623db74d25b86d11f27d1100a28238bc1591901b93de
  • Pointer size: 132 Bytes
  • Size of remote file: 4.87 MB
app/scripts/latex-to-mdx/input/figures/ch3/ch3-rl-algorithms-atlas.png DELETED

Git LFS Details

  • SHA256: 2aa853e6067e7bd06cfa0d12250d4277fbe2020b8a2b817c005b084c49c905d5
  • Pointer size: 131 Bytes
  • Size of remote file: 195 kB
app/scripts/latex-to-mdx/input/figures/ch3/ch3-rl-examples.png DELETED

Git LFS Details

  • SHA256: edb1fa24ee3d279302980016809eab038fc43037156b8d7cadae7fa5b9dddbba
  • Pointer size: 132 Bytes
  • Size of remote file: 9.05 MB
app/scripts/latex-to-mdx/input/figures/ch4/ch4-act-decoder.png DELETED

Git LFS Details

  • SHA256: 578074c47e65992422e9cb991949b1d63598aded2098dfde3925a33dfd55e481
  • Pointer size: 132 Bytes
  • Size of remote file: 3.18 MB
app/scripts/latex-to-mdx/input/figures/ch4/ch4-act-encoder.png DELETED

Git LFS Details

  • SHA256: 7ceeeccb9dd7e791f215f71ee422d9adfb8c2ff1d2417a851e31ba6a6715aaf7
  • Pointer size: 131 Bytes
  • Size of remote file: 874 kB
app/scripts/latex-to-mdx/input/figures/ch4/ch4-act.png DELETED

Git LFS Details

  • SHA256: 318b6f77277c5e8fcf51e2aba63154ee99052e2bcff2af0387fb3cfd1d07cff7
  • Pointer size: 132 Bytes
  • Size of remote file: 1.52 MB
app/scripts/latex-to-mdx/input/figures/ch4/ch4-action-vs-observation-distribution.png DELETED

Git LFS Details

  • SHA256: 7db4ecc0d54d9cab6b8a16017c81bfd9b7fd5d7997bcdd645ccf57167f7efcf2
  • Pointer size: 131 Bytes
  • Size of remote file: 274 kB
app/scripts/latex-to-mdx/input/figures/ch4/ch4-async-inference.png DELETED

Git LFS Details

  • SHA256: 850ebb6e6ad809edc48597a89cf8e25b2664b9137ca4602ae14f164524f8d232
  • Pointer size: 131 Bytes
  • Size of remote file: 282 kB
app/scripts/latex-to-mdx/input/figures/ch4/ch4-bc-trajectories.png DELETED

Git LFS Details

  • SHA256: 0ede85dbb8f12b3cced4dc0e12f97e3713d8432953183840f99e8534998d7f3b
  • Pointer size: 132 Bytes
  • Size of remote file: 2.25 MB
app/scripts/latex-to-mdx/input/figures/ch4/ch4-diffusion-policy.png DELETED

Git LFS Details

  • SHA256: c3cb644c79fd016e77c78bd7fcf185908b18fb127f656003eb577349cfb6da40
  • Pointer size: 132 Bytes
  • Size of remote file: 2.81 MB
app/scripts/latex-to-mdx/input/figures/ch4/ch4-diffusion-robot-actions.png DELETED

Git LFS Details

  • SHA256: a59b816b60a53784127e3dcf0aad612ba14474bde57e1c2b73b670665d1b70ec
  • Pointer size: 132 Bytes
  • Size of remote file: 8.93 MB
app/scripts/latex-to-mdx/input/figures/ch4/ch4-diffusion-vs-flowmatching.png DELETED

Git LFS Details

  • SHA256: aef138f5120025b0bad73788bc8b3af91f27331af3b49bafb09b15037944fa12
  • Pointer size: 131 Bytes
  • Size of remote file: 189 kB
app/scripts/latex-to-mdx/input/figures/ch4/ch4-issues-with-bc.png DELETED

Git LFS Details

  • SHA256: 7b726d8aa64534e8cbec4a0084fd86e4dfcc0b17685559970006a573dd326459
  • Pointer size: 132 Bytes
  • Size of remote file: 1.56 MB
app/scripts/latex-to-mdx/input/figures/ch4/ch4-latent-variable-model.png DELETED

Git LFS Details

  • SHA256: e5b1f48d4dc011d5a20b1d5bccc5cde750f4ffab4b8c48bb5b04529a18aa0390
  • Pointer size: 131 Bytes
  • Size of remote file: 984 kB
app/scripts/latex-to-mdx/input/figures/ch4/ch4-many-latents.png DELETED

Git LFS Details

  • SHA256: 1f5421aae5c9e9735de598fca1a5c68ef7fd28c8b31112c4675356f6deda9b29
  • Pointer size: 131 Bytes
  • Size of remote file: 222 kB
app/scripts/latex-to-mdx/input/figures/ch4/ch4-normalizing-flows.png DELETED

Git LFS Details

  • SHA256: 51f73d09b35b8ccd5685c6b26f7615f8d6ab3df7d045b2502e9232bfe33beace
  • Pointer size: 131 Bytes
  • Size of remote file: 278 kB
app/scripts/latex-to-mdx/input/figures/ch4/ch4-observation-action-mapping.png DELETED

Git LFS Details

  • SHA256: f1a4a70971ea4c7cf73c089a70e4bc9dd1b5aba43021016fea8b323ad2642c53
  • Pointer size: 132 Bytes
  • Size of remote file: 2.08 MB
app/scripts/latex-to-mdx/input/figures/ch4/ch4-queues.png DELETED

Git LFS Details

  • SHA256: 8d3072c26d0419ee4b19f4ebd10c66e117e113514326eb3e7864057644c305d7
  • Pointer size: 132 Bytes
  • Size of remote file: 1.97 MB
app/scripts/latex-to-mdx/input/figures/ch4/ch4-task-effect-on-pairs.png DELETED

Git LFS Details

  • SHA256: 0423b4760f661afa6b81a896a473a4bfc50737b0ecef76fa75051eb6ccf69896
  • Pointer size: 132 Bytes
  • Size of remote file: 1.19 MB
app/scripts/latex-to-mdx/input/figures/ch5/ch5-generalist-policies-timeline.png DELETED

Git LFS Details

  • SHA256: 98f0efdb30302f2fd582bbec379007ef3d2188171f0d700014539560b5d29a9f
  • Pointer size: 131 Bytes
  • Size of remote file: 122 kB
app/scripts/latex-to-mdx/input/figures/ch5/ch5-ml-vs-robotics-foundation.png DELETED

Git LFS Details

  • SHA256: e858e0c5c2d7246e097c8e048d7c378c0ce20c922e66ceac8db8dbb2c5598e79
  • Pointer size: 132 Bytes
  • Size of remote file: 3.39 MB
app/scripts/latex-to-mdx/input/figures/ch5/ch5-pi0-sampling-timesteps.png DELETED

Git LFS Details

  • SHA256: 2c27d0d34e08154b42692d1a3ea142ef7742ab50547211e9b22f16d79d14fbb3
  • Pointer size: 131 Bytes
  • Size of remote file: 187 kB
app/scripts/latex-to-mdx/input/figures/ch5/ch5-pi0.png DELETED

Git LFS Details

  • SHA256: 689a7d0a94d116edce122d8c9010aa456ae7d1d816f5684513711d36c94ebb89
  • Pointer size: 132 Bytes
  • Size of remote file: 1.24 MB