Compare commits

...

5 Commits

Author SHA1 Message Date
Michael Beck 12047a791f Merge branch 'main' of https://git.mbeck.cologne/mischbeck/ScientificManuscriptTemplate 2026-07-02 10:49:35 +02:00
Michael Beck 62873b4e91 Adds output dir variable in task. Adds dry-run description in readme. 2026-07-02 10:48:58 +02:00
Michael Beck 365219777a Fixes LaTeX header includes 2026-07-02 10:47:52 +02:00
Michael Beck f96dc6002c Remove rendered files 2026-07-02 10:47:00 +02:00
Michael Beck aac9c6c869 updates README.md 2026-07-02 10:11:49 +02:00
6 changed files with 62 additions and 44 deletions
+12 -11
View File
@@ -4,6 +4,7 @@ vars:
PROJECT_NAME: Manuscript PROJECT_NAME: Manuscript
PYTHON: '{{if eq OS "windows"}}python{{else}}python3{{end}}' PYTHON: '{{if eq OS "windows"}}python{{else}}python3{{end}}'
UTILS: "../resources/scripts/task_utils.py" UTILS: "../resources/scripts/task_utils.py"
OUTPUT_DIR: "_output"
tasks: tasks:
default: default:
@@ -12,43 +13,43 @@ tasks:
render: render:
desc: "Render with the default (non-anonymized) profile, all formats" desc: "Render with the default (non-anonymized) profile, all formats"
cmd: quarto render --profile=default --output-dir _output/default cmd: quarto render --profile=default --output-dir {{.OUTPUT_DIR}}/default
render:anonymized: render:anonymized:
desc: "Render with the anonymized profile, all formats" desc: "Render with the anonymized profile, all formats"
cmd: quarto render --profile=anonymized --output-dir _output/anonymized cmd: quarto render --profile=anonymized --output-dir {{.OUTPUT_DIR}}/anonymized
render:html: render:html:
desc: "Render to HTML only (default profile)" desc: "Render to HTML only (default profile)"
cmd: quarto render --profile=default --to html --output-dir _output/default cmd: quarto render --profile=default --to html --output-dir {{.OUTPUT_DIR}}/default
render:docx: render:docx:
desc: "Render to docx only (default profile)" desc: "Render to docx only (default profile)"
cmd: quarto render --profile=default --to docx --output-dir _output/default cmd: quarto render --profile=default --to docx --output-dir {{.OUTPUT_DIR}}/default
render:jats: render:jats:
desc: "Render to JATS XML only (default profile)" desc: "Render to JATS XML only (default profile)"
cmd: quarto render --profile=default --to jats --output-dir _output/default cmd: quarto render --profile=default --to jats --output-dir {{.OUTPUT_DIR}}/default
render:pdf: render:pdf:
desc: "Render to PDF only (default profile) - requires pdf format configured in _quarto.yml" desc: "Render to PDF only (default profile) - requires pdf format configured in _quarto.yml"
cmd: quarto render --profile=default --to pdf --output-dir _output/default cmd: quarto render --profile=default --to pdf --output-dir {{.OUTPUT_DIR}}/default
package: package:
desc: "Zip the default-profile rendered output into Manuscript-default.zip" desc: "Zip the default-profile rendered output into Manuscript-default.zip"
deps: [render] deps: [render]
cmd: "{{.PYTHON}} {{.UTILS}} zip _output/default {{.PROJECT_NAME}}-default.zip" cmd: "{{.PYTHON}} {{.UTILS}} zip {{.OUTPUT_DIR}}/default {{.PROJECT_NAME}}-default.zip"
sources: sources:
- _output/default/**/* - "{{.OUTPUT_DIR}}/default/**/*"
generates: generates:
- "{{.PROJECT_NAME}}-default.zip" - "{{.PROJECT_NAME}}-default.zip"
package:anonymized: package:anonymized:
desc: "Zip the anonymized-profile rendered output into Manuscript-anonymized.zip" desc: "Zip the anonymized-profile rendered output into Manuscript-anonymized.zip"
deps: [render:anonymized] deps: [render:anonymized]
cmd: "{{.PYTHON}} {{.UTILS}} zip _output/anonymized {{.PROJECT_NAME}}-anonymized.zip" cmd: "{{.PYTHON}} {{.UTILS}} zip {{.OUTPUT_DIR}}/anonymized {{.PROJECT_NAME}}-anonymized.zip"
sources: sources:
- _output/anonymized/**/* - "{{.OUTPUT_DIR}}/anonymized/**/*"
generates: generates:
- "{{.PROJECT_NAME}}-anonymized.zip" - "{{.PROJECT_NAME}}-anonymized.zip"
@@ -61,5 +62,5 @@ tasks:
- data.zip - data.zip
clean: clean:
desc: "Remove _output, .quarto, and stray *_files/*_cache folders" desc: "Remove {{.OUTPUT_DIR}}, .quarto, and stray *_files/*_cache folders"
cmd: "{{.PYTHON}} {{.UTILS}} clean-project ." cmd: "{{.PYTHON}} {{.UTILS}} clean-project ."
+11 -12
View File
@@ -14,7 +14,16 @@ format:
fig-dpi: 300 fig-dpi: 300
reference-doc: ../resources/custom-reference-doc.docx reference-doc: ../resources/custom-reference-doc.docx
jats: default jats: default
pdf: default pdf:
header-includes: |
\usepackage{pdfpages}
\pagenumbering{gobble}
\usepackage{booktabs}
\usepackage{caption}
\DeclareCaptionLabelSeparator{period-newline}{.\par}
\usepackage{setspace}
\usepackage{float} % enables [H]
\usepackage[section]{placeins} % <- add [section]
profile: profile:
default: default default: default
@@ -46,14 +55,4 @@ keywords:
- Replication - Replication
abstract: | abstract: |
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
header-includes: |
\usepackage{pdfpages}
\pagenumbering{gobble}
\usepackage{booktabs}
\usepackage{caption}
\DeclareCaptionLabelSeparator{period-newline}{.\par}
\usepackage{setspace}
\usepackage{float} % enables [H]
\usepackage[section]{placeins} % <- add [section]
+7
View File
@@ -25,6 +25,13 @@ In any arch-based Linux distro, run `go-task finalize` instead.
More on how to include more detail in the front matter can be found in the official [quarto manual](https://quarto.org/docs/authoring/front-matter.html). Their quick introduction into [Markdown Basics](https://quarto.org/docs/authoring/markdown-basics.html) is also worth reading. More on how to include more detail in the front matter can be found in the official [quarto manual](https://quarto.org/docs/authoring/front-matter.html). Their quick introduction into [Markdown Basics](https://quarto.org/docs/authoring/markdown-basics.html) is also worth reading.
If you want to know, which command is being run by `task`, use the `--dry` parameter:
```bash
> task manuscript:render:html --dry
task: [manuscript:render:html] quarto render --profile=default --to html --output-dir _output/default
```
## Project layout ## Project layout
Each of `Manuscript/`, `ResearchReport/`, and `Supplements/` contains a Quarto project with its own `_quarto.yml`, `index.qmd`, `data/`, and `figures/` folders. Each of `Manuscript/`, `ResearchReport/`, and `Supplements/` contains a Quarto project with its own `_quarto.yml`, `index.qmd`, `data/`, and `figures/` folders.
+11 -10
View File
@@ -4,6 +4,7 @@ vars:
PROJECT_NAME: ResearchReport PROJECT_NAME: ResearchReport
PYTHON: '{{if eq OS "windows"}}python{{else}}python3{{end}}' PYTHON: '{{if eq OS "windows"}}python{{else}}python3{{end}}'
UTILS: "../resources/scripts/task_utils.py" UTILS: "../resources/scripts/task_utils.py"
OUTPUT_DIR: "_output"
tasks: tasks:
default: default:
@@ -12,39 +13,39 @@ tasks:
render: render:
desc: "Render with the default (non-anonymized) profile, all formats" desc: "Render with the default (non-anonymized) profile, all formats"
cmd: quarto render --profile=default --output-dir _output/default cmd: quarto render --profile=default --output-dir {{.OUTPUT_DIR}}/default
render:anonymized: render:anonymized:
desc: "Render with the anonymized profile, all formats" desc: "Render with the anonymized profile, all formats"
cmd: quarto render --profile=anonymized --output-dir _output/anonymized cmd: quarto render --profile=anonymized --output-dir {{.OUTPUT_DIR}}/anonymized
render:html: render:html:
desc: "Render to HTML only (default profile)" desc: "Render to HTML only (default profile)"
cmd: quarto render --profile=default --to html --output-dir _output/default cmd: quarto render --profile=default --to html --output-dir {{.OUTPUT_DIR}}/default
render:docx: render:docx:
desc: "Render to docx only (default profile)" desc: "Render to docx only (default profile)"
cmd: quarto render --profile=default --to docx --output-dir _output/default cmd: quarto render --profile=default --to docx --output-dir {{.OUTPUT_DIR}}/default
render:pdf: render:pdf:
desc: "Render to PDF only (default profile) - requires pdf format configured in _quarto.yml" desc: "Render to PDF only (default profile) - requires pdf format configured in _quarto.yml"
cmd: quarto render --profile=default --to pdf --output-dir _output/default cmd: quarto render --profile=default --to pdf --output-dir {{.OUTPUT_DIR}}/default
package: package:
desc: "Zip the default-profile rendered output into ResearchReport-default.zip" desc: "Zip the default-profile rendered output into ResearchReport-default.zip"
deps: [render] deps: [render]
cmd: "{{.PYTHON}} {{.UTILS}} zip _output/default {{.PROJECT_NAME}}-default.zip" cmd: "{{.PYTHON}} {{.UTILS}} zip {{.OUTPUT_DIR}}/default {{.PROJECT_NAME}}-default.zip"
sources: sources:
- _output/default/**/* - "{{.OUTPUT_DIR}}/default/**/*"
generates: generates:
- "{{.PROJECT_NAME}}-default.zip" - "{{.PROJECT_NAME}}-default.zip"
package:anonymized: package:anonymized:
desc: "Zip the anonymized-profile rendered output into ResearchReport-anonymized.zip" desc: "Zip the anonymized-profile rendered output into ResearchReport-anonymized.zip"
deps: [render:anonymized] deps: [render:anonymized]
cmd: "{{.PYTHON}} {{.UTILS}} zip _output/anonymized {{.PROJECT_NAME}}-anonymized.zip" cmd: "{{.PYTHON}} {{.UTILS}} zip {{.OUTPUT_DIR}}/anonymized {{.PROJECT_NAME}}-anonymized.zip"
sources: sources:
- _output/anonymized/**/* - "{{.OUTPUT_DIR}}/anonymized/**/*"
generates: generates:
- "{{.PROJECT_NAME}}-anonymized.zip" - "{{.PROJECT_NAME}}-anonymized.zip"
@@ -57,5 +58,5 @@ tasks:
- data.zip - data.zip
clean: clean:
desc: "Remove _output, .quarto, and stray *_files/*_cache folders" desc: "Remove {{.OUTPUT_DIR}}, .quarto, and stray *_files/*_cache folders"
cmd: "{{.PYTHON}} {{.UTILS}} clean-project ." cmd: "{{.PYTHON}} {{.UTILS}} clean-project ."
+11 -11
View File
@@ -1,10 +1,10 @@
# Supplements/Taskfile.yml
version: "3" version: "3"
vars: vars:
PROJECT_NAME: Supplements PROJECT_NAME: Supplements
PYTHON: '{{if eq OS "windows"}}python{{else}}python3{{end}}' PYTHON: '{{if eq OS "windows"}}python{{else}}python3{{end}}'
UTILS: "../resources/scripts/task_utils.py" UTILS: "../resources/scripts/task_utils.py"
OUTPUT_DIR: "_output"
tasks: tasks:
default: default:
@@ -13,39 +13,39 @@ tasks:
render: render:
desc: "Render with the default (non-anonymized) profile, all formats" desc: "Render with the default (non-anonymized) profile, all formats"
cmd: quarto render --profile=default --output-dir _output/default cmd: quarto render --profile=default --output-dir {{.OUTPUT_DIR}}/default
render:anonymized: render:anonymized:
desc: "Render with the anonymized profile, all formats" desc: "Render with the anonymized profile, all formats"
cmd: quarto render --profile=anonymized --output-dir _output/anonymized cmd: quarto render --profile=anonymized --output-dir {{.OUTPUT_DIR}}/anonymized
render:html: render:html:
desc: "Render to HTML only (default profile)" desc: "Render to HTML only (default profile)"
cmd: quarto render --profile=default --to html --output-dir _output/default cmd: quarto render --profile=default --to html --output-dir {{.OUTPUT_DIR}}/default
render:docx: render:docx:
desc: "Render to docx only (default profile)" desc: "Render to docx only (default profile)"
cmd: quarto render --profile=default --to docx --output-dir _output/default cmd: quarto render --profile=default --to docx --output-dir {{.OUTPUT_DIR}}/default
render:pdf: render:pdf:
desc: "Render to PDF only (default profile) - requires pdf format configured in _quarto.yml" desc: "Render to PDF only (default profile) - requires pdf format configured in _quarto.yml"
cmd: quarto render --profile=default --to pdf --output-dir _output/default cmd: quarto render --profile=default --to pdf --output-dir {{.OUTPUT_DIR}}/default
package: package:
desc: "Zip the default-profile rendered output into Supplements-default.zip" desc: "Zip the default-profile rendered output into Supplements-default.zip"
deps: [render] deps: [render]
cmd: "{{.PYTHON}} {{.UTILS}} zip _output/default {{.PROJECT_NAME}}-default.zip" cmd: "{{.PYTHON}} {{.UTILS}} zip {{.OUTPUT_DIR}}/default {{.PROJECT_NAME}}-default.zip"
sources: sources:
- _output/default/**/* - "{{.OUTPUT_DIR}}/default/**/*"
generates: generates:
- "{{.PROJECT_NAME}}-default.zip" - "{{.PROJECT_NAME}}-default.zip"
package:anonymized: package:anonymized:
desc: "Zip the anonymized-profile rendered output into Supplements-anonymized.zip" desc: "Zip the anonymized-profile rendered output into Supplements-anonymized.zip"
deps: [render:anonymized] deps: [render:anonymized]
cmd: "{{.PYTHON}} {{.UTILS}} zip _output/anonymized {{.PROJECT_NAME}}-anonymized.zip" cmd: "{{.PYTHON}} {{.UTILS}} zip {{.OUTPUT_DIR}}/anonymized {{.PROJECT_NAME}}-anonymized.zip"
sources: sources:
- _output/anonymized/**/* - "{{.OUTPUT_DIR}}/anonymized/**/*"
generates: generates:
- "{{.PROJECT_NAME}}-anonymized.zip" - "{{.PROJECT_NAME}}-anonymized.zip"
@@ -58,5 +58,5 @@ tasks:
- data.zip - data.zip
clean: clean:
desc: "Remove _output, .quarto, and stray *_files/*_cache folders" desc: "Remove {{.OUTPUT_DIR}}, .quarto, and stray *_files/*_cache folders"
cmd: "{{.PYTHON}} {{.UTILS}} clean-project ." cmd: "{{.PYTHON}} {{.UTILS}} clean-project ."
+10
View File
@@ -11,6 +11,16 @@ format:
hypothesis: true hypothesis: true
docx: default docx: default
jats: default jats: default
pdf:
header-includes: |
\usepackage{pdfpages}
\pagenumbering{gobble}
\usepackage{booktabs}
\usepackage{caption}
\DeclareCaptionLabelSeparator{period-newline}{.\par}
\usepackage{setspace}
\usepackage{float} % enables [H]
\usepackage[section]{placeins} % <- add [section]
# (other formats) # (other formats)
# pdf: default # pdf: default