Adobe製品で「ライセンスが切れている」と言われた時

Adobe Illustrator CC 2015を使っていたところ、突然「ライセンスが切れている」と言われた。

  1. Adobeのサイトに行き、ログイン
  2. 「グループ管理」->「デバイスライセンス」の「すべて」で目的の製品の「使用可能なライセンス」が1以上であることを確認
  3. 製品名をクリックすると「使用可能」なデバイスライセンスがあることを確認

デバイスを有効にする方法によると、どうやらライセンスの更新をしないといけないらしい。

ライセンスファイルの作成に従って手順を実行したところ、起動できるようになった。

ちなみに、Adobe製品のアップデートをする場合にもCreative Cloud Packagerから行う。さもないとトライアル版としてインストールされることになってしまう(以前一度やった)。

Nature投稿規定

基本的に http://www.nature.com/nature/authors/gta/2a_Manuscript_formatting.pdf を訳して、自分にとって重要と思われるものをピックアップしたもの。

論文の種類

  • word数にはreference, title, author list, acknowledgementを含まない

Article

  • 全体で5ページ以内
  • 50 references以内
  • スペース込みで75 characters以内のtitle
    • 数字、略語、頭字語、句読点を通常含まない
  • 150 words以内の独立したsummary
    • reference無し
    • 必須でない数字、略語、頭字語を含まない
    • 分野外の読者にも分かるように
    • 内容
      • 2-3 sentencesの基礎的な導入
      • 研究の背景と論理的根拠
      • ‘Here we show'またはそれに準じる語句で始まる主要な結論
      • 2-3 sentencesで一般的な文脈における発見の意義
  • 3000 words以内の本文
    • 500 words以内の背景
      • summaryと被ってもよい
    • 1-2段落のdiscussion
    • 6以内でそれぞれ40 charactersを超えない小見出しを付けてもよい
  • 5-6点程度の図表

Letter

  • 全体で4ページ以内
  • 30 references以内
  • スペース込みで90 characters以内のtitle
    • 数字、略語、頭字語、句読点を通常含まない
  • 200 words程度、300 wordsを超えない、本文に組み込まれたsummary
    • reference有り
    • 分野外の読者にも分かるように
    • 内容
      • 2-3 sentencesの基礎的な導入
      • 1 sentenceの'Here we show'またはそれに準じる語句で始まる主要な結論
      • 2-3 sentencesで一般的な文脈における発見の意義
    • summaryの例
  • 1500 words程度(summaryを除く)の本文
    • discussionはなるべく簡潔かつ繰り返しの無いように
  • 3-4点程度の小さな図表

論文の形式

  • double-spaced
  • 内容(contributions)
    • title
    • text
    • methods
    • references
    • Supplementary Information line (if any)
    • acknowledgements
    • author contributions
    • author information (containing data deposition statement, competing interest declaration and corresponding author line)
    • tables
    • figure legends
  • textとfiguresは30MB以下の単一のwordかPDFファイルにまとめる
    • figuresは文中に挿入されていても最後にまとめられていても良い
    • figure legendsは対応するfigureと一緒にする
    • 行番号を入れる
  • figureは通常1つ半ページ(600 words)程度
  • cover letterにページ数の概算を書く
  • co-authorsはアスタリスクで示して‘These authors contributed equally to this work’の脚注をaddress listの下に付ける
    • 4人以上のco-authorsの場合はauthor contributionsで述べる
  • addressは最初のページの脚注の最初に書く
  • 12ポイントのTimes New Romanが好ましい
  • wordの数式機能は通常の文字やsymbol fontで表示できない場合のみに使う

Methods

  • figure legendsの後の、textの最後に書く
  • 3000 words以内
  • 短い太字の見出しで構成
  • 追加のreferenceは本文のreferenceの番号に続けて最後に記述する
  • 図表を含めることはできない

References

  • text, tables, boxes, figure legends, online-only methods, Extended Data tables and Extended Data figure legendsの順に番号を振る
  • リンクを含めない
  • publishまたはacceptされた論文、およびarXivやbioRxivにアプロードされたものだけ含め、それ以外は本文に著者リストとともに書く
  • authorsが6人以上の場合はfirst author + ‘et al.'とする

End notes

  • End notesの例
  • ‘Supplementary Information is linked to the online version of the paper at www.nature.com/nature .'と(ある場合は)記述する
  • Acknowledgements, Author Contributions and Author Information (data depositionをURLとaccession numberと共に)

Tables

  • それぞれ別のページに縦向きで
  • 短い1行の太字のタイトル
  • 説明はdouble-spaced

Figure legends

  • 短いタイトル
  • 手法の詳細を含まない
  • methodsを伴う場合は1つのfigureあたり100 words以下で、figure全部で500 words以下
  • methodsを伴わない場合は1つのfigureあたり300 words以下で、figure全部で800 words以下

Figures

  • figure中の文字は先頭を大文字に、それ以外を小文字にして、ピリオドは無し

Extended Data

  • 10点まで
  • titleとlegendは本文と同じファイルに含めて、data本体は別に送る
  • 本文中でreferする

Supplementary Information

  • figureを含めない
  • tableはデータ量の関係などでextended data tableにふさわしくないと判断された場合にのみ含める
  • 本文中でreferする

方針

今までは覚えておきたいトピックや小ネタなどをKobitoに蓄積/Qiitaに投稿していたが、

  • Qiitaだとプログラミング関係の話(研究など)やコードを書きにくい
  • Qiitaは短すぎるエントリーに向いていない
  • Kobitoだと検索機能が物足りない、PDFの埋め込みができない
  • Evernoteは大げさすぎる

などの理由から、ブログ形式が良いのではないかとの判断に至った。

なので、今後はこちらに移行したい。

  • まとまった一連のプログラミング関連の話
  • 個人的な研究の進捗状況などの細かい話

などは今まで通りKobito/Qiitaを使う予定。

SRM674 Div2 Medium

整数の組の点集合が与えられて、任意のxy軸を設定したときに両軸上に乗っている点の数の最大値を求める。 点の数の最大値が50なので全探索で大丈夫。

任意の2点で片方の軸を固定した後、追加でもう1点指定すれば両方の軸が固定されるので、 固定された軸に対して全点がそれぞれ軸上にあるか判定していけばOK。

コードはハンドルネームHalfSummer11さんのものを少し改変(軸に乗っているかどうかの判定の1つ目の式を変更)して引用。

int bestShot(vector <int> x, vector <int> y)
{
    int n = x.size(), ans = 0;
    if (n <= 2) return n;
    for (int i = 0; i < n; ++i)
        for (int j = i + 1; j < n; ++j)
            for (int k = 0; k < n; ++k){
                if (k != i && k != j){
                    int cnt = 0;
                    int x1 = x[i], y1 = y[i], x2 = x[j], y2 = y[j], x3 = x[k], y3 = y[k];
                    for (int p = 0; p < n; ++p){
                        int xx = x[p], yy = y[p];
                        if ((1ll * (x2 - x1) * (yy - y1) - 1ll * (y2 - y1) * (xx - x1) == 0) || (1ll * (x3 - xx) * (x2 - x1) + 1ll * (y3 - yy) * (y2 - y1) == 0)) ++ cnt;
                    }
                    ans = max(ans, cnt);
                }
            }
    return ans;
}

SRM674 Div2 Easy

与えられた2つの集合が全単射かどうか判定。

struct RelationClassifier {                                                                                                                                                                                     
    vector<int> domain;                                                                                                                                                                                         
    vector<int> range;                                                                                                                                                                                          
    string isBijection(vector<int> _domain, vector<int> _range) {                                                                                                                                               
        domain = _domain, range = _range;                                                                                                                                                                       
        multiset<int> d, r;                                                                                                                                                                                     
        if (domain.size() != range.size() ) {                                                                                                                                                                   
            return "Not";                                                                                                                                                                                       
        }                                                                                                                                                                                                       
        REP(i, domain.size()) {                                                                                                                                                                                 
            d.insert(domain[i]);                                                                                                                                                                                
            r.insert(range[i]);                                                                                                                                                                                 
        }                                                                                                                                                                                                       
                                                                                                                                                                                                                
        REP(i, domain.size()) {                                                                                                                                                                                 
            if(d.count(domain[i]) > 1 || r.count(range[i]) > 1) {                                                                                                                                               
                return "Not";                                                                                                                                                                                   
            }                                                                                                                                                                                                   
        }                                                                                                                                                                                                       
        return "Bijection";                                                                                                                                                                                     
    }                                                                                                                                                                                                           
};

コードはGreedで生成しています。