Anzeige:
Ergebnis 1 bis 11 von 11

Thema: Problem mit \IfFileExists

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Registrierter Benutzer
    Registriert seit
    21.04.2005
    Beiträge
    8

    Problem mit \IfFileExists

    Hi @ all!

    Ich hab in diesem Forum im Beitrag ein kleines Beispiel für die Benutzung von \IfFileExists gefunden.

    Nun wollte ich dieses etwas umgebaut in einem von mir definierten Makro verwenden. Das ganze sieht bei mir dann so aus:
    Code:
    \edef\meinbild{\mypath #3}%
    \IfFileExists{\meinbild}
    {\immediate\write17{Es liegt im normalen mypath}}
    {	\edef\meinbild{\temppath #3}%
      \IfFileExists{\meinbild}
        {\immediate\write17{Es liegt im temppath}}
        {\textsc{caution: file \meinbild\space not found!}}
    }
    Doch leider komme ich in keine der \IfFileExists hinein, oder er schreibt mir zumindest die ausgabe nicht ins log. Auch die Fehlermeldung falls es nirgends gefunden wird funktioniert bei mir hier leider nicht (ich hab das bild einfach einmal entfernt).

    Brauch ich hier vielleicht irgendein zusätzliches Package?
    Hat hier jemand einen Tipp für mich?

    lg, jiri

  2. #2
    Registrierter Benutzer
    Registriert seit
    21.04.2005
    Beiträge
    8
    Ich weiß schon woran es gelegen hat. Ich habe dem File keine Endung gegeben.

    Jetzt habe ich allerdings das Problem, dass es sich um ein Graphik-File handelt und ich gerne alle Endungen die in \DeclareGraphicsExtensions definiert sind überprüft hätte.

    Geht das irgendwie?
    Oder muss ich echt hier nochmal alle Endungen "zu Fuß" durchgehen?

    lg, jiri

  3. #3
    Registrierter Benutzer
    Registriert seit
    21.04.2005
    Beiträge
    8
    Dann schreiben wir einmal ein minimalbeispiel:

    Code:
    \documentclass[a4paper,12pt,oneside]{book}
    \usepackage{graphicx}
    \usepackage{ifthen}
    
    \DeclareGraphicsExtensions{.png,.jpg}
    
    \newcommand{\mypath}{./einordner/}
    \newcommand{\temppath}{./}
    \newcommand{\meinbild}{}
    
    \newcommand{\myincludegraphics}[3]{%
    %Schauen ob die Datei über Mypath oder über Temppath erreichbar
    \edef\meinbild{\mypath #3.png}%
    \IfFileExists{\meinbild}%
    {\immediate\write17{Es liegt im normalen mypath}}%
    {	\edef\meinbild{\temppath #3.png}%
      \IfFileExists{\meinbild}%
        {\immediate\write17{Es liegt im temppath}}%
        {\errmessage{caution: file \meinbild\space not found!}}%
    }%
    \immediate\write17{Also die dritte übergebene Variable wurde nun auf \meinbild\space gesetzt.}
        \ifthenelse{\equal{#1}{}}{%
            \ifthenelse{\equal{#2}{}}{%
                \includegraphics{\meinbild}%
            }{%
                \includegraphics[#2]{\meinbild}%
            }%
        }{%
            \ifthenelse{\equal{#2}{}}{%
                \includegraphics[width=#1]{\meinbild}%
            }{%
                \includegraphics[width=#1,height=#2]{\meinbild}%
            }%
        }%
    }
    
    \begin{document}
    
    \begin{figure}[ht]
    	\begin{center}
    		\myincludegraphics{\textwidth}{}{bilder/test}
    		\caption{Ein Testbild aus irgendeiner Bildergallerie}
    		\label{fig:test}
    	\end{center}
    \end{figure}
    
    \end{document}

    So nun habe ich das Problem, dass ich hier die Endung der Grafikdatei hartcodieren muss, was ich aber nicht unbedingt möchte, da mehrere Personen an den Dateien arbeiten.

    Gibt es:
    1) eine Möglichkeit den Befehl \includegraphics irgendwie zu renewen, sodass er zar wieder aufgerufen wird, aber halt der Pfad zur Datei vorher ausgebessert wird?
    2) Wenn nicht, eine Möglichkeit wenigstens die in \DeclareGraphicsExtensions angegebenen Endungen durchzuprobieren?

    Danke für jede Antwort!

    lg, jiri

  4. #4
    Registrierter Benutzer Avatar von blubb
    Registriert seit
    12.08.2004
    Beiträge
    862
    Ich nehme an, du wirst auf deinem Problem sitzen bleiben. Es gibt glaub keine Lösung.
    Lasse mich aber gerne vom Gegenteil überzeugen.

    P.S.
    Code:
     \DeclareGraphicsExtensions{.png,.jpg}
    Schlecht.
    http://tex.lickert.net/tipps/grafikt...iktreiber.html
    Wer Dokus lesen kann ist im Vorteil :D
    Das Forum hat eine Suchfunktion.
    FAQ: http://www.dante.de/faq/de-tex-faq/html/de-tex-faq.html
    Minimalbeispiel:http://www-users.rwth-aachen.de/Chri...mmer/mini.html

  5. #5
    Registrierter Benutzer
    Registriert seit
    21.04.2005
    Beiträge
    8
    Das bedeutet also, dass es keine sinnvolle Möglichkeit gibt \includegraphics zu "erweiteren"?

    Schade! Das ist jetzt allerdings ziemlich schlecht.

    Hm! Mal überlegen was mir jetzt einfällt.

  6. #6
    Registrierter Benutzer Avatar von blubb
    Registriert seit
    12.08.2004
    Beiträge
    862
    Nur um mal sicher zu gehen, weil ich bislang nicht gefunden habe, was du eigentlich willst, und du auch nie \graphicspath erwähnt hast:

    Du kannst mit \graphicspath Pfade vorgeben, die sequentiell von \includegraphics durchsucht werden. Das Bild das als erstes gefunden wird, wird eingefügt.
    Welches Bild genommen wird steht im Log-File. Was du nicht bekommst, ist eine Möglichkeit in deinem Dokument den gewählten Pfad auszugeben (z.B. als kleine Info unter dem Bild).
    Wer Dokus lesen kann ist im Vorteil :D
    Das Forum hat eine Suchfunktion.
    FAQ: http://www.dante.de/faq/de-tex-faq/html/de-tex-faq.html
    Minimalbeispiel:http://www-users.rwth-aachen.de/Chri...mmer/mini.html

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •