¿Cómo puedo obtener una lista de todas las combinaciones de \fontfamily{...}\fontseries{...}?

¿Cómo puedo obtener una lista de todas las combinaciones de \fontfamily{...}\fontseries{...}?

Alguien me acaba de sugerir en el contexto deotra preguntaconsiderar uno o dos\fontfamily{...}\fontseries{...} combinaciones; pero no estoy muy interesado en esas opciones. ¿Cómo puedo verificar?todo¿Estas combinaciones están instaladas/disponibles en mi sistema?

Nota:Estaría bien haciendo esto fuera de LaTeX, por ejemplo, desde el shell o incluso usando algún mecanismo específico de distribución de TeX (yo uso TeXLive), si no hay una mejor opción.

Respuesta1

No todos los valores posibles, pero puede obtener una descripción general de las opciones más comunes si coloca el mouse sobre el comando en cuestión en texstudio:

(Esto no verifica si todas las fuentes están instaladas en su sistema y cuáles de los pesos tienen realmente)

ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí

Respuesta2

Las descripciones de las fuentes generalmente se guardan en .fdarchivos (pero no es obligatorio, algunos paquetes pueden definir las fuentes directamente en el .styarchivo).

El comando de shell

fd '^[tT]1.*\.fd$' /usr/local/texlive/2017/texmf-dist/tex/latex | wc -l

(fdes un script que proporciona una interfaz más simple que find) devuelve 555.

Por lo tanto, hay 555 familias de fuentes que admiten la codificación T1 (y 502 para la codificación OT1, con una línea de comando similar).

Ahora tu tarea es mirar dentro de cada .fdarchivo que te interesa y extraer la información relacionada con la forma y la serie proporcionada en la familia de fuentes. Por ejemplo, T1Roboto-LF.fdcontiene

%% Generated by autoinst on 2015/09/15
%%
\ProvidesFile{T1Roboto-LF.fd}
    [2015/09/15 (autoinst)  Font definitions for T1/Roboto-LF.]

\expandafter\ifx\csname Roboto@scale\endcsname\relax
    \let\Roboto@@scale\@empty
\else
    \edef\Roboto@@scale{s*[\csname Roboto@scale\endcsname]}%
\fi

\DeclareFontFamily{T1}{Roboto-LF}{}

\DeclareFontShape{T1}{Roboto-LF}{l}{sc}{
      <-> \Roboto@@scale Roboto-Light-lf-sc-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{l}{n}{
      <-> \Roboto@@scale Roboto-Light-lf-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{l}{it}{
      <-> \Roboto@@scale Roboto-LightItalic-lf-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{l}{scit}{
      <-> \Roboto@@scale Roboto-LightItalic-lf-sc-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{l}{scsl}{
      <-> ssub * Roboto-LF/l/scit
}{}

\DeclareFontShape{T1}{Roboto-LF}{l}{sl}{
      <-> ssub * Roboto-LF/l/it
}{}

\DeclareFontShape{T1}{Roboto-LF}{k}{sc}{
      <-> \Roboto@@scale Roboto-Black-lf-sc-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{k}{n}{
      <-> \Roboto@@scale Roboto-Black-lf-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{k}{it}{
      <-> \Roboto@@scale Roboto-BlackItalic-lf-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{k}{scit}{
      <-> \Roboto@@scale Roboto-BlackItalic-lf-sc-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{k}{scsl}{
      <-> ssub * Roboto-LF/k/scit
}{}

\DeclareFontShape{T1}{Roboto-LF}{k}{sl}{
      <-> ssub * Roboto-LF/k/it
}{}

\DeclareFontShape{T1}{Roboto-LF}{b}{sc}{
      <-> \Roboto@@scale Roboto-Bold-lf-sc-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{b}{n}{
      <-> \Roboto@@scale Roboto-Bold-lf-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{b}{it}{
      <-> \Roboto@@scale Roboto-BoldItalic-lf-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{b}{scit}{
      <-> \Roboto@@scale Roboto-BoldItalic-lf-sc-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{b}{scsl}{
      <-> ssub * Roboto-LF/b/scit
}{}

\DeclareFontShape{T1}{Roboto-LF}{b}{sl}{
      <-> ssub * Roboto-LF/b/it
}{}

\DeclareFontShape{T1}{Roboto-LF}{mb}{sc}{
      <-> \Roboto@@scale Roboto-Medium-lf-sc-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{mb}{n}{
      <-> \Roboto@@scale Roboto-Medium-lf-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{mb}{it}{
      <-> \Roboto@@scale Roboto-MediumItalic-lf-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{mb}{scit}{
      <-> \Roboto@@scale Roboto-MediumItalic-lf-sc-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{mb}{scsl}{
      <-> ssub * Roboto-LF/mb/scit
}{}

\DeclareFontShape{T1}{Roboto-LF}{mb}{sl}{
      <-> ssub * Roboto-LF/mb/it
}{}

\DeclareFontShape{T1}{Roboto-LF}{m}{sc}{
      <-> \Roboto@@scale Roboto-Regular-lf-sc-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{m}{n}{
      <-> \Roboto@@scale Roboto-Regular-lf-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{m}{it}{
      <-> \Roboto@@scale Roboto-Italic-lf-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{m}{scit}{
      <-> \Roboto@@scale Roboto-Italic-lf-sc-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{m}{scsl}{
      <-> ssub * Roboto-LF/m/scit
}{}

\DeclareFontShape{T1}{Roboto-LF}{m}{sl}{
      <-> ssub * Roboto-LF/m/it
}{}

\DeclareFontShape{T1}{Roboto-LF}{t}{sc}{
      <-> \Roboto@@scale Roboto-Thin-lf-sc-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{t}{n}{
      <-> \Roboto@@scale Roboto-Thin-lf-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{t}{it}{
      <-> \Roboto@@scale Roboto-ThinItalic-lf-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{t}{scit}{
      <-> \Roboto@@scale Roboto-ThinItalic-lf-sc-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{t}{scsl}{
      <-> ssub * Roboto-LF/t/scit
}{}

\DeclareFontShape{T1}{Roboto-LF}{t}{sl}{
      <-> ssub * Roboto-LF/t/it
}{}

\DeclareFontShape{T1}{Roboto-LF}{bx}{sl}{
      <-> ssub * Roboto-LF/b/sl
}{}

\DeclareFontShape{T1}{Roboto-LF}{bx}{scsl}{
      <-> ssub * Roboto-LF/b/scsl
}{}

\DeclareFontShape{T1}{Roboto-LF}{bx}{sc}{
      <-> ssub * Roboto-LF/b/sc
}{}

\DeclareFontShape{T1}{Roboto-LF}{bx}{n}{
      <-> ssub * Roboto-LF/b/n
}{}

\DeclareFontShape{T1}{Roboto-LF}{bx}{it}{
      <-> ssub * Roboto-LF/b/it
}{}

\DeclareFontShape{T1}{Roboto-LF}{bx}{scit}{
      <-> ssub * Roboto-LF/b/scit
}{}

\endinput

que dice que la fuente proporciona la serie

  • l(luz)
  • k(negro)
  • b(atrevido)
  • mb(negrita media)
  • m(medio o regular)
  • t(delgado)

y lo define bxcomo un alias para b.

Los descriptores, aparte de my, bson esencialmente cadenas arbitrarias. La Guía de fuentes LaTeX ( texdoc fntguide) enumera sólo algunos valores "comunes". Lo que llama un paquete de fuentes kpuede ser muy diferente de otro.

Respuesta3

Este sitio web podría ayudar. Útil para comprobar las fuentes disponibles.

https://tug.org/FontCatalogue/

Respuesta4

La lista es aún mayor. Es de final abierto. La respuesta es x.

Ahora que xelatex y lualatex pueden acceder a las fuentes del sistema, no sólo a las tex/latex, la lista ha crecido enormemente.

Más,

Supongamos que uso el fontspecpaquete y defino una familia de fuentes \setromanfont{Noto Serif}[y luego nombro una de sus series 仢uly asigno una fuente no relacionada a esa serie, FontFace={仢ul}{n}{Font=SimSun},y lo hago varias veces.

y tiene \DeclareRobustCommand{\仢ulseries}{\fontseries{仢ul}\selectfont}

y

\DeclareTextFontCommand{\仢textul}{\仢ulseries}

y luego llamar a la serie con

\仢textul{\sampletext} {\仢ulseries \sampletext}

donde \sampletextse define como

\newcommand\sampletext{了亶他件}

y lo hago para tantas series (y formas) como quiero o necesito,

entonces entiendo

serie misteriosa

Sin embargo, la lista estaría limitada por las limitaciones del sistema.

información relacionada