diff options
| author | Ralph Amissah <ralph.amissah@gmail.com> | 2022-02-28 10:40:04 -0500 | 
|---|---|---|
| committer | Ralph Amissah <ralph.amissah@gmail.com> | 2022-03-05 10:33:48 -0500 | 
| commit | 8dde791281d89baa8c1c4a2455218d34d740105c (patch) | |
| tree | 7e98c87a455c07f69118fee18bcb14e46bb03e0f | |
| parent | org-mode, latex file, cosmetic (diff) | |
latex select papersize & orientation
- cfte, doc collection config, cli e.g.
  --set-papersize="a4,letter.portrait,b4.portrait"
| -rw-r--r-- | org/config_d_cfte.org | 2 | ||||
| -rw-r--r-- | org/meta_conf_make_meta.org | 42 | ||||
| -rw-r--r-- | org/out_latex.org | 16 | ||||
| -rw-r--r-- | src/doc_reform/io_out/latex.d | 12 | ||||
| -rw-r--r-- | src/doc_reform/meta/conf_make_meta_yaml.d | 42 | ||||
| -rw-r--r-- | views/configuration.txt | 2 | ||||
| -rw-r--r-- | views/configuration_example.txt | 2 | 
7 files changed, 61 insertions, 57 deletions
| diff --git a/org/config_d_cfte.org b/org/config_d_cfte.org index 00ba703..2f68c05 100644 --- a/org/config_d_cfte.org +++ b/org/config_d_cfte.org @@ -88,7 +88,7 @@ struct Cfg {    string db_sqlite_path           = "<<db_sqlite_path>>";    string db_sqlite_filename       = "<<db_sqlite_filename>>";    string default_language         = "en"; -  string default_papersize        = "a4"; +  string default_papersize        = "a4,letter.portrait";    string default_text_wrap        = "80";    string default_hash_digest      = "sha256";  } diff --git a/org/meta_conf_make_meta.org b/org/meta_conf_make_meta.org index 331fe49..38fe49a 100644 --- a/org/meta_conf_make_meta.org +++ b/org/meta_conf_make_meta.org @@ -1032,16 +1032,6 @@ string[] selected_papersize(string _sizes_str) {        case "a4.landscape":          _selected_sizes ~= _size;          break; -      case "a5": -        _selected_sizes ~= "a5.portrait"; -        _selected_sizes ~= "a5.landscape"; -        break; -      case "a5.portrait": -        _selected_sizes ~= _size; -        break; -      case "a5.landscape": -        _selected_sizes ~= _size; -        break;        case "b4":          _selected_sizes ~= "b4.portrait";          _selected_sizes ~= "b4.landscape"; @@ -1052,6 +1042,16 @@ string[] selected_papersize(string _sizes_str) {        case "b4.landscape":          _selected_sizes ~= _size;          break; +      case "a5": +        _selected_sizes ~= "a5.portrait"; +        _selected_sizes ~= "a5.landscape"; +        break; +      case "a5.portrait": +        _selected_sizes ~= _size; +        break; +      case "a5.landscape": +        _selected_sizes ~= _size; +        break;        case "letter":          _selected_sizes ~= "letter.portrait";          _selected_sizes ~= "letter.landscape"; @@ -1077,24 +1077,24 @@ string[] selected_papersize(string _sizes_str) {    }    return _selected_sizes;  } +string _set_papersize;  if (_opt_action.latex_papersize.length > 0) { -  _struct_composite.conf.set_papersize = selected_papersize(_opt_action.latex_papersize); -} else if ( -  "default" in _yaml -  && _yaml["default"].type.sequence -  && _yaml["default"].type.mapping -  && _yaml["default"].tag.match(rgx.yaml_tag_is_map) -) { +  _set_papersize +    = _opt_action.latex_papersize; +} else { +  _set_papersize +    = (_cfg.default_papersize.empty) +      ? "a4,letter.portrait" +      : _cfg.default_papersize;    if ("papersize" in _yaml["default"]      && _yaml["default"]["papersize"].type.string      && _yaml["default"]["papersize"].tag.match(rgx.yaml_tag_is_str)    ) { -    _struct_composite.conf.set_papersize = selected_papersize(_yaml["default"]["papersize"].get!string); +    _set_papersize +      = _yaml["default"]["papersize"].get!string;    }  } -if (_struct_composite.conf.set_papersize.length == 0) { -  _struct_composite.conf.set_papersize = ["a4.portrait", "a4.landscape"]; -} +_struct_composite.conf.set_papersize = selected_papersize(_set_papersize);  if (    "default" in _yaml    && _yaml["default"].type.sequence diff --git a/org/out_latex.org b/org/out_latex.org index 9bb604b..44ba4ad 100644 --- a/org/out_latex.org +++ b/org/out_latex.org @@ -1033,10 +1033,10 @@ string table(O,M)(      switch (paper_size_orientation) {      case "a4.portrait":      pw = (paper.a4.portrait.w      - 20); break;      case "a4.landscape":     pw = (paper.a4.landscape.w     - 20); break; -    case "a5.portrait":      pw = (paper.a5.portrait.w      - 20); break; -    case "a5.landscape":     pw = (paper.a5.landscape.w     - 20); break;      case "b4.portrait":      pw = (paper.b4.portrait.w      - 20); break;      case "b4.landscape":     pw = (paper.b4.landscape.w     - 20); break; +    case "a5.portrait":      pw = (paper.a5.portrait.w      - 20); break; +    case "a5.landscape":     pw = (paper.a5.landscape.w     - 20); break;      case "letter.portrait":  pw = (paper.letter.portrait.w  - 20); break;      case "letter.landscape": pw = (paper.letter.landscape.w - 20); break;      case "legal.portrait":   pw = (paper.legal.portrait.w   - 20); break; @@ -1094,10 +1094,10 @@ string latex_head(M)(  struct paperTypeLatex {    string a4_portrait;    string a4_landscape; -  string a5_portrait; -  string a5_landscape;    string b4_portrait;    string b4_landscape; +  string a5_portrait; +  string a5_landscape;    string us_letter_portrait;    string us_letter_landscape;    string us_legal_portrait; @@ -1348,16 +1348,20 @@ if (paper_set.is_portrait) {  ***** (a4, a5, b4, letter, legal) * (portrait & landscape) +#+BEGIN_SRC sh +$SpineBIN/spine --verbose --latex --set-papersize="a4,letter.portrait,b4.portrait" --output="$SpineOUT" $SpinePOD/* +#+END_SRC +  #+NAME: output_latex_head_format_string_paper_set_orientation  #+BEGIN_SRC d  string paper_size_orientation_latex;  switch (paper_size_orientation) {  case "a4.portrait":      paper_size_orientation_latex = set_paper(paper.a4.portrait);      break;  case "a4.landscape":     paper_size_orientation_latex = set_paper(paper.a4.landscape);     break; -case "a5.portrait":      paper_size_orientation_latex = set_paper(paper.a5.portrait);      break; -case "a5.landscape":     paper_size_orientation_latex = set_paper(paper.a5.landscape);     break;  case "b4.portrait":      paper_size_orientation_latex = set_paper(paper.b4.portrait);      break;  case "b4.landscape":     paper_size_orientation_latex = set_paper(paper.b4.landscape);     break; +case "a5.portrait":      paper_size_orientation_latex = set_paper(paper.a5.portrait);      break; +case "a5.landscape":     paper_size_orientation_latex = set_paper(paper.a5.landscape);     break;  case "letter.portrait":  paper_size_orientation_latex = set_paper(paper.letter.portrait);  break;  case "letter.landscape": paper_size_orientation_latex = set_paper(paper.letter.landscape); break;  case "legal.portrait":   paper_size_orientation_latex = set_paper(paper.legal.portrait);   break; diff --git a/src/doc_reform/io_out/latex.d b/src/doc_reform/io_out/latex.d index 68ac2f9..3bea60d 100644 --- a/src/doc_reform/io_out/latex.d +++ b/src/doc_reform/io_out/latex.d @@ -708,10 +708,10 @@ string table(O,M)(      switch (paper_size_orientation) {      case "a4.portrait":      pw = (paper.a4.portrait.w      - 20); break;      case "a4.landscape":     pw = (paper.a4.landscape.w     - 20); break; -    case "a5.portrait":      pw = (paper.a5.portrait.w      - 20); break; -    case "a5.landscape":     pw = (paper.a5.landscape.w     - 20); break;      case "b4.portrait":      pw = (paper.b4.portrait.w      - 20); break;      case "b4.landscape":     pw = (paper.b4.landscape.w     - 20); break; +    case "a5.portrait":      pw = (paper.a5.portrait.w      - 20); break; +    case "a5.landscape":     pw = (paper.a5.landscape.w     - 20); break;      case "letter.portrait":  pw = (paper.letter.portrait.w  - 20); break;      case "letter.landscape": pw = (paper.letter.landscape.w - 20); break;      case "legal.portrait":   pw = (paper.legal.portrait.w   - 20); break; @@ -792,10 +792,10 @@ string table(O,M)(      struct paperTypeLatex {        string a4_portrait;        string a4_landscape; -      string a5_portrait; -      string a5_landscape;        string b4_portrait;        string b4_landscape; +      string a5_portrait; +      string a5_landscape;        string us_letter_portrait;        string us_letter_landscape;        string us_legal_portrait; @@ -907,10 +907,10 @@ string table(O,M)(    switch (paper_size_orientation) {    case "a4.portrait":      paper_size_orientation_latex = set_paper(paper.a4.portrait);      break;    case "a4.landscape":     paper_size_orientation_latex = set_paper(paper.a4.landscape);     break; -  case "a5.portrait":      paper_size_orientation_latex = set_paper(paper.a5.portrait);      break; -  case "a5.landscape":     paper_size_orientation_latex = set_paper(paper.a5.landscape);     break;    case "b4.portrait":      paper_size_orientation_latex = set_paper(paper.b4.portrait);      break;    case "b4.landscape":     paper_size_orientation_latex = set_paper(paper.b4.landscape);     break; +  case "a5.portrait":      paper_size_orientation_latex = set_paper(paper.a5.portrait);      break; +  case "a5.landscape":     paper_size_orientation_latex = set_paper(paper.a5.landscape);     break;    case "letter.portrait":  paper_size_orientation_latex = set_paper(paper.letter.portrait);  break;    case "letter.landscape": paper_size_orientation_latex = set_paper(paper.letter.landscape); break;    case "legal.portrait":   paper_size_orientation_latex = set_paper(paper.legal.portrait);   break; diff --git a/src/doc_reform/meta/conf_make_meta_yaml.d b/src/doc_reform/meta/conf_make_meta_yaml.d index ff0bcf5..5af22ad 100644 --- a/src/doc_reform/meta/conf_make_meta_yaml.d +++ b/src/doc_reform/meta/conf_make_meta_yaml.d @@ -518,16 +518,6 @@ template contentYAMLtoSpineStruct() {              case "a4.landscape":                _selected_sizes ~= _size;                break; -            case "a5": -              _selected_sizes ~= "a5.portrait"; -              _selected_sizes ~= "a5.landscape"; -              break; -            case "a5.portrait": -              _selected_sizes ~= _size; -              break; -            case "a5.landscape": -              _selected_sizes ~= _size; -              break;              case "b4":                _selected_sizes ~= "b4.portrait";                _selected_sizes ~= "b4.landscape"; @@ -538,6 +528,16 @@ template contentYAMLtoSpineStruct() {              case "b4.landscape":                _selected_sizes ~= _size;                break; +            case "a5": +              _selected_sizes ~= "a5.portrait"; +              _selected_sizes ~= "a5.landscape"; +              break; +            case "a5.portrait": +              _selected_sizes ~= _size; +              break; +            case "a5.landscape": +              _selected_sizes ~= _size; +              break;              case "letter":                _selected_sizes ~= "letter.portrait";                _selected_sizes ~= "letter.landscape"; @@ -563,24 +563,24 @@ template contentYAMLtoSpineStruct() {          }          return _selected_sizes;        } +      string _set_papersize;        if (_opt_action.latex_papersize.length > 0) { -        _struct_composite.conf.set_papersize = selected_papersize(_opt_action.latex_papersize); -      } else if ( -        "default" in _yaml -        && _yaml["default"].type.sequence -        && _yaml["default"].type.mapping -        && _yaml["default"].tag.match(rgx.yaml_tag_is_map) -      ) { +        _set_papersize +          = _opt_action.latex_papersize; +      } else { +        _set_papersize +          = (_cfg.default_papersize.empty) +            ? "a4,letter.portrait" +            : _cfg.default_papersize;          if ("papersize" in _yaml["default"]            && _yaml["default"]["papersize"].type.string            && _yaml["default"]["papersize"].tag.match(rgx.yaml_tag_is_str)          ) { -          _struct_composite.conf.set_papersize = selected_papersize(_yaml["default"]["papersize"].get!string); +          _set_papersize +            = _yaml["default"]["papersize"].get!string;          }        } -      if (_struct_composite.conf.set_papersize.length == 0) { -        _struct_composite.conf.set_papersize = ["a4.portrait", "a4.landscape"]; -      } +      _struct_composite.conf.set_papersize = selected_papersize(_set_papersize);        if (          "default" in _yaml          && _yaml["default"].type.sequence diff --git a/views/configuration.txt b/views/configuration.txt index ab26992..5f49a1a 100644 --- a/views/configuration.txt +++ b/views/configuration.txt @@ -15,7 +15,7 @@ struct Cfg {    string db_sqlite_path           = "/var/www/sqlite";    string db_sqlite_filename       = "spine.search.db";    string default_language         = "en"; -  string default_papersize        = "a4"; +  string default_papersize        = "a4,letter.portrait";    string default_text_wrap        = "80";    string default_hash_digest      = "sha256";  } diff --git a/views/configuration_example.txt b/views/configuration_example.txt index 203d56d..be0d9c5 100644 --- a/views/configuration_example.txt +++ b/views/configuration_example.txt @@ -16,7 +16,7 @@ struct Cfg {    string db_sqlite_path           = "/var/www/sqlite";    string db_sqlite_filename       = "spine.search.db";    string default_language         = "en"; -  string default_papersize        = "a4"; +  string default_papersize        = "a4,letter.portrait";    string default_text_wrap        = "80";    string default_hash_digest      = "sha256";  } | 
