PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Balken (Fortschrittsbalken) im Fließtext - passendes Package?



Spindoctor
31-08-2010, 20:36
Hallo!

In meinem CV möchte ich gerne auf ansehnliche Art und Weise verdeutlichen, wie gut ich eine bestimmte Sache (etwa Sprache, oder LaTeX,...) beherrsche. Ich dachte an eine Art Fortschrittsbalken der umso voller ist, je besser ich in einer Sache bin.

Bis jetzt hab ich kein Paket gefunden, dass mir sowas machen kann. Gibt kennt ihr eines?

Wenn nicht, habe ich mir gedacht, es wäre eine gute Gelegenheit, so ein Package zu programmieren und dabei gleich ein wenig was dazuzulernen (damit ich bei LaTeX den Balken gleich ganz voll machen kann ;-) ). Was denkt ihr, ist das realistisch?

Danke schonmal!

e. hindman
31-08-2010, 21:21
\definecolor{balkenfarbe}{rgb}{0.7,0.2,0.2}
\newlength{\basis}\setlength{\basis}{3cm} %Länge bei 100%
\newlength{\hoehe}\setlength{\hoehe}{1,5ex}
\newlength{\balkenlaenge}
\newcommand*{\Balken}[1]{%
\setlength{\balkenlaenge}{0.01\basis}
\setlength{\balkenlaenge}{#1\balkenlaenge}
\textcolor{balkenfarbe}{\rule{\balkenlaenge}{\hoeh e}}}
Mit diesem Code erstelle ich mir Balkendiagramme, \Balken{50} ergibt z.B. einen Balken von 1,5cm. Der ursprüngliche Autor möge mir verzeihen dass ich nicht mehr weiß woher ich's hab.

Spindoctor
01-09-2010, 09:31
danke für die Antwort!

Das Problem ist weniger, dass ich keine schönen Balken machen kann (hab gestern schon an einer ganz netten pgf/tikz Lösung gebastelt), sondern dass es langweilig wär, die immer und immer wieder so aufwändig einzufügen.

Außerdem könnt ich mir vorstellen, dass auch andere Leute dann und wann mal einen netten Fortschrittsbalken brauchen könnten.

Daher meine Frage, ob es dazu schon ein Paket gibt, und wenn nicht, ob es für einen Anfänger im Paketprogrammieren ein realistisches Projekt ist.

e. hindman
01-09-2010, 12:50
Da hab ich wohl deinen Ausgangspost nicht ganz gründlich gelesen.

Unter dem englischen Begriff "bar chart" findet man das ein oder andere zu dem Thema, z.B.
http://www.ctan.org/tex-archive/graphics/pstricks/contrib/pst-bar/
http://www.burningcutlery.com/derek/bargraph/
oder
http://www.ctan.org/tex-archive/help/Catalogue/entries/bar.html
Aber ich habe den Eindruck dass die Pakete ziemlich alt sind und in der Handhabung ihre Tücken haben. Wenn du der Welt etwas besseres anbieten kannst, hau in die Tasten.

voss
01-09-2010, 13:51
Unter dem englischen Begriff "bar chart" findet man das ein oder andere zu dem Thema, z.B.


chart ist ja nun wieder was völlig anderes.
Es gibt meines Wissens kein Paket für Fortschrittbalken.

Herbert

Spindoctor
01-09-2010, 18:06
chart ist ja nun wieder was völlig anderes.

stimmt.

Glaubst Du ist es realistisch, als Anfänger im Paket-Programmieren sowas umzusetzen?

Und noch eine Frage, wenn grad der pstricks-Experte mitliest:

Habe mich mal intuitiv für pgf statt entschieden (obwohl ich das noch gar nicht so gut kann). Der Grund dafür war, dass ich möglichst simple Paket-Abhängigkeiten wollte, und pstricks diesbezüglich wohl etwas tiefere Einschnitte in das Dokument des/der Users/in machen würde. Ist das nachvollziehbar, oder wär pstricks (wie so oft) die bessere Wahl?

voss
01-09-2010, 18:28
stimmt.

Glaubst Du ist es realistisch, als Anfänger im Paket-Programmieren sowas umzusetzen?

das erste Paket ist natürlich immer etwas schwieriger, aber
von nichts kommt nichts. Und das Erfolgserlebnis ist
hinterher sehr groß, wenn man sich denn durchgebissen hat!



Habe mich mal intuitiv für pgf statt entschieden (obwohl ich das noch gar nicht so gut kann). Der Grund dafür war, dass ich möglichst simple Paket-Abhängigkeiten wollte, und pstricks diesbezüglich wohl etwas tiefere Einschnitte in das Dokument des/der Users/in machen würde. Ist das nachvollziehbar, oder wär pstricks (wie so oft) die bessere Wahl?

Eher umgekehrt. PSTricks benötigt außer xkeyval und xcolor gar nichts.
Und die könnte man auch noch weglassen.
pgf bzw. tikz aber jede Menge, was auch logisch ist, da
es eine TeX-Lösung ist. Du solltest das nehmen, was du
meinst besser zu können. Wenn du erstmal das Paket fertig
hast, kannst du imemr noch optional pstricks oder pgf zulassen.

Herbert

Spindoctor
01-09-2010, 18:34
ich mein eher vom kompilieren her.

Mit PSTricks muss man ja anders kompilieren als bei 0815-LaTeX-Dokumenten (sagt man 0815 in Deutschland? Heißt jdfs. ganz normale LaTeX-Dokumente). Nur weil wer einen Fortschrittsbalken in seinem/ihrem Dokument haben will, wird die Person aber nicht gleich den Kompilierungsprozess umstellen wollen. Deshalb dachte ich, dass pgf die bessere Wahl ist.

Und bei der Paketerstellung bin ich mir ja der Hilfe dieses schönen Forums gewiss ;-)

mechanicus
01-09-2010, 18:42
Und bei der Paketerstellung bin ich mir ja der Hilfe dieses schönen Forums gewiss ;-)
Irgendwann fängt jeder an :-) Ich bin auch gerade dabei mich einzuarbeiten und es gibt schon diverse Tricks. Aber aufgrund der super Community hat es dann doch irgendwie gepasst. Also denke ich schon, dass es bei dir auch passt.

Ich persönlich nutze auch eher pstricks. Allerdings ist pgf / tikz relativ kompilierungsunabhängig, wodurch ich dir pgf empfehlen würde.

Gruß
Marco

voss
01-09-2010, 19:06
ich mein eher vom kompilieren her.

Mit PSTricks muss man ja anders kompilieren als bei 0815-LaTeX-Dokumenten (sagt man 0815 in Deutschland? Heißt jdfs. ganz normale LaTeX-Dokumente). Nur weil wer einen Fortschrittsbalken in seinem/ihrem Dokument haben will, wird die Person aber nicht gleich den Kompilierungsprozess umstellen wollen. Deshalb dachte ich, dass pgf die bessere Wahl ist.


na ja, wenn man \usepackage{auto-pst-pdf} und
pdflatex -shell-escape datei.tex
als Herausforderung betrachtet ist dem wohl so.
Nimmt man xelatex oder XeTeX muss man gar nichts
beachten.

Herbert

mechanicus
01-09-2010, 19:16
na ja, wenn man \usepackage{auto-pst-pdf} und
pdflatex -shell-escape datei.tex
als Herausforderung betrachtet ist dem wohl so.
Für mich besteht die Herausforderung in der Beschränkung der Umgebung. Folgendes MB:

\documentclass{article}
\usepackage{pstricks}
\usepackage{pst-node}
\usepackage{auto-pst-pdf}
\begin{document}
\rnode{A}{Text}

\vspace*{4cm}

Text \rnode{B}{Text }
\ncline{A}{B}
\end{document}

Natürlich ist dieser Fall eher unwahrscheinlich.

epstopdf ist ja seit TL2010 ohne shell-escape nutzbar. Warum nicht auto-pst-pdf? Ich habe bisher keine Möglichkeit gefunden, dieses Paket identisch zu behandeln.

Gruß
Marco

voss
01-09-2010, 21:26
Für mich besteht die Herausforderung in der Beschränkung der Umgebung. Folgendes MB:

\documentclass{article}
\usepackage[pdf]{pstricks}
\usepackage{pst-node}
\begin{document}
\begin{postscript}
\rnode{A}{Text}

\vspace*{4cm}

Text \rnode{B}{Text }
\ncline{A}{B}
\end{postscript}
\end{document}

Natürlich ist dieser Fall eher unwahrscheinlich.

epstopdf ist ja seit TL2010 ohne shell-escape nutzbar. Warum nicht auto-pst-pdf? Ich habe bisher keine Möglichkeit gefunden, dieses Paket identisch zu behandeln.


Wie kommst du darauf, dass es ohne -shell-escape geht?

Wer kein \usepackage{microtype} braucht, kann doch ohne weiteres
XeLateX nehmen und braucht überhaupt nichts weiter zu beachten.

Herbert

voss
01-09-2010, 21:29
Ich persönlich nutze auch eher pstricks. Allerdings ist pgf / tikz relativ kompilierungsunabhängig, wodurch ich dir pgf empfehlen würde.


Unter der Voraussetzung, dass du nichts besonderes machst, denn den
pgf-Entwicklern ist die CTAN-Gemeinde komplett egal, sodass seit Jahren (!!)
kein Update mehr gekommen ist und sich jeder selbst darum kümmern
kann ... und das muss man bei einigen Paketen machen, die die CVS-Version
verwenden.

Herbert

Spindoctor
01-09-2010, 22:36
ok!
danke für die Infos!

Wie ihr Euch vorstellen könnt, kann ich mit vielen dieser Begriffe noch nicht viel anfangen. Hab bisher brav meine pstricks Bilder gemalt und dann eben einen anderen Kompilierungsweg eingeschlagen.

Werd also mal mein Paket mit pgf machen (ist ja eh nix besonderes). Das Ergebnis werd ich hier posten und dann mal sehen, ob sich das in pstricks übersetzen lässt. Die Hauptarbeit sind sicher eh die diversen Berechnungen rundherum und nicht das Zeichnen des Balken selbst.

mechanicus
02-09-2010, 17:05
Wie kommst du darauf, dass es ohne -shell-escape geht?


Folgendes funktioniert ohne shell-escape:

\documentclass{article}
\usepackage{graphicx,epstopdf}
\usepackage{filecontents}
\begin{filecontents*}{Bild.eps}
%!
%%BoundingBox: 0 0 130 22
/Courier findfont
20 scalefont
setfont
0 1 moveto
(Hallo Welt!) show
showpage
\end{filecontents*}
\begin{document}
\includegraphics{Bild}
\end{document}

Gruß
Marco

rais
02-09-2010, 20:03
Moin Marco,

Folgendes funktioniert ohne shell-escape:

\documentclass{article}
\usepackage{graphicx,epstopdf}
\usepackage{filecontents}
\begin{filecontents*}{Bild.eps}
%!
%%BoundingBox: 0 0 130 22
/Courier findfont
20 scalefont
setfont
0 1 moveto
(Hallo Welt!) show
showpage
\end{filecontents*}
\begin{document}
\includegraphics{Bild}
\end{document}

Afaik hat TeXLive 2010 \write18 von Haus aus zwar `restricted', aber freigegeben. Schau in Deine .log


This is pdfTeX, Version 3.1415926-1.40.11 (TeX Live 2010) (format=pdflatex 2010.8.21) 2 SEP 2010 20:30
entering extended mode
restricted \write18 enabled.
(schnipp)

BTW: Du bräuchtest epstopdf hier nicht mal mehr (selbst) zu laden.;)

MfG

mechanicus
02-09-2010, 20:07
Hi,

genau das ist ja der Punkt. Ich würde gerne die Stelle im TL-Code finden, in der ich auto-pst-pdf identisch behandeln kann. Weißt du jetzt, worauf ich hinaus möchte?

Gruß
Marco

voss
02-09-2010, 22:09
Folgendes funktioniert ohne shell-escape:

\documentclass{article}
\usepackage{graphicx,epstopdf}
\usepackage{filecontents}
\begin{filecontents*}{Bild.eps}
%!
%%BoundingBox: 0 0 130 22
/Courier findfont
20 scalefont
setfont
0 1 moveto
(Hallo Welt!) show
showpage
\end{filecontents*}
\begin{document}
\includegraphics{Bild}
\end{document}


weil du ausdrücklich TeX erlaubt hast, epstopdf auszuführen ...

=> /texlive/2010/texmf/web2c/texmf.cnf

Herbert

voss
02-09-2010, 22:11
genau das ist ja der Punkt. Ich würde gerne die Stelle im TL-Code finden, in der ich auto-pst-pdf identisch behandeln kann. Weißt du jetzt, worauf ich hinaus möchte?


auto-pst-pdf ist eine völlig andere Schiene als eine bestehende
eps umzuwandeln. Wenn du nur -shell-escape sparen willst, dann
musst du in der lokalen texmf.cnf -> /usr/local/texlive/2010/
die Ausführung der Programme latex, dvips, ps2pdf und pdfcrop erlauben.

Herbert

voss
02-09-2010, 22:12
Afaik hat TeXLive 2010 \write18 von Haus aus zwar `restricted', aber freigegeben. Schau in Deine .log


nein, nur für explizit erwähnte Programme!

Herbert

rais
02-09-2010, 23:03
nein, nur für explizit erwähnte Programme!

danke!

MfG

rais
02-09-2010, 23:10
auto-pst-pdf ist eine völlig andere Schiene als eine bestehende
eps umzuwandeln. Wenn du nur -shell-escape sparen willst, dann
musst du in der lokalen texmf.cnf -> /usr/local/texlive/2010/
die Ausführung der Programme latex, dvips, ps2pdf und pdfcrop erlauben.

das genügt imho nicht. Afaics wird in auto-pst-pdf auf \ifshellespape (von ifplatform zur Verfügung gestellt) getestet -- und dieser Test dürfte nach wie vor false ergeben, unabhängig davon, was Marco alles in seiner shell_escape_commands-Variablen einträgt.

MfG

voss
03-09-2010, 08:29
das genügt imho nicht. Afaics wird in auto-pst-pdf auf \ifshellespape (von ifplatform zur Verfügung gestellt) getestet -- und dieser Test dürfte nach wie vor false ergeben, unabhängig davon, was Marco alles in seiner shell_escape_commands-Variablen einträgt.


da hast du recht, das hatte ich nicht beachtet!

Herbert

mechanicus
03-09-2010, 16:43
Hi,

ich kann ja in der texmf.cnf die Zeile einfügen:

shell_escape=t
allerdings ist dann shell-escape standardmäßig. Das kann ja nicht das Ziel sein.

Gruß
Marco

u_fischer
03-09-2010, 17:31
Du kannst auto-pst-pdf in deinem Dokument linken:


\documentclass{article}
\usepackage{pdftexcmds}
\makeatletter
\chardef\pdf@shellescape=1
\makeatother

\usepackage{auto-pst-pdf}

\begin{document}
abc
\end{document}

voss
03-09-2010, 20:23
Du kannst auto-pst-pdf in deinem Dokument linken:


löst aber noch nicht das Problem ...

(/usr/local/texlive/2010/texmf-dist/tex/generic/oberdiek/etexcmds.sty))

! Package catchfile Error: File `latex1.w18' not found.

See the catchfile package documentation for explanation.
Type H <return> for immediate help.
...

l.81 \CatchFileDef\@tempa{\ip@file}{}


Herbert

voss
03-09-2010, 20:24
ich kann ja in der texmf.cnf die Zeile einfügen:

shell_escape=t
allerdings ist dann shell-escape standardmäßig. Das kann ja nicht das Ziel sein.


eben ...

Herbert

rais
04-09-2010, 20:14
löst aber noch nicht das Problem ...

(/usr/local/texlive/2010/texmf-dist/tex/generic/oberdiek/etexcmds.sty))

! Package catchfile Error: File `latex1.w18' not found.

See the catchfile package documentation for explanation.
Type H <return> for immediate help.
...

l.81 \CatchFileDef\@tempa{\ip@file}{}


wenn's weiter nix is...


\begin{filecontents}{\jobname.w18}
catch this;-)
\end{filecontents}
\documentclass{article}
\usepackage{pdftexcmds}
\makeatletter
\chardef\pdf@shellescape=1
\makeatother

\usepackage{auto-pst-pdf}

\begin{document}
abc
\end{document}

aber
a) befürchte ich, daß ich das Problem nur verlager und
b) imho der ganze Aufwand mehr Arbeit bedeutet, als -shell-escape beim pdfLaTeX-Aufruf mit anzugeben.

MfG

voss
04-09-2010, 20:29
wenn's weiter nix is...


\begin{filecontents}{\jobname.w18}
catch this;-)
\end{filecontents}

aber
a) befürchte ich, daß ich das Problem nur verlager und
b) imho der ganze Aufwand mehr Arbeit bedeutet, als -shell-escape beim pdfLaTeX-Aufruf mit anzugeben.


das ist schon klar, nur ist es jetzt kein wirklicher Schreibtest und
berücksichtigt auch nicht die -output-directory Option. Wie auch immer, b) dürfte wohl der Fall sein ...

Herbert