Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Selektives Ausschalten von Latexbefehlen

228 views
Skip to first unread message

Thomas Feldmann

unread,
Dec 8, 2010, 3:59:56 PM12/8/10
to
Hallo,

ich beginne derzeit mit meiner Promotion und verwende im Moment LaTeX
zur Erstellung meiner Dokumente (soll auch so bleiben). Leider sind
die anderen Mitglieder der Arbeitsgruppe sowie der Professor Word
Nutzer.
Ich habe ein wenig herumprobiert und mk4ht mit oolatex Option bringt
ganz gute Ergebnisse. Nur leider kann es nicht mit allen Paketen
umgehen. Im speziellen verwende ich siunitx und mhchem (kann nicht
darauf verzichten).

Daher wollte ich gern wissen ob man folgendes erreichen kann.

1. normale Nutzung durch mich alle Pakete und Befehle werden normal
verwendet

2. Konvertierung in .odt: nicht kompatible Pakete werden
auskommentiert (das kann ich per Hand machen), Befehle dieser Pakete
werden einfach von Latex ignoriert und erscheinen im .odt bspw. als
\SI{1}{kg} oder \cf{CaSO4}. Da müsste ich dann nur suchen und ersetzen
drüberlaufen lassen.

Geht sowas über renewcommand? Dadurch kann ich das Dokument, dann
schnell wieder in den ursprünglichen Zustand brinden indem ich diese
Befehle auskommentiere und die Pakete wieder einbinde.

Ich wäre dankbar für Beispielcode oder sonstige Hilfestellungen. Eine
Diskussion darüber die anderen von Latex zu überzeugen will ich nicht
lostreten.

Vielen Dank für die Hilfe.

Gruß aus dem kalten Montreal

Thomas

Heiko Oberdiek

unread,
Dec 8, 2010, 4:35:19 PM12/8/10
to
Thomas Feldmann <thomas.fe...@gmail.com> wrote:

> ich beginne derzeit mit meiner Promotion und verwende im Moment LaTeX
> zur Erstellung meiner Dokumente (soll auch so bleiben). Leider sind
> die anderen Mitglieder der Arbeitsgruppe sowie der Professor Word
> Nutzer.
> Ich habe ein wenig herumprobiert und mk4ht mit oolatex Option bringt
> ganz gute Ergebnisse. Nur leider kann es nicht mit allen Paketen
> umgehen. Im speziellen verwende ich siunitx und mhchem (kann nicht
> darauf verzichten).

mk4ht lädt das Paket `tex4ht' nach \documentclass. Das könnte man
detektieren, um die Fallunterscheidung zu automatisieren.

\documentclass[...]{...}

\makeatletter
\newif\ifhtmlexport
\@ifpackageloaded{tex4ht}\htmlexporttrue\htmlexportfalse
\makeatother

> 1. normale Nutzung durch mich alle Pakete und Befehle werden normal
> verwendet

\ifhtmlexport
\usepackage{...}
\else

> 2. Konvertierung in .odt: nicht kompatible Pakete werden
> auskommentiert (das kann ich per Hand machen), Befehle dieser Pakete
> werden einfach von Latex ignoriert und erscheinen im .odt bspw. als
> \SI{1}{kg} oder \cf{CaSO4}. Da müsste ich dann nur suchen und ersetzen
> drüberlaufen lassen.

\newcommand*{\cmd}[1]{%
\textbackslash #1%
}
\newcommand*{\arg}[1]{%
\textbraceleft#1\textbraceright
}%
\newcommand*{\SI}[2]{%
\cmd{SI}\arg{#1}\arg{#2}%
}%
\newcommand*{\cf}[1]{%
\cmd{cf}\arg{#1}%
}%
\fi

--
Heiko Oberdiek

Axel Berger

unread,
Dec 8, 2010, 8:48:00 PM12/8/10
to
*Thomas Feldmann* wrote on Wed, 10-12-08 21:59:

>Leider sind die anderen Mitglieder der Arbeitsgruppe sowie der Professor
>Word Nutzer.

Heikos Lösung ist wie immer großartig. Dennoch möchte ich den Ansatz
infragestellen. Dissertationen und Entwürfe werden traditionell auf
Papier eingereicht. Es mag heute angemessen sein, digitale Versionen zu
erwarten, das ist dann sinnvollerweise PDF. Wenn Behörden die
Verwendung bestimmter einzelner prprietärer Marktanbieter fordern, dann
ist das offene Korruption. Man stelle sich vor, ein Arbeitgeber ließe
Angestellte Dienstreisen mit dem eigenen Auto machen (nicht
ungewöhnlich) und versuchte, sie zum Kauf bestimmter Hersteller und
bestimmter Marken zu zwingen.

Auch aus praktischen Erwägungen sehe ich den Vorteil nicht. Wenn zwei
Teamkollegen, die beide Word verwenden, einzelne Abschnitte kopieren
und übernehmen wollen, dann geht das meines Wissens nur dann problemlos
und ohne Nacharbeit, wenn sie sich zuvor auf exakt dasselbe
Seitenlayout, exakt denselben Font usw. usf. geeinigt haben. Mit etwas
Nacharbeit und Anpassung kann man aber genausogut auch aus einem PDF
herauskopieren, zweckmäßigerweise mit einer Zwischenablage als
Text.txt, um überflüssigen Müll loszuwerden.

--
Tschö wa
Axel

Thomas Feldmann

unread,
Dec 9, 2010, 5:49:26 PM12/9/10
to
On 8 Dez., 16:35, Heiko Oberdiek <heiko.oberd...@googlemail.com>
wrote:

> Thomas Feldmann <thomas.feldmann....@gmail.com> wrote:
> > ich beginne derzeit mit meiner Promotion und verwende im Moment LaTeX
> > zur Erstellung meiner Dokumente (soll auch so bleiben). Leider sind
> > die anderen Mitglieder der Arbeitsgruppe sowie der Professor Word
> > Nutzer.
> > Ich habe ein wenig herumprobiert und mk4ht mit oolatex Option bringt
> > ganz gute Ergebnisse. Nur leider kann es nicht mit allen Paketen
> > umgehen. Im speziellen verwende ich siunitx und mhchem (kann nicht
> > darauf verzichten).
>
> mk4ht l dt das Paket `tex4ht' nach \documentclass. Das k nnte man

> detektieren, um die Fallunterscheidung zu automatisieren.
>
> \documentclass[...]{...}
>
> \makeatletter
> \newif\ifhtmlexport
> \@ifpackageloaded{tex4ht}\htmlexporttrue\htmlexportfalse
> \makeatother
>
> > 1. normale Nutzung durch mich alle Pakete und Befehle werden normal
> > verwendet
>
> \ifhtmlexport
>   \usepackage{...}
> \else
>
> > 2. Konvertierung in .odt: nicht kompatible Pakete werden
> > auskommentiert (das kann ich per Hand machen), Befehle dieser Pakete
> > werden einfach von Latex ignoriert und erscheinen im .odt bspw. als
> > \SI{1}{kg} oder \cf{CaSO4}. Da m sste ich dann nur suchen und ersetzen
> > dr berlaufen lassen.

>
>   \newcommand*{\cmd}[1]{%
>     \textbackslash #1%
>   }
>   \newcommand*{\arg}[1]{%
>     \textbraceleft#1\textbraceright
>   }%
>   \newcommand*{\SI}[2]{%
>     \cmd{SI}\arg{#1}\arg{#2}%
>   }%
>   \newcommand*{\cf}[1]{%
>     \cmd{cf}\arg{#1}%
>   }%
> \fi
>
> --
> Heiko Oberdiek

Hallo Heiko,

vielen Dank für die schnelle Hilfe. Ich glaube in deinem Beispiel war
then und else der if-funktion vertauscht. Zumindest lief es nicht
folgendes funktioniert bei mir jetzt aber.


\makeatletter
\newif\ifhtmlexport
\@ifpackageloaded{tex4ht}\htmlexporttrue\htmlexportfalse
\makeatother

\ifhtmlexport
\newcommand*{\cmd}[1]{\textbackslash #1}
\newcommand*{\argu}[1]{\textbraceleft#1\textbraceright}
\newcommand*{\SI}[2]{\cmd{SI}\argu{#1}\argu{#2}}
\newcommand*{\cf}[1]{\cmd{cf}\argu{#1}}
\newcommand*{\keV}[0]{\cmd{keV}}
\newcommand*{\eV}[0]{\cmd{eV}}
\renewcommand*{\cf}[1]{\cmd{cf}\argu{#1}}
\usepackage[draft]{hyperref}
\else
\usepackage{siunitx}
\usepackage[version=3]{mhchem}
\usepackage[]{hyperref}
\fi

Danke nochmals...

Thomas

0 new messages