0 Daumen
250 Aufrufe

Ich möchte einen Latex-Text filtern. Es kommt zuerst von Google Docs. Ich möchte Tags wie \ section {} löschen, um den Stil des in Google Docs enthaltenen Texts zu ändern. Der eigentliche Zweck ist die Umwandlung eines Latex-Quellcodes in echte Google-Dokumente.

    \section{La Région-capitale : une place et un rôle exceptionnels}
  \subsection{Une longue construction historique}
  \subsection{Région-capitale, État et pouvoir politique}
  \subsection{Une Région au cœur du pouvoir économique et financier}
  \section{De profondes mutations démographiques et économiques}
  \subsection{Une région jeune, dynamique et attractive}
  \subsection{Un marché du travail et de la formation métropolitain}
  \subsection{Le système productif francilien et ses dynamiques}
  \begin{itemize}
      \item La première r agricole avec un tiers de la
  valeur ajoutee nationale grace aux sols tres fertiles de sa vaste cuvette sedi-mentaire.
      \item L'industrie francilienne se caractérise par le poids des grands groupes, un vaste tissu de petites et moyennes entreprises et l'importance des petites entre prises innovantes
      \item Les services périproductifs et les services aux entreprises sont en plein boom depuis trois décénies
      \item Dans les transports l'IdF est le premier noeud logistique national et un carrefour des échanges nationaux européens et internationaux
      \item I’ile-de-France s'afirme comme la premiére r touristique nationale
  \end{itemize}


Im Moment denke ich, dass ich die Labels nur mit folgendem Code entfernen kann:

    function myFunction() {
    // Open a document by ID.
    var doc = DocumentApp.getActiveDocument();
    var body = doc.getBody();
    //
    body.replaceText("\section", "");
  }
Avatar von

1 Antwort

0 Daumen

Antwort mit KI erzeugt

Textfilterung in einem Google-Dokument zur Stiländerung

Zum Entfernen spezifischer LaTeX-Tags aus einem Text, der aus Google Docs stammt, und um diesen für eine Umwandlung in ein Google-Dokument-Format vorzubereiten, muss Ihr Skript etwas erweitert werden. Die grundlegende Funktion zum Ersetzen von Text kann beibehalten, jedoch muss die Suche nach Textmustern angepasst werden.

In Ihrem Fall möchten Sie LaTeX-Befehle wie \section{...} entfernen. Dabei ist zu beachten, dass diese Befehle auch Text in geschweiften Klammern enthalten, der entfernt werden soll. Google Apps Script, das auf JavaScript basiert, unterstützt reguläre Ausdrücke, die hier sehr nützlich sein können.

Hier ist ein verbessertes Skript, das reguläre Ausdrücke verwendet, um LaTeX-Befehle und den eingeschlossenen Text zu entfernen:

javascript
function myFunction() {
  // Open a document by ID.
  var doc = DocumentApp.getActiveDocument();
  var body = doc.getBody();
  
  // Ersetze \section{...} und andere Befehle mit ihren Inhalten
  var reSection = /\\section{[^}]*}/g;
  var reSubsection = /\\subsection{[^}]*}/g;
  var reItemizeBegin = /\\begin{itemize}/g;
  var reItemizeEnd = /\\end{itemize}/g;
  var reItem = /\\item/g;
  
  // Text in Dokument ersetzen
  body.replaceText(reSection, "");
  body.replaceText(reSubsection, "");
  body.replaceText(reItemizeBegin, "");
  body.replaceText(reItemizeEnd, "");
  body.replaceText(reItem, "•"); // Ersetzt \item durch einen Bullet Point (•)
}



Erklärung des Codes:

- var reSection = /\\section{[^}]*}/g; erstellt ein reguläres Ausdrucksmuster, das nach \section{...} sucht, wobei ... für jeglichen Text zwischen den geschweiften Klammern steht. [^}]* entspricht jedem Zeichen außer einer schließenden Klammer }, sodass der gesamte Inhalt innerhalb der Klammern erfasst wird. Das g am Ende sorgt dafür, dass alle Vorkommen im Text gesucht werden.
- Ähnliche reguläre Ausdrücke werden für \subsection{...} und die Listenbefehle \begin{itemize} und \end{itemize} definiert.
- body.replaceText(reSection, ""); ersetzt alle Vorkommen, die auf das Muster passen, durch einen leeren String, effektiv werden diese also gelöscht.
- Für \item wird eine einfache Ersetzung vorgenommen, die es durch einen standardmäßigen Bullet Point () ersetzt. Dies könnte je nach Bedarf angepasst werden.

Wenn Sie weitere LaTeX-Befehle entfernen oder umwandeln möchten, können Sie ähnliche reguläre Ausdrücke und replaceText-Aufrufe hinzufügen.

Der gezeigte Ansatz wird effektiv LaTeX-Befehle aus Ihrem Google-Dokument entfernen und den Text für die beabsichtigte Nutzung aufbereiten.
Avatar von

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community