Hey, ich bereite gerade einige Einladungs-Emails vor. Diese schreibe ich in LaTeX. Meine Idee ist es, dass ich nur noch den Text aus einer PDF kopieren und in eine Email einfügen muss. Ich nutze den Email-Client Thunderbird. Das Problem ist, dass ich nicht genau weiß, wie ich die Absätze erzwingen soll. Nach meinem Kopieren sieht die Email gerade so aus: Ich möchte aber, dass es so aussieht: Falls ein Minimalbeispiel erwünscht ist, poste ich auch gerne eins. Habe schon verschiedene Varianten mit Grüße 4x4is18
Ergebnis 5 von 6
show 1 more comments
|
Man kann die tolle Idee von Ulrike auch noch etwas ausbauen, beispielsweise zu: Open in Online-Editor
\documentclass{article} \usepackage{accsupp} \usepackage[pdfencoding=auto]{hyperref} \usepackage{environ} \usepackage{parskip} \newcommand*{\DuDa}{mein Freund Peter} \NewEnviron{parbecomesemptyline}{% \begingroup \def\par{^^J^^J}% \long\xdef\aBODY{\BODY}% \endgroup \BeginAccSupp{method=pdfstringdef,unicode,ActualText=\aBODY}\BODY\EndAccSupp{} } \begin{document} \begin{parbecomesemptyline} Hallo \DuDa. Und noch eine Zeile. \end{parbecomesemptyline} \end{document} Ich habe mir erlaubt, dabei auch gleich die Expansion von Variablen in Form von Makros – im Beispiel
beantwortet 18 Mär '15, 11:13 saputello |
TeX baut für vertikale Abstände in das PDF keine Leerzeilen ein, sondern setzt die vertikale Position des Folgetextes entsprechend. Genauso werden übrigens auch horizontale Abstände nicht durch eine Anzahl von Leerzeichen überbrückt, sondern eben durch horizontale Positionen. Selbst, wenn man unsichtbares Material in die Leerzeilen packt, wird das normalerweise beim Kopieren von den PDF-Viewern nicht mit kopiert. Kopiert man also beispielsweise aus dem PDF von Open in Online-Editor
\documentclass{article} \begin{document} Das ist Text. \mbox{~} ~ \rule{0pt}{\baselineskip} Und das ist wieder Text \begin{verbatim} Eine Zeile. Und dann noch eine. \end{verbatim} \end{document} den Text heraus, so erhält man nur: Das ist Text. Und das ist wieder Text Eine Zeile. Und dann noch eine.Selbst bei einen Dokument wie: Open in Online-Editor
\documentclass{article} \begin{document} \begin{flushleft} Bitte eintragen:\\ \underline{\hspace{\textwidth}}\\ \underline{\hspace{\textwidth}}\\ \underline{\hspace{\textwidth}}\\ \end{flushleft} Und das ist wieder Text \end{document} erhält man in der Regel nur die beiden Textzeilen: Bitte eintragen: Und das ist wieder TextNatürlich könnte man Einladungen auch als PDF erstellen und dann als PDF-Anhang in E-Mails kopieren. Dabei kann man auch Formulare mit hyperref oder Paketen wie formular erstellen. Bei Puristen wie mir würde man sich damit allerdings wenig Freunde machen. Wir wollen einfach nur Text per E-Mail.
Wenn man keinen Wert auf Copy&Paste legt, kann man natürlich statt eines PDFs eine DVI-Datei erzeugen und mit Open in Online-Editor
\documentclass[parskip=half-]{scrartcl} \renewcommand{\familydefault}{\ttdefault} \normalfont\raggedright \areaset{30em}{\dimexpr 40\baselineskip+\topskip\relax} \usepackage{blindtext} \begin{document} \blindtext \blindtext \end{document} nach dem Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam lobortis facilisis sem. Nullam nec mi et neque pharetra sollicitudin. Praesent imperdiet mi nec ante. Donec ullamcorper, felis non sodales commodo, lectus velit ultrices augue, a dignissim nibh lectus placerat pede. Vivamus nunc nunc, molestie ut, ultricies vel, semper in, velit. Ut porttitor. Praesent in sapien. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Duis fringilla tristique neque. Sed interdum libero ut metus. Pellentesque placerat. Nam rutrum augue a leo. Morbi sed elit sit amet ante lobortis sollicitudin. Praesent blandit blandit mauris. Praesent lectus tellus, aliquet aliquam, luctus a, egestas a, turpis. Mauris lacinia lorem sit amet ipsum. Nunc quis urna dictum turpis accumsan semper. Ähnliche Ergebnisse aus der PDF-Datei gibt es mit Open in Online-Editor
\documentclass[parskip=full-]{scrartcl} \renewcommand{\familydefault}{\ttdefault} \normalfont\raggedright \areaset{30em}{\dimexpr 40\baselineskip+\topskip\relax} \usepackage{blindtext} \begin{document} \blindtext \blindtext \end{document} Wenn man Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam lobortis facilisis sem. Nullam nec mi et neque pharetra sollicitudin. Praesent imperdiet mi nec ante. Donec ullamcorper, felis non sodales commodo, lectus velit ultrices augue, a dignissim nibh lectus placerat pede. Vivamus nunc nunc, molestie ut, ultricies vel, semper in, velit. Ut porttitor. Praesent in sapien. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Duis fringilla tristique neque. Sed interdum libero ut metus. Pellentesque placerat. Nam rutrum augue a leo. Morbi sed elit sit amet ante lobortis sollicitudin. Praesent blandit blandit mauris. Praesent lectus tellus, aliquet aliquam, luctus a, egestas a, turpis. Mauris lacinia lorem sit amet ipsum. Nunc quis urna dictum turpis accumsan semper. Wie man an den unterschiedlichen Einstellungen von Option Insgesamt denke ich nicht, dass Du in dem Fall mit LaTeX viel Freude haben wirst. Wenn Du Textvorlagen für E-Mails haben willst, solltest Du daher besser direkt eine Text-Datei dafür erstellen und aus dieser kopieren. Platzhalter kann man ggf. mit Hilfe von Suchen/Ersetzen, beantwortet 17 Mär '15, 17:50 saputello 3
Ich meine auch, in einer Mail sollte nur Text stehen. Wenn der Empfänger die Formate nicht erkennt, war sowieso alles für die Katz.
(17 Mär '15, 18:15)
cis
Das ganze als PDF zu verschicken macht wirklich wenig Sinn. Da ich 12 sehr ähnliche Einladungen verschicke war die Idee, dass ich es aus der PDF kopiere. Mit Variablen und ein paar Kontrollstrukturen kann ich den Text sehr schnell und effizent anpassen. Ich werde es dann dabei belassen und die Leerzeilen manuell einfügen. Eine umsetzung mit HTML wäre noch denkbar, würde nun aber den Arbeitsaufwand sprengen. Erst einmal danke für deine Anwort. Du hast sehr klare Worte für mein Porblem gefunden. Und nochmal an alle Anderen: Danke für eure mithilfe :). Grüße 4x4is18
(17 Mär '15, 19:13)
4x4is18
Das nervt mich nun. Muss doch eine Lösung geben. Herausforderung angenommen!
(17 Mär '15, 19:20)
4x4is18
Das ist m.E. nun wirklich kein Latex-Problem und es sollte auch nicht mit Latex -> PDF -> Text gelöst werden. Dazu ein paar Fragen: Wie erzeugst Du denn deine Latex-Dateien, die Du dann kompilierst? Manuell oder automatisch via Programmierung?
(18 Mär '15, 09:33)
dzaic
@saputello Entschuldige bitte, mir ist da ein Fehler unterlaufen. Mein Kommentar war nicht auf deinen Artikel gemünzt, sondern auf die Vorgehensweise von 4x4is8. Werde das in Zukunft deutlicher hervorheben. Du hast es ja auch ebenfalls in deinem Artikel erkannt: "Wenn Du Textvorlagen für E-Mails haben willst, solltest Du daher besser direkt eine Text-Datei dafür erstellen und aus dieser kopieren." Sorry!
(18 Mär '15, 10:59)
dzaic
|
Das ist natürlich gepfuscht: Open in Online-Editor
\documentclass{article} \usepackage{accsupp} \begin{document} Das ist Text. \BeginAccSupp{method=hex,unicode,ActualText=2063}leere Zeile\EndAccSupp{} Und das ist wieder Text \end{document} beantwortet 18 Mär '15, 10:50 Ulrike Fischer |
Hallo und willkommen. Wir wollen immer ein Minimalbeispiel. Und das nicht nur, weil LaTeX-Supporter effizient arbeiten müssen.
Ich versteh ehrlich gesagt deinen Workflow nicht. Du willst plain Text mit LaTeX auszeichnen, in eine pdf kompilieren und danach durch Kopieren von Inhalten aus einer pdf (was nie wirklich gut ist) wieder plain Text erhalten? Erklär bitte ein wenig in deiner Frage..
@4x4is18: Das Problem ist, glaube ich, bekannt. Kommt vermutlich auch auf den PDF-Viewer usw. an. Im Prinzip ist das dann kein echtes LaTeX-Problem (?).
Um ein LateX-Problem daraus zu machen, würde ich eine Frage vorschlagen wie z.B. "Wie kompliere ich ein TeX-Dokument so, dass ich neben der PDF auch eine Nur-Text-Version (in einer Textdatei) erhalte?"
@Johannes danke für deine Antwort. Mein Workflow ist: aus der Quelldatei eine PDF zu erzeugen, die durch Variablen und Kontrollstrukturen anpassbare Einladungen erzeugt. Dann aus der PDF Den Text mit richtigen Datum, Teilnehmer, Ort, Uhrzeit und individuellen Aufgaben kopieren und eine Email verschicken.
Ich habe auch schon überlegt ob es an dem PDF-Viewer liegt aber @saputello hat da eine sehr ausführliche Antwort zu geschrieben.
Nur Text-Version ist auch nicht gut, da ich variablen verwende und dann könnte ich es auch aus der Quelldatei kopieren.
@cis danke für deine Antwort :)
Wenn Du LaTeX verwenden willst, um Text- statt PDF-Dateien zu erzeugen, dann schau Dir eventuell mal »Wie schreibe ich vom Dokument aus bestimmte Texte in eine Extra-Datei« an. Ansonsten würde ich das eher mit
sed
oderawk
lösen.Du schreibst, die pdf erzeugt die verschiedenen Variablen (klingt zumindest so). Das wäre eher untypisch. Kannst du mit deinem aktuellen Arbeitsablauf keine Textdateien schreiben? Wenn die Variablenersetzung bereits auf LaTeX-Ebene geschieht, siehe @saputellos Kommentar, wenn auf Ebene einer Scriptsprache, dann siehe @saputellos Kommentar ;-).
sed
,awk
,Lua
,perl
... Die Liste ist endlos.