Existe um pacote LaTeX que fornecerá uma breve descrição resumida de todos os pacotes incluídos em um projeto LaTeX?

Existe um pacote LaTeX que fornecerá uma breve descrição resumida de todos os pacotes incluídos em um projeto LaTeX?

Eu queria saber se existe um pacote LaTeX que irá escanear todos os pacotes que existem dentro de um projeto LaTeX e, em seguida, baixar do CTAN uma breve descrição resumida de cada um dos pacotes incluídos nesse projeto LaTeX, para então ser impresso em formato de resumo como parte da documentação final.

Sei que existem outras maneiras de localizar as breves descrições resumidas, por exemplo:

  1. O livro "LaTeX Companion": Fornece uma extensa lista de pacotes com breves descrições. Embora possa não abranger todos os pacotes, serve como um recurso valioso.
  2. Recursos online: sites como Overleaf, LaTeX-Tutorial.com e Research Guides oferecem documentação, tutoriais e descrições de pacotes.
  3. Documentação do pacote: Muitos pacotes vêm com sua própria documentação, geralmente disponível como arquivos PDF. Você pode pesquisar o nome do pacote seguido de “documentação” para encontrar esses recursos.
  4. O comando texdoc: Se você tiver uma instalação local do LaTeX, poderá usar o comando texdoc <package_name> em seu terminal ou prompt de comando para acessar a documentação de um pacote específico.

Estou procurando um pacote que irá verificar automaticamente meu projeto LaTeX, compilar uma lista de todos os pacotes LaTeX incluídos e, em seguida, baixar do CTAN a breve descrição resumida correspondente de cada um dos pacotes LaTeX incluídos em um projeto LaTeX.

Tenho algumas centenas de pacotes LaTeX incluídos em meu arquivo de projeto LaTeX plurianual, muitos dos quais esqueci o que eles fazem. Seria bom ter uma breve descrição disponível sempre que eu digitasse meu projeto.

Responder1

Esta é principalmente uma ideia ainda em sua infância (e não irá amadurecer) para mostrar a descrição do CTAN em vez dos pacotes de látex. Receio que o exemplo, tal como está, possa ter muitos problemas para usar com alguns outros pacotes, além disso é feito em Quarto e provavelmente até alguma entrada na tabela de exemplo está errada (desculpe, não há tempo para verificar), mas eu acho que mostrar a ideia, que provavelmente é melhor feito manualmente (para lidar com provavelmente muitos casos diferentes):

  1. Selecione os nomes dos pacotes carregados nos preâmbulos com alguma ferramenta grepou apenas edite manualmente uma cópia dos preâmbulos para fazer uma lista dos nomes .sty.

  2. Obtenha a lista de nomes do pacote CTAN de origem com texdoce/outlmgr

  3. Obtenha com tlmgra breve descrição do pacote destes arquivos . Manualmente é apenas executar tlmgr info -data name,shortdesc name1 name 2..., verificar se há erros e salvar a saída em um arquivo CSV.

  4. Com o arquivo CSV é fácil fazer uma tabela datatool(não mostrado, mas há muitos exemplos em outras questões), ou com python ou R (este exemplo).

Então, com um preâmbulo como:

\usepackage{mathtools,amssymb}
\usepackage{newtx} 
\usepackage{lipsum} 
\usepackage[dvipsnames]{xcolor}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{nccmath}
\usepackage{wrapfig}
\usepackage{comment}
\usepackage{graphicx}
\usepackage{array}
\usepackage{tcolorbox}
\usepackage[edges]{forest}

Você pode obter alguns como este:

insira a descrição da imagem aqui

---
title: Styles and packages
format: pdf
engine: knitr
---

```{bash}
#| echo: false
#| include: false
#| cache: false

grep usepackage Document.tex > foo.txt
sed -i -n 's/[^{]*{\([^}]*\)}/\1\n/gp' foo.txt
sed -i '/^\s*$/d' foo.txt
sed -i 's/,/\n/g' foo.txt

echo "tlmgr info -data name,shortdesc " > CTANp.txt

awk '{ print "texdoc -l -I " $1 ".sty" }' foo.txt | xargs -I {} sh -c '{}' | sed -e 's/.*\/\(.*\)\/.*\.sty/\1/' >> CTANp.txt 

tr '\n' ' ' < CTANp.txt > CTANp.sh
echo " > foo.csv " >> CTANp.txt
chmod u+x ./CTANp.sh
./CTANp.sh

```


Sort CTAN packages with short descriptions

```{r}
#| echo: false
#| cache: false

packages <- unique(read.csv("foo.csv", header = FALSE))
names(packages) <- c("CTAN","Description")
styles <- unique(read.csv("foo.txt", header = FALSE)) 
names(styles) <- c("sty")

knitr::kable(packages[order(packages$CTAN),],row.names = F)

```

\LaTeX{} packages (`{r} nrow(styles)`): `{r} styles$sty`  

CTAN packages (`{r} nrow(packages)`): `{r} packages$CTAN`  

Responder2

Se você chamar \listfileso primeiro comando (mesmo antes de \documentclass), o log conterá os arquivos usados ​​(e geralmente uma breve descrição) no final. Por exemplo:

\listfiles
\documentclass{article}
\usepackage{graphicx}
\begin{document}
\includegraphics{example-image}
\end{document}

tem um arquivo de log que contém:

 *File List*
 article.cls    2021/10/04 v1.4n Standard LaTeX document class
  size10.clo    2021/10/04 v1.4n Standard LaTeX file (size option)
graphicx.sty    2021/09/16 v1.2d Enhanced LaTeX Graphics (DPC,SPQR)
  keyval.sty    2022/05/29 v1.15 key=value parser (DPC)
graphics.sty    2022/03/10 v1.4e Standard LaTeX Graphics (DPC,SPQR)
    trig.sty    2021/08/11 v1.11 sin cos tan (DPC)
graphics.cfg    2016/06/04 v1.11 sample graphics configuration
  pdftex.def    2020/10/05 v1.2a Graphics/color driver for pdftex
l3backend-pdftex.def    2022-08-05 L3 backend support: PDF output (pdfTeX)
supp-pdf.mkii
epstopdf-base.sty    2020-01-24 v2.11 Base part for package epstopdf
epstopdf-sys.cfg    2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Live
example-image.pdf    Graphic file (type pdf)
 ***********

informação relacionada