The name={...}
option to the definition in the \declaretheoremstyle
command defaults to the theorem name, or it's possible to say name={}
to remove the prefix in the List of Theorems, but this has an effect to the body-text display as well. (It's not the best solution)
The parentheses can be removed by redefining \thmtformatoptarg
to be
\renewcommand{\thmtformatoptarg}[1]{#1}
Loading hyperref
as the last package provides the correct links.
\documentclass{report}
\usepackage{amsthm}
\usepackage{libertine} % allows bf sc fonts http://tex.stackexchange.com/a/98581/104449
\usepackage{thmtools}
\declaretheoremstyle[
spaceabove=\topsep, spacebelow=\topsep,
headfont=\libertine\bfseries\scshape,
notefont=\libertine\bfseries\scshape,
headindent=-1em,
headpunct=\newline,
numberwithin=chapter,
notebraces={- }{}
]{mythmstyle}
\declaretheorem[style=mythmstyle,name={}]{thm}
\declaretheorem[style=mythmstyle, title=Defn,name={}]{defn}
\renewcommand{\thmtformatoptarg}[1]{#1}%
\usepackage{hyperref}
\begin{document}
\pagenumbering{roman}
\listoftheorems[ignoreall, show={thm}]
\begingroup % Temporarily disable \clearpage to show both lists on one page
\let\clearpage\relax % http://tex.stackexchange.com/a/14511/104449
\renewcommand{\listtheoremname}{List of Definitions}
\listoftheorems[ignoreall, show={defn}]
\endgroup
\newpage
\pagenumbering{arabic}
\chapter{}
\begin{thm}[My first theorem]
\end{thm}
\begin{defn}[My first definition]
\end{defn}
\chapter{}
\begin{thm}[My second theorem]
\end{thm}
\begin{defn}[My second definition]
\end{defn}
\end{document}
Update
The \thmt@thmname
is inside \thmt@mklistcmd
which is only called once during a theorem
definition. If the name isn't requested, it should be dropped. Either patch the \thmt@mklistcmd
or redefine it:
\documentclass{report}
\usepackage{amsthm}
\usepackage{libertine} % allows bf sc fonts http://tex.stackexchange.com/a/98581/104449
\usepackage{thmtools}
\newif\ifusethmname
\makeatletter
\renewcommand\thmt@mklistcmd{%
\@xa\protected@edef\csname l@\thmt@envname\endcsname{% CHECK: why p@edef?
\@nx\@dottedtocline{1}{1.5em}{\@nx\thmt@listnumwidth}%
}%
\ifthmt@isstarred
\@xa\def\csname ll@\thmt@envname\endcsname{%
\protect\numberline{\protect\let\protect\autodot\protect\@empty}%
\ifusethmname
\thmt@thmname
\fi
\ifx\@empty\thmt@shortoptarg\else\protect\thmtformatoptarg{\thmt@shortoptarg}\fi
}%
\else
\@xa\def\csname ll@\thmt@envname\endcsname{%
\protect\numberline{\csname the\thmt@envname\endcsname}%
\ifusethmname
\thmt@thmname
\fi
\ifx\@empty\thmt@shortoptarg\else\protect\thmtformatoptarg{\thmt@shortoptarg}\fi
}%
\fi
\@xa\gdef\csname thmt@contentsline@\thmt@envname\endcsname{%
\thmt@contentslineShow% default:show
}%
}
\declaretheoremstyle[
spaceabove=\topsep, spacebelow=\topsep,
headfont=\libertine\bfseries\scshape,
notefont=\libertine\bfseries\scshape,
headindent=-1em,
headpunct=\newline,
numberwithin=chapter,
notebraces={- }{}
]{mythmstyle}
\declaretheorem[style=mythmstyle, ]{thm}
\declaretheorem[style=mythmstyle, title=Defn]{defn}
\usepackage{xpatch}
\renewcommand{\thmtformatoptarg}[1]{#1}%
\usepackage{hyperref}
\begin{document}
\pagenumbering{roman}
\makeatletter
\makeatother
\listoftheorems[ignoreall, show={thm}]
\begingroup % Temporarily disable \clearpage to show both lists on one page
\let\clearpage\relax % http://tex.stackexchange.com/a/14511/104449
\renewcommand{\listtheoremname}{List of Definitions}
\listoftheorems[ignoreall, show={defn}]
\endgroup
\newpage
\pagenumbering{arabic}
\chapter{}
\begin{thm}[My first theorem]
\end{thm}
\begin{defn}[My first definition]
\end{defn}
\chapter{}
\begin{thm}[My second theorem]
\end{thm}
\begin{defn}[My second definition]
\end{defn}
\end{document}

thm-listof.sty
, but I'll take a look – user31729 May 1 '16 at 19:25