> ## Documentation Index
> Fetch the complete documentation index at: https://resources.latex-cloud-studio.com/llms.txt
> Use this file to discover all available pages before exploring further.

# LaTeX Thesis & Dissertation Templates - Complete Guide

> Write your thesis or dissertation in LaTeX. Free templates, formatting guides, bibliography management, and university-specific requirements.

export const RenderedOutput = ({title = "Rendered output", ctaHref, ctaLabel = "Open LaTeX Cloud Studio", children}) => {
  const [isExpanded, setIsExpanded] = useState(false);
  const trackEditorCta = () => {
    const target = new URL(ctaHref, window.location.href);
    globalThis.posthog?.capture?.("docs_app_cta_clicked", {
      source_page: window.location.pathname,
      source_section: "rendered_output",
      cta_variant: "first_compiled_example",
      target_url: target.toString(),
      target_utm_source: target.searchParams.get("utm_source"),
      target_utm_medium: target.searchParams.get("utm_medium"),
      target_utm_campaign: target.searchParams.get("utm_campaign"),
      target_utm_content: target.searchParams.get("utm_content")
    }, {
      transport: "sendBeacon",
      send_instantly: true
    });
  };
  return <details className="rendered-output" onToggle={event => setIsExpanded(event.currentTarget.open)}>
      <summary className="rendered-output__summary">
        <span className="rendered-output__title">{title}</span>
        <span className="rendered-output__hint" aria-hidden="true">View compiled result</span>
      </summary>
      {isExpanded && <div className="rendered-output__content">
          {children}
          {ctaHref && <aside className="rendered-output__cta" aria-label="Continue in the LaTeX editor">
              <span>
                <strong>Ready to use this syntax?</strong>
                Continue in the browser editor when you want to adapt the example in a real project.
              </span>
              <a href={ctaHref} onClick={trackEditorCta}>{ctaLabel}<span aria-hidden="true"> →</span></a>
            </aside>}
        </div>}
    </details>;
};

export const LatexSource = ({filename, source}) => {
  const [copyStatus, setCopyStatus] = useState("Copy");
  const copySource = async () => {
    try {
      await navigator.clipboard.writeText(source);
      setCopyStatus("Copied");
    } catch {
      setCopyStatus("Select and copy");
    }
  };
  return <figure className="latex-source">
      <figcaption className="latex-source__header">
        <span className="latex-source__filename">{filename}</span>
        <button type="button" className="latex-source__copy" onClick={copySource} aria-live="polite">
          {copyStatus}
        </button>
      </figcaption>
      <pre className="latex-source__pre" aria-label={`LaTeX source: ${filename}`} tabIndex="0">
        <code className="language-latex">{source}</code>
      </pre>
    </figure>;
};

export const LatexPreview = ({src, alt, caption, width, height}) => {
  const minZoom = 1;
  const maxZoom = 3;
  const zoomStep = 0.5;
  const measureSvgContent = async (assetSrc, pageWidth, pageHeight) => {
    const cacheKey = "__latexCloudSvgContentBoxCache";
    const contentBoxCache = globalThis[cacheKey] ?? new Map();
    globalThis[cacheKey] = contentBoxCache;
    if (contentBoxCache.has(assetSrc)) return contentBoxCache.get(assetSrc);
    const measurement = (async () => {
      const assetUrl = new URL(assetSrc, window.location.href);
      if (assetUrl.origin !== window.location.origin) {
        throw new Error("Rendered output must use a same-origin SVG asset.");
      }
      const response = await fetch(assetUrl, {
        credentials: "same-origin"
      });
      if (!response.ok) throw new Error(`Rendered output request failed with ${response.status}.`);
      const source = await response.text();
      const documentNode = new DOMParser().parseFromString(source, "image/svg+xml");
      if (documentNode.querySelector("parsererror")) throw new Error("Rendered output is not valid SVG.");
      const sourceSvg = documentNode.documentElement;
      sourceSvg.querySelectorAll("script, foreignObject").forEach(node => node.remove());
      [sourceSvg, ...sourceSvg.querySelectorAll("*")].forEach(node => {
        [...node.attributes].forEach(attribute => {
          if ((/^on/i).test(attribute.name)) node.removeAttribute(attribute.name);
          if ((attribute.name === "href" || attribute.name === "xlink:href") && !attribute.value.startsWith("#")) {
            node.removeAttribute(attribute.name);
          }
        });
      });
      const measurementHost = document.createElement("div");
      measurementHost.className = "latex-preview__measurement-host";
      const measuredSvg = document.importNode(sourceSvg, true);
      measuredSvg.setAttribute("aria-hidden", "true");
      measurementHost.appendChild(measuredSvg);
      document.body.appendChild(measurementHost);
      try {
        const measuredElements = [...measuredSvg.children].filter(node => !["defs", "desc", "metadata", "style", "title"].includes(node.tagName.toLowerCase()));
        const elementBounds = measuredElements.map(node => node.getBBox()).filter(box => [box.x, box.y, box.width, box.height].every(Number.isFinite) && box.width > 0 && box.height > 0);
        if (elementBounds.length === 0) {
          throw new Error("Rendered output has no measurable visible content.");
        }
        const sortedBounds = [...elementBounds].sort((left, right) => left.y - right.y);
        const clusterGap = pageHeight * 0.045;
        const clusters = [];
        sortedBounds.forEach(box => {
          const current = clusters[clusters.length - 1];
          if (!current || box.y - current.bottom > clusterGap) {
            clusters.push({
              boxes: [box],
              bottom: box.y + box.height
            });
            return;
          }
          current.boxes.push(box);
          current.bottom = Math.max(current.bottom, box.y + box.height);
        });
        const contentClusters = clusters.filter(cluster => {
          const clusterBox = cluster.boxes.reduce((combined, box) => {
            const right = Math.max(combined.x + combined.width, box.x + box.width);
            const bottom = Math.max(combined.y + combined.height, box.y + box.height);
            const x = Math.min(combined.x, box.x);
            const y = Math.min(combined.y, box.y);
            return {
              x,
              y,
              width: right - x,
              height: bottom - y
            };
          });
          const centerY = clusterBox.y + clusterBox.height / 2;
          const isMarginFurniture = cluster.boxes.length <= 2 && clusterBox.width < pageWidth * 0.2 && clusterBox.height < pageHeight * 0.04 && (centerY < pageHeight * 0.08 || centerY > pageHeight * 0.8);
          return !isMarginFurniture;
        });
        const visibleBounds = (contentClusters.length > 0 ? contentClusters : clusters).flatMap(cluster => cluster.boxes);
        const bounds = visibleBounds.reduce((combined, box) => {
          const right = Math.max(combined.x + combined.width, box.x + box.width);
          const bottom = Math.max(combined.y + combined.height, box.y + box.height);
          const x = Math.min(combined.x, box.x);
          const y = Math.min(combined.y, box.y);
          return {
            x,
            y,
            width: right - x,
            height: bottom - y
          };
        });
        const clampValue = (value, minimum, maximum) => Math.min(maximum, Math.max(minimum, value));
        const padding = Math.max(8, Math.min(pageWidth, pageHeight) * 0.025);
        const x = clampValue(bounds.x - padding, 0, pageWidth);
        const y = clampValue(bounds.y - padding, 0, pageHeight);
        const right = clampValue(bounds.x + bounds.width + padding, 0, pageWidth);
        const bottom = clampValue(bounds.y + bounds.height + padding, 0, pageHeight);
        return {
          x,
          y,
          width: right - x,
          height: bottom - y
        };
      } finally {
        measurementHost.remove();
      }
    })();
    contentBoxCache.set(assetSrc, measurement);
    measurement.catch(() => contentBoxCache.delete(assetSrc));
    return measurement;
  };
  const renderPreviewAsset = ({contentBox: assetContentBox, loading}) => {
    if (!assetContentBox) {
      return <img className="latex-preview__asset" src={src} alt={alt} width={width} height={height} loading={loading} draggable="false" />;
    }
    return <svg className="latex-preview__asset" viewBox={`${assetContentBox.x} ${assetContentBox.y} ${assetContentBox.width} ${assetContentBox.height}`} preserveAspectRatio="xMidYMid meet" role="img" aria-label={alt}>
        <image href={src} x="0" y="0" width={width} height={height} />
      </svg>;
  };
  const [isOpen, setIsOpen] = useState(false);
  const [frameMode, setFrameMode] = useState("content");
  const [viewMode, setViewMode] = useState("fit");
  const [zoom, setZoom] = useState(minZoom);
  const [contentBox, setContentBox] = useState(null);
  const [measurementStatus, setMeasurementStatus] = useState("loading");
  const dialogRef = useRef(null);
  const closeButtonRef = useRef(null);
  const viewportRef = useRef(null);
  const previousFocusRef = useRef(null);
  const dragRef = useRef(null);
  useEffect(() => {
    let isCurrent = true;
    setMeasurementStatus("loading");
    measureSvgContent(src, width, height).then(box => {
      if (!isCurrent) return;
      setContentBox(box);
      setMeasurementStatus("ready");
    }).catch(() => {
      if (!isCurrent) return;
      setContentBox(null);
      setFrameMode("page");
      setMeasurementStatus("error");
    });
    return () => {
      isCurrent = false;
    };
  }, [height, src, width]);
  const closeViewer = useCallback(() => {
    setIsOpen(false);
  }, []);
  const openViewer = () => {
    previousFocusRef.current = document.activeElement;
    setFrameMode(contentBox ? "content" : "page");
    setViewMode("fit");
    setZoom(minZoom);
    setIsOpen(true);
  };
  const applyZoom = useCallback(nextZoom => {
    const boundedZoom = Math.min(maxZoom, Math.max(minZoom, nextZoom));
    setViewMode("custom");
    setZoom(boundedZoom);
  }, []);
  const zoomIn = useCallback(() => {
    applyZoom(viewMode === "fit" ? minZoom + zoomStep : zoom + zoomStep);
  }, [applyZoom, viewMode, zoom]);
  const zoomOut = useCallback(() => {
    applyZoom(viewMode === "fit" ? minZoom : zoom - zoomStep);
  }, [applyZoom, viewMode, zoom]);
  useEffect(() => {
    if (!isOpen) return undefined;
    const previousOverflow = document.body.style.overflow;
    document.body.style.overflow = "hidden";
    closeButtonRef.current?.focus();
    return () => {
      document.body.style.overflow = previousOverflow;
      previousFocusRef.current?.focus?.();
    };
  }, [isOpen]);
  useEffect(() => {
    if (!isOpen) return undefined;
    const handleKeyDown = event => {
      if (event.key === "Escape") {
        event.preventDefault();
        closeViewer();
        return;
      }
      if ((event.key === "+" || event.key === "=") && !event.metaKey && !event.ctrlKey) {
        event.preventDefault();
        zoomIn();
        return;
      }
      if (event.key === "-" && !event.metaKey && !event.ctrlKey) {
        event.preventDefault();
        zoomOut();
        return;
      }
      if (event.key !== "Tab" || !dialogRef.current) return;
      const focusable = [...dialogRef.current.querySelectorAll('button:not([disabled]), a[href], [tabindex]:not([tabindex="-1"])')];
      if (focusable.length === 0) return;
      const first = focusable[0];
      const last = focusable[focusable.length - 1];
      if (event.shiftKey && document.activeElement === first) {
        event.preventDefault();
        last.focus();
      } else if (!event.shiftKey && document.activeElement === last) {
        event.preventDefault();
        first.focus();
      }
    };
    window.addEventListener("keydown", handleKeyDown);
    return () => {
      window.removeEventListener("keydown", handleKeyDown);
    };
  }, [closeViewer, isOpen, zoomIn, zoomOut]);
  const startDrag = event => {
    if (event.button !== 0 || !viewportRef.current) return;
    const viewport = viewportRef.current;
    dragRef.current = {
      pointerId: event.pointerId,
      x: event.clientX,
      y: event.clientY,
      scrollLeft: viewport.scrollLeft,
      scrollTop: viewport.scrollTop
    };
    viewport.setPointerCapture(event.pointerId);
    viewport.dataset.dragging = "true";
  };
  const continueDrag = event => {
    const drag = dragRef.current;
    const viewport = viewportRef.current;
    if (!drag || !viewport || drag.pointerId !== event.pointerId) return;
    viewport.scrollLeft = drag.scrollLeft - (event.clientX - drag.x);
    viewport.scrollTop = drag.scrollTop - (event.clientY - drag.y);
  };
  const stopDrag = event => {
    const viewport = viewportRef.current;
    if (viewport?.hasPointerCapture(event.pointerId)) viewport.releasePointerCapture(event.pointerId);
    if (viewport) delete viewport.dataset.dragging;
    dragRef.current = null;
  };
  const activeContentBox = frameMode === "content" ? contentBox : null;
  const activeWidth = activeContentBox?.width ?? width;
  const activeHeight = activeContentBox?.height ?? height;
  const activeRatio = activeWidth / activeHeight;
  const inlineContentBox = measurementStatus === "ready" ? contentBox : null;
  const inlineWidth = inlineContentBox?.width ?? width;
  const inlineHeight = inlineContentBox?.height ?? height;
  const inlineGeometry = {
    aspectRatio: `${inlineWidth} / ${inlineHeight}`,
    maxWidth: `${30 * inlineWidth / inlineHeight}rem`
  };
  const imageStyle = viewMode === "fit" ? {
    aspectRatio: `${activeWidth} / ${activeHeight}`,
    width: "100%",
    maxWidth: `${Math.max(16, activeRatio * 78)}dvh`
  } : {
    aspectRatio: `${activeWidth} / ${activeHeight}`,
    width: `${zoom * 100}%`,
    maxWidth: "none"
  };
  const zoomLabel = viewMode === "fit" ? frameMode === "content" ? "Fit content" : "Full page" : `${Math.round(zoom * 100)}%`;
  return <figure className="latex-preview">
      <button type="button" className="latex-preview__trigger" onClick={openViewer} aria-haspopup="dialog" aria-label={`Open zoomable preview: ${alt}`}>
        <span className="latex-preview__page" style={inlineGeometry}>
          {measurementStatus === "loading" ? <span className="latex-preview__loading" role="status">Preparing compiled output…</span> : renderPreviewAsset({
    src,
    alt,
    width,
    height,
    contentBox: inlineContentBox,
    loading: "lazy"
  })}
        </span>
        <span className="latex-preview__trigger-label" aria-hidden="true">
          <span className="latex-preview__trigger-icon">⌕</span>
          Open viewer
        </span>
      </button>
      <figcaption className="latex-preview__caption">
        <span>
          {caption}
          {measurementStatus === "error" && <span className="latex-preview__status" role="status"> Content fit is unavailable; the complete vector page is shown.</span>}
        </span>
        <a href={src} target="_blank" rel="noreferrer" className="latex-preview__source-link">Open SVG</a>
      </figcaption>

      {isOpen && <div className="latex-preview__backdrop" onMouseDown={event => {
    if (event.target === event.currentTarget) closeViewer();
  }}>
          <section ref={dialogRef} className="latex-preview__dialog" role="dialog" aria-modal="true" aria-label={`Rendered LaTeX viewer: ${alt}`}>
            <header className="latex-preview__toolbar">
              <div className="latex-preview__identity">
                <span className="latex-preview__eyebrow">Compiled LaTeX</span>
                <span className="latex-preview__filename">{alt}</span>
              </div>
              <div className="latex-preview__controls" aria-label="Preview controls">
                <button type="button" className={frameMode === "content" && viewMode === "fit" ? "is-active" : undefined} disabled={!contentBox} onClick={() => {
    setFrameMode("content");
    setViewMode("fit");
    setZoom(minZoom);
  }}>
                  Fit content
                </button>
                <button type="button" className={frameMode === "page" && viewMode === "fit" ? "is-active" : undefined} onClick={() => {
    setFrameMode("page");
    setViewMode("fit");
    setZoom(minZoom);
  }}>
                  Full page
                </button>
                <span className="latex-preview__zoom-group">
                  <button type="button" onClick={zoomOut} disabled={viewMode === "fit" || zoom <= minZoom} aria-label="Zoom out">−</button>
                  <output aria-live="polite" aria-label="Current zoom">{zoomLabel}</output>
                  <button type="button" onClick={zoomIn} disabled={viewMode !== "fit" && zoom >= maxZoom} aria-label="Zoom in">+</button>
                </span>
                <a href={src} target="_blank" rel="noreferrer">Open SVG</a>
                <button ref={closeButtonRef} type="button" className="latex-preview__close" onClick={closeViewer} aria-label="Close rendered LaTeX viewer">
                  Close
                </button>
              </div>
            </header>
            <div ref={viewportRef} className="latex-preview__viewport" data-view-mode={viewMode} onPointerDown={startDrag} onPointerMove={continueDrag} onPointerUp={stopDrag} onPointerCancel={stopDrag}>
              <span className="latex-preview__dialog-page" style={imageStyle}>
                {renderPreviewAsset({
    src,
    alt,
    width,
    height,
    contentBox: activeContentBox
  })}
              </span>
            </div>
            <footer className="latex-preview__viewer-note">
              Compiler-generated vector output · Use +/− to zoom · Drag to pan · Esc to close
            </footer>
          </section>
        </div>}
    </figure>;
};

Master the art of thesis and dissertation writing with LaTeX. This comprehensive guide covers everything from initial setup to final submission, including university-specific requirements and best practices.

<Info>
  **Quick start**: LaTeX Cloud Studio provides thesis templates for major universities. Select your institution's template when creating a new project, or use our universal template that meets most requirements.

  **Why LaTeX for your thesis?** Professional typography, automatic numbering, perfect bibliography management, and stress-free formatting that lets you focus on content.
</Info>

## Why Choose LaTeX for Your Thesis?

### Benefits Over Word Processors

<CardGroup cols={2}>
  <Card title="Stable Formatting" icon="lock">
    No more broken layouts or shifted images when you add a paragraph
  </Card>

  <Card title="Reference Management" icon="quote">
    Seamless integration with citation managers and automatic bibliography
  </Card>

  <Card title="Version Control" icon="code-branch">
    Track changes, collaborate with advisors, maintain backup versions
  </Card>

  <Card title="Mathematical Precision" icon="square-root-variable">
    Perfect rendering of equations, theorems, and scientific notation
  </Card>

  <Card title="Automatic Numbering" icon="list-ol">
    Chapters, sections, figures, tables, equations - all numbered automatically
  </Card>

  <Card title="Professional Output" icon="file-pdf">
    Publication-ready PDFs that meet all university requirements
  </Card>
</CardGroup>

## Universal Thesis Template

### Complete Template Structure

<LatexSource filename="thesis-main.tex" source={"\\documentclass[12pt,a4paper,oneside]{book}\n% Use 'twoside' for double-sided printing\n\n% Essential packages\n\\usepackage[utf8]{inputenc}\n\\usepackage[T1]{fontenc}\n\\usepackage{lmodern}\n\\usepackage[english]{babel}\n\\usepackage{csquotes}\n\n% Page layout\n\\usepackage[\n    top=2.5cm,\n    bottom=2.5cm,\n    left=3.5cm,\n    right=2.5cm,\n    headsep=10mm,\n    footskip=12mm\n]{geometry}\n\n% Graphics and figures\n\\usepackage{graphicx}\n\\usepackage{subcaption}\n\\usepackage{float}\n\\usepackage{rotating}\n\n% Tables\n\\usepackage{booktabs}\n\\usepackage{multirow}\n\\usepackage{longtable}\n\\usepackage{array}\n\\newcolumntype{L}[1]{>{\\raggedright\\arraybackslash}p{#1}}\n\\newcolumntype{C}[1]{>{\\centering\\arraybackslash}p{#1}}\n\\newcolumntype{R}[1]{>{\\raggedleft\\arraybackslash}p{#1}}\n\n% Mathematics\n\\usepackage{amsmath,amssymb,amsthm}\n\\usepackage{mathtools}\n\n% Bibliography\n\\usepackage[\n    backend=biber,\n    style=authoryear,\n    sorting=nyt,\n    natbib=true,\n    maxbibnames=99,\n    maxcitenames=2,\n    uniquelist=false,\n    doi=true,\n    isbn=false,\n    url=false\n]{biblatex}\n\\addbibresource{references.bib}\n\n% Cross-references\n\\usepackage{hyperref}\n\\hypersetup{\n    colorlinks=true,\n    linkcolor=blue,\n    citecolor=blue,\n    urlcolor=blue,\n    pdftitle={Your Thesis Title},\n    pdfauthor={Your Name},\n    pdfkeywords={keyword1, keyword2, keyword3}\n}\n\\usepackage{cleveref}\n\n% Headers and footers\n\\usepackage{fancyhdr}\n\\pagestyle{fancy}\n\\fancyhf{}\n\\fancyhead[R]{\\nouppercase{\\leftmark}}\n\\fancyfoot[C]{\\thepage}\n\\renewcommand{\\headrulewidth}{0.4pt}\n\n% Chapter style\n\\usepackage{titlesec}\n\\titleformat{\\chapter}[display]\n{\\normalfont\\huge\\bfseries}{\\chaptertitlename\\ \\thechapter}{20pt}{\\Huge}\n\\titlespacing*{\\chapter}{0pt}{0pt}{40pt}\n\n% Line spacing\n\\usepackage{setspace}\n\\onehalfspacing % or \\doublespacing for double\n\n% Custom commands\n\\newcommand{\\university}{Your University Name}\n\\newcommand{\\degree}{Doctor of Philosophy}\n\\newcommand{\\department}{Department of Your Field}\n\\newcommand{\\supervisor}{Prof. Supervisor Name}\n\n% Theorem environments\n\\theoremstyle{definition}\n\\newtheorem{definition}{Definition}[chapter]\n\\newtheorem{theorem}{Theorem}[chapter]\n\\newtheorem{lemma}[theorem]{Lemma}\n\\newtheorem{proposition}[theorem]{Proposition}\n\\newtheorem{corollary}[theorem]{Corollary}\n\n\\theoremstyle{remark}\n\\newtheorem{remark}{Remark}[chapter]\n\\newtheorem{example}{Example}[chapter]\n\n% Document begins\n\\begin{document}\n\n% Front matter\n\\frontmatter\n\n% Title page\n\\input{frontmatter/titlepage}\n\n% Abstract\n\\input{frontmatter/abstract}\n\n% Dedication (optional)\n\\input{frontmatter/dedication}\n\n% Acknowledgments\n\\input{frontmatter/acknowledgments}\n\n% Table of contents\n\\tableofcontents\n\\clearpage\n\n% List of figures\n\\listoffigures\n\\clearpage\n\n% List of tables\n\\listoftables\n\\clearpage\n\n% List of abbreviations (optional)\n\\input{frontmatter/abbreviations}\n\n% Main matter\n\\mainmatter\n\n% Chapters\n\\input{chapters/introduction}\n\\input{chapters/literature-review}\n\\input{chapters/methodology}\n\\input{chapters/results}\n\\input{chapters/discussion}\n\\input{chapters/conclusion}\n\n% Back matter\n\\backmatter\n\n% Bibliography\n\\printbibliography[heading=bibintoc,title={References}]\n\n% Appendices\n\\appendix\n\\input{appendices/appendix-a}\n\\input{appendices/appendix-b}\n\n\\end{document}"} />

<RenderedOutput title="Expected effect">
  <Info>
    This excerpt depends on project files such as images, bibliography data, or included TeX sources that are not part of this standalone code box. Its exact output is project-specific, so no fabricated preview is shown.
  </Info>
</RenderedOutput>

### Title Page Template

<LatexSource filename="titlepage.tex" source={"\\begin{titlepage}\n\\centering\n\\vspace*{2cm}\n\n% University logo (optional)\n\\includegraphics[width=0.3\\textwidth]{university-logo.png}\\\\[1cm]\n\n% University name\n{\\scshape\\LARGE \\university \\par}\n\\vspace{0.5cm}\n{\\scshape\\Large \\department \\par}\n\\vspace{2cm}\n\n% Thesis title\n{\\huge\\bfseries Your Thesis Title: \\par}\n{\\huge\\bfseries A Comprehensive Study of Something Important \\par}\n\\vspace{2cm}\n\n% Author name\n{\\Large\\itshape Your Full Name \\par}\n\\vfill\n\n% Thesis type\nA thesis submitted in fulfillment of the requirements\\par\nfor the degree of \\degree \\par\n\\vspace{1cm}\n\n% Supervisor\nSupervised by:\\par\n\\supervisor \\par\n\\vspace{1cm}\n\n% Date\n{\\large \\today\\par}\n\n\\end{titlepage}"} />

<RenderedOutput title="Expected effect">
  <Info>
    This excerpt depends on project files such as images, bibliography data, or included TeX sources that are not part of this standalone code box. Its exact output is project-specific, so no fabricated preview is shown.
  </Info>
</RenderedOutput>

### Abstract Template

<LatexSource filename="abstract.tex" source={"\\chapter*{Abstract}\n\\addcontentsline{toc}{chapter}{Abstract}\n\nThis thesis investigates [your research topic]. The primary objective is to\n[state your main goal].\n\nThe research employs [methodology] to examine [what you're examining].\nData was collected from [sources] and analyzed using [methods].\n\nKey findings include:\n\\begin{itemize}\n\\item First major finding with brief explanation\n\\item Second significant result and its importance\n\\item Third contribution to the field\n\\end{itemize}\n\nThe results demonstrate that [main conclusion]. This work contributes to\n[field] by [specific contribution]. Future research directions include\n[suggestions].\n\n\\vspace{1cm}\n\\noindent\\textbf{Keywords:} keyword1, keyword2, keyword3, keyword4, keyword5"} />

<RenderedOutput title="Expected effect">
  <Info>
    This code is a contextual or intentionally partial LaTeX excerpt, not a self-contained compilable document. Its visible result depends on the surrounding document, so the documentation shows the expected role without inventing a standalone preview.
  </Info>
</RenderedOutput>

## Chapter Organization

### Standard Chapter Structure

<LatexSource filename="chapter-template.tex" source={"\\chapter{Chapter Title}\n\\label{chap:chapter-label}\n\n% Chapter abstract (optional)\n\\begin{abstract}\nBrief summary of what this chapter covers, main findings, and how it\nrelates to the overall thesis narrative.\n\\end{abstract}\n\n\\section{Introduction}\n\\label{sec:chapter-intro}\n\nIntroduce the specific focus of this chapter and its objectives. Explain\nhow it builds on previous chapters and contributes to your thesis.\n\n\\section{Background}\n\\label{sec:chapter-background}\n\nProvide necessary context specific to this chapter's content. Reference\nrelevant literature using \\textcite{author2023} or \\parencite{author2023}.\n\n\\section{Methodology}\n\\label{sec:chapter-method}\n\nDescribe methods specific to this chapter's work. Use subsections for clarity:\n\n\\subsection{Data Collection}\nDetails about how data was gathered...\n\n\\subsection{Analysis Approach}\nExplanation of analytical methods...\n\n\\section{Results}\n\\label{sec:chapter-results}\n\nPresent your findings clearly with appropriate figures and tables:\n\n\\begin{figure}[htbp]\n\\centering\n\\includegraphics[width=0.8\\textwidth]{figures/result-plot.pdf}\n\\caption{Descriptive caption explaining what the figure shows.}\n\\label{fig:result-plot}\n\\end{figure}\n\nAs shown in \\cref{fig:result-plot}, the results indicate...\n\n\\begin{table}[htbp]\n\\centering\n\\caption{Summary of experimental results}\n\\label{tab:results-summary}\n\\begin{tabular}{lccr}\n\\toprule\nParameter & Method A & Method B & Improvement \\\\\n\\midrule\nAccuracy & 0.85 & 0.92 & +8.2\\% \\\\\nSpeed & 120ms & 95ms & -20.8\\% \\\\\nMemory & 512MB & 480MB & -6.3\\% \\\\\n\\bottomrule\n\\end{tabular}\n\\end{table}\n\n\\section{Discussion}\n\\label{sec:chapter-discussion}\n\nInterpret your results in the context of existing knowledge. Address:\n\\begin{itemize}\n\\item How findings relate to your hypotheses\n\\item Comparison with previous work\n\\item Limitations and their impact\n\\item Implications for the field\n\\end{itemize}\n\n\\section{Conclusion}\n\\label{sec:chapter-conclusion}\n\nSummarize the chapter's key contributions and link to the next chapter."} />

<RenderedOutput title="Expected effect">
  <Info>
    This excerpt depends on project files such as images, bibliography data, or included TeX sources that are not part of this standalone code box. Its exact output is project-specific, so no fabricated preview is shown.
  </Info>
</RenderedOutput>

### Literature Review Chapter

<LatexSource filename="literature-review.tex" source={"\\chapter{Literature Review}\n\\label{chap:lit-review}\n\n\\section{Introduction}\nThis chapter critically examines existing research in [field], identifying\ngaps that this thesis addresses.\n\n\\section{Theoretical Foundations}\n\\subsection{Classical Theories}\nEarly work by \\textcite{pioneer1950} established... Subsequently,\n\\textcite{researcher1970} expanded this framework...\n\n\\subsection{Modern Developments}\nRecent advances include:\n\\begin{itemize}\n\\item \\textcite{author2020} demonstrated...\n\\item The work of \\textcite{team2021} showed...\n\\item \\textcite{group2022} challenged existing assumptions...\n\\end{itemize}\n\n\\section{Current State of Research}\n\\subsection{Approach A: Traditional Methods}\nSeveral studies \\parencite{study1,study2,study3} have used traditional\napproaches...\n\n\\subsection{Approach B: Novel Techniques}\nEmerging methods include:\n\n\\begin{table}[htbp]\n\\centering\n\\caption{Comparison of methodological approaches}\n\\begin{tabular}{L{3cm}L{4cm}L{4cm}}\n\\toprule\nMethod & Advantages & Limitations \\\\\n\\midrule\nTraditional & Well-established, Validated & Limited scalability \\\\\nMachine Learning & Adaptive, Scalable & Requires large datasets \\\\\nHybrid & Best of both & Complex implementation \\\\\n\\bottomrule\n\\end{tabular}\n\\end{table}\n\n\\section{Research Gaps}\nDespite extensive research, several gaps remain:\n\\begin{enumerate}\n\\item Limited understanding of...\n\\item No comprehensive framework for...\n\\item Lack of empirical evidence regarding...\n\\end{enumerate}\n\n\\section{Summary}\nThis review reveals that while significant progress has been made,\nopportunities exist for contributions in [specific areas]. This thesis\naddresses these gaps by..."} />

<RenderedOutput title="Expected effect">
  <Info>
    This code is a contextual or intentionally partial LaTeX excerpt, not a self-contained compilable document. Its visible result depends on the surrounding document, so the documentation shows the expected role without inventing a standalone preview.
  </Info>
</RenderedOutput>

## Managing Large Documents

### File Organization

```
thesis/
├── thesis-main.tex          # Main document
├── references.bib           # Bibliography database
├── thesis.pdf              # Output PDF
│
├── frontmatter/
│   ├── titlepage.tex
│   ├── abstract.tex
│   ├── dedication.tex
│   ├── acknowledgments.tex
│   └── abbreviations.tex
│
├── chapters/
│   ├── introduction.tex
│   ├── literature-review.tex
│   ├── methodology.tex
│   ├── results.tex
│   ├── discussion.tex
│   └── conclusion.tex
│
├── figures/
│   ├── chapter1/
│   ├── chapter2/
│   └── ...
│
├── tables/
│   └── data/
│
└── appendices/
    ├── appendix-a.tex
    └── appendix-b.tex
```

### Using \include and \input

<LatexSource filename="document-structure.tex" source={"% Main differences:\n% \\include{} - Starts new page, allows \\includeonly\n% \\input{} - Inserts content inline, no page break\n\n% For chapters (always starts new page anyway)\n\\include{chapters/introduction}\n\\include{chapters/methodology}\n\n% For sections within chapters\n\\chapter{Results}\n\\input{chapters/results/experiment1}\n\\input{chapters/results/experiment2}\n\n% Compile only specific chapters during writing\n\\includeonly{chapters/methodology,chapters/results}"} />

<RenderedOutput title="Expected effect">
  <Info>
    This excerpt depends on project files such as images, bibliography data, or included TeX sources that are not part of this standalone code box. Its exact output is project-specific, so no fabricated preview is shown.
  </Info>
</RenderedOutput>

### Build Performance Optimization

<LatexSource filename="optimization.tex" source={"% Use draft mode while writing\n\\documentclass[12pt,draft]{book}\n% Shows boxes for bad spacing, loads figures as boxes\n\n% Conditional compilation for figures\n\\newif\\iffigures\n\\figurestrue % Set to \\figuresfalse to skip figures\n\n\\iffigures\n  \\includegraphics[width=\\textwidth]{complex-figure.pdf}\n\\else\n  \\framebox[\\textwidth]{\\rule{0pt}{5cm}Figure: complex-figure.pdf}\n\\fi\n\n% Externalize TikZ figures\n\\usepackage{tikz}\n\\usetikzlibrary{external}\n\\tikzexternalize[prefix=tikz-cache/]"} />

<RenderedOutput title="Expected effect">
  <Info>
    This excerpt depends on project files such as images, bibliography data, or included TeX sources that are not part of this standalone code box. Its exact output is project-specific, so no fabricated preview is shown.
  </Info>
</RenderedOutput>

## Bibliography Management

### Setting Up Your Bibliography

<LatexSource filename="bibliography-setup.tex" source={"% Modern approach with BibLaTeX\n\\usepackage[\n    backend=biber,              % Modern backend\n    style=authoryear,           % Or numeric, apa, ieee\n    sorting=nyt,                % Name-year-title\n    natbib=true,               % Support natbib commands\n    maxbibnames=99,            % Show all authors in bibliography\n    maxcitenames=2,            % Use et al. after 2 in text\n    uniquelist=false,          % Don't expand author lists\n    doi=true,                  % Show DOIs\n    isbn=false,                % Hide ISBNs\n    url=false,                 % Hide URLs when DOI present\n    eprint=false               % Hide arXiv info\n]{biblatex}\n\n% Multiple bibliography files\n\\addbibresource{references/primary.bib}\n\\addbibresource{references/secondary.bib}\n\\addbibresource{references/software.bib}\n\n% Print bibliography by type\n\\printbibliography[type=article,title={Journal Articles}]\n\\printbibliography[type=book,title={Books}]\n\\printbibliography[type=inproceedings,title={Conference Papers}]"} />

<RenderedOutput title="Expected effect">
  <Info>
    This excerpt depends on project files such as images, bibliography data, or included TeX sources that are not part of this standalone code box. Its exact output is project-specific, so no fabricated preview is shown.
  </Info>
</RenderedOutput>

### Citation Best Practices

<LatexSource filename="citation-examples.tex" source={"% Text citations\nAccording to \\textcite{smith2020}, the results show...\n\\textcite{jones2021} demonstrated that...\n\n% Parenthetical citations\nRecent studies \\parencite{brown2019,wilson2020} indicate...\nThis finding \\parencite[see][p.~45]{taylor2021} suggests...\n\n% Multiple citations\nSeveral researchers \\parencite{study1,study2,study3} agree...\n\n% Page numbers and notes\nAs noted by \\textcite[p.~123]{author2020}...\nThis contradicts earlier work \\parencite[cf.][]{previous2018}...\n\n% Citing specific parts\n\\textcite[chap.~3]{book2019} discusses...\nSee \\textcite[eq.~2.5]{paper2020} for details...\n\n% Author only or year only\n\\citeauthor{reference2021} showed in \\citeyear{reference2021} that..."} />

<RenderedOutput title="Expected effect">
  <Info>
    This code is a contextual or intentionally partial LaTeX excerpt, not a self-contained compilable document. Its visible result depends on the surrounding document, so the documentation shows the expected role without inventing a standalone preview.
  </Info>
</RenderedOutput>

## Figures and Tables

### Advanced Figure Handling

<LatexSource filename="figures-advanced.tex" source={"% Subfigures\n\\begin{figure}[htbp]\n\\centering\n\\begin{subfigure}[b]{0.45\\textwidth}\n    \\centering\n    \\includegraphics[width=\\textwidth]{experiment-setup.pdf}\n    \\caption{Experimental setup}\n    \\label{fig:exp-setup}\n\\end{subfigure}\n\\hfill\n\\begin{subfigure}[b]{0.45\\textwidth}\n    \\centering\n    \\includegraphics[width=\\textwidth]{apparatus.pdf}\n    \\caption{Measurement apparatus}\n    \\label{fig:apparatus}\n\\end{subfigure}\n\\caption{Overview of experimental configuration showing (a) the complete\nsetup and (b) detailed view of measurement apparatus.}\n\\label{fig:experiment-overview}\n\\end{figure}\n\n% Wide figure spanning both columns (if using two-column)\n\\begin{figure*}[htbp]\n\\centering\n\\includegraphics[width=\\textwidth]{timeline.pdf}\n\\caption{Project timeline showing all phases}\n\\label{fig:timeline}\n\\end{figure*}\n\n% Rotated figure for landscape orientation\n\\begin{sidewaysfigure}\n\\centering\n\\includegraphics[width=\\textwidth]{large-diagram.pdf}\n\\caption{Complex system diagram (rotated for clarity)}\n\\label{fig:rotated}\n\\end{sidewaysfigure}"} />

<RenderedOutput title="Expected effect">
  <Info>
    This excerpt depends on project files such as images, bibliography data, or included TeX sources that are not part of this standalone code box. Its exact output is project-specific, so no fabricated preview is shown.
  </Info>
</RenderedOutput>

### Publication-Quality Tables

<LatexSource filename="tables-advanced.tex" source={"% Professional table with booktabs\n\\begin{table}[htbp]\n\\centering\n\\caption{Comparison of algorithmic approaches}\n\\label{tab:algorithm-comparison}\n\\begin{tabular}{@{}lcccc@{}}\n\\toprule\nAlgorithm & Time & Space & Accuracy & Scalability \\\\\n         & Complexity & Complexity & (\\%) & Rating \\\\\n\\midrule\nBaseline & $O(n^2)$ & $O(n)$ & 78.3 & Low \\\\\nImproved & $O(n\\log n)$ & $O(n)$ & 85.7 & Medium \\\\\nProposed & $O(n)$ & $O(1)$ & 91.2 & High \\\\\n\\bottomrule\n\\end{tabular}\n\\end{table}\n\n% Long table spanning multiple pages\n\\begin{longtable}{@{}llr@{}}\n\\caption{Comprehensive dataset characteristics}\n\\label{tab:dataset} \\\\\n\\toprule\nDataset & Description & Size \\\\\n\\midrule\n\\endfirsthead\n\\multicolumn{3}{c}{\\tablename\\ \\thetable{} -- continued from previous page} \\\\\n\\toprule\nDataset & Description & Size \\\\\n\\midrule\n\\endhead\n\\midrule\n\\multicolumn{3}{r}{Continued on next page} \\\\\n\\endfoot\n\\bottomrule\n\\endlastfoot\n% Table content\nDataset A & Training data for model 1 & 10,000 \\\\\nDataset B & Validation set & 2,000 \\\\\nDataset C & Test set for evaluation & 2,500 \\\\\n% ... many more rows ...\n\\end{longtable}"} />

<RenderedOutput title="Rendered output" ctaHref="https://app.latex-cloud-studio.com/?utm_source=resources&utm_medium=rendered_output&utm_campaign=docs_open_app&utm_content=learn_latex_how_to_thesis_dissertation">
  <LatexPreview src="/images/rendered/learn-latex-how-to-thesis-dissertation-11/page-1.svg" alt="Compiled PDF page 1 from tables-advanced.tex" caption="Generated from the shown source with pdfLaTeX in the pinned LaTeXCloud TeX Live 2026 environment. The visible fragment is compiled inside the documented minimal article wrapper." width={595.276} height={841.89} />
</RenderedOutput>

## Equations and Mathematics

### Theorem Environments

<LatexSource filename="theorems.tex" source={"% Define theorem styles\n\\theoremstyle{plain} % Italic body\n\\newtheorem{theorem}{Theorem}[chapter]\n\\newtheorem{lemma}[theorem]{Lemma}\n\\newtheorem{proposition}[theorem]{Proposition}\n\\newtheorem{corollary}[theorem]{Corollary}\n\n\\theoremstyle{definition} % Roman body\n\\newtheorem{definition}[theorem]{Definition}\n\\newtheorem{example}[theorem]{Example}\n\\newtheorem{assumption}[theorem]{Assumption}\n\n\\theoremstyle{remark} % Roman body, no emphasis\n\\newtheorem{remark}[theorem]{Remark}\n\\newtheorem{note}[theorem]{Note}\n\n% Usage with proof environment\n\\begin{theorem}[Convergence of Algorithm]\n\\label{thm:convergence}\nGiven assumptions A1-A3, the proposed algorithm converges to the global\noptimum with probability 1 as $t \\to \\infty$.\n\\end{theorem}\n\n\\begin{proof}\nLet $X_t$ denote the state at iteration $t$. We show that\n$\\{X_t\\}_{t=1}^{\\infty}$ forms a Cauchy sequence.\n\nFirst, observe that:\n\\begin{equation}\n\\|X_{t+1} - X_t\\| \\leq \\gamma_t \\|G_t\\|\n\\end{equation}\nwhere $\\gamma_t$ is the step size and $G_t$ is the gradient.\n\n[... proof continues ...]\n\nTherefore, the sequence converges, completing the proof.\n\\end{proof}"} />

<RenderedOutput title="Expected effect">
  <Info>
    This code is a contextual or intentionally partial LaTeX excerpt, not a self-contained compilable document. Its visible result depends on the surrounding document, so the documentation shows the expected role without inventing a standalone preview.
  </Info>
</RenderedOutput>

### Complex Equations

<LatexSource filename="equations-complex.tex" source={"% Multi-line equation with alignment\n\\begin{align}\n\\mathcal{L}(\\theta) &= \\sum_{i=1}^{N} \\log p(y_i | x_i, \\theta) \\\\\n                    &= \\sum_{i=1}^{N} \\left[ y_i \\log h_\\theta(x_i) +\n                       (1-y_i)\\log(1-h_\\theta(x_i)) \\right] \\\\\n                    &= -\\frac{1}{N} \\sum_{i=1}^{N} \\mathcal{L}_i(\\theta)\n\\end{align}\n\n% System of equations\n\\begin{equation}\n\\begin{cases}\n\\frac{\\partial f}{\\partial x} = 2x + y \\\\\n\\frac{\\partial f}{\\partial y} = x + 2y \\\\\n\\nabla^2 f = 4 > 0\n\\end{cases}\n\\end{equation}\n\n% Matrix equation\n\\begin{equation}\n\\mathbf{A} = \\begin{bmatrix}\na_{11} & a_{12} & \\cdots & a_{1n} \\\\\na_{21} & a_{22} & \\cdots & a_{2n} \\\\\n\\vdots & \\vdots & \\ddots & \\vdots \\\\\na_{m1} & a_{m2} & \\cdots & a_{mn}\n\\end{bmatrix}_{m \\times n}\n\\end{equation}\n\n% Equation with conditions\n\\begin{equation}\nf(x) = \\begin{cases}\nx^2 & \\text{if } x \\geq 0 \\\\\n-x^2 & \\text{if } x < 0\n\\end{cases}\n\\end{equation}"} />

<RenderedOutput title="Rendered output">
  <LatexPreview src="/images/rendered/learn-latex-how-to-thesis-dissertation-13/page-1.svg" alt="Compiled PDF page 1 from equations-complex.tex" caption="Generated from the shown source with pdfLaTeX in the pinned LaTeXCloud TeX Live 2026 environment. The visible fragment is compiled inside the documented minimal article wrapper." width={595.276} height={841.89} />
</RenderedOutput>

## University-Specific Requirements

### Common Formatting Requirements

<LatexSource filename="university-requirements.tex" source={"% Margins (check your university's requirements)\n\\usepackage[\n    top=1in,        % Often 1-1.5 inches\n    bottom=1in,\n    left=1.5in,     % Left often larger for binding\n    right=1in,\n    bindingoffset=0.5in  % Extra space for binding\n]{geometry}\n\n% Line spacing\n\\usepackage{setspace}\n\\doublespacing  % Many universities require double spacing\n% \\onehalfspacing  % Some allow 1.5 spacing\n% \\singlespacing   % Usually only for quotes/references\n\n% Font requirements\n\\usepackage{times}  % Times New Roman if required\n% \\usepackage{arial}  % Arial if required\n% Default LaTeX fonts are usually acceptable\n\n% Page numbering\n\\pagenumbering{roman}  % i, ii, iii for front matter\n\\pagenumbering{arabic} % 1, 2, 3 for main matter\n\n% Header/footer requirements\n\\pagestyle{plain}  % Only page numbers\n% Some universities require chapter/section in headers\n\\pagestyle{fancy}\n\\fancyhf{}\n\\fancyhead[R]{\\thepage}\n\\fancyhead[L]{\\leftmark}"} />

<RenderedOutput title="Expected effect">
  <Info>
    This code is a contextual or intentionally partial LaTeX excerpt, not a self-contained compilable document. Its visible result depends on the surrounding document, so the documentation shows the expected role without inventing a standalone preview.
  </Info>
</RenderedOutput>

### Creating University-Specific Templates

<LatexSource filename="custom-university.cls" source={"% myuniversity.cls\n\\NeedsTeXFormat{LaTeX2e}\n\\ProvidesClass{myuniversity}[2024/01/01 My University Thesis Class]\n\n% Base on book class\n\\LoadClass[12pt,oneside]{book}\n\n% University-specific packages and settings\n\\RequirePackage[margin=1in,left=1.5in]{geometry}\n\\RequirePackage{setspace}\n\\doublespacing\n\n% Custom title page command\n\\newcommand{\\makethesistitle}{%\n  \\begin{titlepage}\n    \\centering\n    % University specific title page layout\n    \\vspace*{2cm}\n    {\\LARGE UNIVERSITY NAME \\par}\n    \\vspace{4cm}\n    {\\huge\\bfseries \\@title \\par}\n    \\vspace{2cm}\n    {\\Large \\@author \\par}\n    \\vfill\n    A thesis submitted for the degree of\\\\\n    Doctor of Philosophy\\\\\n    \\vspace{1cm}\n    {\\large \\@date \\par}\n  \\end{titlepage}\n}\n\n% Custom environments\n\\newenvironment{abstract}{%\n  \\chapter*{Abstract}\n  \\addcontentsline{toc}{chapter}{Abstract}\n}{}"} />

<RenderedOutput title="Expected effect">
  <Info>
    This is document setup or preamble code. It changes the behavior of a containing document but does not produce an honest standalone page by itself.
  </Info>
</RenderedOutput>

## Writing and Productivity Tips

### Version Control with Git

<CodeGroup>
  ```bash git-workflow.sh theme={null}
  # Initialize repository
  git init
  git add .
  git commit -m "Initial thesis structure"

  # Create branches for chapters
  git checkout -b chapter-methodology
  # Work on chapter...
  git add chapters/methodology.tex
  git commit -m "Add methodology introduction"

  # Create tags for milestones
  git tag -a v1.0-first-draft -m "First complete draft"
  git tag -a v2.0-post-feedback -m "After supervisor feedback"

  # Useful .gitignore for LaTeX
  cat > .gitignore << EOF
  *.aux
  *.bbl
  *.bcf
  *.blg
  *.fdb_latexmk
  *.fls
  *.log
  *.out
  *.run.xml
  *.synctex.gz
  *.toc
  *.lof
  *.lot
  thesis.pdf
  EOF
  ```
</CodeGroup>

### Writing Tools and Packages

<LatexSource filename="writing-tools.tex" source={"% Track changes and comments\n\\usepackage{changes}\n\\definechangesauthor[color=blue]{YN}{Your Name}\n\\definechangesauthor[color=red]{SV}{Supervisor}\n\n% Add comments\n\\added[id=YN]{New text added after review}\n\\deleted[id=SV]{Text removed per supervisor feedback}\n\\replaced[id=YN]{new text}{old text}\n\n% Todo notes\n\\usepackage{todonotes}\n\\todo{Expand this section}\n\\todo[color=red]{Critical: Add citation}\n\\missingfigure{Add diagram of experimental setup}\n\n% Draft watermark\n\\usepackage{draftwatermark}\n\\SetWatermarkText{DRAFT}\n\\SetWatermarkScale{1}\n\\SetWatermarkColor[gray]{0.9}\n\n% Line numbers for review\n\\usepackage{lineno}\n\\linenumbers  % For supervisor review"} />

<RenderedOutput title="Rendered output">
  <LatexPreview src="/images/rendered/learn-latex-how-to-thesis-dissertation-16/page-1.svg" alt="Compiled PDF page 1 from writing-tools.tex" caption="Generated from the shown source with pdfLaTeX in the pinned LaTeXCloud TeX Live 2026 environment. The visible fragment is compiled inside the documented minimal article wrapper." width={612} height={792} />
</RenderedOutput>

### Productivity Macros

<LatexSource filename="productivity-macros.tex" source={"% Quick referencing\n\\newcommand{\\secref}[1]{Section~\\ref{#1}}\n\\newcommand{\\chapref}[1]{Chapter~\\ref{#1}}\n\\newcommand{\\figref}[1]{Figure~\\ref{#1}}\n\\newcommand{\\tabref}[1]{Table~\\ref{#1}}\n\\newcommand{\\eqref}[1]{Equation~(\\ref{#1})}\n\n% Common abbreviations\n\\newcommand{\\ie}{i.e.,\\ }\n\\newcommand{\\eg}{e.g.,\\ }\n\\newcommand{\\cf}{cf.\\ }\n\\newcommand{\\etal}{et al.\\ }\n\\newcommand{\\vs}{vs.\\ }\n\n% Math shortcuts\n\\newcommand{\\R}{\\mathbb{R}}\n\\newcommand{\\N}{\\mathbb{N}}\n\\newcommand{\\E}{\\mathbb{E}}\n\\newcommand{\\Var}{\\mathrm{Var}}\n\\newcommand{\\Cov}{\\mathrm{Cov}}\n\n% Consistent terminology\n\\newcommand{\\ourmethod}{ProposedMethod}\n\\newcommand{\\baseline}{BaselineApproach}"} />

<RenderedOutput title="Expected effect">
  <Info>
    This is setup or structural LaTeX code. It changes available commands or document behavior, but it does not produce meaningful standalone page content by itself.
  </Info>
</RenderedOutput>

## Submission and Final Checks

### Pre-Submission Checklist

<Accordion title="Formatting Compliance">
  * [ ] Margins meet requirements
  * [ ] Line spacing is correct
  * [ ] Font size and type approved
  * [ ] Page numbers in correct position
  * [ ] Headers/footers as specified
  * [ ] Title page follows template exactly
</Accordion>

<Accordion title="Content Completeness">
  * [ ] Abstract within word limit
  * [ ] All chapters included
  * [ ] References complete and formatted correctly
  * [ ] All figures and tables have captions
  * [ ] Cross-references all working
  * [ ] Appendices properly labeled
</Accordion>

<Accordion title="Technical Checks">
  * [ ] No overfull/underfull boxes
  * [ ] All citations defined
  * [ ] Spell check completed
  * [ ] PDF/A compliant if required
  * [ ] File size within limits
  * [ ] Embedded fonts
</Accordion>

### Creating PDF/A Compliant Files

<LatexSource filename="pdf-a-compliance.tex" source={"% For PDF/A compliance\n\\usepackage[a-1b]{pdfx}\n\\hypersetup{pdfstartview=}\n\n% Metadata\n\\begin{filecontents*}{\\jobname.xmpdata}\n\\Title{Your Thesis Title}\n\\Author{Your Name}\n\\Subject{PhD Thesis}\n\\Keywords{keyword1\\sep keyword2\\sep keyword3}\n\\Publisher{Your University}\n\\end{filecontents*}\n\n% Compile with:\n% pdflatex thesis\n% biber thesis\n% pdflatex thesis\n% pdflatex thesis"} />

<RenderedOutput title="Expected effect">
  <Info>
    This code is a contextual or intentionally partial LaTeX excerpt, not a self-contained compilable document. Its visible result depends on the surrounding document, so the documentation shows the expected role without inventing a standalone preview.
  </Info>
</RenderedOutput>

## Troubleshooting Common Issues

<Accordion title="Bibliography not appearing">
  **Solution**: Run the complete compilation sequence:

  ```bash theme={null}
  pdflatex thesis
  biber thesis  # or bibtex thesis
  pdflatex thesis
  pdflatex thesis
  ```
</Accordion>

<Accordion title="Figures in wrong position">
  **Solution**: Use `[htbp]` placement options and avoid `[h]` alone. For critical placement, use `[H]` with float package.
</Accordion>

<Accordion title="Chapter numbers wrong">
  **Solution**: Delete auxiliary files (`.aux`, `.toc`) and recompile twice.
</Accordion>

<Accordion title="Memory exceeded errors">
  **Solution**:

  * Reduce image resolution
  * Externalize TikZ pictures
  * Split very large chapters
  * Increase LaTeX memory limits
</Accordion>

## Resources and Templates

<CardGroup cols={2}>
  <Card title="University Templates" icon="university" href="/templates/thesis">
    Browse thesis templates for major universities
  </Card>

  <Card title="Citation Styles" icon="quote" href="/learn/latex/bibliography-citations">
    Master bibliography management
  </Card>

  <Card title="Figure Guide" icon="image" href="/learn/latex/figures/positioning">
    Advanced figure positioning techniques
  </Card>

  <Card title="Math Guide" icon="square-root-variable" href="/learn/latex/mathematics/basics">
    Mathematical typesetting reference
  </Card>
</CardGroup>

<Tip>
  **Pro tip**: Start writing your thesis in LaTeX from day one. Keep your bibliography updated as you read papers, and use a consistent file naming scheme for figures. Your future self will thank you!
</Tip>

***

Ready to start your thesis? Use our [thesis template](/templates/thesis) in LaTeX Cloud Studio and focus on your research, not formatting!

## Start in LaTeX Cloud Studio

<CardGroup cols={2}>
  <Card title="Open in LaTeX Cloud Studio" icon="cloud" href="https://app.latex-cloud-studio.com/?utm_source=resources&utm_medium=cta&utm_campaign=research_workflow&utm_content=thesis_dissertation_open_app">
    Write, compile, and iterate directly in your browser.
  </Card>

  <Card title="Start from Thesis Template" icon="file-text" href="/templates/thesis">
    Use a ready-made template, then adapt it to your content.
  </Card>

  <Card title="Knowledge Base Docs" icon="book-open" href="/product/knowledge-base?utm_source=resources&utm_medium=internal_card&utm_campaign=research_workflow&utm_content=thesis_dissertation">
    Keep thesis papers and reference PDFs inside the same project as your chapters and bibliography.
  </Card>

  <Card title="AI Research Agent Docs" icon="magnifying-glass" href="/product/ai-research-agent?utm_source=resources&utm_medium=internal_card&utm_campaign=research_workflow&utm_content=thesis_dissertation">
    Run literature discovery and accepted-source follow-up work without leaving the thesis workflow.
  </Card>
</CardGroup>
