Eigener Font

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


Klaus
Forum-Century
Forum-Century
Beiträge: 184
Registriert: Do 27. Jan 2011, 19:30

Beitrag von Klaus »

Hi,

danke, das ist ja toll.

Ich habe es versucht auf meinen Font umzuschreiben, aber es hängt scheinbar generell an der Struktur von \newcount\charcount:

Wobei mich gerade wundert, dass hier scheinbar nur Zahlen durchlaufen werden. Allerdings erstrecken sich die Symbole, die ich bisher geefunden habe von A bis L!
:?


\documentclass[border=0.5cm,10pt,landscape]{standalone}
\usepackage{geometry}
\usepackage{xunicode, xltxtra}
\usepackage{fontspec}
\usepackage{multicol}

\newfontfamily\wfrp{WFRP3 Symbols}
\newcommand{\textwfrp}[1]{{\wfrp #1}}

\setlength{\columnsep}{0.3cm}
\setlength{\columnseprule}{1pt}
\begin{document}

\begin{multicols}{10}
\newcount\charcount
\charcount=0
\loop
\number\charcount \hspace{1ex} \textwfrp{\charcount}
\par
\ifnum\charcount<2500
\advance\charcount1
\repeat
\end{multicols}

\end{document}
Die Fehlermeldung ist:
*************************************************
* LaTeX warning: "xparse/redefine-command"
* 
* Redefining document command \oldstylenums with arg. spec. 'm' on line 107.
*************************************************
) (/usr/local/texlive/2011/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty
(/usr/local/texlive/2011/texmf-dist/tex/latex/base/fontenc.sty
(/usr/local/texlive/2011/texmf-dist/tex/latex/euenc/eu1enc.def)
(/usr/local/texlive/2011/texmf-dist/tex/latex/euenc/eu1lmr.fd))
(/usr/local/texlive/2011/texmf-dist/tex/latex/fontspec/fontspec.cfg)))
(/usr/local/texlive/2011/texmf-dist/tex/latex/realscripts/realscripts.sty
*************************************************
* LaTeX warning: "xparse/redefine-command"
* 
* Redefining document command \textsubscript with arg. spec. 's' on line 25.
*************************************************
*************************************************
* LaTeX warning: "xparse/redefine-command"
* 
* Redefining document command \textsuperscript with arg. spec. 's' on line 28.
*************************************************
) (/usr/local/texlive/2011/texmf-dist/tex/latex/metalogo/metalogo.sty))
(/usr/local/texlive/2011/texmf-dist/tex/latex/tools/multicol.sty) (./mb2.aux)
(/usr/local/texlive/2011/texmf-dist/tex/latex/tipa/t3cmr.fd)
*geometry* driver: auto-detecting
*geometry* detected driver: xetex

! LaTeX Error: Something's wrong--perhaps a missing \item.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              
                                                  
l.15 \newcount
              \charcount
Gruß,
Klaus
Bei LaTex führen mir manchmal einfach zu viele Wege nach Rom.

Benutzeravatar
iTob
Forum-Meister
Forum-Meister
Beiträge: 1221
Registriert: Mo 19. Apr 2010, 22:19
Kontaktdaten:

Beitrag von iTob »

Warum nimmst du denn auch den Problemcode vom Fragensteller und nicht eine von den Lösungen? ;-)
\documentclass[landscape]{article}
\usepackage{geometry}
\usepackage{fontspec}
\newfontfamily\wh{Zapfino}% Hier die richtige Schrift
\newcommand{\whsymb}[1]{{\wh\symbol{#1}}}
\usepackage{multicol}
\setlength{\columnseprule}{0.4pt}
\usepackage{multido}
\setlength{\parindent}{0pt}
\begin{document}
Auf Symbol zugreifen: \whsymb{38}


\begin{multicols}{10}
\multido{\i=0+1}{"10000}{% from U+0000 to U+FFFF
  \iffontchar\font\i
    \makebox[3em][l]{\i}%
    \whsymb{\i}\endgraf
  \fi
}
\end{multicols}

\end{document}
[/code]

Klaus
Forum-Century
Forum-Century
Beiträge: 184
Registriert: Do 27. Jan 2011, 19:30

Beitrag von Klaus »

iTob hat geschrieben:Warum nimmst du denn auch den Problemcode vom Fragensteller und nicht eine von den Lösungen? ;-)
Das ist natürlich ein unschlagbares Argument. ;)

Ich wollte eben noch die Frage stellen wie ich manche Symbole farbig machen kann, aber da funktioniert Latex zum Glück so rund, dass ich einfach den Syntax \color{}{<symbol>} verwenden konnte und alles ist wunderbar.

Jetzt müsste ich nur noch die Flashcards ordentlich zum Laufen kriegen und dann steht den Actioncards meiner Rollenspielrunde nichts mehr im Wege.

Nochmal vielen Dank!

Gruß,
Klaus.
Bei LaTex führen mir manchmal einfach zu viele Wege nach Rom.

Benutzeravatar
iTob
Forum-Meister
Forum-Meister
Beiträge: 1221
Registriert: Mo 19. Apr 2010, 22:19
Kontaktdaten:

Beitrag von iTob »

Das ist aber leider nicht ganz richtig. Für einzelne Buchstaben/Worte nimmst du \textcolor{Farbe}{Text} (analog: \textbf) mit \color{Farbe} (analog: \bfseries) wird die Farbe bis zum Ende der aktuellen Gruppe umgeschaltet. Dazu solltest du das Paket xcolor verwenden und vielleicht mal einen Blick in die Doku werfen ;-)

Klaus
Forum-Century
Forum-Century
Beiträge: 184
Registriert: Do 27. Jan 2011, 19:30

Beitrag von Klaus »

Hi,

ich verstehe leider nicht ganz was du meinst. Ich verwende das Paket xcolor und ein Minimalbeispiel sieht z.B. wie folgt aus:
\documentclass{scrartcl}

\usepackage{fontspec}
\usepackage{tabularx}
\usepackage{xcolor}

\newfontfamily\wfrp{WFRP3 Symbols}
\newcommand{\textwfrp}[1]{{\wfrp #1}}

\begin{document}
\begin{tabularx}{\linewidth}{cc}
H & \color{red}{\textwfrp{H}} \\
L & \color{violet}{\textwfrp{L}} \\
\end{tabularx}
\end{document} 
Da wird doch die Farbe gewechselt? Was stimmt daran nicht oder ist nur Glück, dass es funktioniert?

Im Anhang die kompilierte pdf Datei. :)

Gruß,
Klaus.
Dateianhänge
mb.pdf
(4.76 KiB) 622-mal heruntergeladen
Bei LaTex führen mir manchmal einfach zu viele Wege nach Rom.

Benutzeravatar
iTob
Forum-Meister
Forum-Meister
Beiträge: 1221
Registriert: Mo 19. Apr 2010, 22:19
Kontaktdaten:

Beitrag von iTob »

Naja, Glück nicht unbedingt, du hast jetzt hier eben gerade eine Stelle, an der zufällig passiert was du erwartes. Aber setzte dein \color{red}{\textwfrp{H}} mal irgendwo in den normalen Text.

Ich versuche mal an einem Beispiel zu erklären, was du auch in jder guten Anfängerliteratur lesen können solltest …
\documentclass[ngerman]{scrartcl}

\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{babel}


\usepackage{xcolor}

\begin{document}
\subject{Beispiele:}
\title{Schaltern und Textmakros}
\subtitle{zum Wechseln verschiedener Schrifteigenschaften}
\author{Tobias Weh}
\maketitle

\LaTeX\ kennt für alle Einstellungen die Schriften
betreffen in alle Regel zwei Varianten. Ein \emph{Textmakro}
und einen \emph{Schalter}. Die Textmakros haben ein 
Argument auf das die Wirkung beschränkt wird, wogegen Schalter
immer ab ihrem auftreten bis zum nächsten passenden Schalter
oder zum Ende der aktuellen Gruppe gelten.

Eine Gruppe ist alles was in einer Umgebung steht, aber auch
geschweifte Klammern gelten als Gruppe, wenn sie nicht gerade ein
Argument begrenzen. Ebenso beschränken Tabellen Schriftwechsel
auf die aktuelle Zelle

\minisec{Textmakro}
Dieses \textbf{Argument} wird fett. Bei Farbwechseln, kommt
zu den Argumenten jeweils eins dazu, d.\,h. Textmakros haben
nun zwei und Schalter ein Argument. Dieser \textcolor{red}{Text}
wird rot.

\minisec{Schalter in Gruppe}
{Hier beginnt eine einfache Gruppe und ab \bfseries hier
ist alles bis zum Ende der Gruppe fett.} Nach der Gruppe
ist die Einstellung wie zuvor.
\begin{quote}
   Aber auch in einer Umgebung kann ich ab \bfseries hier
   bis zum Umgebungsende umschalten
\end{quote}
Nach der Umgebung ist die Einstellung wie zuvor.

Beim Wechseln der Schriftgröße sollte man darauf achten, dass
die Gruppe auch mit einem Absatz enden, sonst kann \TeX\ den
Zeilenabstand nicht richtig bestimmen. Zur Berechnung desselben
wird immer die am \emph{Ende} des Absatzes gültige Schriftgröße
herangezogen.

{Analog geht das mit \color{blue} Farben, so dass ab hier
alles blau wird.} Nach der Gruppe
ist die Einstellung wie zuvor.
\begin{quote}
   Aber auch in einer Umgebung kann ich ab \color{blue} hier
   bis zum Umgebungsende umschalten
\end{quote}
Nach der Umgebung ist die Einstellung wie zuvor.

\minisec{Schalter mit Gegenschalter}
Ich kann hier \bfseries auf fett schalten und nun \mdseries
wieder zurück. Analog ab hier \color{orange} auf orange und
zurück zu \normalcolor schwarz.

\bigskip
\color{gray} Natürlich funktionieren die {\color{green} Schalter}
und \textcolor{orange}{Textmakros} auch gemischt. Das Grau bleibt
jetzt bis zum Dokumenten aktiv.
\end{document}
Warum führt jetzt dein \color{red}{\textwfrp{H}} also zum gewünschten Ergebnis? Weil die Tabellenzelle – und nich die {} um \textwfrp{H} – die Wirkung von \color begrenzen. An dieser Stelle kannst du das also getrost so einsetzten und die zweite {} weglassen, da sie hier keine Wirkung haben (können). Würde ich auch so machen. Du musst nur im Hinterkopf haben, dass das im Fließtext zu unerwarteten Ergebnissen führt: Ab \color{red}{\textwfrp{H}} wäre alles rot, egal ob mit oder ohne {} um \text…. Hier musst du also entweder die Gruppenbegrenzung richtig setzten – {\color{red}\textwfrp{H}} – oder ein Textmakro nehmen – \textcolor{red}{\textwfrp{H}}. Ich bevorzuge letzteres.

Klaus
Forum-Century
Forum-Century
Beiträge: 184
Registriert: Do 27. Jan 2011, 19:30

Beitrag von Klaus »

Hi iTob,

danke für die ausführliche Antwort und das mehr als Minimal-Beispiel. :)

Ich denke ich habe den Unterschied verstanden.

Viele Grüße,
Klaus.
Bei LaTex führen mir manchmal einfach zu viele Wege nach Rom.

Antworten