This is an old revision of the document!
This section outlines the kinds of material you need to collect before you can begin writing in earnest. Most of the necessary material will consist of your own ideas and experiences gained while carrying out the project, and your approach to solving the problem you have decided to address. For the background study or literature review you will also need references to various resources such as key books and papers, policy documents, Internet resources, related software, etc.
While working on the project you may find it helpful to keep a notebook handy and record all relevant information. Typically such information will include:
Also, we recommend that you keep a diary of all your project-related activities. This will show the progress made during the life of the project and will provide a record of how you spent your time. In particular, when you are validating, testing and debugging your work, keep a running log of your activities and their outcomes. You will then have a record of the unforeseen difficulties you met and, hopefully, how you resolved them. Summaries of these may well be worth including in the project report (see Implementation).
In general you should supplement the material you generate yourself with relevant material from other sources. A good project report will show that you are aware of relevant work that other people have done (see Background). You should include relevant references to such work in your project report. References to work in periodicals, i.e. magazines and journals, and conference proceedings may be more useful than references to textbooks, as periodicals and conferences are usually more specialised and up to date. References to technical manuals and national and international standards should also be included, where appropriate. You may also cite web sites as sources, if suitable. However, keep in mind that web sites may often contain incomplete or wrong information and in general textbooks or papers are a better reference and show that you have done a more extensive literature review than just searching for some keywords on the Internet.
You should consider, at the beginning of your project, what you need to do to solve the problem you have chosen to address. This will then inform choices about the structure of your reports; your written reports need to be both a “narrative” (telling the story of your project) and an “argument” (providing a logical justification of the steps you have undertaken to solve your chosen problem). Once you have started to gather material you can begin to arrange it in a form which can then be refined into a report, though the outline chapter headings shown below will serve as a good guide in the early stages of your work.
All good project reports whatever their subject, follow certain well-established conventions and have a similar overall shape. They generally consist of a main body surrounded by other information (presented in appropriate formats) that support it in various ways. Some of these are mandatory, others are optional. You can vary the titles of the sections if these are inappropriate for your project - your supervisor is the best person to guide you on this. Here we concentrate on the main body of the report and generic sections. We recommend for writing the report that you start with an outline of the main and sub-sections (or chapters and sections) as a guide on what you should be writing in detail.
We look at each of the general sections of the report structure in more detail below. You can use this characteristic structure as a rough template for organising the material. However, often it may be of advantage to adjust the suggested structure to your particular project instead of sticking to the template. Consult your supervisor for advice. It is also a good idea to plan roughly how long each part should be before writing the report, to make sure that the length and overall balance are about right. You can then construct each part to produce a first draft of the main body.
A good introduction should tell the reader what the project is about without assuming special knowledge and without introducing any specific material that might obscure the overview. It should anticipate and combine main points described in more detail in the rest of the project report. Also, importantly, it should enthuse the reader about the project, to encourage them to read the whole report. Normally it should include such things as:
The purpose of the Background section is to provide the typical reader with information that they cannot be expected to know, but which they will need to know in order to fully understand and appreciate the rest of the report. It should explain why the project is addressing the problem described in the report, indicate an awareness of other work relevant to this problem and show clearly that the problem has not been solved by anyone else. This section may describe such things as:
The wider context of the project includes such things as its non-computing aspects. So, for example, if you are producing software or any other products, including business recommendations, for a specific organisation then you should describe aspects of that organisation’s business that are relevant to the project. If you are doing a research oriented, say on particular algorithms, you should also refer to the general problem for which these algorithms are useful (the application(s) for your techniques).
Relevant existing products, documents or artefacts that you should mention could be ones that, for example,
You need only describe things that will be unfamiliar to the potential reader, or are unique to the organisation or topic your project addresses. Your project, if it involves software development, will almost certainly use all kinds of existing software such as language compilers, subroutine libraries, etc., but you can assume that the reader will be fully acquainted with, for example, general purpose programming languages such as Java, C/C++, Fortran, Pascal, Python, PHP, etc,. Also, it may involve the better known specialised packages such as MySQL, ORACLE, OpenGL, etc. You should mention the particular variety and possibly version number, e.g. Java SE 6, but you need say nothing more than that.
If your project depends on any specialist or uncommon software such as specialised subroutine packages or a more obscure or specialised programming language, you should describe them briefly and discuss whatever features are relevant to your project. Often this can be done by comparing it to some well-established piece of software, for example
The Descartes language is like a restricted version of Pascal but with the following extra features: ...
Again, long descriptions of details are to be avoided and references to suitable sources of detailed information should be given instead.
Other background information could consist of the sequence of events leading up to the present situation or the results of earlier investigations. You could also discuss such things as any cost or time constraints imposed on the project.
Your background section should end with a clear statement of the research questions problem your project is trying to answer. These will reflect the aim of your project, but will be different in that they explain the problem you are attempting to solve, e.g.,
Example 1:
Aim: The aim of this project is to develop software for the improved planning of the routing of delivery vehicles to customer locations, that reflects the forecast availability of each customer to receive goods. Research question(s): In order to demonstrate the achievement of the stated aim, this project will identify route planning software currently in use and the underpinning algorithms, define appropriate performance metrics, determine how to express constraints on an alternative algorithm, develop an improved algorithm and demonstrate on what basis it is judged an improvement, and implement the improved algorithm in a usable and robust software package.
Example 2:
Aim: The aim of this project is to develop a business strategy for organisation X that will improve the survivability of X in the face of increasing global competition. Research question(s): In order to develop a business strategy it will be necessary to identify key stakeholders and determine their vision for the organisation at the end of the strategic planning time frame, assess the likely outcome, in terms of the organisation's survivability, of maintaining the current strategy, and develop and assess an alternative set of activities to achieve the stated vision.
This is one suggestion for the description of how your solution works. In some cases a methodology or approach to solve the problem may be more suitable to present the work. For this part, in particular, you have a lot of freedom of how to structure your report to present your solution.
The purpose of specification and design is to give the reader a clear picture of the system you plan to create, in terms of the capability required. A specification should tell the reader what the software system is required to do. The design then gives the top-level details of how the software system meets the requirement. It will also identify constraints on the software solution, that are important in guiding decision making throughout the development process.
Describing what a software system does (specification) and how it does so (design) effectively usually means describing it from more than one viewpoint. Each viewpoint will convey some information about the system that other viewpoints omit. (You would use the same technique when describing any complicated construction such as a building, an aircraft, a novel or a painting). Possible viewpoints might be:
A common approach is to first define the user or business requirements, then describe the static architecture, identify modules and groups of closely connected modules, and then to apply other views to each of these groups. Fine details, specifically details of code, should be left out.
We strongly recommend that you make extensive use of diagrams, such as entity-relationship diagrams, UML diagrams, state charts, or other pictorial techniques.
As well as describing the system, it is important that you justify its design, for example, by discussing the implications of constraints on your solution and different design choices, and then giving reasons for making the choices you did. Typically these implications will relate to the aims of the project and to aspects of it discussed in the Background section.
The design of the system will almost certainly have evolved while you were developing it. Obviously you should describe its final state but often there are good reasons for describing intermediate states, too; for example, if you want to discuss the details of the design method used or to highlight learning that you later refer to in the Reflection section. If you do this, take special care to make sure the reader does not get confused between different stages of the design.
If you are not designing a system, but testing a hypothesis for a more scientifically oriented project, specification and design sections may not be required in quite the same form. The specification instead becomes a description of the problem and what is required of a solution. The design becomes a description of your approach to solving the problem and your suggested solution(s). For instance, if you are designing an algorithm to solve a particular problem you would have a problem statement section and then a section describing one or more suggested algorithms to solve the problem. Later in the Results and Evaluation section you then describe how to design experiments to test how well the algorithm(s) solve the problem and present your experimental results with an evaluation of your suggested solutions.
Implementation is similar to the specification and design in that it describes the system, but it does so at a finer level of detail, down to the code level. This section is about the realisation of the concepts and ideas developed earlier. It can also describe any problems that may have arisen during implementation and how you dealt with them.
Do not attempt to describe all the code in the system, and do not include large pieces of code in this section. Complete source code should be provided separately. Instead, pick out and describe just the pieces of code which, for example:
You should also mention any unforeseen problems you encountered when implementing the system and how and to what extent you overcame them. Common problems are:
A seemingly disproportionate amount of project time can be taken up in dealing with such problems. The Implementation section gives you the opportunity to show where that time has gone.
In this section you should describe to what extent you achieved your goals.
You should describe how you demonstrated that the system works as intended (or not, as the case may be). Include comprehensible summaries of the results of all critical tests that were carried out. You might not have had the time to carry out any full rigorous tests - you may not even got as far as producing a testable system. However, you should try to indicate how confident you are about whatever you have produced, and also suggest what tests would be required to gain further confidence.
This is also the place to describe the reasoning behind the tests to evaluate your results, what tests to execute, what the results show and why to execute these tests. It may also contain a discussion of how you are designing your experiments to verify the hypothesis of a more scientifically oriented project. E.g., describe how you compare the performance of your algorithm to other algorithms to indicate better performance and why this is a sound approach. Then summarise the results of the tests or experiments.
You must also critically evaluate your results in the light of these tests, describing its strengths and weaknesses. Ideas for improving it can be carried over into the Future Work section. Remember: no project is perfect, and even a project that has failed to deliver what was intended can achieve a good pass mark, if it is clear that you have learned from the mistakes and difficulties.
This section also gives you an opportunity to present a critical appraisal of the project as a whole. This could include, for example, whether the methodology you have chosen and the programming language used were appropriate.
The Conclusions section should be a summary of the aims of project and a restatement of its main results, i.e. what has been learnt and what it has achieved. An effective set of conclusions should not introduce new material. Instead, it should briefly draw out, summarise, combine and reiterate the main points that have been made in the body of the project report and present opinions based on them.
It is quite likely that by the end of your project you will not have achieved all that you planned at the start; and in any case, your ideas will have grown during the course of the project beyond what you could hope to do within the available time. You can include discussion of future work in the conclusions or as a discussion at the end of the evaluation section. It is for expressing your unrealised ideas, focused in particular of what you suggest as next steps (possibly emerging out of your evaluation). It is a way of recording that 'I have thought about this', and it is also a way of stating what you would like to have done if only you had not run out of time (Remember to take into account Hofstadter’s Law: 'Everything takes longer than you think, even when you take into account Hofstadter's Law.'). Ideally it should provide a starting point for someone else to continue your work.
The Conclusions section marks the end of the project report proper. Be honest and objective in your conclusions.
We believe in the concept of “lifelong learning”. One of the principles applied throughout the assessment during your studies is that of the value of reflection. We believe that it is important that we reflect upon our performance in order to identify “transferable learning”, that can be carried over into future activities. Reflection should focus on what Argyris calls “double loop learning”; this is where we identify, not relatively “simple skills”, such as the mastery of a new programming language, but the impact of what we have done on the assumptions, concepts and ideas we used to make decisions about our work. For example, a “reflective practitioner” would try to identify the characteristics of the problem that has been addressed, and consider whether assumptions or decisions about the relevant approach to solving that problem had been appropriate, in order to make a better decision in relation to problems that might be encountered in the future.
Once you have gathered and organised enough material you can turn it into written prose. To write effectively requires sustained concentration over long periods of time. Even with the incremental authoring possibilities that word processing offers, writing is best done in long uninterrupted sessions. Most people find it difficult and tiring.
There are rules you can follow which may make the task easier and which will certainly improve the quality of your writing, but unfortunately there are rather a lot of these and in a guide of this size we can only offer a few pieces of general advice:
The project report's structure does not necessarily dictate the order in which you write it. If you want you can start by writing the Introduction, then the Background section, and so on, but this is up to you. Some people start by writing the Introduction first which gives direction to writing the other sections, but others prefer to leave writing the Introduction until last, as reports rarely turn out as planned. We recommend that you start with the middle sections, then write the Introduction (guiding the reader to what they will find in the report), then the Conclusions (bringing the report together at the end) and Reflection, and finally the Abstract (summing up the entire report). However you tackle the writing up, we recommend that you:
Always keep your potential readers in mind and repeatedly review what you have written, putting yourself in their place. Look at the draft, sentence by sentence, and ask yourself: 'Will this make sense to the readers given their existing knowledge and what I have told them up to now?' You can consider the potential readership as
So, as noted earlier, do not explain things which are common knowledge to such readers.
Also, if your project report is of sufficient quality, your supervisor may consider submitting part of it to a journal for publication as a paper, in which case it may eventually be read by a substantial number of computing and other professionals.
You can often both clarify text and reduce its bulk if you can identify generality or commonality among the ideas you are expressing. You can then revise the text so that the common factors are described first, followed by details of how specific individual ideas differ from them.
The main body of the project report should be divided up into sections, along the lines suggested in Arranging Material and Structuring the Project Report or otherwise, as appropriate. Each section should, if necessary, be divided up into subsections, and so on recursively. Such nesting can be used to suggest some kind of hierarchical relationship between sections. This can become obscure though if the nesting gets to more than about three levels deep.
It is important that you start each section and subsection with a summary of the rest of the material in it, i.e. inform the reader of what you are about to tell them. This has the effect of “softening up” the reader so that when they move on to the body of the section they feel confident about the direction in which you are taking them. They are reassured at regular intervals when they encounter ideas that you have told them to expect. Without the overview the overall effect is like a mystery tour of ideas, with each new idea coming as a surprise. It is sometimes difficult to appreciate the need for this when you are the author because you are already intimately familiar with the whole route that the report takes.
Each major section should begin on a new page. All sections and subsections should be numbered and headed. Numbering should be like this: 3.10.7 – for subsubsection 7 in subsection 10, in section 3.
There are all kinds of stylistic conventions relating to technical writing that you should try to follow. For example:
Writing where the language style or typography, e.g. font or character size, change arbitrarily looks amateurish and can be very distracting for the reader. Use typography to support the content. Other places where consistency should be maintained include:
To some extent you can use your own judgement about what conventions to follow. Whatever you do though, you must be consistent.
Here we mention some well-established descriptive devices which you can use in your project report to improve its quality.
Cross-references are just references to other parts of the same document. For example,
This module contains procedures for operating on variables of type WINDOW (see Section 2.2).
Section numbers will change if sections are added or deleted. Good typesetting or word processing software provides suitable mechanisms to automatically number sections and create such references such that they will always refer to the intended section. Make sure you know how your chosen software does this and select the right software to make this simple. If you use software that does not support cross-references or uses an overly complicated system, it is a good idea to wait until the report is almost complete before putting in any cross-references.
Backward references to sections earlier in the project report can make explicit connections between parts of the document that may not be connected obviously. Forward references can be used, for example, to reassure the reader that you are not going to leave them stranded after you have introduced a new idea without explaining it. For example,
This procedure uses the Volestrangler algorithm (to be described in Section 4.3).
Note that too many forward references are probably an indication that the report could be organised better.
Many word processors have facilities for handling footnotes. By all means use them, in particular when you want to make a comment which is not strictly relevant or which would upset the flow of ideas in the text. If the comment is closely related to the text you may consider including it in parenthesis instead.
Traditionally, collections of items are listed within the text using the adverbs ‘firstly’, ‘secondly’, etc. Often, though, it is clearer to tabulate these items, particularly if there are many of them. The simplest way of doing this is to use a “bullet” list. Various examples of bullet lists appear on this wiki. Sometimes there is a need to nest one list inside another. To distinguish the two lists, the inner one can be indented and have a different symbol. Lists with more than one degree of nesting tend to appear confusing and therefore we do not generally recommend them.
Listed items can also be keyed using numbers, letters, or other labels. Bibliography entries are an example of keyed items (see References). However, keys should only be used when necessary.
A project report that uses figures (i.e. diagrams or other pictorial techniques such as tables) to illustrate ideas will probably be easier to digest than one that does not. We therefore recommend that you use figures wherever appropriate (If you have a graphical rather than a textual/verbal kind of mentality, a good way to write text is to express your ideas in diagrams first and then describe these textually).
Be careful though. When drawing diagrams try to keep to a standard graphical notation that has been introduced during your studies, or that you have seen published widely, and use it consistently. Computer Science, unlike most other professions, has few established conventions governing the use of diagrams and this means that diagrams can sometimes make ideas more obscure rather than clarifying them.
If you feel you have to invent your own notation, remember that the best ones are usually the most economical, i.e. they use only a few different kinds of symbols. Also, you must explain the precise meaning of your symbols in a key. A very common mistake is to use arrows to illustrate some kind of relationship between items without declaring what that relationship is.
Graphics editors (i.e. image processors) can be extremely useful, particularly if you have a great deal of drawing to do or if there is a lot if commonality among the drawings (because cut and paste operations can then be used with great effect). However, some artefacts are difficult to produce using standard software applications, and in such cases it is quite acceptable to present hand-drawn diagrams. To include these into your report you may use a scanner or even take a photograph (or multiple partial photographs that you merge afterwards) of the artefact and include it in your report as any other computer generated image (help from staff for this is available).
All figures should be labelled and captioned, for example,
Figure 3.10: Sub-System Architecture.
The label can then be used to refer to the diagram within the text, e.g.
See Figure 3.10.
All diagrams must be explicitly referred to somewhere within the text.
Similar to sections and subsections the labels may change if you insert additional figures or change the structure of the report. Again good typesetting software will support automatic label generation and keeping the references to the figures consistent (see Cross-references).
For some reports it may also be useful to distinguish between figures and tables and use separate labels for them (e.g. Figure 3.1 and Table 3.1 are two separate elements, sometimes also referred to as floats). Figures are diagrams, drawings, images, etc. while tables list information in a tabular layout, e.g. program running times for specific inputs.
It is important when writing about software systems to distinguish in the text between the ordinary natural language you are using and the program code or other literal text. If you are using a word processor which offers both proportionally spaced and fixed width character fonts then there is a straightforward way of doing this. Program code and other literal text can be written in a fixed width font such as “Courier New” while the natural language text can be written with a proportionally spaced font such as “Times New Roman”.
Other similar kinds of text, UNIX commands for example, can be treated in the same way. Some typesetting systems also offer to include “verbatim” text, which you can use to insert small code examples, examples of the output of a program, etc. They are also typeset in a fixed width font. Using a fixed width font means that the code appears in the document much as it would do on a console. If you only have fixed width characters available on your word processor then put program code etc. into italics or bold text.
Note that using more than a few different character fonts, styles or sizes can make text look very untidy. Generally we recommend to use, e.g., a serif font for the main text (or a sans-serif font, if you prefer), a fixed-width font for literal texts as above, and optionally one sans-serif font for headings and captions (this can also be the same font used for the main text). Emphasis can be indicated by italics (or slanted text) or for stronger emphasis use bold text. If you use more fonts you should have a very good reason for this to support the content.
In Arranging Material and Structuring the Project Report we say that a project report consists of a main body plus other supporting material that surround and support the body. There are well established conventions governing the purpose and format of these supporting structures which we describe here. The structures include, in order of appearance in the project report:
Then comes the main body of the report, and this is followed possibly by:
and finally
Each of the elements listed above should begin on a new page. All pages should be numbered, with page 1 being the first page of the Introduction. The pages preceding the Introduction should be given Roman numerals (i, ii, iii, iv, etc).
The title page should be the first page of the report and should normally include:
The title itself should be short, yet should aim to describe the contents of the project report as accurately as possible.
This is a summary of the report. It must be less than 300 words long. It should give enough information to allow a potential reader to decide whether or not the report will be of interest to them. It should briefly describe the main ideas of the report, including the aims and conclusions. It should be both self-contained and self-explanatory, and it should not say anything not mentioned in the rest of the report (for this reason it is usually written last).
This optional section should be used to record indebtedness for the use of facilities or help from particular sources. You should mention any organisations or people who have helped you while you have been carrying out the project.
The table of contents gives the reader a view of the detailed structure of the report, by giving section and subsection headings and associated pages.
If your project report contains many figures or it refers to the same figure many times you should consider listing them along with their page numbers in a table of figures.
If you use any abbreviations, obscure terms or esoteric acronyms in the project report then their meaning should be explained where they first occur. If you go on to use any of them extensively then it is helpful to list them all in a table at the end so that readers can quickly remind themselves of their meaning.
Appendices are where you present material which you want to include in the report, but which would seriously obstruct the flow of ideas if put anywhere in the main body. This could be extensive technical details or mathematical proofs, derivations of formulae, etc. required to support a point your are making in the report. Other documents you have written, such as user manuals, technical manuals or formal specifications should go here too.
Appendices should be headed by letters in alphabetical order, i.e. Appendix A, Appendix B, etc.
Here is a summary of our main recommendations for writing reports:
This is a list of general typesetting rules for the undergraduate final year project reports.
Ensure you stick to the word limit assigned for the specific report, as stated in the module guidelines. The word count does not include the supporting structures, but only the contents of the main report sections, excluding front-matter, figures and tables, and appendices. There is no minimum length but it is mainly through the report that your project will be judged so the report should adequately reflect the work done in the project.
Reports should be typeset in a 12pt font.
Reports should have single line spacing (anything from 1.0 to 1.3 is fine). The report should be economical on paper. It should not, for example, contain excessive amounts of whitespace. Only the major sections need to begin on a new page.
Reports should be typeset with some word-processing system, e.g. LaTeX, LibreOffice or Word. The final project report should be presented as a PDF file with any other documentation in the appendices of the report. Artefacts produced for the project that are to be processed by other software such as a compiler or interpreter should be submitted as separate file(s). If files are submitted as an archive, it should be in zip format (other formats can be uploaded, but will be converted automatically into zip by PATS). Typically this will be the source code for software developed for the project. For details see the Submission Guide.
The guides on this wiki are not complete. Textbooks usually demonstrate good technical writing especially if they are produced by a reputable publisher. They also provide illustrations of the use of descriptive devices, etc.
Below is a list of other books and Internet resources, specifically designed to assist in writing essays and reports.
Finally, there will be specific aspects of your project reports that only your supervisor can advise you on. It is important that you discuss an outline of the reports with your supervisor before you begin to write up.
Cardiff University, Writing at Postgraduate Taught Level [accessed March 2023].
Online writing tutorials for postgraduate taught students, but also relevant to undergraduate projects.
Creme, P, Lea, MR. Writing at University: A Guide for Students. 3rd edition. Open Unniversity Press, 2008.
Contains help for all aspects of writing while at university.
Duprė, L. Bugs in Writing: Guide to Debugging your Prose. 2nd edition. Addison-Welsey, 1998.
Contains tips in small, individual chapters to improve your writing; a good reference book.
Fry, R. Improve Your Writing. 5th edition. Delmar Cengage Learning, 2004.
This is a guide for students producing a written project. Easy to read, full of handy hints, and guides you through the whole process from carrying out research for your report through to producing the final draft.
Strunk Jr, W, White, EB. The Elements of Style. WP Humphrey, Ithaca, NY, 1918. https://www.crockford.com/style.html [accessed March 2023].
Excellent guide to good use of English, a classic reference book, meanwhile updated and republished many times.
Zobel, J. Writing for Computer Science. Springer, 2014. https://link.springer.com/book/10.1007/978-1-4471-6639-9.
Extensive guide on writing and presentations, specifically aimed at computer science work.
Document Foundation, The. LibreOffice Documentation. http://www.libreoffice.org/get-help/documentation/ [accessed March 2023].
LaTeX Project Team. LaTeX - A document preparation system. http://www.latex-project.org/ [accessed March 2023].
Oracle. The OpenOffice.org Documentation Project. http://documentation.openoffice.org/ [accessed March 2023].
Overleaf. https://www.overleaf.com [accessed March 2023]. (subscription available via your Cardiff Uni e-mail/account)
Word MVPs. The Word MVP Site. http://word.mvps.org/ [accessed March 2023].
This section describes how to prepare PDF files for submission on PATS. Independent of the program you are using to write the document and create the PDF file, the PDF file must fulfil the following conditions:
We also recommend you turn off any additional image compression during the PDF generation to preserve the original image quality. Furthermore, the PDF file should be generated for 300dpi or higher (print or prepress settings are ok). Screen resolutions, etc., may be of insufficient quality to easily read or print your documents.
The method you choose to create your PDF file is up to you, of course. However, there are several methods that most people use, as described below. Following these methods will ensure your document fulfils the above conditions.
Once you created the PDF file, you are highly advised to carefully proofread the resulting PDF file using acroread, available at http://get.adobe.com/reader/ - other software may or may not provide a reliable check, even if quite often they do not cause any problems. In particular, check that the contents displayed by the PDF file do not differ from the contents of the original file in any significant way.
If you are using TeX or LaTeX, there are two basic options to create a PDF file: directly generate the PDF file with PDFTeX / PDFLaTeX or create the PDF file from a DVI file. For special TeX frontends and implementations for various platforms, commercial versions, etc., you should refer to the documentation of these programs.
We recommend using PDFTeX / PDFLaTeX directly by calling pdflatex or pdftex command to create a PDF file, which by now is mostly the standard for LaTex/TeX. Note that minor differences exist between these commands and the original LaTeX or TeX commands, which produce DVI files. To avoid problems, choose the version you use before writing the complete document.
The standard version of TeX and LaTeX produce DVI files. To generate acceptable PDF files from these, first convert the DVI file to PostScript with the following command:
dvips -Ppdf -G0 -t a4 -o FILE.ps FILE.dvi
Then you should run the ps2pdf program to create the PDF file from the PostScript file:
ps2pdf -dPDFSETTINGS=/prepress \ -dCompatibilityLevel=1.4 \ -dAutoFilterColorImages=false \ -dAutoFilterGrayImages=false \ -dColorImageFilter=/FlateEncode \ -dGrayImageFilter=/FlateEncode \ -dMonoImageFilter=/FlateEncode \ -dDownsampleColorImages=false \ -dDownsampleGrayImages=false \ FILE.ps FILE.pdf
This command also works for postscript files generated in different ways.
If you are using LibreOffice or any of its variants to write your report, export the file in PDF format using the File → Export As PDF menu. Under the options window, you do not need to select any special options. But make sure you turn off JPEG compression by selecting lossless compression to avoid image quality problems, and we also do not recommend reducing the image resolution.
Newer Word programs offer the option to save the file as a PDF under the save menu point. You may have to install a separate option for this to work. In general, this may be the best option to generate a PDF. Make sure you turn off image compression and select at least 300dpi resolution.
If this option does not work for you, there are various more or less free programs and services to convert word files to PDF. They should be easy to find, but we do not recommend any specific ones.