Ich möchte eine Datei "a.tex" in meine Hauptdatei einbinden.

Öffne in Overleaf
\documentclass[10pt,a4paper]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\begin{document}
\input{a}
\end{document}

In „a.tex“ ist eine enumerate-Umgebung

Öffne in Overleaf
Text
\begin{enumerate}
\item Frage 1
\item Frage 2
\item Frage 3
\end{enumerate}

Kann man sich nur bestimmte Fragen – z.B. nur 1 und 3 – im kompilierten Dokument anzeigen lassen, ohne sie in einen Kommentar umwandeln zu müssen?

Öffne in Overleaf
\documentclass[10pt,a4paper]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\begin{document}
\input{a}[1,3]
\end{document}

gefragt 05 Dez '17, 18:04

typ42's gravatar image

typ42
3831222
Akzeptiert-Rate: 33%

bearbeitet 15 Mär '18, 17:33

cgnieder's gravatar image

cgnieder
20.8k193463

Können schon, allerdings kaum in der hier gezeigten Form. Man müsste dazu \item innerhalb von enumerate (und damit letztlich enumerate) erheblich umdefinieren, um den aktuellen Zähler mit einer gespeicherten (bzw. zu speichernden) Werteliste zu vergleichen und dann die Ausgabe bis zum nächsten \item zu unterdrücken. Auch \input sollte man in dem Fall nicht verwenden, sondern eine eigene Anweisung. Das ist nicht in 5 Minuten erledigt. Leichter würde es, wenn man die Syntax von Datei a.tex ändern würde, um beispielsweise die Aufzählungspunkte als Befehle mit Argument zu haben.

(05 Dez '17, 18:40) saputello

was meinst du mit "Aufzählungspunkte als Befehle mit Argument zu haben."? Jede Frage in eine tex-Datei packen?

(06 Dez '17, 00:45) typ42

@typ42: Nein, ich meine statt \item Das ist der Text müsste Das ist der Text Argument eines Befehls sein, beispielsweise \xitem{Das ist der Text}.

(14 Mär '18, 09:14) saputello

Hier einmal eine Verdeutlichung dessen, was @saputello in seinem Kommentar gemeint hat als quick-and-dirty-Lösung unter Zuhilfenahme von l3clist:

Öffne in Overleaf
\begin{filecontents}{\jobname-a.tex}
\begin{enumerate}
\xitem{Frage 1}
\xitem{Frage 2}
\xitem{Frage 3}
\end{enumerate}
\end{filecontents}
\documentclass[10pt,a4paper]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{xparse}

\ExplSyntaxOn

\clist_new:N \g__enuminput_clist

\cs_new:Npn \__enuminput_item #1 { \item #1 }

\cs_generate_variant:Nn \clist_if_in:NnT { NxT }

\cs_new:Npn \__enuminput_item_if_in #1
  {
    \stepcounter{enumi}
    \clist_if_in:NxT \g__enuminput_clist { \theenumi }
      {
        \addtocounter{enumi}{-1}
        \item #1
      }
  }

\NewDocumentCommand { \xitem } {} {}

\NewDocumentCommand { \enuminput } { m o }
  {
    \IfValueTF { #2 }
      {
        \clist_set:Nn \g__enuminput_clist { #2 }
        \let \xitem \__enuminput_item_if_in
      }
      {
        \let \xitem \__enuminput_item
      }
      \input { #1 }
  }
\ExplSyntaxOff

\begin{document}
\enuminput{\jobname-a}[1,3]
\end{document}

Ich bin dabei von der Annahme ausgegangen, dass das nur für die oberste enumerate-Ebene benötigt wird und dass die ausgelassenen Punkte trotzdem mitgezählt werden sollen. Wenn eine der Annahmen nicht zutrifft, was leider aus der Frage nicht hervor geht, dann müsste man den Aufwand für eine Lösung entsprechend erhöhen.

Näheres zu den verwendeten Befehlen ist zum einen der xparse-Anleitung zu entnehmen und zum anderen der l3kernel-Interface-Anleitung.

Permanenter link

beantwortet 14 Mär '18, 12:29

Ijon%20Tichy's gravatar image

Ijon Tichy
9.6k31227
Akzeptiert-Rate: 53%

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×13
×12

gestellte Frage: 05 Dez '17, 18:04

Frage wurde gesehen: 2,158 Mal

zuletzt geändert: 15 Mär '18, 17:33