Das Problem war hier schon mal Thema, aber mir gelingt es nicht, die Lösung umzusetzen. Wie kann ich an die Definition, die zwischen %Ausgangscode und %endAusgangscode gegeben ist, einen Parameter so übergeben, daß immer dort wo "any" erscheint, ein beliebiger Text erscheint, sodaß ich die einfache anynotes-Definition in beliebig viele Definitionen transformieren kann(anynotes, mynotes, newnotes.. etc)?

Open in writeLaTeX
Code, hier editierbar zum Übersetzen:
\documentclass[a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
%Ausgangscode
\newcounter{anynote}
\newwrite\theanynotes
\immediate\openout\theanynotes=\jobname.any\relax
\newcommand{\anynote}[1]{
\stepcounter{anynote}{\tiny\textsuperscript{\raisebox{1ex}{\hbox{\kern-0.0em\theanynote\kern-0.0em}}}}
\immediate\write\theanynotes{\theanynote\ #1 \par}}
\newcommand{\displayanynotes}[1]{\vspace{1\baselineskip}\immediate\closeout\theanynotes\par\tiny\textbf{#1}\par\input\jobname.any\normalsize}%
%endAusgangscode
\begin{document}
Hier ist der\anynote{anynote}Testtext.
Hier ist der\anynote{anynote}Testtext.
\displayanynotes{Anynotes}
\end{document}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

gefragt 24 Mär '14, 01:20

ctansearch's gravatar image

ctansearch
(ausgesetzt)
Akzeptiert-Rate: 18%

bearbeitet 24 Mär '14, 20:07

cgnieder's gravatar image

cgnieder
22.1k253463


Das kann man so machen: einen Befehl drum herum basteln:

Open in writeLaTeX
Code, hier editierbar zum Übersetzen:
\newcommand\newnotetype[1]{%
...
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

in diesem Befehl jedes Vorkommnis von »any« durch #1 ersetzen. Wenn das Teile von Makronamen betrifft, diese mit \csname ...\endcsname aufrufen und wo nötig rechtzeitig expandieren, z.B. bei

Open in writeLaTeX
\expandafter\newwrite\csname the#1notes\endcsname
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Außerdem muss man jedes vorherige auftauchen von #1 durch ##1 ersetzen (grundsätzlich gilt: jedes # muss verdoppelt werden -- bei weiterer Verschachtelung würde aus ##1 dann konsequenterweise ein ####1):

Open in writeLaTeX
Code, hier editierbar zum Übersetzen:
\documentclass[a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\newcommand\newnotetype[1]{%
\newcounter{#1note}%
\expandafter\newwrite\csname the#1notes\endcsname
\expandafter\immediate\expandafter\openout
\csname the#1notes\endcsname=\jobname.#1\relax
%
\expandafter\newcommand\csname#1note\endcsname[1]{%
\stepcounter{#1note}%
{%
\tiny\textsuperscript{%
\raisebox{1ex}{\hbox{\kern-0.0em\csname the#1note\endcsname\kern-0.0em}}%
}%
}%
\expandafter\immediate\expandafter\write\csname the#1notes\endcsname
{\csname the#1note\endcsname\ \unexpanded{##1 \par}}%
}%
%
\expandafter\newcommand\csname display#1notes\endcsname[1]{%
\vspace{1\baselineskip}%
\expandafter\immediate\expandafter\closeout
\csname the#1notes\endcsname
\par\tiny\textbf{##1}\par
\input\jobname.#1\normalsize
}%
}
\newnotetype{any}
\newnotetype{my}
\newnotetype{foo}
\begin{document}
Hier ist der\anynote{any note} Testtext.
Hier ist der\mynote{my note} Testtext.
Hier ist der\anynote{any note} Testtext.
Hier ist der\foonote{foo note} Testtext.
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

alt text

Permanenter link

beantwortet 24 Mär '14, 10:11

cgnieder's gravatar image

cgnieder
22.1k253463
Akzeptiert-Rate: 60%

bearbeitet 25 Mär '14, 08:23

@Clemens Sehr schöne Lösung. Mit \textcolor{red}{\anynote{any}} kann man zusätzlich jede Markierung farblich nach Belieben kennzeichnen.

(24 Mär '14, 23:17) ctansearch

@ctansearch man könnte auch die Definition von \newnotetype so abändern, dass man eine gewünschte Farbe für die Nummern angibt. Dann könnte man im Text weiterhin einfach \anynote verwenden. Man kann natürlich auch durch umdefinieren von \theanynote einfach die Zählerdarstellung ändern, zum Beispiel in alphabetische Zählung

(25 Mär '14, 01:04) cgnieder

Zur Vervollständigung: Im folgenden Code kann man beliebig viele neue Notes-Typen anlegen, diese farblich absetzen und in einer Tabelle oder nach Belieben auflisten. Den Code integriere ich später in mbenotes.sty, er funktioniert aber auch eigenständig.

Open in writeLaTeX
Code, hier editierbar zum Übersetzen:
\documentclass[a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{xcolor}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%newNOTES%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand\newnotestype[2]{%
\newcounter{#1note}%
\expandafter\newwrite\csname the#1notes\endcsname
\expandafter\immediate\expandafter\openout\csname
the#1notes\endcsname=\jobname.#1\relax %
\expandafter\newcommand\csname #1note\endcsname[1]{%
\stepcounter{#1note}%
{%
\tiny\textsuperscript\expandafter\textcolor{#2}{{%
\raisebox{1ex}{\hbox{\kern-0.0em\csname
the#1note\endcsname\kern-0.0em}}}}%
\expandafter\immediate\expandafter\write\csname the#1notes\endcsname%
{\csname the#1note\endcsname\ \unexpanded{##1 \par}}%
}}%
%
\expandafter\newcommand\csname display#1notes\endcsname[1]{%
\vspace{1\baselineskip}%
\expandafter\immediate\expandafter\closeout%
\csname the#1notes\endcsname%
\par\tiny\expandafter\textcolor{#2}{\textbf{##1}}\par%
\input\jobname.#1%
}}%
\usepackage{longtable}
\parindent=0pt
\newnotestype{new}{red}
\newnotestype{ade}{magenta}
\newnotestype{any}{blue}
\begin{document}
Ein Testtext\adenote{Anmerkung} mit vier\newnote{Anmerkung}
verschiedenen\anynote{Anmerkung}\newnote{Anmerkung} farblich gekennzeichneten
Anmerkungen.Ein Testtext ohne verschiedene farbliche Anmerkungen.
\vspace{-2\baselineskip}
\begin{longtable}[l]{p{2cm}p{2cm}p{2cm}}
\displaynewnotes{new}&\displayadenotes{ade}&\displayanynotes{any}\\
\end{longtable}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Permanenter link

beantwortet 27 Mär '14, 01:11

ctansearch's gravatar image

ctansearch
(ausgesetzt)
Akzeptiert-Rate: 18%

Deine Antwort
[Vorschau ausblenden]

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Frage-Themen:

×52
×18

gestellte Frage: 24 Mär '14, 01:20

Frage wurde gesehen: 13,278 Mal

zuletzt geändert: 27 Mär '14, 01:11

Willkommen, erstes Mal hier? Schau mal unter FAQ!

×