├── words10.png ├── first-submission-manuscript.pdf ├── classic-first-submission-manuscript.pdf ├── first-submission.bib ├── LICENSE ├── README.md ├── first-submission-manuscript.typ └── classic-first-submission-manuscript.typ /words10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MooersLab/manuscriptInTypst/main/words10.png -------------------------------------------------------------------------------- /first-submission-manuscript.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MooersLab/manuscriptInTypst/main/first-submission-manuscript.pdf -------------------------------------------------------------------------------- /classic-first-submission-manuscript.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MooersLab/manuscriptInTypst/main/classic-first-submission-manuscript.pdf -------------------------------------------------------------------------------- /first-submission.bib: -------------------------------------------------------------------------------- 1 | @Article{Mooers2021Templates, 2 | author = {Mooers, Blaine H M and Brown, Marina E}, 3 | doi = {10.1002/pro.3997}, 4 | pages = {262--269}, 5 | title = {Templates for writing PyMOL scripts}, 6 | volume = {30}, 7 | number = {1}, 8 | annotation = {I need to add some text.}, 9 | date = {2021}, 10 | journaltitle = {Protein Science}, 11 | publisher = {Wiley Online Library}, 12 | related = {Mooers2016SimplifyingAndEnhancingTheUseOfPyMOLWithHorizontalScripts,Mooers2020ShortcutsForFasterImageCreationInPyMOL}, 13 | annote = {This is a test.}, 14 | } 15 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 Blaine Mooers 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![Version](https://img.shields.io/static/v1?label=manuscriptInTypst&message=0.4&color=brightcolor) 2 | [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT) 3 | 4 | # First submission manuscript template in Typst 5 | 6 | A nice introduction to Typst in October 2024 by Dr. Chase Brown of the University of Central Florida is found [here](https://mediasite.ouhsc.edu/Mediasite/Channel/python/browse/null/most-recent/null/0/null). 7 | 8 | 9 | ## Purpose 10 | 11 | Prepare PDF for initial manuscript submission by using typst, a typesetting system written in Rust. Typst compiles small documents faster than LaTeX. This project has been developed enough to support the preparation of manuscripts of journal articles for the first submission. Its support for edge cases is underdeveloped. 12 | 13 | ## Features 14 | - Barebones (i.e., no template file) for simplicity 15 | - Two variants: classic and arvix-like. 16 | - Line numbering 17 | - Short author list, running title, and date printed in the header. This supports editing printed copies of multiple manuscripts while traveling. 18 | - 1/N page numbering 19 | - Biblatex (sorry, not support for BibTeX). 20 | - example 21 | + figure 22 | + table 23 | + equation 24 | 25 | ## Sample title page of classic variant 26 | 27 | ![ClassicTitle](https://github.com/user-attachments/assets/5f5e2da9-a764-4a19-8c9f-0dea23cc9298) 28 | 29 | The footnote with the corresponding author's contact information is not shown. 30 | 31 | 32 | ## Sample Introduction page of classic variant 33 | 34 | The abstract is on the second page. 35 | The Introduction starts on the third page. 36 | Note the short author list, running title, and today's date in the header. 37 | Note the format of the page numbers in the lower right. 38 | 39 | ![ClassicIntroduction](https://github.com/user-attachments/assets/1f7bd37f-e2a4-4407-ac05-beaa75386b9e) 40 | 41 | 42 | 43 | 44 | ## Sample of first page of arvix-like variant 45 | 46 | 47 | ![arvix-like](https://github.com/user-attachments/assets/523f2054-25ec-4f05-8e47-58637fa97b07) 48 | 49 | 50 | ## Contents 51 | - typst source file template 52 | - BibLATeX file 53 | - sample PDF 54 | 55 | 56 | ## Requirements 57 | 58 | - typst version 0.12.0 (required for line numbers, released October 18, 2024) 59 | 60 | If you use tinymist, you will need the corresponding version, release October 19, 2024. 61 | 62 | ## Easy-peasy use 63 | 64 | Run in typst.app on-line or run via tinymist (e.g., `tinymist preview classic.typ`) while classic.typ is open in any text editor. 65 | The rendered version will appear in your default browser. 66 | It updates with each save operation in the text editor. 67 | 68 | Compile to PDF by entering in terminal `typst compile .typ`. 69 | 70 | ## Bash or zsh function to compile and open in Preview.app on Mac (optional) 71 | 72 | Typst compiles the *.typfile so quickly that you might as well pop open the PDF: `typc `. 73 | 74 | ```bash 75 | function typc { 76 | echo "Compile typst file to PDF and display PDF file." 77 | if [ $# -lt 1 ]; then 78 | echo 1>&2 "$0: not enough arguments" 79 | echo "Usage1: typc " 80 | return 2 81 | elif [ $# -gt 1 ]; then 82 | echo 1>&2 "$0: too many arguments" 83 | echo "Usage1: typc " 84 | return 2 85 | fi 86 | typst compile $1.typ && pre $1.pdf 87 | } 88 | ``` 89 | 90 | ## Bash or zsh function to preview typst file with tinymist (optional) 91 | 92 | Yes, I hate typing: `tmp " 93 | 94 | ```bash 95 | function tmp { 96 | echo "Preview typst file in browser via tinymist." 97 | if [ $# -lt 1 ]; then 98 | echo 1>&2 "$0: not enough arguments" 99 | echo "Usage1: tmp " 100 | return 2 101 | elif [ $# -gt 1 ]; then 102 | echo 1>&2 "$0: too many arguments" 103 | echo "Usage1: typc " 104 | return 2 105 | fi 106 | tinymist preview $1.typ 107 | } 108 | ``` 109 | 110 | ## Bash or zsh function to project initiation (optional) 111 | 112 | Paste into where ever you store your bash functions (.e.g., .bashrc or .bashFunctions sourced from .bashrc). 113 | Customize the file paths to meet your needs. 114 | Default to opening the classic variant. 115 | This is what most biology journals expect. 116 | In computer science, use the arvix-like variant. 117 | 118 | ```bash 119 | function typman { 120 | echo "Copy template manuscript in typst with project number in title." 121 | if [ $# -lt 1 ]; then 122 | echo 1>&2 "$0: not enough arguments" 123 | echo "Usage1: typman projectID" 124 | return 2 125 | elif [ $# -gt 1 ]; then 126 | echo 1>&2 "$0: too many arguments" 127 | echo "Usage1: typman projectID" 128 | return 2 129 | fi 130 | projectID="$1" 131 | echo "Write manuscript to manu$1.typ file." 132 | cp ~/6112MooersLabGitHubLabRepos/manuscriptInTypst/classic-first-submission-manuscript.typ manu$1.typ 133 | cp ~/6112MooersLabGitHubLabRepos/manuscriptInTypst/first-submission.bib . 134 | cp ~/6112MooersLabGitHubLabRepos/manuscriptInTypst/words10.png . 135 | } 136 | 137 | function mantyp { 138 | echo "Copy template writing manuscript in typst with project number in title." 139 | if [ $# -lt 1 ]; then 140 | echo 1>&2 "$0: not enough arguments" 141 | echo "Usage1: mantyp projectID" 142 | return 2 143 | elif [ $# -gt 1 ]; then 144 | echo 1>&2 "$0: too many arguments" 145 | echo "Usage1: mantyp projectID" 146 | return 2 147 | fi 148 | projectID="$1" 149 | echo "Write manuscript to manu$1.typ file." 150 | cp ~/6112MooersLabGitHubLabRepos/manuscriptInTypst/classic-first-submission-manuscript.typ manu$1.typ 151 | cp ~/6112MooersLabGitHubLabRepos/manuscriptInTypst/first-submission.bib . 152 | cp ~/6112MooersLabGitHubLabRepos/manuscriptInTypst/words10.png . 153 | say 'The manuscript template has been copied.' 154 | } 155 | ``` 156 | 157 | ## Use in Emacs 158 | 159 | Install the `typst-ts-mode` package beforehand. 160 | 161 | 162 | ## Update history 163 | 164 | |Version |Changes |Date | 165 | |:-------------|:-----------------------------------------------------------------------------------------------------|:--------------------------| 166 | | Version 0.1 | Initiate project. Added badges, funding, and update table. | 2024 October 11 | 167 | | Version 0.2 | Added bash function to ease initiating new manuscript in typst. | 2024 October 13 | 168 | | Version 0.3 | Added classic version. Added date to running title. Centered title on title page | 2024 October 17 | 169 | | Version 0.4 | Added two bash functions to README.md for convenience. | 2024 October 19 | 170 | 171 | ## Sources of funding 172 | 173 | - NIH: R01 CA242845 174 | - NIH: R01 AI088011 175 | - NIH: P30 CA225520 (PI: R. Mannel) 176 | - NIH: P20 GM103640 and P30 GM145423 (PI: A. West) 177 | -------------------------------------------------------------------------------- /first-submission-manuscript.typ: -------------------------------------------------------------------------------- 1 | // Created 2024-09-29 Sun 23:01 2 | // Intended Typst compiler 3 | 4 | #set page(width: 8.5in, height: 11in, margin: (x: 0.5in, y: 0.5in),) 5 | #set text(11pt) 6 | #set text(font: "Helvetica") 7 | 8 | // Requires typst version 0.12.0 for line numbering. 9 | #set par.line(numbering: "1") 10 | #show figure: set par.line(numbering: none) 11 | 12 | // Set the title use for reuse in the running title and the main title page. 13 | #let title = [Template for manuscript preparation with typst] 14 | #let running = [Arvix-like template #datetime.today().display()] 15 | 16 | // I have yet to figure out how to put the short author list on the left. 17 | #set page( 18 | header:[ Student, ..., and Mooers #h(1fr) #running], 19 | numbering: "1 / 1", 20 | number-align: right, 21 | ) 22 | 23 | 24 | #align(center, text(17pt)[ 25 | *#title* 26 | ]) 27 | 28 | 29 | #grid( 30 | columns: (1fr, 1fr), 31 | align(center)[ 32 | Nobel Prizer Winner \ 33 | Well-funded Institute \ 34 | #link("mailto:hotshot@wellfunded.edu") 35 | ], 36 | align(center)[ 37 | Dr. Blaine Mooers \ 38 | OUHS \ 39 | #link("mailto:blaine-mooers@ouhsc.edu") 40 | ] 41 | ) 42 | 43 | #align(center, text(11pt)[#datetime.today().display()]) 44 | 45 | #set par(justify: true) 46 | 47 | = Abstract 48 | 49 | Fill in after the results section is filled in. 50 | Fill in after the results section is filled in. 51 | Fill in after the results section is filled in. 52 | Fill in after the results section is filled in. 53 | Fill in after the results section is filled in. 54 | Fill in after the results section is filled in. 55 | Fill in after the results section is filled in. 56 | Fill in after the results section is filled in. 57 | Fill in after the results section is filled in. 58 | Fill in after the results section is filled in. 59 | Fill in after the results section is filled in. 60 | Fill in after the results section is filled in. 61 | 62 | 63 | *Keywords:* typesetting, typography, scientific writing, reproducible research, text editing, collaborative writing, version control 64 | 65 | 66 | #set par(leading: 2em, justify: false) 67 | 68 | = Introduction 69 | Typst is a new markup language for writing various kinds of documents, such as PDF and HTML. 70 | It is meant to be a rethink of LaTeX, although the heavy influence of LaTeX in the typing of math equations suggests otherwise. 71 | It takes a computer programmer approach to typesetting by providing functions to act on some or all of the text. 72 | Many of these functions can be stored in an external template file that is imported into a given typst manuscript file so the clustter of these functions can remain out of sight to give the main typst document less cluttered appearance. 73 | The typst project is still in development and is not yet complete, but the project' repository on GitHub has attracted over 33,100 stars. 74 | The tinymist program supports live previews of the document in the web browser, so any editor can be used to edit typst documents while enjoying previews of the PDF. 75 | The typst project is complete enough to support the generation of the first-submission version of a manuscript as a PDF, although it may be years before publishers will accept typst source files. \ \ 76 | 77 | The biggest snag to getting going with typst for writing is the need for the bibliography to be in the typst native format (hayagriva) or in BibLaTeX. 78 | The JabRef program supports conversions of BibTeX entries to BibLaTeX. 79 | 80 | The second program is that there are breaking changes in the main program. 81 | Some packages are already broken because the maintainers lost interest. 82 | 83 | 84 | = Materials and methods 85 | 86 | == First set of methods 87 | 88 | 89 | == Second set of methods 90 | 91 | 92 | 93 | = Results 94 | 95 | I insert an overview of the results section here let the reader know what is comming. 96 | No one has ever complained about this paragraphy although most authors skip it. 97 | 98 | == Hot result number one 99 | 100 | 101 | Tables have to be wrapped in a figure function (see @progress) to add a caption. 102 | I put the label at the end of the caption. 103 | Tables are numbered separately from figures. 104 | You do not have to take any special measures. 105 | You may have to move the table to the back of the paper, depending on the author guidelines. 106 | 107 | #figure( 108 | table( 109 | columns: (auto, auto, auto), 110 | inset: 10pt, 111 | align: horizon, 112 | table.header( 113 | [*Milestone*], [*Traget date*], [*Achievement data*],), 114 | [milestone 1], [date], [date], 115 | [milestone 2], [date], [date], 116 | [milestone 3], [date], [date] 117 | ), 118 | caption: [Milestones and dates.] 119 | ) 120 | 121 | 122 | == Hot result number two 123 | 124 | With regard to figures (see @words), typst does not handle PDF nor Tiff. 125 | You have to convert them to SVG or to one of the bitmap formats: PNG, GIF, or JPG. 126 | Note the absence of support of postscript or encapsulated postscript. 127 | Many journals accept these only these latter formats for the final submission. 128 | Be prepared to make your figures in multiple formats. 129 | 130 | 131 | #figure( 132 | image("words10.png", width: 80%), 133 | caption: [A curious figure.], 134 | ) 135 | 136 | 137 | == Hot result number three 138 | 139 | Equations can be numbered and shown in display mode (@ratio). 140 | The math equation fuction allows you to control the placement of the equation number. 141 | 142 | #set math.equation(numbering: "(1)") 143 | 144 | $ phi.alt = (1 + sqrt(5)) / 2 $ 145 | 146 | Can we add a caption to the equation by wrapping it in a figure @bragg? Not really. It is called a figure when it is an equation. 147 | 148 | 149 | #figure( 150 | $ 2 upright(d) sin theta = upright(n) lambda $, 151 | caption: [Caption of the equation.], 152 | ) 153 | 154 | 155 | == Hot result number four 156 | 157 | 158 | 159 | == Hot result number five 160 | 161 | 162 | 163 | == Hot result number six 164 | 165 | 166 | 167 | 168 | 169 | = Discussion 170 | 171 | 172 | 173 | == Typst vs. LaTeX 174 | 175 | It is useful to compare and contrast typst with LaTeX because typst was developed as an alternative to LaTeX. 176 | Many of the claims of ease of use in favor of typst are over-stated. 177 | It is clearly more capable than Common Markdown, but it is far less capable than LaTeX. 178 | It might meet the demands of users unwilling, or not ready, to do the work of learning LaTeX who are dissatisfied with markdown. 179 | I learned a series of markup languages and experienced repeated disaapointments with their shortcomings: Then I gave in and learned LaTeX. \ \ 180 | 181 | The phrase ``tpyst makes LaTeX great again'' comes to mind: typst has inspired me to dig deeper into LaTeX. 182 | LaTeX users may want to learn typst to rekindle their love for LaTeX. 183 | Org-mode users may want to learn typst for similar reasons. \ \ 184 | 185 | == Acceptance by publishers 186 | 187 | Publishers should accept PDFs of first submission manuscirpts written in typst. 188 | Some skilled typst users have already prepared templates for several journals. 189 | One is available for MDPI journals. \ \ 190 | 191 | 192 | == Suitability for version control 193 | 194 | The practice is writing one sentence per line is consistent with version control. 195 | Typst accommodates this unorthodox approach to writing sentences. \ \ 196 | 197 | The wrapping of sentences into paragraphs in a source document is mark of insanity. 198 | You will have to unwrap your sentences to be able to shuffle them around during rewriting. 199 | 200 | I think that the wrapping of sentences into block paragraphs was driven by the need to save paper. 201 | It is not necessary in electronic formats. \ \ 202 | 203 | Some claim that the format of one sentence per line reduces comprehension. 204 | I doubt this is true: It more likely that reading comprehension is improved. \ \ 205 | 206 | 207 | == Support for collaborative editing 208 | 209 | The typst.app has promised to support collaborative writing in a fashion similar to Oveleaf. 210 | The developers even have an underleaf project based on typst. 211 | I have a latency issue with this app when my computer is running low on RAM. \ \ 212 | 213 | 214 | == Voice computing with typst 215 | 216 | You should be able to use speech-to-text via the Google plug-in Voice In. \ \ 217 | 218 | 219 | == Text editor support 220 | 221 | I prefer to work local in Emacs @Mooers2021Templates. 222 | I use the typst-ts-mode with treemacs. 223 | I am still working on the live preview in Emacs. \ \ 224 | 225 | 226 | 227 | 228 | 229 | 230 | = Acknowledgments 231 | 232 | We thank Chase Brown for introducing us to typst. 233 | 234 | 235 | = Funding 236 | 237 | 238 | 239 | 240 | 241 | #set par(leading: 0.5em, justify: false) 242 | #bibliography("first-submission.bib", 243 | title: "Cited References", 244 | style: "cell") 245 | 246 | 247 | 248 | // Local Variables: 249 | // tp--master-file: "/Users/blaine/6112MooersLabGitHubLabRepos/manuscriptInTypst/first-submission-manuscirpt.typ" 250 | // End: 251 | -------------------------------------------------------------------------------- /classic-first-submission-manuscript.typ: -------------------------------------------------------------------------------- 1 | // Created 2024-09-29 Sun 23:01 2 | // Intended Typst compiler 3 | 4 | #set page(width: 8.5in, height: 11in, margin: (x: 0.5in, y: 0.5in),) 5 | #set text(11pt) 6 | #set text(font: "Helvetica") 7 | 8 | #show figure: set par.line(numbering: none) 9 | 10 | #let running = [Classic Template #datetime.today().display()] 11 | 12 | 13 | #let title = [Classic Generic First Submission Journal Article in Typst] 14 | 15 | 16 | #align(center, text(17pt)[ 17 | #linebreak() 18 | #linebreak() 19 | #linebreak() 20 | #linebreak() 21 | #linebreak() 22 | #linebreak() 23 | #linebreak() 24 | #linebreak() 25 | *#title* 26 | ]) 27 | 28 | 29 | // Set the title use for reuse in the running title and the main title page. 30 | 31 | #let firstauthor = [Graduate Student] 32 | #let secondauthor = [Senior Collaborator] 33 | #let thirdauthor = [Staff Scientist] 34 | #let seniorauthor = [Senior author] 35 | 36 | #let affil1 = [Department of Biochemistry and Physiology, University of Oklahoma Health Sciences Center, Oklahoma City, Oklahoma, United States 73104] 37 | #let affil2 = [Stephenson Cancer Center, University of Oklahoma Health Sciences Center, Oklahoma City, Oklahoma, United States 73104] 38 | #let affil3 = [Laboratory of Biomolecular Structure and Function, University of Oklahoma Health Sciences Center, Oklahoma City, Oklahoma, United States 73104] 39 | 40 | 41 | #set footnote(numbering: "*") 42 | #align(center, text(11pt)[ 43 | #linebreak() 44 | #linebreak() 45 | #linebreak() 46 | #firstauthor#super[1], #secondauthor#super[2], #thirdauthor#super[3], and #seniorauthor#super[1,2,3]#footnote[Corresponding author: blaine-mooers at ouhsc.edu, phone: 405-271-8300, FAX: 405-271-????] 47 | #linebreak() 48 | #linebreak() 49 | #linebreak() 50 | #super[1]#affil1 51 | #linebreak() 52 | #linebreak() 53 | #super[2]#affil2 54 | #linebreak() 55 | #linebreak() 56 | #super[3]#affil3 57 | #linebreak() 58 | #linebreak() 59 | #datetime.today().display() 60 | ]) 61 | 62 | 63 | #pagebreak() 64 | 65 | #set page( 66 | header:[ Student, ..., and Mooers #h(1fr) #running], 67 | numbering: "1 / 1", 68 | number-align: right, 69 | ) 70 | 71 | 72 | // Requires typst version 0.12.0 for line numbering. 73 | #set par.line(numbering: "1") 74 | 75 | 76 | 77 | 78 | #set par(leading: 2em, justify: false) 79 | = Abstract 80 | 81 | Fill in after the results section is filled in. 82 | Fill in after the results section is filled in. 83 | Fill in after the results section is filled in. 84 | Fill in after the results section is filled in. 85 | Fill in after the results section is filled in. 86 | Fill in after the results section is filled in. 87 | Fill in after the results section is filled in. 88 | Fill in after the results section is filled in. 89 | Fill in after the results section is filled in. 90 | Fill in after the results section is filled in. 91 | Fill in after the results section is filled in. 92 | Fill in after the results section is filled in. 93 | 94 | 95 | *Keywords:* typesetting, typography, scientific writing, reproducible research, text editing, collaborative writing, version control 96 | 97 | #pagebreak() 98 | 99 | 100 | 101 | = Introduction 102 | Typst is a new markup language for writing various kinds of documents, such as PDF and HTML. 103 | It is meant to be a rethink of LaTeX, although the heavy influence of LaTeX in the typing of math equations suggests otherwise. 104 | It takes a computer programmer approach to typesetting by providing functions to act on some or all of the text. 105 | Many of these functions can be stored in an external template file that is imported into a given typst manuscript file so the clustter of these functions can remain out of sight to give the main typst document less cluttered appearance. 106 | The typst project is still in development and is not yet complete, but the project' repository on GitHub has attracted over 33,100 stars. 107 | The tinymist program supports live previews of the document in the web browser, so any editor can be used to edit typst documents while enjoying previews of the PDF. 108 | The typst project is complete enough to support the generation of the first-submission version of a manuscript as a PDF, although it may be years before publishers will accept typst source files. \ \ 109 | 110 | The biggest snag to getting going with typst for writing is the need for the bibliography to be in the typst native format (hayagriva) or in BibLaTeX. 111 | The JabRef program supports conversions of BibTeX entries to BibLaTeX. 112 | 113 | The second program is that there are breaking changes in the main program. 114 | Some packages are already broken because the maintainers lost interest. 115 | 116 | 117 | = Materials and methods 118 | 119 | == First set of methods 120 | 121 | 122 | == Second set of methods 123 | 124 | 125 | 126 | = Results 127 | 128 | I insert an overview of the results section here let the reader know what is comming. 129 | No one has ever complained about this paragraphy although most authors skip it. 130 | 131 | == Hot result number one 132 | 133 | 134 | Tables have to be wrapped in a figure function (see @progress) to add a caption. 135 | I put the label at the end of the caption. 136 | Tables are numbered separately from figures. 137 | You do not have to take any special measures. 138 | You may have to move the table to the back of the paper, depending on the author guidelines. 139 | 140 | #figure( 141 | table( 142 | columns: (auto, auto, auto), 143 | inset: 10pt, 144 | align: horizon, 145 | table.header( 146 | [*Milestone*], [*Traget date*], [*Achievement data*],), 147 | [milestone 1], [date], [date], 148 | [milestone 2], [date], [date], 149 | [milestone 3], [date], [date] 150 | ), 151 | caption: [Milestones and dates.] 152 | ) 153 | 154 | 155 | == Hot result number two 156 | 157 | With regard to figures (see @words), typst does not handle PDF nor Tiff. 158 | You have to convert them to SVG or to one of the bitmap formats: PNG, GIF, or JPG. 159 | Note the absence of support of postscript or encapsulated postscript. 160 | Many journals accept these only these latter formats for the final submission. 161 | Be prepared to make your figures in multiple formats. 162 | 163 | 164 | #figure( 165 | image("words10.png", width: 80%), 166 | caption: [A curious figure.], 167 | ) 168 | 169 | 170 | == Hot result number three 171 | 172 | Equations can be numbered and shown in display mode (@ratio). 173 | The math equation fuction allows you to control the placement of the equation number. 174 | 175 | #set math.equation(numbering: "(1)") 176 | 177 | $ phi.alt = (1 + sqrt(5)) / 2 $ 178 | 179 | Can we add a caption to the equation by wrapping it in a figure @bragg? Not really. It is called a figure when it is an equation. 180 | 181 | 182 | #figure( 183 | $ 2 upright(d) sin theta = upright(n) lambda $, 184 | caption: [Caption of the equation.], 185 | ) 186 | 187 | 188 | == Hot result number four 189 | 190 | 191 | 192 | == Hot result number five 193 | 194 | 195 | 196 | == Hot result number six 197 | 198 | 199 | 200 | 201 | 202 | = Discussion 203 | 204 | 205 | 206 | == Typst vs. LaTeX 207 | 208 | It is useful to compare and contrast typst with LaTeX because typst was developed as an alternative to LaTeX. 209 | Many of the claims of ease of use in favor of typst are over-stated. 210 | It is clearly more capable than Common Markdown, but it is far less capable than LaTeX. 211 | It might meet the demands of users unwilling, or not ready, to do the work of learning LaTeX who are dissatisfied with markdown. 212 | I learned a series of markup languages and experienced repeated disaapointments with their shortcomings: Then I gave in and learned LaTeX. \ \ 213 | 214 | The phrase ``tpyst makes LaTeX great again'' comes to mind: typst has inspired me to dig deeper into LaTeX. 215 | LaTeX users may want to learn typst to rekindle their love for LaTeX. 216 | Org-mode users may want to learn typst for similar reasons. \ \ 217 | 218 | == Acceptance by publishers 219 | 220 | Publishers should accept PDFs of first submission manuscirpts written in typst. 221 | Some skilled typst users have already prepared templates for several journals. 222 | One is available for MDPI journals. \ \ 223 | 224 | 225 | == Suitability for version control 226 | 227 | The practice is writing one sentence per line is consistent with version control. 228 | Typst accommodates this unorthodox approach to writing sentences. \ \ 229 | 230 | The wrapping of sentences into paragraphs in a source document is mark of insanity. 231 | You will have to unwrap your sentences to be able to shuffle them around during rewriting. 232 | 233 | I think that the wrapping of sentences into block paragraphs was driven by the need to save paper. 234 | It is not necessary in electronic formats. \ \ 235 | 236 | Some claim that the format of one sentence per line reduces comprehension. 237 | I doubt this is true: It more likely that reading comprehension is improved. \ \ 238 | 239 | 240 | == Support for collaborative editing 241 | 242 | The typst.app has promised to support collaborative writing in a fashion similar to Oveleaf. 243 | The developers even have an underleaf project based on typst. 244 | I have a latency issue with this app when my computer is running low on RAM. \ \ 245 | 246 | 247 | == Voice computing with typst 248 | 249 | You should be able to use speech-to-text via the Google plug-in Voice In. \ \ 250 | 251 | 252 | == Text editor support 253 | 254 | I prefer to work local in Emacs @Mooers2021Templates. 255 | I use the typst-ts-mode with treemacs. 256 | I am still working on the live preview in Emacs. \ \ 257 | 258 | 259 | 260 | 261 | 262 | 263 | = Acknowledgments 264 | 265 | We thank Chase Brown for introducing us to typst. 266 | 267 | 268 | = Funding 269 | 270 | 271 | 272 | 273 | 274 | #set par(leading: 0.5em, justify: false) 275 | #bibliography("first-submission.bib", 276 | title: "Cited References", 277 | style: "cell") 278 | 279 | 280 | 281 | // Local Variables: 282 | // tp--master-file: "/Users/blaine/6112MooersLabGitHubLabRepos/manuscriptInTypst/first-submission-manuscirpt.typ" 283 | // End: 284 | --------------------------------------------------------------------------------