Variable für aktuellen Absatz? Makro für flexible Texte?

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Variable für aktuellen Absatz? Makro für flexible Texte?

von RalfR » So 5. Dez 2010, 01:07

Habe nochmal recherchiert:
das Paket eemeir ist eine sehr komfortable
und umfassende Lösung des Problems.

von RalfR » Mo 1. Nov 2010, 19:29

Oh, wie es es aussieht, fehlen alle
luatexbase-*.sty-Dateien.
Sollten die nicht vom Package-Manager mit installiert werden?


*File List*
 article.cls    2007/10/19 v1.4h Standard LaTeX document class
  size10.clo    2007/10/19 v1.4h Standard LaTeX file (size option)
luatextra.sty    2010/08/02 v0.971 LuaTeX extra low-level macros
ifluatex.sty    2010/03/01 v1.3 Provides the ifluatex switch (HO)
 fontenc.sty
   t1enc.def    2005/09/27 v1.99g Standard LaTeX file
   babel.sty    2008/07/06 v3.8l The Babel package
 bblopts.cfg    2006/07/31 v1.0 MiKTeX 'babel' configuration
 english.ldf    2005/03/30 v3.3o English support from the babel system
 germanb.ldf    2008/06/01 v2.6m German support from the babel system
ngermanb.ldf    2008/07/06 v2.6n new German support from the babel system
geometry.sty    2010/09/12 v5.6 Page Geometry
  keyval.sty    1999/03/16 v1.13 key=value parser (DPC)
   ifpdf.sty    2010/01/28 v2.1 Provides the ifpdf switch (HO)
  ifvtex.sty    2010/03/01 v1.5 Switches for detecting VTeX and its modes (HO)
 ifxetex.sty    2010/09/12 v0.6 Provides ifxetex conditional
geometry.cfg
luainputenc.sty    2010/05/10 v0.97 inputenc package for LuaTeX
inputenc.sty    2008/03/30 v1.1d Input encoding file
  xspace.sty    2006/05/08 v1.12 Space after command names (DPC,MH)
everyhook.sty    2010/09/27 v1.0 (SVN Rev: 9)\ Hooks for low level TeX everyX p
rimitives.
svn-prov.sty    2010/04/24 v3.1862 Package Date/Version from SVN Keywords
etoolbox.sty    2010/09/12 v2.0a e-TeX tools for LaTeX
    etex.sty    1998/03/26 v2.0 eTeX basic definition package (PEB)
 ***********

von phi » Mo 1. Nov 2010, 19:23

RalfR hat geschrieben:Wie kriege ich die *filelist* so gelistet?
Einfach \listfiles an den Dateianfang (noch vor \documentclass) setzen. Die Dateiliste wird dann am Ende der Compilerausgabe ausgegeben.

von phi » Mo 1. Nov 2010, 19:22

KOMA hat geschrieben:
phi hat geschrieben:Es sollte unabhängig von der Distribution funktionieren, aber es ist möglich, dass in MikTeX noch nicht alle Pakete ganz aktuell sind.
War es bei MiKTeX nicht außerdem so, dass Binaries wie pdftex, luatex und xetex zwischen den MiKTeX-Releases nicht aktualisiert wurden, sondern ggf. nur Fehler in den Binaries beseitigt wurden?
Das kann natürlich sein, ich würde aber dann auf eine andere Fehlermeldung tippen. \newluaattribute ist einfach ein TeX-Makro. Vermutlich ist eher das luatextra-Paket zu alt.

von RalfR » Mo 1. Nov 2010, 19:12

Habe MikText2.9 installiert,
die Packages alle importiert und aktualisiert,
aber der Fehler ist noch der gleiche.

Wie kriege ich die *filelist* so gelistet?

von KOMA » Mo 1. Nov 2010, 16:09

phi hat geschrieben:Es sollte unabhängig von der Distribution funktionieren, aber es ist möglich, dass in MikTeX noch nicht alle Pakete ganz aktuell sind.
War es bei MiKTeX nicht außerdem so, dass Binaries wie pdftex, luatex und xetex zwischen den MiKTeX-Releases nicht aktualisiert wurden, sondern ggf. nur Fehler in den Binaries beseitigt wurden? In dem Fall sollten lualatex-Anwender eventuell zumindest MiKTeX 2.9 verwenden.

von phi » Mo 1. Nov 2010, 15:21

Es sollte unabhängig von der Distribution funktionieren, aber es ist möglich, dass in MikTeX noch nicht alle Pakete ganz aktuell sind. Hier zum Vergleich meine Dateiliste:
 *File List*
 article.cls    2007/10/19 v1.4h Standard LaTeX document class
  size10.clo    2007/10/19 v1.4h Standard LaTeX file (size option)
luatextra.sty    2010/08/02 v0.971 LuaTeX extra low-level macros
ifluatex.sty    2010/03/01 v1.3 Provides the ifluatex switch (HO)
luatexbase-modutils.sty    2010/05/27 v0.2a Module utilities for LuaTeX
luatexbase-loader.sty    2010/05/27 v0.2a Lua module loader for LuaTeX
luatexbase-compat.sty    2010/05/27 v0.2a Compatibility tools for LuaTeX
luatexbase-attr.sty    2010/05/27 v0.2a Attributes allocation for LuaTeX
luatexbase-cctb.sty    2010/05/27 v0.2a Catcodetable allocation for LuaTeX
luatexbase-regs.sty    2010/05/27 v0.2a Registers allocation for LuaTeX
    etex.sty    1998/03/26 v2.0 eTeX basic definition package (PEB)
luatexbase-mcb.sty    2010/05/27 v0.2a Callback management for LuaTeX
 environ.sty    2008/06/18 v0.2 A new way to define environments
luaotfload.sty    2010/10/16 v1.20 OpenType layout system
 fontenc.sty
   t1enc.def    2005/09/27 v1.99g Standard LaTeX file
   babel.sty    2008/07/06 v3.8l The Babel package
 english.ldf    2005/03/30 v3.3o English support from the babel system
 germanb.ldf    2008/06/01 v2.6m German support from the babel system
ngermanb.ldf    2008/07/06 v2.6n new German support from the babel system
geometry.sty    2010/09/12 v5.6 Page Geometry
  keyval.sty    1999/03/16 v1.13 key=value parser (DPC)
   ifpdf.sty    2010/01/28 v2.1 Provides the ifpdf switch (HO)
  ifvtex.sty    2010/03/01 v1.5 Switches for detecting VTeX and its modes (HO)
 ifxetex.sty    2010/09/12 v0.6 Provides ifxetex conditional
luainputenc.sty    2010/05/10 v0.97 inputenc package for LuaTeX
   lutf8.def    2010/05/10 v0.97 UTF-8 support for luainputenc
   t1enc.dfu    2008/04/05 v1.1m UTF-8 support for inputenc
  ot1enc.dfu    2008/04/05 v1.1m UTF-8 support for inputenc
  omsenc.dfu    2008/04/05 v1.1m UTF-8 support for inputenc
  xspace.sty    2006/05/08 v1.12 Space after command names (DPC,MH)
everyhook.sty    2010/09/27 v1.0 (SVN Rev: 9)\ Hooks for low level TeX everyX primitives.
svn-prov.sty    2010/04/24 v3.1862 Package Date/Version from SVN Keywords
etoolbox.sty    2010/09/12 v2.0a e-TeX tools for LaTeX
 ***********

von RalfR » Mo 1. Nov 2010, 14:14

Allein die Möglichkeit, Anweisungen aus einer strukturierten
Interpretersprache einzubetten, sieht ja ziemlich vielversprechend
aus!

Ich arbeite mit MikTex unter Windows Vista.
Die lua-Packages habe ich soweit eben installiert,
kriege aber noch eine Fehlermeldung:

! Undefined control sequence.
l.16 \newluaattribute
{\autocapitalize}
?

An sich sollte das Package doch mit MikTex funktionieren,
oder?

von phi » Mo 1. Nov 2010, 13:56

Du kannst nur mit LuaTeX auf den internen Zustand des Interpreters zugreifen; das "klassische" TeX hat kaum entsprechenden Möglichkeiten.
XeTeX bietet eine sehr eingeschränkte Möglichkeit, auf bestimmte Zeichenkombinationen zu reagieren (Zeichenklassen).
Im "klassischen" TeX gibt es den Hook \everypar, der bei jedem Absatzanfang ausgeführt wird.

Hier ein Ansatz für eine Realisierung mit LuaLaTeX:
\documentclass{article} 
\usepackage{luatextra}
\usepackage[T1]{fontenc} 
\usepackage[english,german,ngerman]{babel} 
\selectlanguage{german} 

\RequirePackage[left=3.0cm,top=2.5cm,right=2cm,bottom=3.0cm]{geometry} 

\usepackage[utf8]{luainputenc} 
\usepackage{xspace} 
\usepackage{everyhook}

\newcounter{namecounter} 
\setcounter{namecounter}{1} 

\newluaattribute{\autocapitalize}

\newcommand{\name}{%
  \setluaattribute{\autocapitalize}{1}%
  \ifodd\value{namecounter}%
  Herr Müller%
  \else 
  er%
  \fi 
  \setluaattribute{\autocapitalize}{0}%
  \stepcounter{namecounter}%
  \xspace
} 

\PushPreHook{par}{\setcounter{namecounter}{1}}

\begin{luacode}
function auto_capitalize(head, groupcode)
  local v = head
  while v do
    if v.id == 37 and v.char == 46 then
      v = v.next
      if v and v.id == 10 then
        v = v.next
        if v and v.id == 37 and node.has_attribute(v, luatexbase.attributes.autocapitalize, 1) then
          v.char = tex.getuccode(v.char)
        end
      end
    end
    v = v.next
  end
end

luatexbase.add_to_callback("pre_linebreak_filter", auto_capitalize, "auto_capitalize")
\end{luacode}

\begin{document} 
\name ist Reporter. \name kommt in der ganzen Welt herum, um Recherchen und Interviews zu machen. 
\name hat Journalistik studiert.  Wenn \name nochmal zu entscheiden hätte, würde er es wieder genauso machen. \name mag seine Arbeit sehr. 

Jetzt wechseln wir das Thema und sprechen kurz über etwas ganz Anderes: Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. at vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet 

Aber wieder zurück zum Journalismus: \\ 
{\Huge\name} ist derzeit in Amerika, um dort Kongreßabgeordnete zu interviewen. 

\end{document} 

von RalfR » Mo 1. Nov 2010, 11:54

Gibt es denn nicht vieleicht interne Variablen, die z.B. die aktuelle
Position im Text (z.B. wieviele Zeichen wurden schon geparst),
auf die man einfach zugreifen könnte?

Ich suche z.B. nach einer Liste der "Systemzustände", habe dazu
aber noch nichts gefunden.

Danke auch für die Links.

Ralf

Nach oben