Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Fonts Pandoc`lang`选项使字体难看_Fonts_Latex_Pandoc_Cyrillic - Fatal编程技术网

Fonts Pandoc`lang`选项使字体难看

Fonts Pandoc`lang`选项使字体难看,fonts,latex,pandoc,cyrillic,Fonts,Latex,Pandoc,Cyrillic,我正在努力学习pandoc。我以前使用过乳胶,因为我总是处理公式、代码。以下是我编译成pdf的简单文档: --- title: Test ... # Test! This is a test of *pandoc*. - list one - list two - $E=mc^2$ - На русском Горит костер рябины красной. $$ A = \int\limits_{-\infty}^{\infty} e^{-x^2}dx $$ ```pytho

我正在努力学习
pandoc
。我以前使用过乳胶,因为我总是处理公式、代码。以下是我编译成pdf的简单文档:

---
title: Test
...

# Test!

This is a test of *pandoc*.

- list one
- list two
- $E=mc^2$
- На русском

Горит костер рябины красной.

$$
A = \int\limits_{-\infty}^{\infty} e^{-x^2}dx
$$

```python
class ClassName(object):
    """docstring for ClassName (Кириллица?)"""
    def __init__(self, arg):
        super(ClassName, self).__init__() # English comment
        self.arg = arg # Кириллический комментарий

```
我尝试了两个不同的命令来生成pdf:

  • pandoc test1.md-o test1.pdf
  • pandoc-V lang=ru-ru-o test1-2.pdf test1.md
  • 第一个命令无法呈现西里尔字母符号。此外,我总是写非英语文档,所以我需要用俄语编写的标题生成文档。我使用了
    lang
    属性按照
    pandoc
    文档的建议来做。现在,西里尔字母符号呈现正确,但如果你看几秒钟屏幕截图,你会发现字体看起来比以前更难看。特别是密码

    发生了什么以及如何修复


    我发现很难按照
    pandoc
    提供的界面为拉丁语、西里尔语、数学和代码块设置一致的字体。我发现最好的折衷办法是:

    • lang
      设置为等于
      en
      ,并明确标记俄语部分
    • 将XITS字体用于普通文本和数学
    • 使用覆盖西里尔文的固定宽度字体,例如Liberation Mono
    • 使用XeLaTeX或LuaLaTeX处理
    全部合并:

    ---
    title: Test
    mainfont: XITS
    monofont: Liberation Mono
    mathfont: XITS Math
    lang: en
    ---
    
    # Test!
    
    This is a test of *pandoc*.
    
    - list one
    - list two
    - $E=mc^2$
    - [На русском]{.class lang="ru-RU"}
    
    ::::: {.class lang="ru-RU"}
    
    Горит костер рябины красной.
    
    :::::
    
    
    $$
    A = \int\limits_{-\infty}^{\infty} e^{-x^2}dx
    $$
    
    
    ```python
    class ClassName(object):
        """docstring for ClassName (Кириллица?)"""
        def __init__(self, arg):
            super(ClassName, self).__init__() # English comment
            self.arg = arg # Кириллический комментарий
    
    ```
    
    pandoc cyr.md的结果--pdf engine=lualatex-o cyr.pdf:


    可能它现在选择了不同的字体。。。您可以尝试
    pandoc-s-o output.tex
    查看pandoc生成的乳胶。然后,您可以通过设置正确的
    mainfont
    来修复它,请参见@mb21 yes your is right。问题是
    pandoc
    将拉丁现代字体设置为默认字体。它没有西里尔铭文。我已将pdf引擎更改为Xeletex,并将字体设置为DejaVu衬线。现在它对文本和代码都很好,但我仍然有数学方面的问题,因为pandoc忽略了
    -V mathfont=“Some math Font”
    也许我做的smth是错误的,但似乎你的解决方案在数学字体方面也面临同样的问题:如果你像这样在等式中使用smth:
    $k_Б=1381\cdot 10^{-23}$
    ,而不是下划线的“Б”无法渲染。此外,编译器说:
    [警告]缺少字符:字体lmmi10中没有Б(U+0411)![警告]缺少字符:字体lmmi7中没有Б(U+0411)。看起来XITS math没有设置为math font。@Danielletiev如果我删除
    mathfont:XITS math
    我会得到明显不同的结果。因此,我确信mathfont对我来说设置正确。我会使用
    $k\text{Б}=1381\cdot 10^{-23}$
    ,因为“Б”可能是“Boltzmann”(西里尔语音译)的缩写。如果不是数学变量,则应使用周围的文本字体。如果你想用西里尔字母作为变量,事情会变得更困难。我不知道那是什么字体。