{"id":18906762,"url":"https://github.com/oduwsdl/wsdlthesis","last_synced_at":"2025-04-15T04:31:43.237Z","repository":{"id":55881036,"uuid":"107172885","full_name":"oduwsdl/wsdlthesis","owner":"oduwsdl","description":"ODU WS-DL Thesis/Dissertation LaTeX Template","archived":false,"fork":false,"pushed_at":"2024-04-19T16:00:39.000Z","size":169,"stargazers_count":3,"open_issues_count":15,"forks_count":11,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-28T16:21:25.076Z","etag":null,"topics":["dissertation","latex","odu","template","thesis","wsdl"],"latest_commit_sha":null,"homepage":null,"language":"TeX","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oduwsdl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2017-10-16T19:21:05.000Z","updated_at":"2024-03-21T17:08:44.000Z","dependencies_parsed_at":"2024-04-19T16:37:16.511Z","dependency_job_id":null,"html_url":"https://github.com/oduwsdl/wsdlthesis","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oduwsdl%2Fwsdlthesis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oduwsdl%2Fwsdlthesis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oduwsdl%2Fwsdlthesis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oduwsdl%2Fwsdlthesis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oduwsdl","download_url":"https://codeload.github.com/oduwsdl/wsdlthesis/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249006461,"owners_count":21197280,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dissertation","latex","odu","template","thesis","wsdl"],"created_at":"2024-11-08T09:18:39.528Z","updated_at":"2025-04-15T04:31:42.908Z","avatar_url":"https://github.com/oduwsdl.png","language":"TeX","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OUT OF DATE: ODU WS-DL Thesis/Dissertation LaTeX Template\n\n**Important:** The template contained in this repository was last updated *May 2018*. The most recent template (approved by the College of Sciences in *April 2024*) is available at \u003chttps://github.com/oduwsdl/odusci-etd-template\u003e\n\n## Summary\n\nThis is a ready to use ODU thesis/dissertation LaTeX template, both for Master and PhD, tailored to suit the needs of the [WS-DL Research Group](https://ws-dl.cs.odu.edu/).\nThe template is based on [the Old Dominion University Guide for the Preparation of Theses and Dissertation](https://www.odu.edu/content/dam/odu/offices/graduate-studies/thesis-dissertation/docs/thesis_dissertation_guide.pdf)\nThis repository contains:\n\n* a LaTeX class named, `wsdlthesis`\n* a minimal bootstrap thesis with an opinionated directory structure and file naming convention\n* a handful of useful macros\n* a `Makefile` with common tasks and a `Dockerfile` to package necessary dependencies\n\n## Getting Started\n\n[Install necessary LaTeX](https://en.wikibooks.org/wiki/LaTeX/Installation) distribution or use [Docker](https://docs.docker.com/engine/installation/).\nThen follow these steps:\n\n```\n$ git clone https://github.com/oduwsdl/wsdlthesis.git YOUR_THESIS_NAME\n$ cd YOUR_THESIS_NAME\n$ make\n```\n\nThis should generate the `main.pdf` file in the working directory that has all the necessary skeleton of a PhD dissertation.\n\n### Basic Customization\n\nChange the basic properties such as `title` and `author` in the `config.tex` file to make it your own.\nAt the bottom of the `config.tex` file there are some configuration options that can be enabled/disabled as needed.\n\n* `\\mastertrue` - Uncomment this if a Master's thesis is desired (the default is PhD dissertation).\n* `\\proposaltrue` - Uncomment this for the candidacy proposal (the default is thesis/dissertation).\n* `\\revisiontrue` - Uncomment this to add the draft revision build date and time in the footer (the default is final formatting).\n\nAlternatively, these attributes can be set by passing optional parameters to the `documentclass[master,proposal,revision]{wsdlthesis}` in the `main.tex` file.\nAny additional parameters to the `wsdlthesis` class will be passed on to the parent `report` class.\nWe encourage to keep the `main.tex` file unchanged.\n\nThe `Abstract`, `Preface`, and `Vita` pages are placed under the `./pages` folder.\nModify corresponding `./pages/*.tex` files to make them your own.\nNow, build again to make sure these changes are reflected in the `main.pdf` file.\n\n```\n$ make\n```\n\n### Adding Chapters\n\nThe repository is preloaded with `Introduction`, `Background`, and `Related Work` chapters under the `./chapters` folder.\nWe use a specific naming convention for chapter files like `01_introduction.tex` and `02_background.tex`.\nNumeric prefix here makes it easy to include these files automatically in the desired order, while the chapter name helps to quickly open the desired file for modifications.\nStart with modifying the content of the existing chapters and add more chapter files with the same naming convention as necessary.\n\nA similar file naming convention is used for the appendix chapters that are located under the `./appendices` folder.\nThe example file there uses an alphabetical prefix in the file name to match the chapter numbering in the document, but any naming scheme would work as long as files are sortable in the desired order.\n\n### Adding Bibliography\n\nThe `ref.bib` file is located in the root of the repository and referenced in the `main.tex` file.\nIn most cases, adding more entries in the bib file, as needed, would be sufficient.\n\n### Adding Figures\n\nA folder named `./figures` is specified as a place to store the figures.\nAdditionally, `\\graphicspath` is set to this folder in the `config.tex` file so that figures can be added in the document just by using their names rather than a relative or absolute path.\n\n### Adding Listings\n\nCode samples are a very common thing that appear in a CS thesis.\n\n***[TODO: We need to add a folder for external code samples, streamline the mechanism to add listings, include a list of listings after ToC in the class, and add some helper macros.]***\n\n## Make Tasks\n\nTask         | Description\n-------------|-------------------------------------------------------------------\n`make`       | Make a clean build of the `main.pdf`\n`make build` | Repeatedly build LaTeX and BibTeX to ensure references are correct\n`make clear` | Remove all intermediate files\n`make clean` | Remove all intermediate files and the `main.pdf`\n`make save`  | Save a timestamped copy of `main.pdf` under `./revisions` folder\n\n## Using Docker\n\nTo avoid installing LaTeX and other dependencies on a host machine one can use official `oduwsdl/wsdlthesis` Docker image.\n\n```\n$ docker image pull oduwsdl/wsdlthesis\n```\n\nAlternatively, an image can be built locally as the repository includes a `Dockerfile`.\n\n```\n$ docker image build -t oduwsdl/wsdlthesis .\n```\n\n**Note:** This is a big image (\u003e5GB) as it includes `texlive-full` package along with some other dependencies, hence, both pulling it from the DockerHub or building locally may take a significant amount of time and disk space.\n\nOnce the image is locally available, either by pulling from DockerHub or building locally, run the following command from the source directory to compile the code.\nBy virtue of mounting current working directory inside the container at `/src`, build artifacts such as `main.pdf` will be available in the current directory.\n\n```\n$ docker container run --rm -it -v $PWD:/src oduwsdl/wsdlthesis\n```\n\nThe default command in the image is set to `make`, which can be overridden to anything as illustrated below.\n\n```\n$ docker container run --rm -it -v $PWD:/src oduwsdl/wsdlthesis make save\n```\n\nTo further simplify these long commands, the repository provides a wrapper Shell script `runindocker.sh`.\nThe script also ensures that the container runs with the appropriate UID and GID to avoid any file permission issues in build artifacts.\nThe above two commands can be executed using this script as illustrated below.\n\n```\n$ ./runindocker.sh\n$ ./runindocker.sh make save\n```\n\n## Macros\n\nThe repository comes with the `custommacros.sty` file that is included in the `main.tex` file.\nThis is a good place to include all the necessary packages needed for your thesis.\nThis files is preloaded with some helper macros, but add your own as necessary.\n\n### `\\todo`\n\nThe `\\todo` macro adds a red **TODO** note.\nThis can be used with or without an argument.\n`\\todo` adds a default note while `\\todo[Custom note]` allows the note customization.\n\n### `\\inputAllFiles`\n\nThe `\\inputAllFiles` is a macro to add all `*.tex` files under the folder argument.\nThis is being used in the `main.tex` file to automatically include all the chapters and appendices.\nThis will only work on Unix-like machines, hence, Windows users should manually `\\input` those files.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foduwsdl%2Fwsdlthesis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foduwsdl%2Fwsdlthesis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foduwsdl%2Fwsdlthesis/lists"}