🔍

Digitalitzar documents (PDF a LaTeX)

Relacionat

Reconèixer text en PDFs
Reconèixer text en PDFs

Concepte

A vegades, podem tenir una imatge, o un PDF en què no s’acaba de veure amb total claredat el text o les equacions. Mitjançant un tècnica anomenada OCR (Optical Character Recognition) es pot aconseguir digitalitzar aquell PDF o Imatge.
Tot i així en general aquesta tècnica no és perfecte i després s’ha de retocar el LaTeX ajustant el format i corregint algunes faltes menors per aconseguir el resultat desitjat.

Digitalitzacions d’exemple

Doc. Digitalitzat

Exemples avançats

El següent ja és bastanta més feina (per sonats)
El Castellet digitalitzat
Nota: és una pèrdua de temps innecessària, no ho feu. Jo ho vaig fer uns dies que m’avorria per tal d’aprendre a fer llibres a LaTeX i dominar el format scrbook però de veritat que no val la pena. Crear el capítol 1 encara va ser gratificant i didàctic, però després calia corregir els altres dotze capítols un a un i feia molta mandra.
Document inicial (12.4 MB)
Document LaTeX
Llibre digitalitzat (3 MB)

Pas 1. Fer OCR (aconseguir el LaTeX)

Llistat de Software

Hi ha diversos softwares amb els que fer OCR. Alguns dels més comuns
  • Adobe OCR (de pagament)
  • Chat GPT (sorprenentment ho fa bastant bé)
  • Mathpix (PDFs fins a 10 pàgines al mes. 20 si és amb el correu de la uni. Pagant 0.01$ per pàgina les que vulguis.)

Mathpix

Procés
  1. Pujar el PDF a Mathpix
  1. Descarregar el fitxer LaTeX (es baixarà com a .zip)
  1. Al Overleaf seleccionar ‘New Project’, ‘Upload Project’ i seleccionar el fitxer .zip descarregat.

ChatGPT

Mirar-s’ho bé aquí.

Pas 2. Retocar el LaTeX (intentar replicar el document original)

Solucionar errors de compilació

Si no compila fixar-se en els errors, la solució sol ser alguna de les següents.
  • Caràcters estranys (error de lectura) que caldrà borrar
  • Falta importar algun package necessari
    • Packages típics a importar
      % ----------------- PACKAGES TÍPICS ------------------ \usepackage[a4paper, total={6in,8in}]{geometry} % dimensions \usepackage{changepage} % permet fer el 'adjustwidth' \usepackage[T1]{fontenc} % Permet escriure accents i altres \usepackage[utf8]{inputenc} % Permet mostrar accents i altres \usepackage[catalan]{babel} % Triem l'idioma + \lgem \usepackage{graphicx} % Per afegir imatges \usepackage{booktabs} % Per separadors dins d'una taula \usepackage{float} % [H] o [h!] per figures i taules \usepackage{array} % Cas més general de aligned, cases... \usepackage{bm} % Matemàtiques en negreta \usepackage{amsmath, amssymb, amsfonts, amsthm} % Matamàtiques \usepackage{caption} % Descripció d'una taula o figura \usepackage{subcaption} % Permet subfigurues \usepackage{multirow} % Permet taules amb cel·les multifila \usepackage{enumitem} % Per fer llistes \usepackage[catalan, capitalise]{cleveref} % "veure Figura 1" \setlength{\parskip}{1em} % Salt de línia correcte \setlength{\footskip}{120pt} % Numeracio peu de pàgina \setlength{\parindent}{0pt} % Sagnat % ---------- ALTRES --------- \usepackage{fancyhdr} % Per capçaleres (si el format és 'article')
  • Caràcters ‘\’ llegits malament (buscar en el codi ‘\textbackslash’)

Ajustar el format document

  • Triar la mida de la font a la primera línia \documentclass[10pt]{article}
  • Comprovar que el format de títols (abstract, section, subsection, subsubsection…) sigui el desitjat.
    • Molt probablement calgui un asterisc (\section*{}) per evitar la numeració automàtica.
    • Utilitzar \centering o \begin{center}\end{center} per centrar títols
  • Modificar la geometria del document amb \newgeometry
    • Per exemple \newgeometry{width = 6in, tmargin = 8em, bmargin = 8em}
  • Posar capçalera i peu de pàgina manualment si és necessari
    • Maneres de fer una capçalera
      Article
      Per article podem fer servir \usepackage{fancyhdr}
      Exemple de capçalera amb fancyhdr
      \usepackage{fancyhdr} \pagestyle{fancy} % PEU DE PÀGINA ------------------------------------------ \renewcommand{\footrulewidth}{0pt} \renewcommand{\footruleskip}{10pt} \fancyhf{} % Numeració en el peu de pàgina \fancyfoot[c]{\thepage \hspace{1pt} de \pageref{LastPage}} \addtolength{\textheight}{-0.5in} % CAPÇALERA --------------------------------------------- \setlength{\headheight}{65pt} \renewcommand{\headrulewidth}{1pt} \renewcommand{\headruleskip}{10mm} \lhead{Facultat de Física i Química \\ Semestre de primavera} \chead{} \rhead{19/07/2024 \\ Nom professor}
      Scrbook
      Per scrbook podem fer servir \usepackage{scrlayer-scrpage}
      Exemple de capçalera per scrlayer-scrpage
      \usepackage{scrlayer-scrpage} \pagestyle{scrheadings} \KOMAoptions{headsepline} % Línia horitzontal sota capçalera \renewcommand*{\chaptermarkformat}{} % Traiem la numeració pel heading \automark[chapter]{chapter} % Crec q tria el \headmark \renewcommand{\headfont}{\upshape} % Fem que no estigui en cursiva \clearpairofpagestyles % posa (l,c,r), (e,o) i (head, foot) a {empty} \cehead{\textsc{\MakeLowercase{\headmark}}} \rehead{\pagemark} \lohead{\pagemark} \cohead{\textsc{M. Castellet, I. Llerena}} \cfoot[\pagemark]{} % [] = pàgines d'inici de capítol (numerem a baix)
  • Posar notes de peus de pàgina amb \footnote{text nota} a on correspongui
  • Separació entre títols o equacions
    • Per títols fer titlespacing*{\section}{0pt}{2em}{2em} amb \usepackage{titlesec}
    • Per equacions fer \setlength{\abovedisplayskip}{2em} i el mateix amb \belowdisplayskip
  • Modificar mida del text amb \scriptsize, \footnotesize, \normalsize, \large
  • Fer llistes no numerades amb \begin{itemize} \item text \end{itemize}
  • Fer llistes numerades amb \usepackage{enumitem}
    • Per exemple \begin{enumerate}[label = \roman*)] \item text \end{enumerate}

Corregir faltes

Pic i pala, principalment només són accents que han quedat mal posats o no s’han detectat.