I am currently writing my dissertation in latex using turabian-formatting's thesis class, https://ctan.org/pkg/turabian-formatting. By default, the class does not show section and subsection numbers. I have figured out how to get it to show these by commenting out the line in the package that disables them. However, in the table of contents it now tries to write the section (and subsection) numbers over the names, making a mess. Here is the (I think) relevant part of the package that controls how the table of contents looks:

\renewcommand*{\l@chapter}[2]{%
\ifnum \c@tocdepth >\m@ne
\setlength\@tempdima{1.25in}%
\vskip 1\baselineskip
{   \parindent \z@
\rightskip \@tocrmarg
\parfillskip -\rightskip
\leavevmode
\hskip -\leftskip
#1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
\penalty\@highpenalty}
\fi}

\renewcommand*{\l@section}{%
\ifnum \c@tocdepth >\z@ \vskip \tf@singlelineskip \fi

\@dottedtocline{1}{1.5in}{\z@}}

\renewcommand*{\l@subsection}{%
\ifnum \c@tocdepth >1 \vskip \tf@singlelineskip \fi
\@dottedtocline{2}{1.75in}{\z@}}


Sadly, this is all Greek to me. The chapters look fine in the table of contents. Does anyone have any ideas about how to fix the section and subsection formattings so that it displays properly?

The secnumdepth value determines to which level section and subsection headings are numbered. The tocdepth values determines to which level the table of contents will typeset section and subsection headings (See How to show subsubsections and paragraphs in TOC?).

For the turabian-thesis document class, use the setcounter command to change the secnumdepth and tocdepth values to '2' in the preamble of your latex document source file (instead of modifying the turabian-thesis.cls file). To do so, place the following code before \begin{document}:

\setcounter{secnumdepth}{2}
\setcounter{tocdepth}{2}


To adjust how section and subsection entries are typeset in the table of contents, change the values used by @dottedtocline command in both the l@section and l@subsection commands. To do so, renew both the l@section and l@subsection commands by also placing the following code in your document preamble (the actual values serving as a suggestion):

\makeatletter
\renewcommand*{\l@section}{%
\ifnum \c@tocdepth >\z@ \vskip \tf@singlelineskip \fi
\@dottedtocline{1}{1.25in}{0.5in}}
\renewcommand*{\l@subsection}{%
\ifnum \c@tocdepth >\z@ \vskip \tf@singlelineskip \fi
\@dottedtocline{2}{1.75in}{0.5in}}
\makeatother