goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Bücher:

LaTeX für Dummies


Forenstatistik:
Beiträge: 42290
Seitenaufrufe:
342140 PIs (Mai 2012)

Top-Poster: KOMA (2637)

Wir begrüßen unseren neuesten Benutzer Yvaine.

Partner:

KOMA-Script



TeXblog



LaTeX Community




Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Eigene Struktur zum steuern, wie oft etwas wiederholt wird

 

Gast
Gast

Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.05.2012, 14:00     Titel: Eigene Struktur zum steuern, wie oft etwas wiederholt wird
  Antworten mit Zitat      
Hallo,

ich würde gerne eine eigentilch simple eigendefinition erstellen. Ich hätte gerne ein eigene Struktur, über die ich steuern kann, wie häufig ein zeichen wiederholt ausgegeben werden soll.

Bsp:
\mycommand[14]{testzeichen }

In diesem Beispiel hätte ich dann gerne die ausgabe von testzeichen testzeichen testzeichen testzeichen ... testzeichen 14 mal.

Leider habe ich bisher noch nicht den richtigen Ansatz gefunden. Habt ihr mit dafür eine Lösung oder einen Tip?

Danke

bloodworks
Moderator
Moderator


Beiträge: 1428
Anmeldedatum: 19.01.09
Wohnort: /dev/null
Version: MacTeX 2011
     Beitrag Verfasst am: 11.05.2012, 14:22     Titel:
  Antworten mit Zitat      
Das ist relativ simpel:
Code:

\documentclass{report}


\newcommand\mycom[2][\mydefault]{%
  \def\mydefault{1}%
  \newcount\n
  \n=0
  \loop #2
  \advance\n by 1
  \ifnum \n < #1\repeat
}
\begin{document}
\mycom[10]{y}
\end{document}
 


Ich empfehle dazu texbytopic
_________________

[1] Nützliche Webdokumente für Anfänger und Fortgeschrittene
[2] Minimalbeispiel | [3] FAQ
[4] Regelwerk | [5] Knigge
Wenn nicht anderst angegeben ist mein System: texlive 2012, pdflatex, x86-64, Snow Leopard utd.
Angehöriger der Liga zur Verwendung von texdoc
texdoc mathmode koma l2picfaq l2tabu lshort-en
Achtung: Aufforderungen ein Minimalbeispiel oder mehr Erklärungen zu einer Frage zu liefern sind keine persönlichen Angriffe. Sie dienen viel mehr dazu die Kommunikation zwischen Fragendem und potentiellen Helfern zu erleichtern und zu präzisieren.

Private Nachricht senden Benutzer-Profile anzeigen

Besserwisser
Gast

Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.05.2012, 14:47     Titel:
  Antworten mit Zitat      
Weder \newcount (das ist ein plainTeX-Befehl) noch \newcounter (die LaTeX-Anweisung zum Anfordern eines neuen LaTeX-Zählers) sollten innerhalb der Anweisung stehen. Dabei wird nämlich dann bei jedem Aufruf der Anweisung ein neues Zählerregister belegt aber nie wieder frei gegeben. \newcount und \newcounter gehören deshalb (wie \newlength, \newskip etc.) global, außerhalb der Definition der Anweisung \mycom verwendet.

BTW: Das ifthen-Paket bietet ebenfalls Schleifenkonstrukte wie \while. Es gibt auch ein Paket, das für Zähler verwendet werden kann, die lediglich lokal benötigt werden. Ich habe nur vergessen wie das heißt, weil ich in diesen Fällen einfach einen der temporär nutzbaren Zähler des LaTeX-Kern verwende, beispielsweise \@tempcnta.

Sepp99
Forum-Meister
Forum-Meister


Beiträge: 1492
Anmeldedatum: 29.08.10
Wohnort: Offenhausen/OÖ
Version: TXC 2.0 Beta 1-MiKTeX2.9 / TeXstudio2.5-Texlive 2012
     Beitrag Verfasst am: 11.05.2012, 14:50     Titel:
  Antworten mit Zitat      
Workaround mit Schleife:
Code:
\documentclass{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{ifthen}

\newcounter{ctra}

\newcommand*{\schleife}[2]{%
\setcounter{ctra}{0}
\whiledo {\value{ctra} < #2}%
{%
\large #1%
\stepcounter {ctra}%
}}

\begin{document}
\schleife{A}{5}

\schleife{G}{15}

\end{document}


Dazu http://www.matthiaspospiech.de/blog.....schleifen/#toc-if-abfrage

Gruß, Sepp.-

EDIT: etwas zu spät
_________________

[1] Wichtige Dokumente [2] Knigge und Regelwerk
[3] TeXnicCenter und MiKTeX
[4] Minimalbeispiel und Fehlersuche [5] Status und Statusänderung
Private Nachricht senden Benutzer-Profile anzeigen

bloodworks
Moderator
Moderator


Beiträge: 1428
Anmeldedatum: 19.01.09
Wohnort: /dev/null
Version: MacTeX 2011
     Beitrag Verfasst am: 11.05.2012, 16:37     Titel:
  Antworten mit Zitat      
Besserwisser hat Folgendes geschrieben:
Weder \newcount (das ist ein plainTeX-Befehl) noch \newcounter (die LaTeX-Anweisung zum Anfordern eines neuen LaTeX-Zählers) sollten innerhalb der Anweisung stehen. Dabei wird nämlich dann bei jedem Aufruf der Anweisung ein neues Zählerregister belegt aber nie wieder frei gegeben. \newcount und \newcounter gehören deshalb (wie \newlength, \newskip etc.) global, außerhalb der Definition der Anweisung \mycom verwendet.

BTW: Das ifthen-Paket bietet ebenfalls Schleifenkonstrukte wie \while. Es gibt auch ein Paket, das für Zähler verwendet werden kann, die lediglich lokal benötigt werden. Ich habe nur vergessen wie das heißt, weil ich in diesen Fällen einfach einen der temporär nutzbaren Zähler des LaTeX-Kern verwende, beispielsweise \@tempcnta.


Zu 1. ja -> schlamperrei

Zu BTW: Ja das sollte aber in diesem Fall egal sein und um etwas zu zeigen ist es sicher besser auch zu zeigen wo der Befehl (oder Zähler) herkommt.
_________________

[1] Nützliche Webdokumente für Anfänger und Fortgeschrittene
[2] Minimalbeispiel | [3] FAQ
[4] Regelwerk | [5] Knigge
Wenn nicht anderst angegeben ist mein System: texlive 2012, pdflatex, x86-64, Snow Leopard utd.
Angehöriger der Liga zur Verwendung von texdoc
texdoc mathmode koma l2picfaq l2tabu lshort-en
Achtung: Aufforderungen ein Minimalbeispiel oder mehr Erklärungen zu einer Frage zu liefern sind keine persönlichen Angriffe. Sie dienen viel mehr dazu die Kommunikation zwischen Fragendem und potentiellen Helfern zu erleichtern und zu präzisieren.

Private Nachricht senden Benutzer-Profile anzeigen

cgnieder
Forum-Guru
Forum-Guru


Beiträge: 364
Anmeldedatum: 22.10.10
Wohnort: Herrenberg
Version: TeX Live 2012
     Beitrag Verfasst am: 11.05.2012, 18:51     Titel:
  Antworten mit Zitat      
Nur der Vollständigkeit halber hier die expl3-Lösung:

Code:
\documentclass{article}
\usepackage{xparse}

\ExplSyntaxOn
\NewDocumentCommand \myrepeat { O{1}m }
  {
    \int_zero:N \l_tmpa_int
    % Schleife nur bis zum vorletzten Mal, damit wir ein Leerzeichen nur zwischen
    % nicht aber nach der letzten Ausgabe haben
    \int_while_do:nNnn { \l_tmpa_int } < { #1 - 1 }
      { \int_incr:N \l_tmpa_int #2 \tl_use:N \c_space_tl }
    #2
  }
\ExplSyntaxOff

\begin{document}

\myrepeat[4]{test}!

\myrepeat{nur einmal}?

\myrepeat[100]{oft}!

\end{document}



Grüße

repeat.png
 Beschreibung:

Download
 Dateiname:  repeat.png
 Dateigröße:  13.18 KB
 Heruntergeladen:  64 mal

_________________

Clemens
------------------------------
System: TeXlive 2012, OpenSUSE 12.2
Web: LaTeX and chemistry
BTW: Was ist ein Minimalbeispiel überhaupt?
Wie man Fragen richtig stellt
Private Nachricht senden Benutzer-Profile anzeigen

bloodworks
Moderator
Moderator


Beiträge: 1428
Anmeldedatum: 19.01.09
Wohnort: /dev/null
Version: MacTeX 2011
     Beitrag Verfasst am: 11.05.2012, 22:19     Titel:
  Antworten mit Zitat      
cgnieder hat Folgendes geschrieben:
Nur der Vollständigkeit halber hier die expl3-Lösung:
...hehehe jetzt fehlt nur noch die Context Lösung...
_________________

[1] Nützliche Webdokumente für Anfänger und Fortgeschrittene
[2] Minimalbeispiel | [3] FAQ
[4] Regelwerk | [5] Knigge
Wenn nicht anderst angegeben ist mein System: texlive 2012, pdflatex, x86-64, Snow Leopard utd.
Angehöriger der Liga zur Verwendung von texdoc
texdoc mathmode koma l2picfaq l2tabu lshort-en
Achtung: Aufforderungen ein Minimalbeispiel oder mehr Erklärungen zu einer Frage zu liefern sind keine persönlichen Angriffe. Sie dienen viel mehr dazu die Kommunikation zwischen Fragendem und potentiellen Helfern zu erleichtern und zu präzisieren.

Private Nachricht senden Benutzer-Profile anzeigen

cgnieder
Forum-Guru
Forum-Guru


Beiträge: 364
Anmeldedatum: 22.10.10
Wohnort: Herrenberg
Version: TeX Live 2012
     Beitrag Verfasst am: 11.05.2012, 22:30     Titel:
  Antworten mit Zitat      
bloodworks hat Folgendes geschrieben:
...hehehe jetzt fehlt nur noch die Context Lösung...
Damit kann ja vielleicht einer von denen dienen? Smile
_________________

Clemens
------------------------------
System: TeXlive 2012, OpenSUSE 12.2
Web: LaTeX and chemistry
BTW: Was ist ein Minimalbeispiel überhaupt?
Wie man Fragen richtig stellt
Private Nachricht senden Benutzer-Profile anzeigen

Neues Thema eröffnen Neue Antwort erstellen



Options and Permissions
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen
.

goLaTeX ist ein Teil des goForen-Labels
goForen.de goMATLAB.de goLaTeX.de goPCB.de


  Impressum | Werbung/Mediadaten | FAQ | goLaTeX RSS Button RSS-Feed

Copyright © 2008 - 2013 goLaTeX.de
Partner: LabVIEWforum.de