Hallo! In den Open in writeLaTeX
\DeclareFontShape {<encoding>} {<family>} {<series>} {<shape>} {...} {...} anhand dieser Informationen ließe sich durch den Befehl Open in writeLaTeX
%\usefont {<encoding>} {<family>} {<series>} {<shape>} % Zum Beispiel: \usefont {T1} {fco} {m} {it} eine neue Schrift auswählen. Hier hat ein Nutzer einen Suchbefehl Open in writeLaTeX
find /usr/share/texmf* -name "*.fd" -exec \ sed -n '/#/ !s!.*\DeclareFontShape{\([^}]*\)}{\([^}]*\)}'\ '{\([^}]*\)}{\([^}]*\)}.*!\1\t\2\t\3\t\4\t'{}'!p' {} \; | sort -f -k2,2 -k1 | uniq dafür angegeben, der eine Liste des Typs Open in writeLaTeX
OML aer bx it /usr/share/texmf-dist/tex/latex/ae/omlaer.fd OML aer bx n /usr/share/texmf-dist/tex/latex/ae/omlaer.fd OML aer bx sc /usr/share/texmf-dist/tex/latex/ae/omlaer.fd ausgibt. Hierzu die Fragen:
Zwei Bemerkungen: (i) Der Suchbefehl ist für Linux; weiß jmd. evtl. wie man das auch für Windows machen könnte? (ii) Das Minimalbeispiel unten ist ggf. nicht gut, bei einer Matheschrift (letztes Beispiel) liefert es kuriose Ergebnisse, vll. weiß jmd., wie man das besser machen könnte. Open in writeLaTeX
\documentclass[12pt]{article} \parindent0pt \usepackage{selinput} \SelectInputMappings{adieresis={ä},germandbls={ß}} \newcommand{\ABC}{% ABCDEFGHIJKLMNOPQURSTUVWYZ Ä Ö Ü \par abcdefghijklmnopqrstuvwxyz ä ö ü ß\par 0123456789\par .,:;-!" '\$\%\&/@\_\S\#\textasciitilde\textbackslash\textless\textgreater[]\{\}() } %\usefont {encoding} {family} {series} {shape} %Beispiele für family: %lmssq ffm fvm fau fco fau lmtt ppl bch \begin{document} \verb+\usefont {T1} {fco} {m} {n}+ \\ \usefont {T1} {fco} {m} {it} \ABC \\ \verb+\usefont {T1} {fco} {m} {it}+ \\ \usefont {T1} {fco} {m} {it} \ABC \\ \verb+\usefont {U} {msb} {m} {n}+ \\ \usefont {U} {msb} {m} {n} \ABC \\ \end{document} Danke fürs Lesen und das Interesse!
Ergebnis 5 von 8
show 3 more comments
|
Ich kann mal zeigen, was ich bis jetzt habe: Zunächst habe ich eine Open in writeLaTeX
!config # FontLister rule for arara # version: 0.1 # requires arara 3.0+ identifier: fontlister name: FontLister command: <arara> @{program} @{search} arguments: - identifier: program flag: <arara> @{parameters.program} default: C:\texlive\Cygwin\bin\bash.exe - identifier: search flag: <arara> @{parameters.search} default: -c "/bin/find /cygdrive/c/texlive -name '*.fd' -exec /bin/sed -n '/#/ !s!.*\DeclareFontShape{\([^}]*\)}{\([^}]*\)}{\([^}]*\)}{\([^}]*\)}.*!\1;\2;\3;\4;'{}'!p' {} \; | /bin/sort -f -k2,2 -k1 | /bin/uniq > @{getBasename(file)}.csv" Mit Open in writeLaTeX
L7x;uzc;b;it;/cygdrive/c/texlive/2013/texmf-dist/tex/latex/lithuanian/l7xuzc.fd LAE;aealbattar;bx;n;/cygdrive/c/texlive/2013/texmf-dist/tex/latex/arabi/laeaealbattar.fd LAE;aealbattar;m;n;/cygdrive/c/texlive/2013/texmf-dist/tex/latex/arabi/laeaealbattar.fd LAE;asv;bx;n;/cygdrive/c/texlive/2013/texmf-dist/tex/latex/arabi/laeasv.fd LAE;asv;m;n;/cygdrive/c/texlive/2013/texmf-dist/tex/latex/arabi/laeasv.fd LAE;cmr;b;n;/cygdrive/c/texlive/2013/texmf-dist/tex/latex/arabi/laecmr.fd LAE;cmr;bx;it;/cygdrive/c/texlive/2013/texmf-dist/tex/latex/arabi/laecmr.fd *Hinweis: Mit diesem willkürlichen Auszug funktioniert der Code unten auf jeden Fall.* Und dann verwende ich ein Dokument, was diese Daten einliest. Ich habe dabei einmal angefangen, auzuschließen, was nicht ging (Kodierungen, Familien). Abgesehen davon, daß das so eine ziemliche Sisyphusarbeit ist das so nicht gut: Z.B. die Family Kurz: Verbesserungsvorschläge wären wünschenswert. Gerne auch in Form einer Überarbeitungsantwort - ich kann dann diese AW wieder löschen. Open in writeLaTeX
%Möglichst nur einmal laufen lassen! ==== % arara: fontlister %============================ %arara: pdflatex \documentclass[12pt, numbers=enddot]{scrartcl} \usepackage[utf8]{inputenc} \usepackage{selinput} \SelectInputMappings{adieresis={ä}, germandbls={ß}} \usepackage[ LAE, B1, BCG, BCQ, IL2, L7X, T1, LBL, LBM, LBS, LCY, LCYW, LFE, LG, LGI, LGR, LMC, LSI, LTH, LTW, LY1, OML, OMS, OT1, OT2, OT4, QX, T1, T2A, T2B, T2C, T3, T5, TS1, X2, ]{fontenc} %\usepackage[utf8]{inputenx} % \usepackage[ngerman]{babel} \usepackage{datatool} \usepackage{xcolor} %\usepackage{hyperref} %Überschriften \setkomafont{disposition}{\normalcolor\usefont{T1}{lmtt}{\bfdefault}{n}}%\bfseries\ttfamily \newcommand{\ABC}{% ABCDEFGHIJKLMNOPQURSTUVWYZ Ä Ö Ü \par abcdefghijklmnopqrstuvwxyz ä ö ü ß\par 0123456789\par .,:;-!" '\$\%\&/@\_\S\#\textasciitilde\textbackslash\textless\textgreater[]\{\}() } %\usepackage{filecontents} % %\begin{filecontents}{mydata.csv} %8r;bch;b;it;/cygdrive/c/texlive/2013/texmf-dist/tex/latex/psnfss/8rbch.fd %B1;auncl;b;n; %T1;etr;b;n;/cygdrive/c/texlive/2013/texmf-dist/tex/latex/archaic/t1etr.fd %\end{filecontents} \DTLsetseparator{;} \DTLloaddb[ noheader, keys={encoding,family,series,shape,adress} ]{mydb} {\jobname.csv} %{mydata.csv} \begin{document} %\tableofcontents %\newpage \DTLforeach*[ \not\DTLiseq{\encoding}{8r} \and\not\DTLiseq{\encoding}{C00} \and\not\DTLiseq{\encoding}{C01} \and\not\DTLiseq{\encoding}{C05} \and\not\DTLiseq{\encoding}{C09} \and\not\DTLiseq{\encoding}{C10} \and\not\DTLiseq{\encoding}{C11} \and\not\DTLiseq{\encoding}{C19} \and\not\DTLiseq{\encoding}{C20} \and\not\DTLiseq{\encoding}{C21} \and\not\DTLiseq{\encoding}{C31} \and\not\DTLiseq{\encoding}{C32} \and\not\DTLiseq{\encoding}{C33} \and\not\DTLiseq{\encoding}{C34} \and\not\DTLiseq{\encoding}{C35} \and\not\DTLiseq{\encoding}{C36} \and\not\DTLiseq{\encoding}{C37} \and\not\DTLiseq{\encoding}{C40} \and\not\DTLiseq{\encoding}{C41} \and\not\DTLiseq{\encoding}{C42} \and\not\DTLiseq{\encoding}{C43} \and\not\DTLiseq{\encoding}{C49} \and\not\DTLiseq{\encoding}{C50} \and\not\DTLiseq{\encoding}{C52} \and\not\DTLiseq{\encoding}{C60} \and\not\DTLiseq{\encoding}{C61} \and\not\DTLiseq{\encoding}{C62} \and\not\DTLiseq{\encoding}{C63} \and\not\DTLiseq{\encoding}{C64} \and\not\DTLiseq{\encoding}{C65} \and\not\DTLiseq{\encoding}{C70} \and\not\DTLiseq{\encoding}{C80} \and\not\DTLiseq{\encoding}{C81} \and\not\DTLiseq{\encoding}{C90} \and\not\DTLiseq{\encoding}{EU1} \and\not\DTLiseq{\encoding}{EU2} \and\not\DTLiseq{\encoding}{FML} \and\not\DTLiseq{\encoding}{HE8} \and\not\DTLiseq{\encoding}{JT1} \and\not\DTLiseq{\encoding}{JT2} \and\not\DTLiseq{\encoding}{JY1} \and\not\DTLiseq{\encoding}{JY2} \and\not\DTLiseq{\encoding}{L7X} %nicht L7x %\and\not\DTLiseq{\encoding}{LAE} \and\not\DTLiseq{\encoding}{LCH} \and\not\DTLiseq{\encoding}{LCT} \and\not\DTLiseq{\encoding}{LDV} \and\not\DTLiseq{\encoding}{LET} \and\not\DTLiseq{\encoding}{Let} \and\not\DTLiseq{\encoding}{LHE} \and\not\DTLiseq{\encoding}{LIT} \and\not\DTLiseq{\encoding}{LKL} \and\not\DTLiseq{\encoding}{LMA} \and\not\DTLiseq{\encoding}{LHE} \and\not\DTLiseq{\encoding}{LMO} \and\not\DTLiseq{\encoding}{LMS} \and\not\DTLiseq{\encoding}{LMU} \and\not\DTLiseq{\encoding}{LS1} \and\not\DTLiseq{\encoding}{LS2} \and\not\DTLiseq{\encoding}{LSB1} \and\not\DTLiseq{\encoding}{LSB2} \and\not\DTLiseq{\encoding}{LSB3} \and\not\DTLiseq{\encoding}{LSB} \and\not\DTLiseq{\encoding}{LSBC1} \and\not\DTLiseq{\encoding}{LSBC2} \and\not\DTLiseq{\encoding}{LSBC3} \and\not\DTLiseq{\encoding}{LSBC4} \and\not\DTLiseq{\encoding}{LSBC5} \and\not\DTLiseq{\encoding}{LSF} \and\not\DTLiseq{\encoding}{LSI} \and\not\DTLiseq{\encoding}{LTA} \and\not\DTLiseq{\encoding}{LTG} \and\not\DTLiseq{\encoding}{LTL} \and\not\DTLiseq{\encoding}{LTW} \and\not\DTLiseq{\encoding}{LUC} \and\not\DTLiseq{\encoding}{MDA} \and\not\DTLiseq{\encoding}{MDB} \and\not\DTLiseq{\encoding}{MKR} \and\not\DTLiseq{\encoding}{mTT} \and\not\DTLiseq{\encoding}{MY1} \and\not\DTLiseq{\encoding}{MY2} \and\not\DTLiseq{\encoding}{MY3} \and\not\DTLiseq{\encoding}{OMX} \and\not\DTLiseq{\encoding}{T1R} \and\not\DTLiseq{\encoding}{U} \and\not\DTLiseq{\encoding}{UT1} \and\not\DTLiseq{\encoding}{LMO} %\and\not\DTLiseq{\encoding}{LBS} %\and\not\DTLiseq{\encoding}{LMO} %\and\not\DTLiseq{\encoding}{LMO} %\and\not\DTLiseq{\encoding}{LMO} %\and\not\DTLiseq{\encoding}{LMO} \and\not\DTLiseq{\family}{etr} \and\not\DTLiseq{\family}{aehani} \and\not\DTLiseq{\family}{aehor} \and\not\DTLiseq{\family}{aeostorah} \and\not\DTLiseq{\family}{aerehan} \and\not\DTLiseq{\family}{andlso} \and\not\DTLiseq{\family}{ararial} \and\not\DTLiseq{\family}{arcour} \and\not\DTLiseq{\family}{aromega} \and\not\DTLiseq{\family}{arsimpo} \and\not\DTLiseq{\family}{artimes} \and\not\DTLiseq{\family}{asv} \and\not\DTLiseq{\family}{cmr} %Nicht gut weil auch in anderen Kodierungen!!!!! \and\not\DTLiseq{\family}{dthuluth} \and\not\DTLiseq{\family}{dtpn} \and\not\DTLiseq{\family}{dtpnsp} \and\not\DTLiseq{\family}{kacstbook} \and\not\DTLiseq{\family}{maghribi} \and\not\DTLiseq{\family}{naskhi} \and\not\DTLiseq{\family}{reqaa} \and\not\DTLiseq{\family}{traditionalarabic} \and\not\DTLiseq{\family}{bskm} \and\not\DTLiseq{\family}{bsksy} %\and\not\DTLiseq{\family}{ararial} %\and\not\DTLiseq{\family}{ararial} %\and\not\DTLiseq{\family}{ararial} %\and\not\DTLiseq{\family}{ararial} ]{mydb} {\encoding=encoding, \family=family, \series=series, \shape=shape, \adress=adress}{% \section[\textbackslash usefont\{\encoding\}\{\family\}\{\series\}\{\shape\}]{\textbackslash usefont\{\encoding\}\{\family\}\{\series\}\{\shape\} \\ \footnotesize{found in: \adress}} \begingroup \usefont{\encoding}{\family}{\series}{\shape} \ABC \endgroup } \end{document} beantwortet 20 Jun '14, 02:44 cis Das Ausschließen der Ansonsten könnnte man so
bestimmte Kombinationen ausschließen. Aber das ist auch nicht gut, weil manche Familien
(20 Jun '14, 20:27)
cis
|
Ich weiß halt nicht, wie ich auf diese Listendaten
OML aer bx it
OML aer bx n
...
zugreifen kann :(
Man könnte vll. auch mit
Cygwin
arbeiten, wenn solche komplizierten Suchen in Windows nicht möglich sind - für Linux scheint die Suche ja gelöst zu sein.@cis: Wenn Du die Ausgabe von
find
ein eine Datei schreiben lässt, kannst Du diese mitdatatool
verarbeiten. Stattfind
könnte man auch gleich einperl
-Skript schreiben, das die Suche erledigt, und eine entsprechende LaTeX-Datei erzeugt. Das sollte dann auch unter Windows funktionieren (wenn manperl
installiert hat, was immer zu empfehlen ist). BTW: Warum verwendest Du den Font im T1- oder U-Encoding, wenn diefd
-Datei ein anderes Encoding enthält? Die Ausgabe würde ich übrigens als Tabelle über die\char
-Codes machen (sieheencguide
).Das mit
datatool
klingt nach einem guten Tip. Da ist aber evtl. erstmal das Problem: "Windows, Linux oder nicht usw." Ich versuche das gerade mitcygwin
. StattPerl
hoffe ich eher auch arara, weil ich das eher verstehe und weils gut ist (und man ggf. kein Perl braucht, auch wenns sich's sicher lohnt) ;)PS: Ah, jetzt weiß ich, was Du meinst, mit dem char-Code. Ja, muß ich mal da suchen. €dit: Aja, alles klar! Gute Idee!
@Ijon Tichy: "perl-Skript" - Ich glaube, das ist hier so ziemlich die letzte Hoffnung. Aber wenn Du sowas schreiben kannst, ich kann's nicht :|
@cis: Wäre es nicht viel einfacher, luaLaTeX oder XeLaTeX zu verwenden und sich einfach anzuschauen, was an Systemfonts installiert ist? Dazu bringen die meisten Systeme eigene recht komfortable Werkzeuge mit oder man verwendet einschlägige Tools wie den Windows Fonts Viewer.
Mhh, Systemfonts sind die Fonts, die ich unter
C:\windows\fonts
habe? Ja, die sind ja bekannt und eine Art Übersicht hat man dazu direkt in dem Ordner. Nö, ich will ja die Fonts, die mir TeXLive liefert.@cis: Was ich bisher ganz vergaß: Für die Fonts in TeX Live gibt es auch den
fontsampler
. Ich glaube aber nicht, dass der noch aktuell ist.