PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Latex-3 latex -> dvi problem...



bienchen
03-11-2006, 11:04
Ola!

Ich hab hier ein SuSE 10.sonstwas System und Probleme mit der Latex-Distribution. Irgendwie laeuft bei dieser Version ja alles ueber pdfeTeX...nun habe ich folgendes (minimales) Dokument:

=========== BEGIN ===========
\newif\ifpdf%
\ifx\pdfoutput\undefined%
\pdffalse%
\else%
\pdfoutput=1%
\pdfcompresslevel=9%
\pdftrue%
\fi%

\documentclass{article}

\usepackage{pstricks}

\begin{document}

\ifpdf
\typeout{pdfmode}
pdfmode
\else
\typeout{latexmode}
latexmode
\fi

\end{document}
=========== END ===========

Bei einem herzlichen

latex minidoc.tex

Bekomme ich:

This is pdfeTeX, Version 3.141592-1.21a-2.2 (Web2C 7.5.4)
entering extended mode
(./minidoc.tex
LaTeX2e <2003/12/01>
Babel <v3.8d> and hyphenation patterns for american, french, german, ngerman, b
ahasa, basque, bulgarian, catalan, croatian, czech, danish, dutch, esperanto, e
stonian, finnish, greek, icelandic, irish, italian, latin, magyar, norsk, polis
h, portuges, romanian, russian, serbian, slovak, slovene, spanish, swedish, tur
kish, ukrainian, nohyphenation, loaded.
(/usr/share/texmf/tex/latex/base/article.cls
Document Class: article 2004/02/16 v1.4f Standard LaTeX document class
(/usr/share/texmf/tex/latex/base/size10.clo))
(/home/bienert/texmf/tex/latex/pstricks/pstricks.sty
(/home/bienert/texmf/tex/latex/pstricks/pstricks.tex
`PSTricks' v1.14c <2006/04/29> (tvz)
(/home/bienert/texmf/tex/latex/pstricks/pstricks.con))
(/home/bienert/texmf/tex/latex/xcolor/xcolor.sty
(/usr/share/texmf/tex/latex/graphics/color.cfg)
(/usr/share/texmf/tex/latex/graphics/pdftex.def)))
No file minidoc.aux.
pdfmode
[1
Non-PDF special ignored!
Non-PDF special ignored!{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}]
(./minidoc.aux) )</usr/share/texmf/fonts/type1/bluesky/cm/cmr10.pfb>
Output written on minidoc.pdf (1 page, 5247 bytes).
Transcript written on minidoc.log.

Wie bekomme ich da denn nun wieder ein dvi-File?
Oder besser: Wie bekomme ich das hin, dass pdfetex das kompiliert wie vorher latex?

mfg,

bienchen

pospiech
03-11-2006, 16:12
\newif\ifpdf%
\ifx\pdfoutput\undefined%
\pdffalse%
\else%
\pdfoutput=1%
\pdfcompresslevel=9%
\pdftrue%
\fi%
[...]
\ifpdf
\typeout{pdfmode}
pdfmode
\else
\typeout{latexmode}
latexmode
\fi


Wofür brauchst du das ? Das beste was mir zu dem code einfällt ist ihn wegzulassen.

dvi erhälst du mit latex und pdf mit pdflatex. Die Engine pdfetex ruft man nie direkt auf.

Matthias

bienchen
03-11-2006, 16:37
Diese pdf-Abfrage hab ich drin, um entsprechend dem verwendeten Programm bestimmte Pakete einzustellen, z.B. Hyperref. Das ganze Dokument ist halt als Minimalbeispiel gedacht. Die Abfrage nach dem Modus ist daher nur, um zu zeigen, wie kompiliert wird.

Normalerweise sollte bei latex schon dvi rauskommen, weiss ich. Allerdings ist bei teTex-3 latex nur noch ein link auf pdfetex:

/usr/bin/latex -> ../share/texmf/teTeX/bin/i586-linux/latex -> pdfetex

Und pdfetex verhaelt sich nicht mehr wie latex bei teTeX-2. Wie in der Ausgabe von meinem Post zusehen ist, erzeugt latex, respektive pdfetex fuer mein Minimalbeispiel ein pdf (minidoc.pdf)

Nun habe ich diese if-Abfrage in vielen meiner alten Dokumenten drin und moechte diese auch nicht mehr aendern.

mfg,

bienchen

voss
03-11-2006, 16:59
Diese pdf-Abfrage hab ich drin, um entsprechend dem verwendeten Programm bestimmte Pakete einzustellen, z.B. Hyperref. Das ganze Dokument ist halt als Minimalbeispiel gedacht. Die Abfrage nach dem Modus ist daher nur, um zu zeigen, wie kompiliert wird.

Normalerweise sollte bei latex schon dvi rauskommen, weiss ich. Allerdings ist bei teTex-3 latex nur noch ein link auf pdfetex:

/usr/bin/latex -> ../share/texmf/teTeX/bin/i586-linux/latex -> pdfetex

Und pdfetex verhaelt sich nicht mehr wie latex bei teTeX-2. Wie in der Ausgabe von meinem Post zusehen ist, erzeugt latex, respektive pdfetex fuer mein Minimalbeispiel ein pdf (minidoc.pdf)

Nun habe ich diese if-Abfrage in vielen meiner alten Dokumenten drin und moechte diese auch nicht mehr aendern.


Matthias hat doch schon darauf hingewiesen. Nimm _alles_ vor \documentclass raus und danach ein \usepackage{ifpdf} rein, dann sollte es funktionieren. Grundsätzlich braucht man diese Abfragen sowieso nicht ... die TReiber sichen sich schon das Richtige aus.

Herbert

pospiech
03-11-2006, 18:30
Normalerweise sollte bei latex schon dvi rauskommen, weiss ich. Allerdings ist bei teTex-3 latex nur noch ein link auf pdfetex:

/usr/bin/latex -> ../share/texmf/teTeX/bin/i586-linux/latex -> pdfetex

Das ist richtig und bei mir ebenso (Suse 10.1, tetex 3) - allerdings erzeugt bei mir pdflatex ein pdf und latex ein dvi.
Die Frage wäre also woher pdfetex weiß was es machen soll. Direkt pdfetex aufrufen sollst du deshalb natürlich nicht.



Nun habe ich diese if-Abfrage in vielen meiner alten Dokumenten drin und moechte diese auch nicht mehr aendern.

Keine gute Einstellung. Du wirst jedesmal wenn hier jemand ein \newif\ifpdf Konstrukt postet sehen dass es unerwünscht ist. Zum einen weil es schlicht fehlerhaft (unter bestimmten Bedingungen) ist und weil man es einfach nicht benötigt. Es sei den du gibt in der Preambel direkt die Treiber an, was du aber lassen solltest.

Matthias

bienchen
06-11-2006, 10:29
Hrmpf! OK, wenn mein eigenes ifpdf-Zeugs so ein vauxpas ist, nehm ich's eben raus.
So unflexibel bin ich dann doch nicht. Trotzdem finde ich die Umstellung auf pdfetex in teTeX-3 bloed ;-)

mfg,

bienchen

bischi
06-11-2006, 10:36
vauxpas
fauxpas ;)

Aber was ich nicht verstehe: Wieso rufst du nicht einfach pdflatex oder latex auf? Das sollte doch über Kommandozeile gehen?!

MfG Bischi

voss
06-11-2006, 11:23
Hrmpf! OK, wenn mein eigenes ifpdf-Zeugs so ein vauxpas ist, nehm ich's eben raus.
So unflexibel bin ich dann doch nicht. Trotzdem finde ich die Umstellung auf pdfetex in teTeX-3 bloed ;-)


Die Umstellung hat mehr als nur ein paar Vorteile ...
Dein Problem liegt jedoch darin, dass die \ifpdfout-methode nicht mehr korrekt funktioniert und du daher ständig auf \pdfoutput=1 setzt, womit du _immer_ in den pdf-Modus gehst ...

Herbert

DaLaunge
27-12-2006, 08:12
Hallo!

Ich bin ziemlich neu hier, möchte mich aber gerne einklinken (auch wenn diese Diskussion schon ein bisschen alt ist)!

Ich kann die Argumentation von bienchen verstehen. Ich selbst habe ein ähnliches Problem. Ich setzte per:

\hypersetup{
pdftitle={Troubleshooting},
pdfauthor={MyName},
pdfsubject={MySubject},
pdfcreator={Created with LaTeX2e},
pdfproducer={MiKTeX},
pdfkeywords={MySearchKeywords}
bookmarksopen=true,
linkcolor=honk,
pagecolor=blue,
urlcolor=blue,
colorlinks=true,
linkbordercolor=0 0 0,
urlbordercolor=0 0 0,
pdfborder=0 0 0,
}

meine PDF-Eigenschaften. Aber anscheinend verträgt sich das mit der Erstellung eines DVI-Dokumentes nicht. Ich möchte aber während des Schreibens mit DVIs arbeiten und am Ende ein PDF erstellen. Daher wär das \ifpdf notwendig.
Nur krieg ich das auch nicht hin! :-(
Hat jemand da eine Idee?

Ciao
DaLaunge

rais
27-12-2006, 22:42
Hallo und Herzlich Willkommen :)

Ich möchte aber während des Schreibens mit DVIs arbeiten und am Ende ein PDF erstellen. Daher wär das \ifpdf notwendig.
Nur krieg ich das auch nicht hin! :-(

wie in Post#4 schon steht: \usepackage{ifpdf}...
Sonst erstell bitte ein Minimalbeispiel (http://www.minimalbeispiel.de), um die Sache für andere nachvollziehbar zu gestalten.
MfG,

DaLaunge
28-12-2006, 09:12
Hallo,

ich habe wie in Post#4 beschrieben das \usepackage{ifpdf} eingebunden, jedoch leider funktioniert das Compilieren meines Dokuments in eine DVI - Datei leider nicht. Folgende Main - Datei (versteht sich von selbst, dass alle Commands im PDF - Modus ohne Probleme funktionieren. ABER - ich krieg kein DVI hin!:

%********document standard definition********
\documentclass[12pt,a4paper]{report} %designs the layout of document pages

\newcommand{\MyTitle}{MyRealTitle}
\newcommand{\MyName}{MyRealName}
\usepackage{fancyhdr}

\usepackage{makeidx}
\usepackage{ifpdf}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{ngerman}
\usepackage{color}
\usepackage{graphicx}
\usepackage{times}
\usepackage[pdftex]{hyperref}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{subfigure}
%********document standard definition********

%*******HEADER AND FOOTER SETTINGS********
\pagestyle{fancy}
\lhead{\MyTitle}
\lfoot{\MyName}
\cfoot{Seite \thepage}
\rfoot{\today}
%*******HEADER AND FOOTER SETTINGS********

\definecolor {MyColor}{rgb}{0,0.62,0.58}
\pagenumbering{arabic} % Sets Page Numberingstyle

\ifpdf
\typeout{pdfmode}
\hypersetup{
pdftitle={\MyTitle},
pdfauthor={\MyName},
pdfsubject={},
pdfcreator={Created with LaTeX2e},
pdfproducer={MiKTeX},
pdfkeywords={} %%
bookmarksopen=true,
linkcolor=MyColor,
pagecolor=blue,
urlcolor=blue,
colorlinks=true,
linkbordercolor=0 0 0,
urlbordercolor=0 0 0,
pdfborder=0 0 0,
}
\else
\typeout{latexmode}
\fi

%*******Begin Titel*******
\title{\MyTitle}
\author{\MyName}
\date{Aktualisiert: \today}
%********Ende Titel********
\makeindex

\begin{document}
\maketitle
\tableofcontents
\newpage

blablabla...

\input{Datei1/Datei1.tex}
\input{Datei2/Datei2.tex}

\printindex

\end{document}

Ciao
DaLaunge

rais
28-12-2006, 09:33
Moin moin,


ich habe wie in Post#4 beschrieben das \usepackage{ifpdf} eingebunden, jedoch leider funktioniert das Compilieren meines Dokuments in eine DVI - Datei leider nicht. Folgende Main - Datei (versteht sich von selbst, dass alle Commands im PDF - Modus ohne Probleme funktionieren. ABER - ich krieg kein DVI hin!:

Du verlangst doch pdf:


\usepackage[pdftex]{hyperref}

laß den Treiber mal weg -- oder was versteh' ich nicht?
MfG,

DaLaunge
28-12-2006, 19:08
Hoi,

manchmal ist die Antwort so einfach! Ja, hat wunderbar geklappt, danke!!