How To Write Paper July 2023

Download as pdf or txt
Download as pdf or txt
You are on page 1of 30

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/339630885

How to effortlessly write a high quality scientific paper in the field of


computational engineering and sciences

Preprint · March 2020

CITATIONS READS

0 19,243

3 authors:

Vinh Phu Nguyen Stéphane Pierre Alain Bordas


Monash University (Australia) University of Luxembourg
141 PUBLICATIONS 6,466 CITATIONS 469 PUBLICATIONS 18,631 CITATIONS

SEE PROFILE SEE PROFILE

Alban de Vaucorbeil
Deakin University
41 PUBLICATIONS 710 CITATIONS

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Artificial Neural Networks Applications in Civil Engineering View project

Computational modelling of crack propagation in solids View project

All content following this page was uploaded by Vinh Phu Nguyen on 27 June 2023.

The user has requested enhancement of the downloaded file.


H OW T O E F F O R T L E S S LY W R I T E A H I G H Q U A L I T Y
S C I E N T I F I C PA P E R I N T H E F I E L D O F
C O M P U TAT I O N A L E N G I N E E R I N G A N D S C I E N C E S

A PREPRINT

Vinh Phu Nguyen Stéphane Bordas


Department of Civil Engineering Institute of Computational Engineering
Monash University University of Luxembourg
Clayton 3800, VIC, Australia Luxembourg
[email protected] [email protected]

Alban de Vaucorbeil
Institute for Frontier Materials
Deakin University
Geelong, VIC, 3216, Australia
[email protected]

June 27, 2023

A B S T R AC T
Writing a good scientific paper is not easy for many graduate students. To help these students, particu-
larly those working on the field of computational engineering and sciences, this paper presents some
writing guidelines that we have collected and used for the last twenty years. The guidelines consist of
three major parts. The first part is a writing framework that helps us to have a nearly complete paper
when the last analysis task has been finished. The key ideas of this framework are: (1) writing should
start early in the research project, (2) research and writing are carried out simultaneously, and (3)
best tools for writing should be used. The second part is about how to write the major components of
a paper from title, abstract, introduction, results to conclusion and references. The writing is based
on the writing style that writing is to inform not to impress and writing is for reader and not for
authors. And finally, the third part is technical: we present LATEX centered writing tools–due to our
personal preferences–and LATEX techniques to prepare high-quality images, tables, algorithms and
source codes.

Keywords scientific writing  LATEX  scientific publication  high quality writing  reproducibility.

Contents

1 Introduction 3

2 Tools 3

3 Writing tips 5
3.1 General guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2 How to structure your paper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
 corresponding author
How to write a high quality scientific paper A PREPRINT

3.2.1 Title . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.2.2 Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2.3 Global paragraph for long sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2.4 Introduction section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.2.5 Results section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2.6 Conclusion section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2.7 Appendix and footnotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2.8 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.3 Notations and equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.4 Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.5 Sentences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.6 Paragraphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.7 Some common mistakes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.8 Writing process: an iterative process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

4 LATEX tips 15
4.1 Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.2 Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.2.1 Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.2.2 Sketches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.2.3 Contour plots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.3 Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.4 Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.5 Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.6 Source code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.7 Two-column format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

5 Submission 23

6 Conclusions 24

Appendices 24

Appendix A Installing LATEX 24

Appendix B Python scripts for plotting data 25

Appendix C Tables with footnotes 26

Appendix D Reference management with BibDesk 26

Appendix E Writing equations 27

2
How to write a high quality scientific paper A PREPRINT

1 Introduction
Publishing original research in a peer-reviewed journal is an important parameter to assess academic achievements. To
get your paper published, not only its findings should be significant but it should also be well written such that these
findings can be efficiently transmitted throughout the scientific community. The value of writing well should not be
underestimated for many reasons, indirectly and directly beneficial to the authors. Firstly, writing well leverages your
work since 60% of reviewers criticisms pertain to the quality of the writing or tables and graphs with only about 40%
to the quality of the scientific work [Iles, 1997]. Secondly, a research paper is designed to create new knowledge and
communicate it to the community [Gopen and Swan, 1990], but if you can’t communicate that knowledge (because the
paper is not well written) to the reader effectively, you have accomplished nothing: no new knowledge. Thirdly, well
written papers likely get more citations [Freeling et al., 2019].
It should be clear now that writing skills are vital to the career of a researcher. Unfortunately, she/he does not usually
get trained on writing. Furthermore, researchers most often do not pay attention to this because they have to focus
on their research. And why they have to care if (many of) their papers get published and cited? We used to be in the
same situation. What they do not know (or do not care about?) is that there are probably many readers struggling to
grasp their papers. The situation might be worse as Judy Swan – the Associate Director for Writing in Science and
Engineering at Princeton University – saw it: ‘scientific writing is bad writing’. Or as a paper published in Nature Index
concluded ’Science is getting harder to read’2 .
To improve the scientific writing, books and articles giving advice on how to write clear papers have been written
[Strunk Jr and White, 2007, Day, 1998, Ashby, 2000, Plaxco, 2010, Gewin, 2018]. Building on the advice found in
these works and our total 20 years of experiences, this brief paper gives guidance in writing high quality research
papers. By high quality papers, we mean those of which scientific findings are not buried under a poorly written text.
The paper is centered around three parts. The first part is a writing framework that helps us to have a nearly complete
paper when the last analysis task has been finished. The key ideas of this framework are: (1) writing should start early
in the research project, (2) research and writing are carried out simultaneously, and (3) best tools for writing should be
used. The second part is about how to write the major components of a paper from title, abstract, introduction, results to
conclusion and references. The writing is based on the writing style that writing is to inform not to impress and writing
is for reader and not for authors. And finally, the third part is technical: we present LATEX centered writing tools–based
on our personal preferences–and LATEX techniques to prepare high-quality images, tables, algorithms and source codes.
Due to our background in computational mechanics – a sub-branch of computational engineering and sciences– we
have used, as a model, a typical computational mechanics project: one develops a new model, implements it in a code,
and carries out simulations using that code to demonstrate the performance of the model.
There is no single, correct way to write. Our goal was not to convince you that what is described in this paper is the one
true way, but instead to get people thinking, talking and sharing ideas about writing. It is obvious that, no matter how
good you are as a writer, a bad research idea will not result in a good paper. Therefore, we assume that you have had
a sound research idea. The suggestions presented in this paper should then help you to have a nearly complete paper
when the last analysis task has been finished and the paper, once get published, will surely well communicate its selling
points to the community.
The remaining of the paper is structured as follows. First, in Section 2, our favorite writing tools are presented. These
tools are mostly open source and cross platform. Then, Section 3 provides actionable suggestions on how to write
a good paper. Particularly, we present an iterative writing process that is intertwined with your research. As we use
LATEX–a high-quality free typesetting system–we present some LATEX related guidelines on how to prepare high-quality
vector images, good-looking tables, algorithms, source codes and tweaks for two-column format papers (see Section 4).
Finally, with the pressure to “publish” (or perish), it is increasingly difficult for students and researchers alike to resist
the temptation to submit a “large” number of papers. Some of these papers might not be ready for submission yet. We
present some considerations regarding this issue (Section 5).

2 Tools
It is certain that using the right tool for any task is half way to success. And writing is no exception. Our favorite tools
for writing papers are the following:

 LATEX: a high-quality free typesetting system; it includes features designed for the production of technical
and scientific documentation. It is the de facto standard for the communication and publication of scientific
documents for hard sciences (Table 1);
2 https://www.natureindex.com/news-blog/science-research-papers-getting-harder-to-read-acronyms-jargon.

3
How to write a high quality scientific paper A PREPRINT

 BibDesk: an open-source reference management software package for macOS, used to manage bibliographies
and references when writing essays and articles. It is primarily a BibTeX front-end for use with LATEX (see
Appendix D);
 JabRef: an open-source and cross-platform reference management software package. Its use is similar to
BibDesk. It is primarily a BibTeX front-end for use with LATEX. One great feature that we like: it fetches
bibliography entries automatically when given a DOI;
 Skim: an open-source PDF (Portable Document Format) reader for macOS. Alternatives are Sumatra PDF for
Windows and evince for Linux;
 Adobe Illustrator: an industry-standard vector graphics software to create high quality drawings;
 Inkscape: a free and open-source vector graphics editor available for Linux, macOS, and Windows;
 Matplotlib: a Python 2D plotting library which produces publication quality figures in a variety of hardcopy
formats. It can be used in Python scripts;
 Dropbox: on-going papers are stored in Dropbox so that we can access them from multiple devices;
 Git: a distributed version-control system for tracking changes in source code during software development;
 GitHub or Gitlab: online platforms that offer hosting for software development version control using Git.
They offer both public and private (preferred for research papers) repositories. When using Git, they make
access from multiple devices and parallel collaboration easy.
The flowchart for the generation of a paper is as follows. LATEX is used to typeset the paper. The references used in the
paper are stored in a .bib file that is automatically generated and managed by BibDesk or JabRef. Sketches used in
the paper are drawn using Adobe Illustrator or Inkscape and graphs are created using Matplotlib. Sketches and
graphs are saved as PDF files and thus are of very high quality, see Section 4.2. Also, sketches and graphs could be
generated such a way that the font used for embedded text is the same as that of the document.
To keep track of the changes in the code, figures, and even research data, Git is used. For collaborative writings, the
git repository is hosted in either Github or Gitlab. They offer access to free private repositories that are very useful.
The choice of using Git is because every co-author of the paper can work on the same paper simultaneously. (This
paper was written that way.) Furthermore, the co-authors can still use their own favorite LATEX editor3 (e.g. the first
author used Sublime Text while the last author used Emacs). We find this organization to be better than Overleaf at
https://www.overleaf.com, which forces all authors to use a web-based LATEX editor.

Table 1: Summary statistics of the use of LATEX in science disciplines (% of submitted papers) taken from https://www.
the-scientist.com/uncategorized/dont-format-manuscripts-44040.

Disciplines LATEX rate

Mathematics 96.9%
Statistic and Probability 89.1%
Physics 74.0%
Computer Sciences 45.8%
Engineering 1.0%

Remark 1. Without going into the debate of which is the best editor, we use Sublime Text. This is because it can be
used for both writing LATEX documents and coding. Furthermore, it can render equations in real time, see Fig. 1, which
is quite handy. And the two way sync between Skim and Sublime Text is super convenient. However, Sublime Text
is proprietary. If you prefer open-sourced software, look into Vim and Emacs. Coupled with the AucTex package, Emacs
can recognize LATEX code and compile it easily. We prefer using a general purpose text editor rather than a LATEX editor
so that we just use one editor for both LATEX typesetting and coding.
Remark 2. There are many alternatives to matplotlib such as gnuplot and Matlab. We used Matlab and recently
switched to Python. There are many reasons that influenced this, two of which are noteworthy. First, it is fun and
beneficial to the brain to learn something new. Second, Python is now everywhere: it is used as a scripting language for
many finite element packages (e.g. Abaqus) and scientific visualization programs (Paraview and Ovito for example).
The tools described in this section help you to write papers effectively, only when you have an idea how a paper should
look like. The next section is devoted to just that.
3which is most often also their own coding editor.

4
How to write a high quality scientific paper A PREPRINT

Figure 1: Sublime Text can render equations in real time.

3 Writing tips
This section presents writing tips. We start with a presentation of general guidelines in Section 3.1. Then we discuss the
paper structure in Section 3.2; all major sections of a paper are treated: title, abstract, introduction, results, conclusions,
appendices, and references. Next, we discuss equations in Section 3.3 and figures in Section 3.4. How to construct
sentences and paragraphs is outlined in Sections 3.5 and 3.6, respectively. Some common mistakes and a few tips
to make your paper less verbose or wordy are given next in Section 3.7. Finally, Section 3.8 – the most significant
contribution of the paper – outlines an iterative writing process in which writing is intertwined with other research
activities. Recently, we realized that this technique has been, not surprisingly, adopted by other researchers, e.g. Jones
[2016].

3.1 General guidelines

The following general guidelines for a high quality scientific paper are nothing new but they are worth being repeated:

1. The purpose of a paper is to inform not to impress;


2. The writers should aim for clarity and readability and reproducibility;
3. Contributions must be clearly stated;
4. Every unit of discourse (a sentence, a section, an article etc.), no matter the size conveys only a single idea or
message [Gopen and Swan, 1990, Savage and Yeh, 2019]4 ;
5. Avoid jargon and abbreviations;
6. Figures should be of high quality (e.g. at least the font is legible);

The main contributions of your paper must be clearly stated after a brief review of the literature: in which way your
work differs from the existing literature. Be precise, as this is where the reviewers will try to find problems with your
work. Their goal is to identify whether your work is novel or not. If it is not immediately clear from the Abstract and
Introduction you risk being unconvincing.
Avoid jargon which are the specialized vocabulary of any profession, trade, science. Writing a paper is not a race for
complexity. You should make it as simple as possible for a neophyte reader to understand. Our advice is try to avoid
jargon in the abstract and introduction as much as possible so that your paper is more accessible to a wide range of
audience. In case that a jargon is needed, provide a definition for it the first time it appears in the paper, and also include
clarifications for any poorly formed jargon.
Consider the following sentence appearing in an abstract:

There are different formulations to model the tension/compression asymmetry of fracture.

The jargon ’tension/compression asymmetry’ might not be clear to some audiences. A better version of the above is:

There are different formulations to model the tension/compression asymmetry of fracture – fracture
does not occur in domains under compression.

Reproducibility is a big issue in scientific research nowadays. Reproducibility requires that findings can be verified
independently. However, we just confine ourselves here to the situation where a published simulation result is genuinely
correct but impossible to reproduce by people other than the authors. The world would be a better place if all authors
4Watch also the interesting talk of Judy Swan at https://www.youtube.com/watch?v=1pzjxYCwb08.

5
How to write a high quality scientific paper A PREPRINT

are more thoughtful when reporting their results: all information needed to make that particular simulation work should
be provided. Particularly, nontrivial parameters.
You can save time for both you – the authors – and the reviewers and the readers by not making them guess. For
example, if you do not do large deformation simulations, make it clear and justify that choice. If you have used a
particular value for one numerical parameter, explain your choice. The bottom line is: Explain everything; if something
is obvious to you does not mean that it is obvious to your reader. If the reviewers have to guess your choices, they will
comment on that. This increases the chances for your paper to be rejected, or needing corrections. When that happened
you have lost your valuable time.

3.2 How to structure your paper

Typically a paper in the field of computational engineering and sciences consists of the following parts:
 Title
 Abstract
 Introduction
 Methods
 Results
 Conclusions
 Acknowledgments
 Appendices
 References
In this section we discuss some suggestions on how to write these parts. We start with titles in Section 3.2.1, which is
followed by Section 3.2.2 on the abstract part. Then we present a way to organize long sections by having a global para-
graph before going into its subsections (Section 3.2.3). Next, we discuss how to write a compelling introduction section
(Section 3.2.4). After that, we discuss the results section (Section 3.2.5) and the conclusion section (Section 3.2.6).
Appendices and footnotes are discussed in Section 3.2.7 and references in Section 3.2.8.
An excellent article on how to structure a scientific paper can be found at https://www.nature.com/scitable/
topicpage/scientific-papers-13815490/. There are certainly overlaps between it and our discussion.

3.2.1 Title
Why should you pay more attention to the title of your paper? This is because
 the title is the part of a paper that is read the most;
 it is usually read first; and thus a good title gives a good first impression;
 papers with short titles got more citations [Paiva et al., 2012];
 using a question mark in a paper’s title reduces the citations;
 using a colon tended to improve the citations.
What a good title look like then? It should
 indicate accurately the subject/scope of the study;
 reveal the significance of the paper;
 contain no abbreviations;
 exclude phrases such as "study of," "analysis of" or similar constructions.
For example, the following title
An efficient and robust staggered algorithm applied to the quasi-static description of brittle fracture
by a phase-field approach
can be modified to make it better
An efficient and robust staggered solver for a phase-field model of quasi-static brittle fracture

6
How to write a high quality scientific paper A PREPRINT

3.2.2 Abstract

The abstract of a paper is the most important section of your paper. This is so because it is the second section that is
read by journal editors (they read your cover letter first). Furthermore, once your paper has been published, its abstract
is the first section that is clearly examined by readers. And in many cases, it is the only section of the manuscript that
will be ever read. Sadly, many authors write the abstract in a great rush, almost as an afterthought (probably too eager
to let the paper go?).
The abstract should be a concise standalone summary of your paper. It must include the background, gaps, methodology
and results. In other words, it answers these questions: Why did you do the study? What did you do? What did you
find? What did you conclude? Fig. 2 presents an example of a good abstract. We label it a good abstract because it
answers the above questions.

Figure 2: Example of a good abstract, taken from de Vaucorbeil and Nguyen [2021].

3.2.3 Global paragraph for long sections

For paragraphs that are quite complex it is a good idea to write a global paragraph (or mini-introduction) between the
heading of a section and the heading of its first subsection. The idea is to prepare your readers for the structure ahead
at all levels; not doing so might make your reader lost. See Fig. 3 for an example.

Figure 3: A complex section should have a global paragraph between the heading of a section and the heading of its first subsection.

Papers on the field of computational engineering and sciences always have a section, typically named ‘Numerical
Examples’ where some tests are presented to demonstrate the performance of the model/theory presented. While these
examples are most often presented in order of increasing complexity, we can do a better job in presenting them. For
example, a global paragraph stating why these examples were chosen, which open source (if it is the case) code was
used, etc. We first saw this technique probably in Huang et al. [2003]. Furthermore, a table with all parameters used
for all simulations would be helpful, see e.g. Table 6, as it is harder to get them if they are embedded in the text.

7
How to write a high quality scientific paper A PREPRINT

3.2.4 Introduction section


Everyone would agree that the introductory section of a paper should answer the following questions, in order:

1. What is the problem that the paper is solving;


2. Why that problem (the importance of the problem);
3. What are the current approaches to solving this problem and what is wrong about them;
4. What are the contributions of the paper;

And it should also plan the readers for reading the subsequent sections.
It is not an easy task to write an introductory section that (i) answers all the above questions, (ii) covers all relevant
works, (iii) is easy to follow and (iv) is short.
What we commonly see in the literature is introductory sections of about two to three pages, full of just plain text with
lots of jargons. There are two problems with this type of writing. First, only the authors and a dozens of experts can
understand what is going on. Second, the paper loses many readers. We have realized that using some formula, figures,
tables in the introduction section significantly improves the readability. See Box 1 for an example, taken from Mandal
et al. [2019].

Box 1: Equations and tables can improve the introduction section.

According to second-order PFMs for quasi-static fracture of solids under the infinitesimal strain regime, the
displacement field u and damage field d are minimizers of the following total energy functional of the solid
 
Gf 1
Z Z
C
E .u; d / D ˛.d / C b .rd  rd / dV P.u/
 
!.d / 0 ..u// C 0 ..u// dV C
˝0 ˝0 c˛ b
where the first integral is the stored strain energy, the second one denotes the fracture energy à la Griffith. The
positive and negative parts of the strain energy density are denoted by 0C ..u// and 0 ..u//, respectively.

model ˛.d / !.d / fracture type length-scale sup. Parameters


2 2
AT2 d .1 d/ brittle b D .27=256/lch 1 E0 ; 0 ; Gf ; b
AT1 d .1 d /2 brittle b D .3=8/lch 4b E0 ; 0 ; Gf ; b
.1 d /p
PF-CZM 2d d2 brittle/cohesive numerical param. b E0 ; 0 ; Gf ; f t
.1 d /p C Q.d /

One way to visually demonstrate the contributions of your paper is to use a table in which a comparison with previous
models is given. We borrowed this idea from the computer graphics community, see e.g. Stomakhin et al. [2013]. We
have adopted this idea in de Vaucorbeil et al. [2020] where we have provided a table (Table 2) where we compared
different variants of the material point method (MPM).

Table 2: Overall characteristics of common MPM variants. The smileys and frownies are typeset using the package wasysym.

MPM variant Efficiency Quad. error Cell crossing Num. fracture Grid type Contacts
MPM ,,, /// yes yes Cartesian/unstructured ,
GIMP ,, // no yes Cartesian ,
CPDI ,, / no no Cartesian ,
TLMPM ,,,, / no no Cartesian/unstructured /
iMPM , / no n/a n/a n/a

Another way to intrigue readers is to summarize all the impressive simulations that the model presented in your paper
can do in a figure (see Fig. 4). In this way, you increase the chance that your paper gets read to the end.

8
How to write a high quality scientific paper A PREPRINT

Figure 4: A figure with all good results that the model in your paper can deliver can help to intrigue readers so that they will read
your paper to the end. Taken from de Vaucorbeil et al. [2020].

3.2.5 Results section

In many fields a paper contains one section discussing the results and one section “Discussions” to elaborate on the
results. However, in the field of computational mechanics, most often these two are combined into one section named
“Numerical examples” or the likes.
As we have discussed in Section 3.2.3 for a long and complex section we need to have a global paragraph planning the
reader. For the Results section, this global paragraph should explain: (1) what examples are considered and for what
purposes (without doing so some readers won’t care about your examples or experiments), (2) which codes are used
and (3) what not considered and reason of doing so. If all these details are given it is easier for the reviewers and the
researchers transitioning to a new field to know what is going on. Fig. 5 presents such a global paragraph.

Figure 5: A global paragraph planning the reader for the Results section.

For each example, before presenting the results, we should also help the reader by stating what is the question that we
want to find answer with it, and what qualitative and quantitative measures are used for that purpose. For example, for
example 1, we can write:

The aim of this example is to verify if the proposed method provides mesh convergent results. To this
end, we consider four finite element meshes of increasing number of elements, and for each mesh
we monitor the load-displacement measured at point P (see Fig.1). The method is said to be mesh
convergence if the load-displacement plots converge for the used meshes.

9
How to write a high quality scientific paper A PREPRINT

3.2.6 Conclusion section


There are two misunderstandings about the Conclusion section. First, the Conclusion section is usually made long
under the false belief that a longer Conclusion will seem more impressive. Second, it is most often just a replication
of the Abstract and/or part of the Introduction in a present perfect tense. If the reader has to read your Conclusion to
know what your paper is all about, then your Abstract and Introduction were not well written.
Some papers with well written sections even do not have a conclusion section. We are not a fan of that and believe
having a conclusion is a good thing. Following the Nature paper introduced at the beginning of this section, a well
written conclusion section should include the following items:

 A brief summary (one or two sentences) of what the paper is about;


 A summary of the key findings of the paper;
 A list of potential improvements.

The key findings can be presented using bullet points. And as far as bullet points are concerned, we have to mention
parallel structure. Parallel structure means that coordinate parts of a sentence, such as items in a series or list, have the
same grammatical form.
For example, in a draft version, one student of ours wrote (in the introduction section): We present the following
concrete contributions:

 A unified fourth order phase field fracture framework for brittle and quasi-brittle solids which can be considered
as an extension of the unified PFM of Wu (2017);
 A semi-analytical (analytical-numerical) approach for PF-CZM;
 A almost length scale insensitive fourth order PFM;
 The first fourth order PFM for cohesive fracture;
 The PF-CZM is applied to study the phenomena of crack kinking in anisotropic brittle fracture

We do not need to be a native English to recognize that the above list is wrong. Just by reading it out loud we can see
that the first three bullet points are ok, but there is something wrong with the fourth and fifth bullets.
Using parallel structure, the above list must be written as follows: We present the following concrete contributions:

 A unified fourth order phase field fracture framework for brittle and quasi-brittle fracture;
 A semi-analytical approach for the fourth order PF-CZM;
 A comparison of the fourth order PF-CZM against the second order PF-CZM;
 A study of the phenomena of crack kinking and saw-tooth cracking in strongly anisotropic brittle fracture.

Parallel structures can be used in sentences and in paragraphs.

3.2.7 Appendix and footnotes


It is appropriate to include appendices when the incorporation of material in the body of the paper would make it poorly
structured or it would be too long and detailed and to ensure inclusion of supporting material that would otherwise
clutter or break up the narrative flow of the paper. As discussed later in Section 3.3, it is better to move some equations
to an appendix.
There are opposite ideas about footnotes. Some authors use them scarcely and some use them extensively. The argument
of the former is that footnotes break the flow of thoughts and send your eyes darting back and forth while your hands
are turning pages or clicking on links according to Pulitzer prizewinner novelist Cormac McCarthy [Savage and Yeh,
2019]. The argument of the latter is probably to reduce the paper’s length. But, we find one wrong thing about footnotes:
too lengthy footnotes. Some papers contain footnotes that are half a page long and with a smaller font than the main
text. These are not readable.
We use footnotes sparingly and they are most often short. If you find a long footnote, consider using a remark as we
have done in Remark 2.

10
How to write a high quality scientific paper A PREPRINT

3.2.8 References
You should pick one reference style and stick to it so that the references are consistent. Regarding how relevant work
should be cited, below are some suggestions:

 Cite originals not derivatives;


 Avoid citing a list of two many papers e.g. ‘See [1-20] for some relevant work’. This helps neither the readers
to find anything, nor the authors of [1-20] to get credit;
 Cite all references in a single citation with a author-year reference format chronologically. For instance, ‘To
help ease the writing process, books and articles giving advice on how to write scientific papers have been
written [Day, 1998, Ashby, 2000, Plaxco, 2010].’

3.3 Notations and equations

Avoid overly complex notations, see Table 3 for some examples. Try to introduce a nomenclature in the paper, to ease
things for the reviewers and readers. Sometimes, a table such as Table 4 does a good job to introduce main notations.

Table 3: Avoid overly complex notations.

Don’t Do
~ 
„ hN
A A or Aij

Table 4: Major notations can be put in a table.

Variable Type Meaning


xp Vector Particle position (time-dependent)
Xp Vector Particle initial position
mp Scalar Particle mass
Vp Scalar Particle volume
p Scalar Particle density
Tp Scalar Particle temperature
Pp Tensor/Matrix Particle 1st Piola-Kirchoff stress

Ideally, the impact of a scientific work should be determined by its scientific merit, rather than by presentational style.
Unfortunately, Fawcett and Higginson [2012], Higginson and Fawcett [2016] showed that scientifically strong papers
may have reduced impact if not presented in an accessible manner. The density of equations in an article on ecology
and evolutionary biology has a significant negative impact on citation rates, with papers receiving 28% fewer citations
overall for each additional equation per page in the main text [Fawcett and Higginson, 2012]. For papers in physics,
the number is 6% fewer citations for each additional equation per page [Higginson and Fawcett, 2016].
The lesson to learn from the above relation between the density of equations in a paper and its impact is to write less
equations in the body of the paper. This can be achieved by removing unnecessary equations. If needed, some equations
can be put in appendices.
A paper in the field of computational sciences certainly contains some mathematical equations and/or expressions. To
demonstrate how equations are written, we use the following one (taken from one of our papers)5

 
Gf 1
Z Z
C
E .u; d / D P.u/
 
!.d / 0 ..u// C 0 ..u// dV C ˛.d / C b .rd  rd / dV (3.1)
˝0 ˝0 c˛ b

5 Many LAT X editors have support to find LAT X symbols for those mathematical symbols. But, Sublime Text does not. You can
E E
then check out detexify at http://detexify.kirelabs.org/classify.html. This web app lets you draw a symbol, and shows
you the closest LATEX symbols.

11
How to write a high quality scientific paper A PREPRINT

where the first term is the strain energy, the second term is the surface energy and the third term the external energy.
Collectively, they define the energy of the mechanical system E .u; d /6 .
Note that we have "voiced out" the above equation in "words" so that the reader will have one more way of understand-
ing, and the equations will not look as blunt and intimidating, in particular when you have a lot of notation which does
not appear in literature. Later on we refer to this equation using its number as: The energy functional in Equation (3.1)
is minimized to obtain ...
We do not want to discuss about punctuation in equations as this problem is still a debate. Do whatever you feel
comfortable with. But the editor can ask you to add punctuation in your equations!

3.4 Figures

Figures are an important element of reporting the findings of your research. The reader usually starts by reading the
abstract, conclusion and figures. If the figures are self-contained and convincing, it is likely that the reviewers will
accept the paper without asking a large number of questions. If they have to read the whole text to understand the
worth of each figure, this will slow their progress and could make them impatient, hence decrease the chance of giving
recommendation for your paper.
A high quality figure is worth a thousand words. By a high quality figure we meant the one that has a legible font size,
a high resolution, is color-blindness aware, of which all the axes are clearly defined, those sorts of things. Later on we
will discuss how to prepare such figures (Section 4.2). We emphasize the importance of high quality figures because
we have seen so many figures which are, without better words, of very low quality.
Tables and figures, although important components of any research papers, are just that—components; you can publish
a paper without them but you cannot publish tables or figures without a paper. Thus a figure (or table) exists to support
the text. So the first rule is: make sure that every table and figure is mentioned in the text. Even though there are some
LATEX packages (e.g. Refcheck) that help to find out unused figures and tables, our practice is when we insert a figure in
our document, we cite it immediately. And the second rule is: remove any figure if it does not support your discussion.
The third rule is: writing good figure captions. Thus, pay attention to the figure captions. Ideally, the reader should be
able to ascertain the entire story just by reading the figure captions i.e., without going back and forth between the figure
and the text sections. And the final rule is how figures/tables are referred to in the text.
One usually does not pay enough attention to how figures (and tables) should be referred to in the text. That is why one
usually write the following sentences

Fig. 10 depicts the global responses. As can be seen, the global responses are insensitive to the
incorporated length scale.

The first sentence is unnecessary as it only directs the reader to the figure (Fig. 10), and thus it provides no information.
We have found similar sentences in the literature (including our papers). A better version of the above is:

The global responses are insensitive to the incorporated length scale (Fig. 10).

We say that this is a better version because it did not use the phrase ‘As can be seen’. It is clear that the use of too many
such phrases should (and can be) be avoided. Another way to get rid of ‘as can be seen’ is

Fig. 10 depicts the global responses. There we observe that the global responses are insensitive to
the incorporated length scale.

Actually we already use this style when we cite published articles and books to support an argument. We can do
the same thing with figures and tables. We refer to the very readble textbook on nonlinear dynamics [?] to see how
Strogatz–an excellent writer–refers to figures in the text. For a more accessible source, we can refer to our own paper
On a new high order phase field model for brittle and cohesive fracture: numerical efficiency, length scale convergence
and crack kinking in Computational Materials Science. This is probably the first paper in which we paid attention to
how figures/tables are cited in the text.

3.5 Sentences

We recommend the advice of Cormac McCarthy [Savage and Yeh, 2019]


6Any mathematical symbols appearing in the text must be typeset using a math font. In LATEX this is achieved by putting the
symbols in two dollar signs.

12
How to write a high quality scientific paper A PREPRINT

Keep sentences short, simply constructed and direct. Concise, clear sentences work well for scientific
explanations. Minimize clauses, compound sentences and transition words — such as ‘however’ or
‘thus’ — so that the reader can focus on the main message.

Don’t worry too much about grammatically perfect sentences. It is more important to be understood [Savage and Yeh,
2019].
Passive vs active voice. Sentences can be written using either an active voice or passive voice. The active voice focuses
on the agent: "David measured the temperature." (Here, the agent–David–is the subject of the sentence). In contrast,
the passive voice focuses on the object that is acted upon: "The temperature was measured by David".
To choose between active and passive voice, consider what you are discussing and place it in the subject position. Using
the above example of measurement of temperature, it is obvious that the temperature is the focus. So, we should write:
"The temperature was measured." David was omitted because no matter who measured the temperature we would
expect its value to be the same.
A common belief is that the passive voice can be useful for making the writing sound more formal and objective.
Unfortunately, this demand for objectivity of the writing has led to an overuse of the passive voice in scientific writing.
For example, we see sentences similar to the below one all the time:

In this section, a discussion of the influence of the temperature on the deformation of ... is presented.

This sentence is not only boring but also verbose. Look at the following equivalent sentence using an active voice:

This section discusses the influence of the temperature on the deformation of ...

This sentence is shorter and easier to understand. Therefore, a systematic preference for the passive voice is by no
means optimal. Use both in your papers and note that using a personal tone can help to engage a reader.

3.6 Paragraphs

Each paragraph conveys only a single idea or message. Do not be afraid of writing short paragraphs, even two-sentence
ones. Use simple sentences that are linked together so that your writing is coherent. See Box 2 for a paragraph that was
not well written: the second sentence is not related to the first one and ’this issue’ in the third sentence was not clear. A
better version is shown in Box 3 where the writing is more coherent: sentences start with the familiar (old) information
and end with unfamiliar (new) information. We prefer the new, important information at the end, because its job is to
intrigue the reader.
Box 2: Version 1. Box 3: Version 2.
In the phase-field modeling of fracture in brittle and quasi- In the phase-field modeling of fracture in brittle and quasi-
brittle solids, it is crucial to represent the asymmetric ten- brittle solids, it is crucial to represent the asymmetric ten-
sile/compressive material behavior. Existing phase-field sile/compressive material behavior. To capture this asym-
models generally adopt either an intuitive split of the metric behavior, previous phase-field models generally adopt
free energy density without capturing the crack bound- either and intuitive split of the free energy density without cap-
ary conditions properly or an ad hoc hybrid formulation turing the crack boundary conditions properly ... This work
at the loss of variational consistency. To address this is- presents a phase-field anisotropic model that is able to cap-
sue, this work presents a variationally consistent phase-field ture the asymmetric behavior, variationally consistent and
anisotropic damage model. satisfy crack boundary conditions.

Another example is, from S.P. Jones (yes, the same Jones who has written the interesting paper on how to write great
papers [Jones, 2016])

Security proofs of cryptographic protocols are crucial for the security of everyday electronic com-
munication. However, these proofs tend to be complex and difficult to get right. To make it easier to
manage such proofs, Jones et al. have proposed a new design principle, called the game-playing tech-
nique. This technique follows a code-based approach where the security properties are formulated in
therms of probabilistic programs, called games.

We refer to the old article of Gopen and Swan [1990] for more examples of writing readable paragraphs.

13
How to write a high quality scientific paper A PREPRINT

Try to revise your writing to keep only the words/figures/tables that are necessary: The main message of The Elements
of Style is to omit unnecessary words [Strunk Jr and White, 2007]. For example, using ‘because’ is more advisable than
the wordy ‘due to the fact that’ (see Table 5 for a list of unnecessary words/phrases).

3.7 Some common mistakes

Some common mistakes are given in Table 5. You could have avoided these mistakes by carefully studying the writing
of your favorite author (whoever she/he is). Anyway, we collect them here in one table as a checklist (the first author
refer to this quite often to avoid these mistakes).

Table 5: Some common mistakes. A good way to improve your writing is by reading your writing, including all of the writing out
loud. Your ears can often pick out sentence fragments and grammatical errors better than your eyes. If you find yourself saying a
series of fragmented sentences or feeling something unnatural, you should do some rewriting.

Don’t/Avoid Do/Use
The Table/Figure 2 Table/Figure 2
The Equation (2.2) Equation (2.2)
The Young’s modulus Young’s modulus, or the Young modulus
Start a section with a table/figure/equation Start a section with text
This topic has interested researchers for a long time ... for more than 20 years
A bad result A poor/negative result
This section serves to explain This section explains
It is obvious/clear ...
Due to the fact that ... Because ...
It should be noted that there are 5 samples in this study This study consisted of 5 ...
In order to include ... To include ...
The difference was found to be significant The difference was significant
We plotted the data by using ... We plotted the data using ...
Utilize or usage Use
We think/believe/feel that the results are good The results are good
Existing works ... Previous work
Using adjectives such as ‘very’, ‘always’, ‘never’
Using words like ‘ground-breaking’, ‘paradigm shift’
Using ’Above-mentioned’ or ’aforementioned’
Always spell out an acronym the first time it is used
Use long titles Use short titles [Paiva et al., 2012]
Use a spell checker to get rid of all spell errors

Most scientific papers will include numbers. Write out all numbers less than 10 (e.g. seven not “7”). Write out any
number at the start of a sentence. For sentences starting with long numbers, it is usually best to rearrange so that the
long numbers are not at the beginning.

3.8 Writing process: an iterative process

The first idea of the presented writing process is that when you have finished your last simulation, the first draft of
your full paper is complete. Here, by you, we mean the co-author of the paper who is in charge of the writing. After
that, it just comes down to polishing the paper. The second idea is to not lose motivation due to set backs. That is,
if the simulations are not working, don’t be upset; let’s write something instead. It can be as easy as filling Section
Acknowledgments. Having updated your paper will definitely make you feel good. And that is very important. The third
idea is that writing is intertwined with all other activities (formulation, coding and running simulations) as illustrated
in Fig. 6.
After a research idea has been developed, you should start writing the paper [Gray, 2005]. Obviously, the paper is now
empty. For the sake of presentation, let’s assume that you need to develop a formulation, implement it in a code, and
carry out simulations using this code. You first work on the formulation. Then, when there is some progresses, you can
write some key equations in the paper (filling Section Methodology). Having the formulations nicely written in a PDF
can help you to spot errors and to crystallize your thinking. Now that the formulation is complete, let’s move to the
implementation. Again, this task should be intertwined with the writing as well (filling Section Methodology). Most
often, you start with a very simple problem to test the code (and the idea). If this example works, you become more

14
How to write a high quality scientific paper A PREPRINT

Figure 6: Writing is intertwined with other activities of the project.

confident about the idea, you can write something on Section Introduction while the second simulation is under way. If
this second example is important, you can write about it in Section Examples. If you are lucky, the result of this second
simulation is good. Bingo, you can now fill Sections Introduction and Abstract while working on the third simulation.
If you feel stuck at writing any parts of the paper, feel free to do something else because keeping focusing on the
writing does not always help. Most often, ideas come when you are in a diffuse mode, a concept proposed in Oakley
et al. [2018]. For example, while playing with your kids on a playground, the idea for writing a good abstract usually
comes. Jotting down the idea on a phone and you’re done with this part of the paper.
While working on a paper, you read the literature (we always read it anyway). If you find a good paper relevant to
your work, put it in Bibdesk or JabRef, and cite it in the paper with some key sentences about it. Doing so saves you
a lot of time by not re-discovering this paper in the future. Note that Bibdesk (or JabRef) can link a PDF to a paper.
Therefore, we can have a library of papers on top of a .bib file.
Continuing this process, by the time the final simulation has been finished, you already have a nearly complete paper.
Note that you have already revised your paper many times when your simulations were running (which usually take
a long time). You just need to write the conclusions. And voila, you have a complete paper. That is why we call this
writing process an effortless experience. Before submission, there are some steps discussed in Section 5 that need to be
done.
Don’t worry about the size of the paper while you are working on it. Put as many details as you feel needed. You
might end up with, not a paper, but a long report (but in a format of a paper). Think of it as a research journal. If this
is the case, keep this report (which can be used later, for instance, in your books), save it as another file and remove
unnecessary parts.
Now you know what a good quality scientific paper looks like and you are ready to compile such one. The next section
presents some suggestions on how to do this electronically using LATEX. Note that the next section is not a LATEX tutorial.
It aims to be a starting point for your LATEX journey.

4 LATEX tips
We present in this section some LATEX tips which have been collected over the years. In Section 4.1, we list the must-
have packages. Then, we discuss how to prepare high quality plots in Section 4.2, tables in Section 4.3, equations in
Section 4.4, algorithms in Section 4.5 and source code in Section 4.6. Modifications required for preparing two-column
format papers are presented in Section 4.7. To help people new to LATEX Appendix A presents its installation. For those
who are new to LATEX see Listing 1 for a LATEX file for an empty paper. All the format is taken care off, we just need to
fill in the content.

4.1 Packages

To improve the writing experience, once in a while we update our LATEX skills by learning the best practices and best
packages. Listing 2 provides an updated list of LATEX packages being used to write our papers. We do not plan to discuss
all the packages. Instead, we want to discuss three packages: hyperref, cleveref and tcolorbox7 which are useful.
7This package was used to typset Box 1.

15
How to write a high quality scientific paper A PREPRINT

Listing 1: A starting LATEX file (file with extension .tex). The paper is not formatted to any specific journal. Change the template
(documentclass) accordingly for the publisher you plan to submit your paper. Introducing a table of content helps to see the overall
structure of the paper. For brevity, packages used were skipped, see Listing 2. LATEX keywords are highlighted in bold blue font.
1 \ documentclass [ authoryear , f l e q n ]{ a r t i c l e }
2 \ u s e p a c k a g e { amsmath , a r x i v } % s e e L i s t i n g 2 for packages
3 \ i n p u t { p r e _ commands . t e x } % s h o r t c u t s f o r l o n g l a t e x commands i n 1 p l a c e
4 \ t i t l e { \ t e x t b f { T i t l e o f y o u r p a p e r }}
5 \ author { . . . }
6 \ b e g i n { document }
7 \ maketitle
8 \ begin { a b s t r a c t }
9 % put your a b s t r a c t here
10 \ end { a b s t r a c t }
11 \ keywords {
12 s c i e n t i f i c w r i t i n g \ and \ LaTeX \ and s c i e n t i f i c p u b l i c a t i o n . }
13 \ tableofcontents % TOC
14 \ section { Introduction }
15 \ s e c t i o n { M e t h o do l o g y }
16 \ s e c t i o n { Examples }
17 \ section { Conclusions }
18 \ s e c t i o n { Acknowledgments }
19 \ begin { appendices } % remove t h i s i f you do n o t h a v e a p p e n d i c e s
20 \ end { a p p e n d i c e s }
21 \ bibliographystyle { abbrvnat } % bib s t y l e
22 \ b i b l i o g r a p h y {mpm} % bib f i l e
23 \ end { document }

By setting the option backref=page for the package hyperref, there appears ‘Cited on page #’ at the end of all
references which are back-references to the page(s) in which a given reference was cited.
Using standard cross-referencing in LATEX only produces the label number, a name describing the label such as figure,
chapter or equation has to be added manually. The cleveref package overcomes this limitation by automatically
producing the label name and number:

\cref{fig:figure1}, instead of Fig.~\ref{fig:figure1}


\cref{eq:equation1}, instead of Eq.~\ref{eq:equation1}

4.2 Figures

This section discusses how to generate high quality figures: be it graphs (Section 4.2.1), sketches (Section 4.2.2) and
contour plots (Section 4.2.3). For more detail on preparing figures, we refer to Rougier et al. [2014].

4.2.1 Graphs
It is not a requirement that the font used in graphs (e.g. bar charts, error chats, x-y scatter plots etc.) match that of
the text. Yet, it would be better if they match. Using Matplotlib, one can generate graphs scatterplots which either
are PDFs with font nearly matching the text font (see Fig. 7) or PGFs (Portal Graphic Format) with matching font
(see Fig. 8). The LATEX code used to include this type of plot is shown in Listing 3. We refer to Listings 10 and 11 in
Appendix B for the Python source codes that generate these PDFs and PGFs from a data file.
If you want to stack multiple pictures together with sub-captions using LATEX, the package subfig can do the job. Fig. 9
is a collection of four figures, with caption for each one of them. The corresponding LATEX code is given in Listing 4.

4.2.2 Sketches
If you use Illustrator for some drawings and need to include mathematical symbols in them, then try the application
called LaTeXiT8 to typeset whatever symbols and drag and drop them to Illustrator as embedded PDFs9 . Fig. 10a
8This software can be found at https://www.chachatelier.fr/latexit/. Note that, it works only for macOS.
9 Presentations can be created using Keynotes with equations created using LaTeXiT in exactly the same way.

16
How to write a high quality scientific paper A PREPRINT

Listing 2: Commonly used LATEX packages.


1 \ u s e p a c k a g e { amsmath , amssymb , m a t h t o o l s , m a t h r s f s , s t m a r y r d , t i t l e t o c }
2 \ usepackage { n a t b i b }
3 \ usepackage [ s c a l e d = 0 . 9 2 ] { h e l v e t } % s e t H e l v e t i c a as t h e sans − s e r i f f o n t
4 \ renewcommand { \ r m d e f a u l t }{ ptm } % s e t Times a s t h e d e f a u l t t e x t f o n t
5 \ usepackage [ r e t a i n o r g c m d s ]{ I E E E t r a n t o o l s }
6 \ usepackage [ usenames ]{ c o l o r }
7 \ usepackage { tabularx } % tables
8 \ usepackage { b o o k t a b s } % better tables
9 \ usepackage { multirow } % m u l t i −row t a b l e s
10 \ u s e p a c k a g e [ f o n t = s m a l l , l a b e l f o n t =md ] { c a p t i o n , s u b f i g } % sub − f i g u r e s ( s e e F i g . 6 )
11 \ u s e p a c k a g e [ most ] { t c o l o r b o x } %c o l o r e d / f r a m e d t e x t b o x e s w i t h h e a d l i n e ( s e e Box 1 )
12 \ u s e p a c k a g e [ bookmarks = t r u e , c o l o r l i n k s = t r u e , l i n k c o l o r = b l u e , b a c k r e f = p a g e ] { h y p e r r e f }
13 \ usepackage { f l o a t } % make new f l o a t e n v i r o n m e n t s u c h a s b o x e s ( c a p t i o n e d )
14 \ usepackage { l i s t i n g s } % i n s e r t s o u r c e c o d e \ eg LaTeX and P y t h o n c o d e s
15 \ usepackage { a l g o r i t h m } % flow wrapper f o r a l g o r i t h m
16 \ usepackage { a l g p s e u d o c o d e } % second a l g o r i t h m t y p e s e t t i n g environment
17 \ u s e p a c k a g e [ a c t i v a t e ={ t r u e , n o c o m p a t i b i l i t y } , f i n a l , t r a c k i n g = t r u e , k e r n i n g = t r u e ,
18 s p a c i n g = t r u e , f a c t o r =1100 , s t r e t c h =10 , s h r i n k = 1 0 ] { m i c r o t y p e }%Micro − T y p o g r a p h i c I m p r o v e .
19 \ usepackage { n i c e f r a c } % t y p e i n l i n e f r a c t i o n s : \ n i c e f r a c {1}{2}
20 \ usepackage { numprint } % \ n u m p r i n t {10000} => 10 000 n o t 10000
21 \ usepackage [ t i t l e , t i t l e t o c , t o c ]{ appendix }
22 \ u s e p a c k a g e [ c a p i t a l i s e ] { c l e v e r e f } %B a s i c a l l y , c l e v e r e f must be l o a d e d l a s t .
23 \ d e f i n e c o l o r { d a r k g r a y }{ r g b } { 0 . 9 5 , 0 . 9 5 , 0 . 9 5 } % c o l o r u s e d i n t a b l e s
24 \ crefname { f i g u r e }{ F i g . } { F i g s . }
25 \ crefname { e q u a t i o n }{ E q u a t i o n }{ E q u a t i o n s }
26 \ renewcommand  { \ b a c k r e f } [ 1 ] { }
27 \ renewcommand  { \ b a c k r e f a l t } [ 4 ] { [ {%
28 \ i f c a s e #1 %
29 \ or C i t e d on p a g e ~#2%
30 \ e l s e C i t e d on p a g e s #2%
31 \ f i%
32 }]}

4
600
3
450
T [K]

2
εp

300
1 axi-symmetric axi-symmetric
150
3D 3D
0 0
0 50 100 150 0 50 100 150
time [ns] time [ns]

Figure 7: A PDF figure of which the font nearly matches the text font: evolution of plastic strain "p and temperature T in time.
Symbols, if any, in figures should be typeset with LATEX. Be thoughtful about color blindness that affects around 8% of men,
particularly an inability to distinguish red and green. matplotlib can be color-blind appropriate, see line 29 of Listing 10. Also,
graphs should not have a title. Put the title in the figure caption.

presents an example. The same thing can be done using Inkscape with some LATEX extensions. This is achieved by
writing all text or formula using LATEX syntax in Inkscape. For example, if we want to get r, we write the following
text in Inkscape:

$\nabla \sigma$

17
How to write a high quality scientific paper A PREPRINT

4
axi-symmetric
600
3
450

T [K]
2
"p

300

1
150

axi-symmetric
0 0
0 25 50 75 100 125 150 0 25 50 75 100 125 150
time [ns] time [ns]

Figure 8: A PGF figure of which the font matches the text font: evolution of plastic strain "p and temperature T in time. PGF
pictures are embedded as raw commands in LATEX documents and thus can slow down the compilation process (i.e., the process
from a LATEX file to the final PDF).

Listing 3: LATEX commands to insert either a PDF, or PGF or PDF_TEX image. The crucial point here is not to scale the inserted
image. Otherwise, the font size will be affected. Each figure should have a unique label (here is ’fig:cold’), which is used to refer to
it in text.
1 \ begin { f i g u r e } [ ! ht ]
2 \ centering
3 % o n l y one o f t h e f o l l o w i n g t h r e e
4 \ includegraphics { cold −spray − p l o t s . pdf } % i n s e r t a PDF
5 \ input { cold −spray − p l o t s . pgf } % i n s e r t a PGF
6 \ input { output . pdf _ tex } % i n s e r t a pdf _ tex
7 \ c a p t i o n { Cold s p r a y i n g t e s t : e v o l u t i o n of p l a s t i c s t r a i n and t e m p e r a t u r e . }
8 \ label { fig : cold } % t h i s l a b e l i s used in \ c r e f { f i g : cold }
9 \ end { f i g u r e }

Figure 9: Stacking multiple pictures together with sub-captions using the package subfig.

Saving the drawing into the SVG format (SVG is short for scalable vector graphic file), and then exporting it as a
PDF_TEX file using the following command (Engelen [2010])10 :
inkscape -z -D --file=input.svg --export-pdf="output.pdf" --export-latex

This command generates two files: one is output.pdf and the other is output.pdf_tex. And then we insert the figure
using the file output.pdf_tex, see Listing 3 (use line 5). Fig. 10b presents an example.
Some people even go to the extreme of not using a graphics software with a user interface (e.g. Illustrator). Instead,
they use TikZ, a LATEX package for creating graphics programmatically. It has a steep learning curve but the results are
10This can also be done using the GUI: File/Save as/ and enable the option ’Omit text in PDF and create LaTeX file’.

18
How to write a high quality scientific paper A PREPRINT

Listing 4: Stacking multiple images using LATEX package subfig.


1 \ begin { f i g u r e }[ h ! ] \ centering
2 \ s u b f l o a t [CMOD= 0 . 0 0 8 i n c h ] { \ i n c l u d e g r a p h i c s [ width = 0 . 1 8 \ t e x t w i d t h ] { t 4 } \ l a b e l { f i g : a }}\;
3 \ s u b f l o a t [CMOD= 0 . 0 1 0 i n c h ] { \ i n c l u d e g r a p h i c s [ width = 0 . 1 8 \ t e x t w i d t h ] { t 6 } \ l a b e l { f i g :b}}\;
4 \ s u b f l o a t [CMOD= 0 . 0 1 2 i n c h ] { \ i n c l u d e g r a p h i c s [ width = 0 . 1 8 \ t e x t w i d t h ] { t 0 } \ l a b e l { f i g : c }}\;
5 \ s u b f l o a t [CMOD= 0 . 0 1 6 i n c h ] { \ i n c l u d e g r a p h i c s [ width = 0 . 1 8 \ t e x t w i d t h ] { t 8 } \ l a b e l { f i g :d}}\;
6 \ s u b f l o a t [CMOD= 0 . 0 1 8 i n c h ] { \ i n c l u d e g r a p h i c s [ width = 0 . 1 8 \ t e x t w i d t h ] { t 3 } \ l a b e l { f i g : e }}\;
7 \ c a p t i o n { Asymmetric n o t c h e d beam u n d e r t h r e e − p o i n t b e n d i n g : c r a c k e v o l u t i o n . }
8 \ label { fig : bittencourt −evolution }
9 \ end { f i g u r e }

outstanding. An example is provided in Fig. 11. The code used to generate this drawing is given in Listing 5. One can
appreciate the fact that it is fully parameterized, i.e., the size of the drawing is controlled by the variable L.

r  D0

(a) Illustrator and LaTeXiT (b) Inkscape and PDF_TEX


Figure 10: Using Illustrator and Inskcape to produce vector images with LATEX symbols. The font in figure (a) is slightly
different from the one in the text (r   D 0), while it matches perfectly in figure (b).

z
1 y
g x

1
1
Figure 11: Example of schematic made using TikZ.

4.2.3 Contour plots


Another type of images in scientific papers is contour plots (see Fig. 9), which are the outcomes of some visualization
application such as ParaView11 . These images should contain a color bar, and color bars limits should be the same on
contour plots you are comparing, otherwise it is very difficult to compare. We do not know how to match the font used
11As
we embrace as much as possible open source software, we did not mention tecplot, a good data visualization package
developed explicitly for engineers and scientist.

19
How to write a high quality scientific paper A PREPRINT

Listing 5: TikZ code used to obtain Fig. 11.


1 \ b e g i n { t i k z p i c t u r e } [ d a r k s t y l e / . s t y l e ={ c i r c l e , draw , f i l l = g r a y ! 4 0 , minimum s i z e = 2 0 } ]
2 \ tikzmath {
3 \L = 3;
4 \ h = \L / 30;
5 }
6 \ draw [ t h i c k ] ( − \L / 2 , − \ L / 2 ) r e c t a n g l e ( \ L / 2 , \ L / 2 ) ;
7 \ draw [ t h i c k ] ( \ L / 2 , −\L / 2 ) −− ( \ L / 2 + \ L / 5 , −\L / 2 + \ L / 5 ) ;
8 \ draw [ t h i c k ] ( \ L / 2 + \ L / 5 , −\L / 2 + \ L / 5 ) −− ( \ L / 2 + \ L / 5 , \ L / 2 + \ L / 5 ) ;
9 \ draw [ t h i c k ] ( \ L / 2 , \ L / 2 ) −− ( \ L / 2 + \ L / 5 , \ L / 2 + \ L / 5 ) ;
10 \ draw [ t h i c k ] ( − \L / 2 + \ L / 5 , \ L / 2 + \ L / 5 ) −− ( \ L / 2 + \ L / 5 , \ L / 2 + \ L / 5 ) ;
11 \ draw [ t h i c k ] ( − \L / 2 , \ L / 2 ) −− ( − \L / 2 + \ L / 5 , \ L / 2 + \ L / 5 ) ;
12 \ draw [ − >] ( 0 , 0 ) −− ( 0 , − \ L / 4 ) ;
13 \ node [ r i g h t , t h i c k ] a t ( 0 , −\L / 8 ) { \ l a r g e $ \ boldsymbol { g } $ } ;
14 \ draw [ < − >] ( − \L / 2 , − \ L / 2 − \ L / 8 ) −− ( \ L / 2 , − \ L / 2 − \ L / 8 ) ;
15 \ draw [ < − >] ( \ L / 2 , − \ L / 2 − \ L / 8 ) −− ( \ L / 2 + \ L / 5 , − \ L / 2 − \ L / 8 + \ L / 5 ) ;
16 \ draw [ < − >] ( − \L / 2 −\L / 8 , − \ L / 2 ) −− ( − \L / 2 −\L / 8 , \ L / 2 ) ;
17 \ node [ a n c h o r = e a s t ] a t ( − \L / 2 − \ L / 8 , 0 ) { 1 } ;
18 \ node [ a n c h o r = n o r t h ] a t ( 0 , − \ L / 2 − \ L / 8 ) { 1 } ;
19 \ node [ a n c h o r = n o r t h w e s t ] a t ( \ L / 2 + \ L / 1 0 , − \ L / 2 − \ L / 8 + \ L / 1 0 ) { 1 } ;
20 \ draw [ ] ( − \L / 1 0 , \ L / 2 + \ L / 1 5 ) c i r c l e ( \ L / 2 0 ) ;
21 \ draw [ ] ( − \L/ 5 − \L / 1 0 , \ L / 2 + \ L / 1 5 ) c i r c l e ( \ L / 2 0 ) ;
22 \ draw [ ] ( \ L / 1 0 , \ L / 2 + \ L / 1 5 ) c i r c l e ( \ L / 2 0 ) ;
23 \ draw [ ] ( \ L / 5 + \ L / 1 0 , \ L / 2 + \ L / 1 5 ) c i r c l e ( \ L / 2 0 ) ;
24 \ draw [ − , f i l l = w h i t e ] ( − \L / 2 , \ L / 2 + \ L / 2 0 ) −− ( \ L / 2 , \ L / 2 + \ L / 2 0 ) −−%
25 ( \ L / 2 + \ L / 5 , \ L / 2 + \ L / 2 0 + \ L / 5 ) −− ( − \L / 2 + \ L / 5 , \ L / 2 + \ L / 2 0 + \ L/ 5 ) − − ( − \L / 2 , \ L / 2 + \ L / 2 0 ) ;
26 \ draw [ − ] ( \ L / 1 0 , \ L / 2 + \ L / 2 0 + \ L / 1 0 ) −− ( \ L / 1 0 , \ L / 2 + 3  \L / 1 0 ) ;
27 \ draw [ − ] ( \ L/ 1 0 − \L / 1 0 , \ L / 2 + 3  \L / 1 0 ) −− ( \ L / 1 0 + \ L / 1 0 , \ L / 2 + 3  \L / 1 0 ) ;
28 \ draw [ − ] ( \ L/ 1 0 − \L / 1 0 , \ L / 2 + 3  \L / 1 0 ) −− ( \ L/ 1 0 − \L / 1 0 + \ L / 2 0 , \ L/ 2 + 3  \L / 1 0 + \ L / 2 0 ) ;
29 \ draw [ − ] ( \ L / 1 0 , \ L / 2 + 3  \L / 1 0 ) −− ( \ L/ 1 0 + \ L / 2 0 , \ L / 2 + 3  \L/ 1 0 + \ L / 2 0 ) ;
30 \ draw [ − ] ( \ L / 1 0 + \ L / 1 0 , \ L / 2 + 3  \L / 1 0 ) −− ( \ L / 1 0 + \ L / 1 0 + \ L / 2 0 , \ L/ 2 + 3  \L/ 1 0 + \L / 2 0 ) ;
31 % Triad :
32 \ draw [ − >] ( \ L / 2 + \ L / 5 + \ L / 8 , 0 ) −− ( \ L / 2 + \ L/ 5 + 2  \L / 8 , 0 ) ;
33 \ draw [ − >] ( \ L / 2 + \ L / 5 + \ L / 8 , 0 ) −− ( \ L / 2 + \ L / 5 + \ L / 8  0 . 2 9 , 0 − 0 . 7 1  \ L / 8 ) ;
34 \ draw [ − >] ( \ L / 2 + \ L / 5 + \ L / 8 , 0 ) −− ( \ L / 2 + \ L / 5 + \ L / 8 , 0 + \ L / 8 ) ;
35 \ node [ a n c h o r = n o r t h ] a t ( \ L / 2 + \ L / 5 + \ L / 8  0 . 2 9 , 0 − 0 . 7 1  \ L / 8 ) {$ x $ } ;
36 \ node [ a n c h o r = s o u t h ] a t ( \ L / 2 + \ L / 5 + \ L / 8 , 0 + \ L / 8 ) {$ z $ } ;
37 \ node [ a n c h o r = w e s t ] a t ( \ L / 2 + \ L/ 5 + 2  \L / 8 , 0 ) {$ y $ } ;
38 \ draw [ f i l l = r e d , r e d ] ( − \L / 2 , − \ L / 2 ) c i r c l e ( 1 p t ) ;
39 \ end { t i k z p i c t u r e }

in these images with the one in the text. We simply save them as PNG files of highest resolution and include them in
the LATEX document in the same manner as PDF images.
For complex drawings we have to combine the different tools together. Fig. 12 shows one example in which we
combined ParaView, matplotlib and Inkscape.

4.3 Tables

Tables in scientific papers should be clear and focus on the data. Here are some suggestions for making good tables:
avoid vertical lines, avoid double horizontal lines, avoid boxing up cells and leave enough space between rows. Table 6
satisfies all the criteria. The LATEX code is shown in Listing 6. Table 7 in Appendix C presents a table with footnotes.
If you look at the figures and tables in any paper including this one you will see that figure captions are generally placed
below the figures, whereas table captions must be placed above the tables. This is because we generally read tables from
the top down, and therefore want to see the caption at the top. Figures are not always read top down. When you open
a page and see a figure, the first thing you want to know is “what is that?” The caption below it should immediately
identify what the figure represents for the reader. If you choose to do the opposite e.g. placing figure captions above
the figures, do so consistently throughout your document.

20
How to write a high quality scientific paper A PREPRINT

Figure 12: Complex figures: contour plot from ParaView is combined with a polar plot from matplotlib using Inkscape.

Table 6: Material parameters and characteristics for all simulations.

Parameter Section 5.1 Section 5.2

Young’s modulus [MPa] 210  103 145


Poisson’s ratio [-] 0.3 0.45
Tensile strength [MPa] 2445 20

Experimentally validated n/a n/a


Solver multi-step AM single-step AM implicit-explicit
State Plane strain Plane strain

4.4 Equations

With LATEX it is possible to get nice mathematical symbols and equations, for example

 
Gf 1
Z Z
C
E .u; d / D P.u/
 
!.d / 0 ..u// C 0 ..u// dV C ˛.d / C b .rd  rd / dV (4.1)
˝0 ˝0 c˛ b

The LATEX code used to generate this equation is given in Listing 7. To speed up the typing of commonly used long
symbols, they have been redefined (i.e., made short) and put in a .tex file (see pre_commands.tex in Listing 1). You can
check this file at github repository to know how to define a new command.
For more details on how to typeset formulas in LATEX see chapter 3 of Oetiker et al. [2018]. To be self-containing,
Appendix E discusses how to write complex equations.

4.5 Algorithm

The packages algorithm and algorithmicx can be used to typeset algorithms. See Algorithm 1 for an example.
These algorithms written as pseudo codes are easier to understand than flowcharts. Yet, they are also easier to generate,
directly with LATEX. We refer to our github repository for the source.

21
How to write a high quality scientific paper A PREPRINT

Listing 6: Typesetting tables in LATEX. Note that all columns are nicely aligned with AlignTab package in Sublime Text. There exist
some software that can convert Excel tables to LATEX or visually generate LATEX tables online (https://www.tablesgenerator.
com). Note that the table was shaded with a dark-gray color; it is just a personal taste. Remove lines 8 and 22 will undo this.
1 \ begin { t a b l e }[ h ! ]
2 \ centering
3 \ c a p t i o n { M a t e r i a l p a r a m e t e r s and c h a r a c t e r i s t i c s f o r a l l s i m u l a t i o n s . }
4 \ s e t l e n g t h \ f b o x s e p {0 p t }
5 \ v s k i p − \ t o p s e p%
6 \ s m a l l s k i p%
7 \ renewcommand \ a r r a y s t r e t c h { 1 . 4 }
8 \ c o l o r b o x { d a r k g r a y }{%
9 \ b e g i n { t a b u l a r x } { 0 . 7 \ t e x t w i d t h }{ l l l }
10 \ toprule
11 Parameter & Section 5.1 & Section 5.2 \\
12 \ midrule
13 Young ’ s modulus [ MPa ] & $ 2 1 0 \ t i m e s 10^3$ & 145 \\
14 Poisson ’ s r a t i o [ −] & 0.3 & 0.45 \\
15 T e n s i l e s t r e n g t h [ MPa ] & 2445 & 20 \\
16 \ midrule
17 Experimentally validated & n / a & n/a \\
18 Solver & m u l t i − s t e p AM & s i n g l e − s t e p AM i m p l i c i t − e x p l i c i t \\
19 State & Plane s t r a i n & Plane s t r a i n \\
20 \ bottomrule
21 \ end { t a b u l a r x }%
22 }
23 \ l a b e l { t a b l e : params }
24 \ end { t a b l e }

Listing 7: LATEX commands to generate Equation (4.1). Each equation should have a unique label.
1 \ begin { equation }
2 \ mathscr {E} ( \ bfu , d )
3 = \ i n t _ { \ varOmega _{0}} \ l e f t [ \ omega ( d ) \ p s i _ { 0 } ^ + ( \ b f e p s i l o n ( \ b f u ) ) +
4 \ psi _{0}^ −(\ b f e p s i l o n ( \ bfu ) ) \ right ] \ td V +
5 \ i n t _ { \ varOmega _{0}} \ f r a c {G_ \ t e x t { f }}{ c _ \ a l p h a } \ l e f t [ \ f r a c {1}{ b } \ a l p h a ( d )
6 + b \ l e f t ( \ nabla d \ cdot \ nabla d \ r i g h t ) \ r i g h t ] \ t d V
7 − \ mathscr {P} ( \ b f u )
8 \ l a b e l { eq : 3 } % u s e t h i s l a b e l ’ eq : 3 ’ i n \ c r e f { eq : 3 } t o r e f e r t o t h i s i n t e x t
9 \ end { e q u a t i o n }

Algorithm 1 Stress update algorithm.


1: Inputs: "pt (equivalent plastic strain),  0t d (un-rotated deviatoric stress), dd , damage D t
d
2: Outputs: "ptCt (equivalent plastic strain),  0t Ct
0 t
3: Compute G D .1 D /G
d
4:  0trial D  0t d C 2G 0 t dd F purely elastic stress deviator update
q
0 eq 3 0d
5: D
trial  d
W  0trial
2 trial
F equivalent von Mises trial stress
h i
n
6: f D A C B "pt 1 C C ln "Pp Œ1 .T  /m  .1 Dt /
 
F JC flow stress
0 eq
7: if trial < f
then F yielding did not occur, purely elastic step
8: d
 0nC1d
 0trial
D F keep trial deviatoric stress
9: else F yielding has occurred
0 eq
10: "p D .trial f /=.3G 0 / F compute the equivalent plastic strain increment
t Ct
11: "p D "pt C "p F update the undamaged matrix plastic strain
f
12: d
 0tCt D 0 eq
d
 0trial F scale deviatoric stress back to yield surface
trial
13: end if

22
How to write a high quality scientific paper A PREPRINT

4.6 Source code

Source code can be included in LATEX using either the Listing package or the minted package. As the installation of
the latter package is more involved (it requires an external program), we present in Listing 8 some C++ source code
using the Listing package which does not depend on external program. We refer to the LATEX source of this paper for
the configuration of this package to produce Listing 8.

Listing 8: Presentation of source code using the Listing package with the Bera Mono font (https://tug.org/FontCatalogue/
beramono/).
1 #include <jive/Array.h>
2 #include <jem/base/System.h>
3 using jive::Vector;
4 using jive::Matrix;
5
6 Vector a; // double vector Array<double>
7 Matrix A(10,20); // double matrix Array<double,2>
8
9 A(slice(BEGIN,3),2) = 2.0; // third col, rows 0, 1, 2 = 2
10 System::out() << A << "\n";// similar to std::cout << A << "\n";

4.7 Two-column format

Preparing two-column papers is harder than one-column papers. Listing 9 presents LATEX snippets for long figures,
tables and equations that span the whole width of the paper. That’s all LATEX can do for you. For equations that are just
a bit longer than one column, you have to manually modify them to make them fit.

Listing 9: Writing two-column papers using LATEX.


1 \ u s e p a c k a g e { m a t h t o o l s , c u t e d } % 2 colum f o r m a t , l o n g e q u a t i o n
2
3 % b i g f i g u r e s p a n t h e whole p a g e
4 \ begin { f i g u r e }[! h ]
5 \ end { f i g u r e }
6
7 % b i g t a b l e s p a n t h e whole p a g e
8 \ begin { t a b l e }[! h ]
9 \ end { t a b l e }
10
11 % using s t r i p for long equations
12 \ begin { s t r i p }
13 % put your long e q u a t i o n here
14 \ end { s t r i p }

At this stage you know how to use LATEX, to write a high quality technical paper and you have just completed one such
paper. Is it ready for submission? The next section provides some steps taken to answer this question.

5 Submission
Do not submit until you are really happy with the work, as it usually does not save time to submit a piece of work
which we know ourselves could be improved: the reviewers will think likewise, or be even more critical than we are
ourselves of our work. If on a final read of the paper you think: “Ah. . . I could have added this study. This argument
is not completely convincing to me. This graph could be better plotted. I think I forgot some relevant literature. The
notations are complex, perhaps the reader will have difficulties. . . ” Then, do not submit immediately, improve your
work, and submit it when it is ready.
It is also useful to ask peers to read over your work. Before giving your first draft to your supervisor(s), have it
proof-read by a peer (i.e., if you are a PhD student, ask another PhD student for their opinion). This will bring the

23
How to write a high quality scientific paper A PREPRINT

following positive points: It will value your peer as you think her/his opinion counts; It will give you insights on how
understandable your paper is by someone who is connected to your field but did not do exactly the same piece of
research; It will decrease the number of typos, which will enable your supervisor(s) to focus on the scientific content
as opposed to bumping over each spelling mistake, grammatical error, jargon.
It is most effective to get feedback sequentially rather than in parallel. For example, rather than asking four people
to read the same version of your paper, ask one person to read the paper, then make revisions before asking the next
person to read it, and so on. This prevents you from getting the same comments repeatedly.
Now you have submitted our paper and gotten the reviews back, and the editor has asked you to revise your paper
taking into account the reviewers’ comments. How should you tackle this task? Different people have different ideas
but you can start with Noble [2017] if you do not know where to begin.

6 Conclusions
Does this paper really need a conclusion section? Not really, but we are a bit conservative. So, here you are. Without
claiming originality of ideas presented in this short paper, we have presented a collection of suggestions and recom-
mendations that can streamline the writing process. Following them would result in readable scientific articles which
in turn save time for the authors, the editors, the reviewers and the readers.
As LATEX and the tools we are relying on keep evolving, we will constantly update this article to reflect changes. The
updated version of this paper and scripts can be obtained at the github account of the first author (https://github.
com/vinhphunguyen/how-to-write-a-paper). To see how this paper evolves in time from the first draft to the final
version we provide in this link four different versions of the paper.
The suggestions described in the paper can be equally used to prepare reports, theses and dissertations. For LATEX users,
the above mentioned github repository contains a template for writing a thesis. And with a slight modification this
template can be used to write a book.
Our guidelines are rules not principles. Unlike principles, rules break all the time. Feel free to be creative as long as
you write to inform not to impress. Happy writing.

Acknowledgments
The first author (V.P. Nguyen) thanks the funding support from the Australian Research Council via DECRA project
DE160100577. The third author gratefully acknowledges the financial support of the Australian Research Council
(ARC) Training Centre in Alloy Innovation for Mining Efficiency (IC160100036).
The guidelines presented in this paper have been formed by reading many articles and books and learning from them.
Our favorite author is Ted Belytschko. We have also learned a lot through interactions with our co-authors. In particular,
the first author (VPN) would like to thank L. J. Sluys and M. Stroeven (TU Delft, the Netherlands), and the third author
(AV) acknowledges Chad W. Sinclair (UBC, Canada).

Appendix A Installing LATEX


To help those new to LATEX herein we present how to set up LATEX for macOS and Ubuntu computers, the operating
systems that we use.
For macOS, just do one thing: install macTeX from http://www.tug.org/mactex/. With that you also get a LATEX
editor called TexShop, so you can start using LATEX immediately. To get the pdf of this paper, do the following

1. get the source of the paper from https://github.com/vinhphunguyen/how-to-write-a-paper;


2. launch TexShop (in folder /Applications/TeX/), open the file ‘how-to-write-paper.tex’, press Command T, and
you’re done.

If you want to use Sublime Text, check this blog.


And for Ubuntu, do the following

1. Install Tex Live: sudo apt-get install texlive-full


2. Install a Tex editor, for example, TexMaker: sudo apt-get install texmaker

24
How to write a high quality scientific paper A PREPRINT

For how to use TexMaker:, check out https://www.xm1math.net/texmaker/. And for emacs, check this blog.

Appendix B Python scripts for plotting data


This appendix present two Python scripts to produce high quality graphs which have the same font used in the paper.
One can use the script shown in Listing 10 to get PDFs or the one in Listing 11 to get PGF files. PGF pictures
can be embedded as raw commands in LATEX documents. The original source of the material given herein is https:
//jwalton.info/Embed-Publication-Matplotlib-Latex/.
The main idea is to get the correct figure size, and insert it in the paper without scaling. To determine the figure size,
one first calculates the width of the paper, which can be done by inserting this command in the LATEX file:

\showthe\textwidth % => width of the pdf, see in log file, is 468 pt.

Then you can search for ‘width of the pdf’ in this log file to find out the width of your paper.

Listing 10: Python script for plotting data (PDF).


1 import m a t p l o t l i b a s mpl
2 import m a t p l o t l i b . p y p l o t a s p l t
3 d e f s e t _ s i z e ( w i d t h , f r a c t i o n =1 , s u b p l o t = [ 1 , 1 ] ) :
4 i f w i d t h == ’ e l s e v i e r ’ :
5 width_pt = 468.
6 e l i f w i d t h == ’ beamer ’ :
7 width_pt = 307.28987
8 else :
9 width_pt = width
10 fig_width_pt = width_pt  f r a c t i o n # Width o f f i g u r e
11 inches_per_pt = 1 / 72.27 # C o n v e r t from p t t o i n c h e s
12 golden_ratio = 0.75 # (5.5 − 1) / 2
13 fi g_ wid th _in = f ig_ wi dth _p t  in ch es _ p e r _ p t # Figure width in inches
14 fig_height_in = fig_width_in  golden_ratio  ( subplot [0] / subplot [1])
15 fig_dim = ( fig_width_in , f i g _ h e i g h t _ i n )
16 return fig_dim
17 p a r s e r = argparse . ArgumentParser ( d e s c r i p t i o n = ’ Plot the e v o l u t i o n of v a r i a b l e s . ’ ,
18 add_help=False ,
19 f o r m a t t e r _ c l a s s =argparse . RawDescriptionHelpFormatter )
20
21 p a r s e r . a d d _ a r g u m e n t ( ’ −− q u i e t ’ , ’ −q ’ , a c t i o n = ’ s t o r e _ c o n s t ’ , c o n s t = True , d e f a u l t = F a l s e ,
22 h e l p = ’ do n o t show p l o t . ’ )
23 args = parser . parse_args ()
24 p l t . s t y l e . use ( ’ seaborn − c o l o r b l i n d ’ ) # Using s e a b o r n ’ s s t y l e
25 nice_fonts = {
26 " t e x t . u s e t e x " : True ,
27 " font . family " : " s e r i f " ,
28 " axes . l a b e l s i z e " : 10 ,
29 " f o n t . s i z e " : 10 ,
30 " legend . f o n t s i z e " : 8 ,
31 " xtick . labelsize " : 8 ,
32 " ytick . labelsize " : 8 ,
33 }
34 mpl . r c P a r a m s . u p d a t e ( n i c e _ f o n t s )
35 # Dimer 5 : Read D a t a
36 f n a m e s = [ ’ l o g . mpm ’ , ’ dam− b r e a k −Sun . c s v ’ , ’ w a t e r − b r e a k − e x p e r i m e n t . c s v ’ ]
37 dat = [ p y la b . g e n f r o m t x t ( f , s k i p _ h e a d e r =1) f or f in fnames ]
38 f i g , ax = p l t . s u b p l o t s ( 1 , 1 , f i g s i z e = s e t _ s i z e ( ’ e l s e v i e r ’ , f r a c t i o n = 0 . 6 ) )
39 # f i g , ( ax1 , ax2 ) = p l t . s u b p l o t s ( 1 , 2 , f i g s i z e = s e t _ s i z e ( w i d t h , s u b p l o t = [ 1 , 2 ] ) )
40 f o r i , f i n enumerate ( f n a m e s ) :
41 x = dat [ i ] [ : , 3 ]
42 y = dat [ i ] [ : , 4 ]
43 ax . p l o t ( x , y , c o l o r = ’ b l a c k ’ , l a b e l = ’MPM’ , l i n e w i d t h = 1 . 5 , l i n e s t y l e = ’ d o t t e d ’ )
44 xmax = max ( xmax , np . max ( x ) )
45 ymax = max ( ymax , np . max ( y ) )
46 ax . s e t _ x l a b e l ( r ’ $T$ ’ )
47 ax . s e t _ y l a b e l ( r ’ $L ( T ) $ ’ )
48 ax . s e t _ y l i m ( 1 . 0 , 2 . 8 )
49 ax . s e t _ x l i m ( 0 , 1 . 6 )
50 ax . l e g e n d ( l o c = 0 )
51 plt . tight_layout ()
52 p l t . s a v e f i g ( ’ . / w a t e r − b r e a k − p l o t . p d f ’ , format = ’ p d f ’ , b b o x _ i n c h e s = ’ t i g h t ’ )
53 i f a r g s . q u i e t == F a l s e :
54 p l t . show ( )

25
How to write a high quality scientific paper A PREPRINT

Listing 11: Python script for plotting data (PGF).


1 nice_fonts = {
2 " t e x t . u s e t e x " : True ,
3 " font . family " : " s e r i f " ,
4 " pgf . texsystem " : " p d f l a t e x " ,
5 " font . family " : " s e r i f " ,
6 " font . serif " : [] ,
7 " f o n t . sans − s e r i f " : [ ] ,
8 " f o n t . monospace " : [ ] ,
9 " pgf . preamble " : [
10 # p u t LaTeX p r e a m b l e d e c l a r a t i o n s h e r e
11 r " \ usepackage [ utf8x ]{ inputenc }" ,
12 r " \ u s e p a c k a g e [ T1 ] { f o n t e n c } " ,
13 # m a c r o s d e f i n e d h e r e w i l l be a v a i l a b l e i n p l o t s , e . g . :
14 r " \ newcommand { \ v e c t } [ 1 ] { # 1 } " ,
15 # You c a n u s e dummy i m p l e m e n t a t i o n s , s i n c e you LaTeX document
16 # w i l l r e n d e r t h e s e p r o p e r l y , anyway .
17 ],
18 " axes . l a b e l s i z e " : 10 ,
19 " f o n t . s i z e " : 10 ,
20 " legend . f o n t s i z e " : 8 ,
21 " xtick . labelsize " : 8 ,
22 " ytick . labelsize " : 8 ,
23 }
24 p l t . s a v e f i g ( ’ . / cold −spray − p l o t s . pgf ’ , bbox_inches = ’ t i g h t ’ )
25 i f a r g s . q u i e t == F a l s e :
26 p l t . show ( )

Remark 3. If you are using Matlab, then try this script matlab2tikz for converting Matlab figures into native
TikZ/Pgfplots figures. The script can be found at https://www.mathworks.com/matlabcentral/fileexchange/
22022-matlab2tikz-matlab2tikz.

Appendix C Tables with footnotes


Making tables with footnotes in LATEX is not straightforward. Table 7 is one example and we refer to the source (at our
github account) to see how it was made. It is probably not an elegant solution but it is the best solution we have found.

Table 7: A table with footnotes generated using package threeparttable.

Parameter Section 5.1 Section 5.2

Young’s modulus [MPa] 210  103 145Ž


Poisson’s ratio [-] 0.3 0.45
Tensile strength [MPa] 2445 20

Experimentally validated n/a n/a


Solver multi-step AM single-step AM implicit-explicit
State Plane strain Plane strain
Ž Footnote1
 Taken from Mandal et al. [2019].

Appendix D Reference management with BibDesk


This section presents some ideas on how we manage our library (bibliography entries plus the associated PDFs) using
BibDesk. The original source is https://www.matthewsigal.com/post/integrating-bibdesk-with-dropbox.
html.
We have a single .bib file for our library. This file is stored in a Dropbox folder so that it syncs to all devices (e.g.
office PC and home PC). BibDesk is configured such that whenever a PDF is added to a bibliography entry, the PDF
will be automatically renamed and stored in a specified location (in Dropbox) with a specified file naming convention.

26
How to write a high quality scientific paper A PREPRINT

You do not care where they go: just go to BibDesk and search for the article and the PDF is there. If you like reading
papers stored in BibDesk on an iPad, check this app.

Appendix E Writing equations


This appendix presents some equations that are hard to create using LATEX for beginners.
For example, to get the following equation,

D
C r  v D 0 (conservation of mass)
Dt
Dv
 D r   C b (conservation of linear momentum)
Dt (E.1)
De
 DDW (conservation of energy)
Dt
v.x; t D 0/ D v0 ;  .x; t D 0/ D  0 (initial conditions)
we use an array inside an equation block (Listing 12). This way produces only one number for the entire equation
only.

Listing 12: Writing Equation (E.1) using LATEX.


1 \ begin { equation }
2 \ b e g i n { a r r a y }{ l l }
3 \ d f r a c {D \ rho }{ Dt } + \ rho \ n a b l a \ c d o t \ vm{ v }=0&\ t e x t { ( mass c o n s e r v a t i o n ) } \ \ [ 8 p t ]
4 \ rho \ d f r a c {D\ vm{ v }}{ Dt } = \ n a b l a \ c d o t \ bsym { \ sigma } + \ rho \ vm{ b }
5 & \ t e x t { ( c o n s e r v a t i o n o f l i n e a r momentum ) } \ \ [ 8 p t ]
6 \ rho \ d f r a c {D e }{ Dt } = \ vm{D } : \ bsym { \ sigma }&\ t e x t { ( e n e r g y c o n s e r v a t i o n ) } \ \ [ 8 p t ]
7 \ vm{ v } ( \ vm{ x } , t = 0) = \ vm{ v } _ 0 , \ ; \ bsym { \ sigma } ( \ vm{ x } , t =0 ) = \ bsym { \ sigma }_0
8 & \ text {( i n i t i a l conditions )}
9 \ l a b e l { eq : g o v e r n i n g }
10 \ end { a r r a y }
11 \ end { e q u a t i o n }

If you want to have labels for all the sub-equations, for example, as in the following equation

Model1 W ˛.d / D 9d; 2 D 0; 4 D 1 (E.2a)


Model2 W ˛.d / D d 2 ; 2 D 1; 4 D 2 (E.2b)
you can use subequations and IEEEeqnarray as shown in Listing 13. Each sub-equation has its own label, and thus
can be referred to.

Listing 13: Writing Equation (E.2) using LATEX.


1 \ usepackage [ r e t a i n o r g c m d s ]{ I E E E t r a n t o o l s } % t o use IEEEeqnarray
2 \ b e g i n { s u b e q u a t i o n s } \ l a b e l { eq : pfms }
3 \ b e g i n { I E E E e q n a r r a y }{ l l l }
4 \ t e x t t t { Model 1 } : \ quad \ a l p h a ( d ) = 9 d , \ quad & \ c h i _ 2 = 0 , \ quad&\ c h i _ 4 = 1 \ l a b e l { eq : s 1 } \ \
5 \ t e x t t t { Model 2 } : \ quad \ a l p h a ( d ) = d ^ 2 , \ quad& \ c h i _ 2 = 1 , \ quad&\ c h i _ 4 = 2 \ l a b e l { eq : s 2}
6 \ end { I E E E e q n a r r a y }
7 \ end { s u b e q u a t i o n s }

For fractions in the text it is better to use the nicefrac package that provides the command nicefrac; for example
without using it we would get ˛E f t2
instead of ˛E=f t2 which blends in better with the surrounding text. Another small
issue with inline math–symbols or short equations in the text–is that sometimes it is unwantedly broken at the end of a
line, for example

27
How to write a high quality scientific paper A PREPRINT

A text with an inline equation which is broken into two parts but
is not wanted right here v_{initial} =
1000m/s.

The solution is to put the math expression into braces f:::g, then it will be a math atom and not broken at the end of the
line. The LATEX code is:

A text with an inline equation which is broken into two parts but
is not wanted right here ${v_{initial} = \SI{1000}{m/s}}$.

References
M. Ashby. How to write a paper. Engineering Department, University of Cambridge, Version, 5:38, 2000. [Cited on
pages 3 and 11]
R. A. Day. How to write and publish scientific papers, 1998. [Cited on pages 3 and 11]
A. de Vaucorbeil and V. P. Nguyen. Modelling contacts with a total lagrangian material point method. Computer
Methods in Applied Mechanics and Engineering, 373:113503, 2021. [Cited on page 7]
A. de Vaucorbeil, V. P. Nguyen, S. Sinaie, and J. Y. Wu. Material point method after 25 years: Theory, implementation,
and applications. Advances in applied mechanics, 53:185–398, 2020. [Cited on pages 8 and 9]
J. B. C. Engelen. How to include an SVG image in LATEX, 2010. URL http://mirrors.ibiblio.org/CTAN/info/
svg-inkscape/InkscapePDFLaTeX.pdf. [Cited on page 18]
T. W. Fawcett and A. D. Higginson. Heavy use of equations impedes communication among biologists. Proceedings of
the National Academy of Sciences, 109(29):11735–11739, 2012. ISSN 0027-8424. doi: 10.1073/pnas.1205259109.
URL https://www.pnas.org/content/109/29/11735. [Cited on pages 11 and 11]
B. Freeling, Z. A. Doubleday, and S. D. Connell. Opinion: How can we boost the impact of publications? try better
writing. Proceedings of the National Academy of Sciences, 116(2):341–343, 2019. URL https://EconPapers.
repec.org/RePEc:nas:journl:v:116:y:2019:p:341-343. [Cited on page 3]
V. Gewin. How to write a first-class paper. Nature, 555(7694), 2018. [Cited on page 3]
G. D. Gopen and J. A. Swan. The science of scientific writing. American Scientist, 78(6):550–558, 1990. [Cited on
pages 3, 5, and 13]
T. Gray. Publish and flourish: become a prolific scholar. Teaching Academy, 2005. [Cited on page 14]
A. D. Higginson and T. W. Fawcett. Comment on ‘are physicists afraid of mathematics?’. New Journal of Physics, 18
(11):118003, nov 2016. [Cited on pages 11 and 11]
R. Huang, N. Sukumar, and J.-H. Prévost. Modeling quasi-static crack growth with the extended finite element method
part ii: Numerical applications. International Journal of Solids and Structures, 40(26):7539–7552, 2003. [Cited on
page 7]
R. L. Iles. Guidebook to better medical writing. Iles publications, 1997. [Cited on page 3]
S. P. Jones. How to write a great research paper, 2016. URL https://www.microsoft.com/en-us/research/
academic-program/write-great-research-paper/. [Cited on pages 5 and 13]
T. K. Mandal, V. P. Nguyen, and J.-Y. Wu. Length scale and mesh bias sensitivity of phase-field models for brittle and
cohesive fracture. Engineering Fracture Mechanics, 217(106532), 2019. [Cited on pages 8 and 26]
W. S. Noble. Ten simple rules for writing a response to reviewers. PLoS computational biology, 13(10), 2017. [Cited
on page 24]
B. Oakley, T. Sejnowski, and A. McConville. Learning How to Learn: How to Succeed in School Without Spending
All Your Time Studying; A Guide for Kids and Teens. TarcherPerigee, 2018. [Cited on page 15]
T. Oetiker, H. Partl, I. Hyna, and E. Schlegl. The not so short introduction to LATEX, 2018. URL http://tug.ctan.
org/info/lshort/english/lshort.pdf. [Cited on page 21]
C. E. Paiva, J. P. d. S. N. Lima, and B. S. R. Paiva. Articles with short titles describing the results are cited more often.
Clinics, 67:509–513, 2012. [Cited on pages 6 and 14]
K. W. Plaxco. The art of writing science. Protein science: a publication of the Protein Society, 19(12):2261, 2010.
[Cited on pages 3 and 11]
N. P. Rougier, M. Droettboom, and P. E. Bourne. Ten simple rules for better figures. PLoS computational biology, 10
(9):e1003833, 2014. [Cited on page 16]

28
How to write a high quality scientific paper A PREPRINT

V. Savage and P. Yeh. Novelist Cormac McCarthy’s tips on how to write a great science paper. Nature, 574(7777):
441–443, 2019. [Cited on pages 5, 10, 12, and 13]
A. Stomakhin, C. Schroeder, L. Chai, J. Teran, and A. Selle. A material point method for snow simulation. ACM
Transactions on Graphics, 32(4):1, 2013. [Cited on page 8]
W. Strunk Jr and E. B. White. The Elements of Style Illustrated. Penguin, 2007. [Cited on pages 3 and 14]

29

View publication stats

You might also like