goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Direktlinks:
Zuletzt aktive Beiträge
Unbeantwortete Beiträge
[Erweitert]

Forenstatistik:
Beiträge: 83505
Top-Poster: Johannes_B (4674)

Wir begrüßen unseren neuesten Benutzer Steuermann.

Partner:


goLaTeX.de wird gefördert durch DANTE e.V.: Deutschsprachige Anwendervereinigung TeX





Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Kann man im Dokument Abfragen ob ein Input aktiv ist ?

 

Martin.r
Gast

Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.01.2017, 09:05     Titel: Kann man im Dokument Abfragen ob ein Input aktiv ist ?
  Antworten mit Zitat      
Hallo Forum,

Ich bin so ziemlich neu in der Latex Welt, und bräuchte Hilfe.

Ich habe eine Header Datei erstellt wo alle Includes und Inputs eingestellt werden können.

meine Frage wäre jetzt ob es jetzt die Möglichkeit gibt ob ich in einem Dokument abfragen kann ob ein anderes Dokument (/input{}) aktiv ist, so dass dann ein Text angezeigt wird. Und wenn ich das /input{} wieder deaktiviere das der Text nicht mehr angezeigt wird.

Ich hoffe ihr könnt mir helfen Smile

Mit freundlichen Grüßen

Martin


Martin

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.01.2017, 09:09     Titel:
  Antworten mit Zitat      
Was verstehst du unter einem aktiven Input oder einem aktiven Dokument?

Hilft dir vielleicht \BeforeFile oder \AfterFile von Paket auf CTANscrlfile weiter.

Martin.r
Gast

Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.01.2017, 09:12     Titel:
  Antworten mit Zitat      
Aktiv wäre bei mir:

\input { }


und nicht aktiv mit:

%\input{}

Stefan Kottwitz
Admin
Admin


Beiträge: 1912
Anmeldedatum: 07.07.08
Wohnort: Hamburg
Version: TeX Live 2016
     Beitrag Verfasst am: 09.01.2017, 09:13     Titel:
  Antworten mit Zitat      
Hallo Martin!

Wenn diese Text-Anzeige nur einmalig entschieden wird, reicht es ja, wenn Du ein Makro für den Text definierst. Im Header definierst Du es als leeres Makro mit \newcommand{\meintext}{} und in der Datei, die Du mit \input liest, redefinierst Du es mit \renewcommand für den eigentlichen Text. Später verwendest Du das Makro. So wird der Text nur angezeigt, wenn die Datei geladen wird, sonst er leer.

Ansonsten geht es natürlich auch anders, etwa mit "if". Wie, erst in der Präambel:

\newif\iftext
\textfalse


In der externen Datei:

\texttrue

Später entscheidest Du mit

\iftext
% ist eingebunden, wird angezeigt
\else
% ist nicht eingebunden, wird nicht angezeigt
\fi


Dokumentationetoolbox bietet eine Alternative mit \newtoggle.

Stefan

Zuletzt bearbeitet von Stefan Kottwitz am 09.01.2017, 09:15, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen

Forum ;-)
Gast

Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.01.2017, 09:14     Titel:
  Antworten mit Zitat      
Wenn du irgendwo einstellst, welche Dateien geladen werden und welche nicht, kannst du dort dann nicht einfach auch gleich eine Abfragemöglichkeit mit einbauen? Oder suchst du am Ende \@ifpackageloaded aus dem LaTeX-Kern? Bitte halte dich bei Fragen an die wichtigen Hinweise und mach ein aussagekräftiges InfoMinimalbeispiel. Dann können wir uns unzählige Rückfragen sparen und du kommst am Ende meist schneller und frustfreier zu einer Lösung.

Johannes_B
Moderator
Moderator


Beiträge: 4674
Anmeldedatum: 01.11.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.01.2017, 09:22     Titel:
  Antworten mit Zitat      
Bitte erstell keine Vorlage für andere.
_________________

TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.
Private Nachricht senden Benutzer-Profile anzeigen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.01.2017, 10:00     Titel:
  Antworten mit Zitat      
Wenn das Ziel ist, eine dieser unsäglichen Vorlagen zu erstellen, kann ich Johannes nur beipflichten. Das endet nämlich früher oder später (erfahrungsgemäß eher früher) garantiert wieder in viel Arbeit für uns und viel Frust für die Anwender.

Ansonsten sei eine Möglichkeit über die Dateiliste, die LaTeX anlegt, gezeigt:
Code • Öffne in Overleaf
\documentclass{article}

\makeatletter
\AtBeginDocument{%
  % Wenn \listfiles nicht verwendet wird, ist \@listfiles nicht definiert und
  % üblicherweise zerstört dann LaTeX die Befehle \@filelist und
  % \@addtofilelist innerhalb von \begin{document}. Das kann man einfach
  % verhindern, indem man \@listfiles zumindest auf \relax setzt.
  \ifx\@listfiles\@undefined\let\@listfiles\relax\fi
  % Besser wäre vermutlich, an dieser Stelle \listfiles aufzurufen,
  % schließlich schadet die Liste in der log-Datei nicht, sondern nützt
  % bei weiteren Fragen sogar.
}
\newcommand*\IfFileInList[2]{%
  % Testen, ob #1 in der Liste #2 enthalten ist und dann entweder das nächste
  % oder übernächste Argument verarbeiten.
  \protected@edef\reserved@a{\noexpand\in@{#1}{#2}}\reserved@a
  \ifin@
    \expandafter\@firstoftwo
  \else
    \expandafter\@secondoftwo
  \fi
}
\newcommand*\IfInFileList[1]{%
  % \IfFileInList auf den Dateinamen aus Argument 1 und die LaTeX-Dateiliste
  % anwenden.
  \IfFileInList{#1}{\@filelist}%
}
\makeatother

\begin{filecontents}{\jobname-1.tex}
\section{\jobname 1}
\blindtext
\end{filecontents}

\usepackage{blindtext}

\begin{document}

\input{\jobname-1.tex}

\blinddocument

\section{Test}

\texttt{article.cls} wurde \IfInFileList{article.cls}{}{nicht }geladen.

\texttt{blindtext.sty} wurde \IfInFileList{blindtext.sty}{}{nicht }geladen.

\texttt{\jobname-1.tex} wurde \IfInFileList{\jobname-1.tex}{}{nicht }geladen.

\texttt{\jobname-2.tex} wurde \IfInFileList{\jobname-2.tex}{}{nicht }geladen.
\end{document}

Wer obigen Code nicht versteht oder keine Ahnung hat, welche Konsequenzen der Trick mit \AtBeginDocument haben könnte, sollte die Finger davon lassen!

Neues Thema eröffnen Neue Antwort erstellen



Options and Permissions
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen
.

goLaTeX ist Teil der goForen
goForen.de goMATLAB.de goLaTeX.de goPCB.de


  Impressum | FAQ | goLaTeX RSS Button RSS-Feed

Copyright © 2008 - 2017 goLaTeX.de