Salutations !

J'aimerais me constituer une sorte de base de données personnelle de propriétés et définitions mathématiques. Le but est d'avoir un accès facile et agréable à ces informations, avec par exemple :

  • L'énoncé de la propriété.
  • Est-ce que je l'ai démontré.
  • Une preuve éventuellement.
  • Des étiquettes pour facilement les retouver, du style "probabilités", "espaces topologiques", "polynômes".

Et bien sûr, qui dit affichage agréable de mathématiques dit LaTeX ! Voilà donc pourquoi je sollicite votre aide. Connaissez-vous un logiciel ou un moyen de faire ça sans trop se prendre la tête ? J'ai pensé à une base de données classique avec le code LaTeX brut dans les tables, mais ce n'est pas très convivial pour l'affichage.

Merci pour votre aide ^_^

Posée 30 Avr '19, 23:06

Myvh's gravatar image

Myvh
4114
Taux d'acceptation : 0%

Modifiée 30 Avr '19, 23:10

1

Il existe pour ce genre de choses le package datatool si on veut ne pas recourir à une base extérieure. Sinon, cf. notamment http://privat.hgesser.com/software/latexdb/.

(30 Avr '19, 23:15) denis ♦♦ denis's gravatar image
2

Le logiciel TeXoMaker existe pour la gestion des bases des données des exercices, il peut être utiliser ici. Si vous voulez tout faire en latex voir l'extension datatool.

(30 Avr '19, 23:22) touhami touhami's gravatar image

Il y a des gens qui abusent biber pour les bases de données. Ignorant tous les éléments de la bibliographie, biber est très puissant pour organiser les données

(01 Mai '19, 00:53) samcarter samcarter's gravatar image

@denis : Mon but est vraiment de pouvoir faire rapidement une recherche par mots-clés et d'obtenir directement un rendu en LaTeX des propriétés qui correspondent à ma recherche. À moins que j'ai mal compris ce que font datatool et LaTeXDB, ce n'est pas vraiment ce que je cherche.

(01 Mai '19, 03:41) Myvh Myvh's gravatar image

@touhami : TeXoMaker m'a l'air de bien correspondre à ce que je cherche. Si j'ai bien compris, il me suffit de mettre toutes les données dans un seul fichier .tex, de l'ouvrir, puis de rechercher ce que je veux ?

@samcarter : Je ne connais pas grand chose en LaTeX donc pour l'instant je ne vois pas trop comment biber peut m'aider.

(01 Mai '19, 03:41) Myvh Myvh's gravatar image

En cherchant du côté des banques d'exercices, je suis tombé sur TeXamator, qui ressemble à TeXoMaker, mais peut-être même en mieux. J'ai bien compris que ce logiciel est compatible Linux mais est-il compatible Windows aussi ? Comme il est codé en Python, j'ai un doute sur sa portabilité (oui, je n'y connais pas grand chose ^^)

(01 Mai '19, 03:47) Myvh Myvh's gravatar image

@Myvh Attention ! Cette réponse était un commentaire plutôt qu'une réponse et a été convertie comme tel.

(01 Mai '19, 13:57) denis ♦♦ denis's gravatar image
Affichage de 5 parmi 7 Afficher 2 commentaire(s) en plus

Note : je pense que des extensions comme datatool conviendront mieux à vos besoins. Vous pouvez trouver un exemple avec l'extension datatool ici : https://www.dickimaw-books.com/latex/admin/html/datatoolexam.shtml .

Il y a des gens qui abusent biber pour les bases de données. Ignorant tous les éléments de la bibliographie, biber est très puissant pour organiser les données mais cela peut devenir très très compliqué. Voici une courte démonstration de concept :

Ouvrir dans l'éditeur Overleaf
\documentclass{article}

\usepackage{biblatex}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@misc{fooa,
    property = {Property a},
    demonstrated = {yes},
    evidence = {Evidence a},
    keywords = {probability}
}

@misc{foob,
    property = {Property b},
    demonstrated = {yes},
    evidence = {Evidence b},
    keywords = {probability, polynom}
}

@misc{fooc,
    property = {Property c},
    demonstrated = {no},
    evidence = {Evidence c},
    keywords = {polynom}
}

@misc{food,
    property = {Property d},
    demonstrated = {yes},
    evidence = {Evidence d},
    keywords = {topology}
}
\end{filecontents*}

\DeclareSourcemap{
    \maps[datatype=bibtex,overwrite=true]{
        \map{
            \step[fieldsource=property, final=true]
            \step[fieldset=usera, origfieldval, final=true]
        }
        \map{
            \step[fieldsource=demonstrated, final=true]
            \step[fieldset=userb, origfieldval, final=true]
        }   
        \map{
            \step[fieldsource=evidence, final=true]
            \step[fieldset=userc, origfieldval, final=true]
        }                   
    }
}

\DeclareBibliographyDriver{misc}{%
    Property: \printfield{usera}\newline%
    Demonstrated: \printfield{userb}\newline%
    Evidence: \printfield{userc}\newline%
    Keywords: \printfield{keywords}
}

\addbibresource{\jobname.bib}
\nocite{*}

\begin{document}

\printbibliography[title={all}]

\printbibliography[title={only probability},keyword=probability]

\defbibcheck{demonstrated}{%
    \iffieldequalstr{userb}{yes}{}{\skipentry}
}
\printbibliography[title={only demonstrated},check=demonstrated]

\end{document}

(compiler avec pdflatex -> biber -> pdflatex)

Lien permanent

Publiée 02 Mai '19, 21:45

samcarter's gravatar image

samcarter
8.4k2817
Taux d'acceptation : 56%

Modifiée 07 Mai '19, 16:40

D'accord, je vois mieux comment biber peut répondre à ma question. Ça me paraît intéressant, mais pas optimal : il me semble qu'à chaque nouvelle recherche que je veux faire, il faut écrire la requête en LaTeX puis compiler manuellement le code pour avoir un rendu. Ça marche, mais ce n'est pas très naturel. Ceci dit, ça reste une solution qui me paraît simple. Juste une question : le code que tu as écrit suffit à répondre à ma question, non ? Je ne vois pas ce qui pourrait devenir plus compliqué.

(05 Mai '19, 02:34) Myvh Myvh's gravatar image

@Myvh Vous avez bien raison. Mon exemple utilise la méthode simple et abuse biblatex, donc il est nécessaire de créer un pdf pour voir le résultat. On pourrait créer des outils pour utiliser biber sans biblatex (sans créer un pdf), c'est ce que je voulais dire par "peut devenir très très compliqué"

(06 Mai '19, 20:26) samcarter samcarter's gravatar image
2

Quelle que soit le choix, pdfgrep est le grep des fichiers pdf. Il est moins riche que grep, en particulier pour le contexte d'affichage, mais il peut afficher le nom du fichier, le numéro de page en plus de la ligne contenant l'occurence. Comme grep il utilise la puissance des expressions rationnelles.

Bien entendu grep est utilisable sur les fichiers tex (c'est même mon quotidien!), mais si j'ai bien compris la question, il s'agit bien d'exploiter un fichier pdf affichant un état de la base de données.

Cette question et les réponses en pure LaTeX est intéressante. Merci à tous.

(26 Mai '19, 15:39) joseph-tux joseph-tux's gravatar image

@joseph-tux Merci beaucoup pour votre commentaire ! Je ne connaissais pas pdfgrep, c'est très intéressant !

(26 Mai '19, 16:27) samcarter samcarter's gravatar image

Cette réponse utilisant biber est vraiment intéressante et ouvre des horizons. La syntaxe est simple. Reste la question de son exploitation: selection, tri, affichage (styles, \cite, \printbibliography) Étant faché avec l' anglais, j'envisage difficilement de trouver la réponse dans sa documentation.

(11 Jui '19, 01:15) joseph-tux joseph-tux's gravatar image

@joseph-tux Connaisez-vous https://geekographie.maieul.net/IMG/pdf/biblatex-biber.pdf ? Ce document a un court résumé comment modifier biblatex. Il y a tellement de possibilités d'ajuster selection, tri ou affichage, ce serait trop long pour une réponse. Mais si vous avez une question particulière, je peux essayer de l'inclure.

(11 Jui '19, 02:45) samcarter samcarter's gravatar image
Affichage de 5 parmi 6 Afficher 1 commentaire(s) en plus
Votre réponse
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.